add.component.ts 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227
  1. import { Component, OnInit } from '@angular/core';
  2. import { NzModalRef, NzMessageService, NzDrawerRef, NzNotificationService } from 'ng-zorro-antd';
  3. import { _HttpClient } from '@delon/theme';
  4. import { FbsAbnormalWorkingHours } from 'app/entity/fbs/fbs-abnormal-working-hours';
  5. import { FbsAbnormalWorkingHoursService } from 'app/services/fbs/fbs-abnormal-working-hours.service';
  6. import { DatePipe } from '@angular/common';
  7. import { FbsWorkshopDispatchListService } from 'app/services/fbs/fbs-workshop-dispatch-list.service';
  8. @Component({
  9. selector: 'app-fbs-abnormal-working-hours-add',
  10. templateUrl: './add.component.html',
  11. styles: [
  12. `
  13. .base{
  14. position: absolute;
  15. bottom: 0px;
  16. width: 100%;
  17. border-top: 1px solid rgb(232, 232, 232);
  18. padding: 10px 16px;
  19. text-align: right;
  20. left: 0px;
  21. background: #fff;
  22. z-index:99;
  23. }
  24. `
  25. ]
  26. })
  27. export class FbsAbnormalWorkingHoursAddComponent implements OnInit {
  28. constructor(
  29. private drawerRef:NzDrawerRef,
  30. private fbsAbnormalWorkingHoursService:FbsAbnormalWorkingHoursService,
  31. private nzNotificationService: NzNotificationService,
  32. private fbsWorkshopDispatchListService:FbsWorkshopDispatchListService,
  33. private datePipe:DatePipe
  34. ) { }
  35. ngOnInit(): void {
  36. this.getProperList();
  37. this.getProductList();
  38. this.getTypeList();
  39. }
  40. saveLoading=false;//加载效果
  41. fbsAbnormalWorkingHours:FbsAbnormalWorkingHours={
  42. date:new Date().toString()
  43. }
  44. properList=[];//人员下拉选择集合
  45. /**
  46. * 初始化人员下拉数据集合
  47. */
  48. getProperList(){
  49. this.fbsWorkshopDispatchListService.getPerAndDerp().then((response)=>{
  50. this.properList=response.result
  51. })
  52. }
  53. /**
  54. * 人员下拉款选择事件
  55. */
  56. personnelChange(personnelIdU8){
  57. //获取名称
  58. this.properList.forEach(element => {
  59. if(personnelIdU8===element.cpersoncode){
  60. this.fbsAbnormalWorkingHours.name=element.cpersonname;
  61. this.fbsAbnormalWorkingHours.personnelNameU8=element.cpersonname;
  62. this.fbsAbnormalWorkingHours.productionLineId=element.cdepcode;//生产线id
  63. this.fbsAbnormalWorkingHours.productionLineName=element.cdepname;//生产线名产
  64. }
  65. });
  66. }
  67. productList=[];//产品集合
  68. getProductList(){
  69. //时间格式化
  70. let date=this.datePipe.transform(new Date(), 'yyyy-MM-dd HH:mm:ss');
  71. // this.fbsAbnormalWorkingHoursService.getDispatchListByDate(date).then((response)=>{
  72. // this.productList=response.result;
  73. // })
  74. }
  75. /**
  76. * 订单号输入事件 ( 产品选择事件(获取产品名称、派工id)--前期逻辑根据选择的产品匹配)
  77. */
  78. productChange(event,data){
  79. if(!event){
  80. this.nzNotificationService.warning("验证","请输入订单编号");
  81. return;
  82. }
  83. this.fbsAbnormalWorkingHoursService.getDispatchListByDate(null,event).then((response)=>{
  84. if(response.success){
  85. this.productList=response.result;
  86. if(this.productList==null||this.productList.length==0){
  87. this.nzNotificationService.warning("验证","派工单未找到订单编号");
  88. return;
  89. }
  90. let element=this.productList[0]
  91. data.workshopDispatchListId=element.id;//派工单id
  92. data.productId=element.productId;
  93. data.product=element.product;//产品名称
  94. data.plannedQuantity=element.plannedQuantity;//计划数量
  95. data.productionOrderNumberName=element.productionOrderNumberName;
  96. data.costItemCode=element.costItemCode;//项目编码
  97. data.projectName=element.projectName;//项目名称
  98. data.workCenter=element.workCenter;//工作中心
  99. }else{
  100. this.nzNotificationService.warning("搜索失败",response.message);
  101. }
  102. })
  103. // if(event){
  104. // this.productList.forEach(element => {
  105. // if(event===element.productId){
  106. // data.workshopDispatchListId=element.id;//派工单id
  107. // data.product=element.product;//产品名称
  108. // data.plannedQuantity=element.plannedQuantity;//计划数量
  109. // data.productionOrderNumberName=element.productionOrderNumberName;
  110. // data.costItemCode=element.costItemCode;//项目编码
  111. // data.projectName=element.projectName;//项目名称
  112. // data.workCenter=element.workCenter;//工作中心
  113. // }
  114. // });
  115. // }
  116. }
  117. /**
  118. * 获取类型集合
  119. */
  120. typeListSelect=[];
  121. getTypeList(){
  122. let page={pageSize:1000}
  123. this.fbsAbnormalWorkingHoursService.typelist(page).then((response)=>{
  124. this.typeListSelect=response.result.records;
  125. })
  126. }
  127. /**
  128. * 类型选择事件 (获取类型名称)
  129. */
  130. typeChange(event,data){
  131. if(event){
  132. this.typeListSelect.forEach(element => {
  133. if(element.id===event){
  134. // this.fbsAbnormalWorkingHours.typeName=element.typeName;
  135. data.typeName=element.typeName;
  136. }
  137. });
  138. }
  139. }
  140. describeList=[];//异常描述集合表格数据
  141. /**
  142. * 描述增加行按钮
  143. */
  144. describeSort=1;
  145. describeAddRow(){
  146. this.describeList = [
  147. ...this.describeList,
  148. {
  149. describe:'',
  150. sort: this.describeSort,
  151. },
  152. ];
  153. this.describeSort++;
  154. }
  155. /**
  156. * 删除行
  157. */
  158. describeDeleteRow(sort){
  159. this.describeList = this.describeList.filter(d => d.sort !== sort);
  160. }
  161. typeList=[];//异常类型集合表格数据
  162. /**
  163. * 异常类型增加行按钮
  164. */
  165. typeSort=1;
  166. typeAddRow(){
  167. this.typeList = [
  168. ...this.typeList,
  169. {
  170. typeName:'',
  171. sort: this.typeSort,
  172. },
  173. ];
  174. this.typeSort++;
  175. }
  176. /**
  177. * 删除行
  178. */
  179. typeDeleteRow(sort){
  180. this.typeList = this.typeList.filter(d => d.sort !== sort);
  181. }
  182. /**
  183. * 保存按钮
  184. */
  185. save(){
  186. this.saveLoading=true;
  187. //时间格式化
  188. this.fbsAbnormalWorkingHours.date=this.datePipe.transform(this.fbsAbnormalWorkingHours.date, 'yyyy-MM-dd HH:mm:ss');
  189. this.fbsAbnormalWorkingHours.fbsAbnormalWorkingHoursDescribeList=this.describeList;//获取异常工时描述
  190. // this.fbsAbnormalWorkingHours.fbsAbnormalWorkingHoursTypeList=this.typeList;//获取异常工时类别
  191. this.fbsAbnormalWorkingHoursService.addAndChild(this.fbsAbnormalWorkingHours).then((response)=>{
  192. if(response.success){//保存成功
  193. this.nzNotificationService.success("保存成功","");
  194. this.saveLoading=false;//加载效果关闭
  195. this.drawerRef.close(true);//关闭抽屉 启动主页面的回调
  196. }else{//保存失败
  197. this.nzNotificationService.error("保存失败",response.message);
  198. this.saveLoading=false;//加载效果关闭
  199. }
  200. })
  201. }
  202. close() {
  203. //抽屉关闭
  204. this.drawerRef.close();
  205. }
  206. }