import { LightningElement,wire,track,api} from 'lwc'; import { CurrentPageReference } from "lightning/navigation"; import { CloseActionScreenEvent } from 'lightning/actions'; import { NavigationMixin } from 'lightning/navigation'; import { ShowToastEvent } from 'lightning/platformShowToastEvent'; import NAME_FIELD from '@salesforce/schema/Repair__c.Incharge_Staff__c'; import MY_CUSTOM_OBJECT from '@salesforce/schema/Repair__c'; import search from '@salesforce/apex/lexBatchSelectRepairLWCController.search'; import showPDF from '@salesforce/apex/lexBatchSelectRepairLWCController.showPDF'; /* const actions = [ { label: 'Show details', name: 'show_details' }, { label: 'Delete', name: 'delete' }, ];*/ const columns = [ { label: '状态1', fieldName: 'Status1__c'}, { label: '状态2', fieldName: 'Status2__c' }, { label: 'RS修理单号', fieldName: 'Name' }, { label: 'SAP修理单号', fieldName: 'SAP_Service_Repair_No__c' }, // { label: '型号', fieldName: 'deliveredProductName' }, { label: '型号', fieldName: 'deliveredProductUrl',type:'url', typeAttributes:{ label:{ fieldName:'deliveredProductName' }, target:'_balank' } }, { label: '机身编号', fieldName: 'SerialNumber__c' }, { label: '医院名称', fieldName: 'HP_Name__c' }, { label: '省份', fieldName: 'State_Hospital__c' }, // { label: '修理委托者', fieldName: 'Incharge_Staff_Name' }, { label: '修理委托者', fieldName: 'inchargeStaffUrl',type:'url', typeAttributes:{ label:{ fieldName:'inchargeStaffName' }, target:'_balank' } }, { label: 'FSE申请日期', fieldName: 'FSE_ApplyForRepair_Day__c' }, { label: '维修中心', fieldName: 'work_location_select__c' }, { label: '服务方式', fieldName: 'On_site_repair__c' }, { label: '有无维修合同对象', fieldName: 'Number_of_EffectiveContract__c' }, { label: '无偿区别标志', fieldName: 'NewProductGuaranteeObject__c' } /* { type: 'action', typeAttributes: { rowActions: actions }, },*/ ]; export default class lexBatchSelectRepairLWC extends LightningElement { // Expose a field to make it available in the template nameField = NAME_FIELD; // Flexipage provides recordId and objectApiName @api recordId; @api objectApiName; data = []; columns = columns; //状态1 status1Options = [{ label: '--无--', value: '' }, { label: '0.申请完毕', value: '0.申请完毕' }, { label: '2.维修报价阶段', value: '2.维修报价阶段' }, { label: '3.维修阶段', value: '3.维修阶段' }, { label: '4.修理品返送阶段', value: '4.修理品返送阶段' }, { label: '5.完毕', value: '5.完毕' }, { label: '0.删除', value: '0.删除' }, { label: '0.取消', value: '0.取消' }]; //状态2 status2Options = [{label:'00.申请完毕', value:'00.申请完毕'}, {label:'01.分公司受理完毕', value:'01.分公司受理完毕'}, {label:'02.RC受理完毕', value:'02.RC受理完毕'}, {label:'03.报价检查结束', value:'03.报价检查结束'}, {label:'04.报价跟进中', value:'04.报价跟进中'}, {label:'05.报价同意完备', value:'05.报价同意完备'}, {label:'06.零件齐备', value:'06.零件齐备'}, {label:'07.修理開始', value:'07.修理開始'}, {label:'08.修理预计完成', value:'08.修理预计完成'}, {label:'09.修理完成', value:'09.修理完成'}, {label:'10.最终检查完成', value:'10.最终检查完成'}, {label:'11.RC修理品已返送', value:'11.RC修理品已返送'}, {label:'12.发票已发送', value:'12.发票已发送'}, {label:'13.已返送到用户', value:'13.已返送到用户'}, {label:'14.收到验收单', value:'14.收到验收单'}, {label:'15.验收单签收复核通过', value:'15.验收单签收复核通过'}, {label:'16.部分付款', value:'16.部分付款'}, {label:'16.完毕', value:'16.完毕'}, {label:'17.付款完毕', value:'17.付款完毕'}, {label:'00.取消', value:'00.取消'}, {label:'00.删除', value:'00.删除'}, {label:'00.关闭', value:'00.关闭'}]; //服务方式 siteRepairItems = [{label:'--无--',value:''}, {label:'RC修理',value:'RC修理'}, {label:'直送SORC修理',value:'直送SORC修理'}, {label:'直送OGZ修理',value:'直送OGZ修理'}, {label:'办事处修理',value:'办事处修理'}, {label:'现场修理',value:'现场修理'}]; searchObj = {}; repair = {}; selectedRepairs; /* @wire(CurrentPageReference) getStateParameters(currentPageReference) { console.log(111); console.log(currentPageReference); if (currentPageReference) { const urlValue = currentPageReference.state.recordId; if (urlValue) { let str = `${urlValue}`; console.log("str"); console.log(str); this.recordId = str; } } }*/ connectedCallback(){ // console.log(this.recordId); } //状态1 handleStatus1Change(event){ /*console.log(event); console.log(event.detail);*/ this.searchObj.Status1 = event.detail.value; // console.log(JSON.stringify(this.searchObj)); } //状态2 handleStatus2Change(event){ this.searchObj.Status2 = event.detail.value; // console.log(this.searchObj); } //服务方式 handleSiteChange(event){ this.searchObj.onSiteRepair = event.detail.value; // console.log(this.searchObj); } //RS修理单号 RepairName handleRepairNameChange(event){ this.searchObj.RepairName = event.detail.value; // console.log(this.searchObj); } //SAP修理单号 SAPRepairNo handleSAPRepairNoChange(event){ this.searchObj.SAPRepairNo = event.detail.value; // console.log(this.searchObj); } //维修中心 workLocationSelect handleWorkLocationChange(event){ this.searchObj.workLocationSelect = event.detail.value; } //机身编码 SerialNumber handleSerialNumberChange(event){ this.searchObj.SerialNumber = event.detail.value; } // 省份 State_Hospital handleStateHospitalChange(event){ this.searchObj.State_Hospital = event.detail.value; } //医院名称 HospitalName handleHospitalChange(event){ this.searchObj.HospitalName = event.detail.value; } //FSE申请日 repair.Aware_date__c handleAwareDateDStart(event){ this.repair.Aware_date__c = event.detail.value; console.log(this.repair.Aware_date__c); } // repair.Aware_date2__c handleAwareDateDEnd(event){ this.repair.Aware_date2__c = event.detail.value; // console.log(this.repair.Aware_date2__c); } // 修理委托者 repair.Incharge_Staff__c handleInchargeStaffChange(event){ this.repair.Incharge_Staff__c = event.detail.value; // console.log(this.repair.Aware_date2__c); } //检索 searchRepair(event) { console.log(this.repair.Aware_date__c); if (JSON.stringify(this.repair) != "{}") { console.log('this.repair'); this.searchObj.repair = this.repair; // fse 时间条件 /*if (!(this.repair.Aware_date__c != null && this.repair.Aware_date2__c != null) || this.repair.Aware_date__c > this.repair.Aware_date2__c) { const event = new ShowToastEvent({ title: 'error', message: 'FSE申请日输入有误', variant:'error', }); this.dispatchEvent(event); return; }*/ } let jsonStr = JSON.stringify(this.searchObj); if (jsonStr === "{}") { const event = new ShowToastEvent({ title: 'error', message: '请至少添加一个检索条件!', variant:'error', }); this.dispatchEvent(event); }else{ console.log(jsonStr); search({ json: jsonStr }).then(result => { console.log(result.repairData); console.log('length:'+result.repairData.length); if (result.repairData.length == 0 || result.repairData.length == 200) { const event = new ShowToastEvent({ title: 'warning', message: result.status, variant:'warning', }); this.dispatchEvent(event); } let returnArr = []; result.repairData.forEach(function(v){ let objRepair = v.repair; //添加修理委托者和型号名称 objRepair.deliveredProductName = objRepair.Delivered_Product__r.Name; objRepair.deliveredProductUrl = "/"+objRepair.Delivered_Product__c; objRepair.inchargeStaffName = objRepair.Incharge_Staff__r.Name; objRepair.inchargeStaffUrl = "/"+objRepair.Incharge_Staff__c; // console.log(objRepair); returnArr.push(objRepair); }); /*console.log('arr'); console.log(arr); console.log(arr.length);*/ this.data = returnArr; // console.log(this.data); }).catch(error => { console.log("error"); console.log(error); }).finally(() => { }); } } //导出为Excel 画table exportContactData(){ // Prepare a html table let doc = '
'+ element.label +' | ' }); doc += '||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
'+record.Status1__c+' | '; }else{ doc += '' } if (record.Status2__c != null) { doc += ' | '+record.Status2__c+' | '; }else{ doc += '' } if (record.Name != null) { doc += ' | '+record.Name+' | '; }else{ doc += '' } if (record.SAP_Service_Repair_No__c != null) { doc += ' | '+record.SAP_Service_Repair_No__c+' | '; }else{ doc += '' } if (record.deliveredProductName != null) { doc += ' | '+record.deliveredProductName+' | '; }else{ doc += '' } if (record.SerialNumber__c != null) { doc += ' | '+record.SerialNumber__c+' | '; }else{ doc += '' } if (record.HP_Name__c != null) { doc += ' | '+record.HP_Name__c+' | '; }else{ doc += '' } if (record.State_Hospital__c != null) { doc += ' | '+record.State_Hospital__c+' | '; }else{ doc += '' } if (record.inchargeStaffName != null) { doc += ' | '+record.inchargeStaffName+' | '; }else{ doc += '' } if (record.FSE_ApplyForRepair_Day__c != null) { doc += ' | '+record.FSE_ApplyForRepair_Day__c+' | '; }else{ doc += '' } if (record.work_location_select__c != null) { doc += ' | '+record.work_location_select__c+' | '; }else{ doc += '' } if (record.On_site_repair__c != null) { doc += ' | '+record.On_site_repair__c+' | '; }else{ doc += '' } if (record.Number_of_EffectiveContract__c != null) { doc += ' | '+record.Number_of_EffectiveContract__c+' | '; }else{ doc += '' } if (record.NewProductGuaranteeObject__c != null) { doc += ' | '+record.NewProductGuaranteeObject__c+' | '; }else{ doc += '' } // fieldNameArr.forEach(fieldName =>{ // doc += ' | '+record.fieldName+' | '; // }); doc += '