batch-detail.component.ts 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232
  1. import { Component, OnInit } from '@angular/core';
  2. import {FormBuilder, Validators} from '@angular/forms';
  3. import {BsModalRef} from 'ngx-bootstrap/modal';
  4. import { FrameDetailComponent } from '../../../frame/core/detail/frame.detail';
  5. import { AjaxService } from '../../../../core/service/ajax.service';
  6. import { FuncService } from '../../../../core/service/func.service';
  7. import { MsgService } from '../../../../core/service/msg.service';
  8. declare let laydate;
  9. @Component({
  10. selector: 'app-cf-batch-detail',
  11. templateUrl: './batch-detail.component.html',
  12. styleUrls: ['./batch-detail.component.scss']
  13. })
  14. export class CfBatchDetailComponent extends FrameDetailComponent implements OnInit {
  15. schoolArray = [];
  16. constructor(bsModalRef: BsModalRef, fb: FormBuilder) {
  17. super(bsModalRef);
  18. this.detailForm = fb.group({
  19. 'school_id': [null, Validators.compose([Validators.required])],
  20. 'batch_name': [null, Validators.compose([Validators.required, Validators.minLength(2), Validators.maxLength(64)])],
  21. 'upload_start_time': [null,Validators.compose([Validators.required])],
  22. 'upload_end_time': [null,Validators.compose([Validators.required])],
  23. 'reupload_start_time': [null,Validators.compose([Validators.required])],
  24. 'reupload_end_time': [null,Validators.compose([Validators.required])],
  25. 'intial_review_start': [null,Validators.compose([Validators.required])],
  26. 'intial_review_end': [null,Validators.compose([Validators.required])],
  27. 'profes_review_start': [null,Validators.compose([Validators.required])],
  28. 'profes_review_end': [null,Validators.compose([Validators.required])],
  29. 'profes_publish_start': [null,Validators.compose([Validators.required])],
  30. 'profes_publish_end': [null,Validators.compose([Validators.required])],
  31. 'ticket_start_time': [null,Validators.compose([Validators.required])],
  32. 'ticket_end_time': [null,Validators.compose([Validators.required])],
  33. 'score_public_start': [null,Validators.compose([Validators.required])],
  34. 'score_public_end': [null,Validators.compose([Validators.required])],
  35. 'review_mode': [null, Validators.compose([Validators.required])],
  36. 'status': [null, Validators.compose([Validators.required])],
  37. 'reg_start_time': [null,Validators.compose([Validators.required])],
  38. 'reg_end_time': [null,Validators.compose([Validators.required])],
  39. });
  40. this.getDate();
  41. }
  42. ngOnInit() {
  43. AjaxService.requestArray("cf/school/list.htm",{},(array)=>{
  44. this.schoolArray = array;
  45. if (this.schoolArray.length == 1) {
  46. this.currentEntity.school_id = this.schoolArray[0].school_id;
  47. }
  48. });
  49. }
  50. initDefautEntity() {
  51. if (this.detailMode === 'add') {
  52. } else {
  53. this.currentEntity.status = this.currentEntity.status + "";
  54. }
  55. }
  56. //初始化时间控件
  57. getDate() {
  58. let _this = this;
  59. setTimeout(() => {
  60. laydate.render({
  61. elem:'#upload_start_time',
  62. type:'datetime',
  63. theme:'#0c6acf',
  64. format: 'yyyy-MM-dd HH:mm:ss',
  65. trigger: 'click',
  66. done:(value, date, upload_start_time)=>{
  67. _this.currentEntity.upload_start_time = value;
  68. }
  69. });
  70. laydate.render({
  71. elem:'#upload_end_time',
  72. type:'datetime',
  73. theme:'#0c6acf',
  74. format: 'yyyy-MM-dd HH:mm:ss',
  75. trigger: 'click',
  76. done:(value, date, upload_end_time)=>{
  77. _this.currentEntity.upload_end_time = value;
  78. }
  79. });
  80. laydate.render({
  81. elem:'#reupload_start_time',
  82. type:'datetime',
  83. theme:'#0c6acf',
  84. format: 'yyyy-MM-dd HH:mm:ss',
  85. trigger: 'click',
  86. done:(value, date, upload_start_time)=>{
  87. _this.currentEntity.upload_start_time = value;
  88. }
  89. });
  90. laydate.render({
  91. elem:'#reupload_end_time',
  92. type:'datetime',
  93. theme:'#0c6acf',
  94. format: 'yyyy-MM-dd HH:mm:ss',
  95. trigger: 'click',
  96. done:(value, date, upload_end_time)=>{
  97. _this.currentEntity.upload_end_time = value;
  98. }
  99. });
  100. laydate.render({
  101. elem:'#reg_start_time',
  102. type:'datetime',
  103. theme:'#0c6acf',
  104. format: 'yyyy-MM-dd HH:mm:ss',
  105. trigger: 'click',
  106. done:(value, date, upload_start_time)=>{
  107. _this.currentEntity.upload_start_time = value;
  108. }
  109. });
  110. laydate.render({
  111. elem:'#reg_end_time',
  112. type:'datetime',
  113. theme:'#0c6acf',
  114. format: 'yyyy-MM-dd HH:mm:ss',
  115. trigger: 'click',
  116. done:(value, date, upload_end_time)=>{
  117. _this.currentEntity.upload_end_time = value;
  118. }
  119. });
  120. laydate.render({
  121. elem:'#intial_review_start',
  122. type:'datetime',
  123. theme:'#0c6acf',
  124. format: 'yyyy-MM-dd HH:mm:ss',
  125. trigger: 'click',
  126. done:(value, date, intial_review_start)=>{
  127. _this.currentEntity.intial_review_start = value;
  128. }
  129. });
  130. laydate.render({
  131. elem:'#intial_review_end',
  132. type:'datetime',
  133. theme:'#0c6acf',
  134. format: 'yyyy-MM-dd HH:mm:ss',
  135. trigger: 'click',
  136. done:(value, date, intial_review_end)=>{
  137. _this.currentEntity.intial_review_end = value;
  138. }
  139. });
  140. laydate.render({
  141. elem:'#profes_review_start',
  142. type:'datetime',
  143. theme:'#0c6acf',
  144. format: 'yyyy-MM-dd HH:mm:ss',
  145. trigger: 'click',
  146. done:(value, date, profes_review_start)=>{
  147. _this.currentEntity.profes_review_start = value;
  148. }
  149. });
  150. laydate.render({
  151. elem:'#profes_review_end',
  152. type:'datetime',
  153. theme:'#0c6acf',
  154. format: 'yyyy-MM-dd HH:mm:ss',
  155. trigger: 'click',
  156. done:(value, date, profes_review_end)=>{
  157. _this.currentEntity.profes_review_end = value;
  158. }
  159. });
  160. laydate.render({
  161. elem:'#profes_publish_start',
  162. type:'datetime',
  163. theme:'#0c6acf',
  164. format: 'yyyy-MM-dd HH:mm:ss',
  165. trigger: 'click',
  166. done:(value, date, profes_publish_start)=>{
  167. _this.currentEntity.profes_publish_start = value;
  168. }
  169. });
  170. laydate.render({
  171. elem:'#profes_publish_end',
  172. type:'date',
  173. theme:'#0c6acf',
  174. format: 'yyyy-MM-dd HH:mm:ss',
  175. trigger: 'click',
  176. done:(value, date, profes_publish_end)=>{
  177. _this.currentEntity.profes_publish_end = value;
  178. }
  179. });
  180. laydate.render({
  181. elem:'#ticket_start_time',
  182. type:'datetime',
  183. theme:'#0c6acf',
  184. format: 'yyyy-MM-dd HH:mm:ss',
  185. trigger: 'click',
  186. done:(value, date, ticket_start_time)=>{
  187. _this.currentEntity.ticket_start_time = value;
  188. }
  189. });
  190. laydate.render({
  191. elem:'#ticket_end_time',
  192. type:'datetime',
  193. theme:'#0c6acf',
  194. format: 'yyyy-MM-dd HH:mm:ss',
  195. trigger: 'click',
  196. done:(value, date, ticket_end_time)=>{
  197. _this.currentEntity.ticket_end_time = value;
  198. }
  199. });
  200. laydate.render({
  201. elem:'#score_public_start',
  202. type:'datetime',
  203. theme:'#0c6acf',
  204. format: 'yyyy-MM-dd HH:mm:ss',
  205. trigger: 'click',
  206. done:(value, date, score_public_start)=>{
  207. _this.currentEntity.score_public_start = value;
  208. }
  209. });
  210. laydate.render({
  211. elem:'#score_public_end',
  212. type:'datetime',
  213. theme:'#0c6acf',
  214. format: 'yyyy-MM-dd HH:mm:ss',
  215. trigger: 'click',
  216. done:(value, date, score_public_end)=>{
  217. _this.currentEntity.score_public_end = value;
  218. }
  219. });
  220. }, 500);
  221. }
  222. }