import { Component, OnInit } from '@angular/core'; import { NzModalRef, NzMessageService, NzDrawerRef, NzNotificationService } from 'ng-zorro-antd'; import { _HttpClient } from '@delon/theme'; import { FbsAbnormalWorkingHours } from 'app/entity/fbs/fbs-abnormal-working-hours'; import { FbsAbnormalWorkingHoursService } from 'app/services/fbs/fbs-abnormal-working-hours.service'; import { DatePipe } from '@angular/common'; import { FbsWorkshopDispatchListService } from 'app/services/fbs/fbs-workshop-dispatch-list.service'; @Component({ selector: 'app-fbs-abnormal-working-hours-add', templateUrl: './add.component.html', styles: [ ` .base{ position: absolute; bottom: 0px; width: 100%; border-top: 1px solid rgb(232, 232, 232); padding: 10px 16px; text-align: right; left: 0px; background: #fff; z-index:99; } ` ] }) export class FbsAbnormalWorkingHoursAddComponent implements OnInit { constructor( private drawerRef:NzDrawerRef, private fbsAbnormalWorkingHoursService:FbsAbnormalWorkingHoursService, private nzNotificationService: NzNotificationService, private fbsWorkshopDispatchListService:FbsWorkshopDispatchListService, private datePipe:DatePipe ) { } ngOnInit(): void { this.getProperList(); this.getProductList(); this.getTypeList(); } saveLoading=false;//加载效果 fbsAbnormalWorkingHours:FbsAbnormalWorkingHours={ date:new Date().toString() } properList=[];//人员下拉选择集合 /** * 初始化人员下拉数据集合 */ getProperList(){ this.fbsWorkshopDispatchListService.getPerAndDerp().then((response)=>{ this.properList=response.result }) } /** * 人员下拉款选择事件 */ personnelChange(personnelIdU8){ //获取名称 this.properList.forEach(element => { if(personnelIdU8===element.cpersoncode){ this.fbsAbnormalWorkingHours.name=element.cpersonname; this.fbsAbnormalWorkingHours.personnelNameU8=element.cpersonname; this.fbsAbnormalWorkingHours.productionLineId=element.cdepcode;//生产线id this.fbsAbnormalWorkingHours.productionLineName=element.cdepname;//生产线名产 } }); } productList=[];//产品集合 getProductList(){ //时间格式化 let date=this.datePipe.transform(new Date(), 'yyyy-MM-dd HH:mm:ss'); // this.fbsAbnormalWorkingHoursService.getDispatchListByDate(date).then((response)=>{ // this.productList=response.result; // }) } /** * 订单号输入事件 ( 产品选择事件(获取产品名称、派工id)--前期逻辑根据选择的产品匹配) */ productChange(event,data){ if(!event){ this.nzNotificationService.warning("验证","请输入订单编号"); return; } this.fbsAbnormalWorkingHoursService.getDispatchListByDate(null,event).then((response)=>{ if(response.success){ this.productList=response.result; if(this.productList==null||this.productList.length==0){ this.nzNotificationService.warning("验证","派工单未找到订单编号"); return; } let element=this.productList[0] data.workshopDispatchListId=element.id;//派工单id data.productId=element.productId; data.product=element.product;//产品名称 data.plannedQuantity=element.plannedQuantity;//计划数量 data.productionOrderNumberName=element.productionOrderNumberName; data.costItemCode=element.costItemCode;//项目编码 data.projectName=element.projectName;//项目名称 data.workCenter=element.workCenter;//工作中心 }else{ this.nzNotificationService.warning("搜索失败",response.message); } }) // if(event){ // this.productList.forEach(element => { // if(event===element.productId){ // data.workshopDispatchListId=element.id;//派工单id // data.product=element.product;//产品名称 // data.plannedQuantity=element.plannedQuantity;//计划数量 // data.productionOrderNumberName=element.productionOrderNumberName; // data.costItemCode=element.costItemCode;//项目编码 // data.projectName=element.projectName;//项目名称 // data.workCenter=element.workCenter;//工作中心 // } // }); // } } /** * 获取类型集合 */ typeListSelect=[]; getTypeList(){ let page={pageSize:1000} this.fbsAbnormalWorkingHoursService.typelist(page).then((response)=>{ this.typeListSelect=response.result.records; }) } /** * 类型选择事件 (获取类型名称) */ typeChange(event,data){ if(event){ this.typeListSelect.forEach(element => { if(element.id===event){ // this.fbsAbnormalWorkingHours.typeName=element.typeName; data.typeName=element.typeName; } }); } } describeList=[];//异常描述集合表格数据 /** * 描述增加行按钮 */ describeSort=1; describeAddRow(){ this.describeList = [ ...this.describeList, { describe:'', sort: this.describeSort, }, ]; this.describeSort++; } /** * 删除行 */ describeDeleteRow(sort){ this.describeList = this.describeList.filter(d => d.sort !== sort); } typeList=[];//异常类型集合表格数据 /** * 异常类型增加行按钮 */ typeSort=1; typeAddRow(){ this.typeList = [ ...this.typeList, { typeName:'', sort: this.typeSort, }, ]; this.typeSort++; } /** * 删除行 */ typeDeleteRow(sort){ this.typeList = this.typeList.filter(d => d.sort !== sort); } /** * 保存按钮 */ save(){ this.saveLoading=true; //时间格式化 this.fbsAbnormalWorkingHours.date=this.datePipe.transform(this.fbsAbnormalWorkingHours.date, 'yyyy-MM-dd HH:mm:ss'); this.fbsAbnormalWorkingHours.fbsAbnormalWorkingHoursDescribeList=this.describeList;//获取异常工时描述 // this.fbsAbnormalWorkingHours.fbsAbnormalWorkingHoursTypeList=this.typeList;//获取异常工时类别 this.fbsAbnormalWorkingHoursService.addAndChild(this.fbsAbnormalWorkingHours).then((response)=>{ if(response.success){//保存成功 this.nzNotificationService.success("保存成功",""); this.saveLoading=false;//加载效果关闭 this.drawerRef.close(true);//关闭抽屉 启动主页面的回调 }else{//保存失败 this.nzNotificationService.error("保存失败",response.message); this.saveLoading=false;//加载效果关闭 } }) } close() { //抽屉关闭 this.drawerRef.close(); } }