import { LightningElement,wire,api,track } from 'lwc'; import { CurrentPageReference } from 'lightning/navigation'; import { ShowToastEvent } from 'lightning/platformShowToastEvent'; import { NavigationMixin } from 'lightning/navigation'; import init from '@salesforce/apex/LexArriveGoodsMainController.init'; import searchConsumableorderdetails from '@salesforce/apex/LexArriveGoodsMainController.searchConsumableorderdetails'; import initTotalNum from '@salesforce/apex/LexConsumableGoodsInfo.initTotalNum'; import initArrDet from '@salesforce/apex/LexConsumableGoodsInfo.initArrDet'; import initArrDetAll from '@salesforce/apex/LexConsumableGoodsInfo.initArrDetAll'; import initDeliveryDet from '@salesforce/apex/LexConsumableGoodsInfo.initDeliveryDet'; import initDeliveryDetAll from '@salesforce/apex/LexConsumableGoodsInfo.initDeliveryDetAll'; import initNotArrDet from '@salesforce/apex/LexConsumableGoodsInfo.initNotArrDet'; import initNotArrDetAll from '@salesforce/apex/LexConsumableGoodsInfo.initNotArrDetAll'; import initMoreThan7 from '@salesforce/apex/LexConsumableGoodsInfo.initMoreThan7'; import initMoreThan7All from '@salesforce/apex/LexConsumableGoodsInfo.initMoreThan7All'; //table css import { loadStyle } from "lightning/platformResourceLoader"; import WrappedHeaderTable from "@salesforce/resourceUrl/lexdatatable"; export default class LexArriveGoodsMain extends NavigationMixin(LightningElement) { //页面基础变量 @track agencyProType; @track category1; @track cate2; // @track eSetId; @track accountId; @track title = []; @track raesList = []; @track recordList = []; @track userWorkLocation; @track totalNum; @track orderNumberArrived; @track deliveryDetailCount; @track orderNumberNotarrive; @track moreThanSevenDays; @track showSpinner = true; @track showPage = false; @track showPop = false; @track popTitle; stylesLoaded = false; //是否一直显示提示 @track isNoteStay = true; @track colms = [ // {label:'消耗品订单名称',fieldName:'Name'}, // {label:'订单总数',fieldName:'Total_num__c'}, // {label:'已到货数量',fieldName:'OrderNumber_arrived__c'}, // {label:'待系统操作入库数量',fieldName:'Delivery_detail_count__c'}, // {label:'还没发货数量',fieldName:'OrderNumber_notarrive__c'}, // {label:'发货七天还未到货数',fieldName:'More_than_seven_days__c'}, {label:'消耗品订单名称', type: "customOutputGood", typeAttributes: { outputValue: { fieldName: "Name" }, type: 'Title', recordId: { fieldName: "Id" } }, hideDefaultActions: true,initialWidth:200,wrapText:true}, {label:'SAP合同号',fieldName:'ContractNo__c',hideDefaultActions: true,wrapText:true,initialWidth:180}, {label:'订单总数', type: "customOutputGood", typeAttributes: { outputValue: { fieldName: "Total_num__c" }, type: 'TotalNum', recordId: { fieldName: "Id" } }, hideDefaultActions: true, initialWidth: 100,cellAttributes: { alignment: "right" }}, {label:'已到货数量', type: "customOutputGood", typeAttributes: { outputValue: { fieldName: "OrderNumber_arrived__c" }, type: 'ArrDet', recordId: { fieldName: "Id" } }, hideDefaultActions: true, initialWidth: 110,cellAttributes: { alignment: "right" }}, {label:'待系统操作入库数量', type: "customOutputGood", typeAttributes: { outputValue: { fieldName: "Delivery_detail_count__c" }, type: 'DeliveryDet', recordId: { fieldName: "Id" } }, hideDefaultActions: true, initialWidth: 180,cellAttributes: { alignment: "right" }}, {label:'还没发货数量', type: "customOutputGood", typeAttributes: { outputValue: { fieldName: "OrderNumber_notarrive__c" }, type: 'NotArrDet', recordId: { fieldName: "Id" } }, hideDefaultActions: true, initialWidth: 120,cellAttributes: { alignment: "right" }}, {label:'发货七天还未到货数', type: "customOutputGood", typeAttributes: { outputValue: { fieldName: "More_than_seven_days__c" }, type: 'MoreThan7', recordId: { fieldName: "Id" } }, hideDefaultActions: true, initialWidth: 180,cellAttributes: { alignment: "right" }}, {label:'最新发货日期',fieldName:'Shipment_date__c',hideDefaultActions: true, initialWidth: 140}, {label:'首次发货日期',fieldName:'First_Delivery__c',hideDefaultActions: true, initialWidth: 140} ]; @track colms2 = [ {label:'产品型号',fieldName:'prodModel',hideDefaultActions: true}, {label:'数量',fieldName:'recordCount',hideDefaultActions: true,initialWidth: 100} ]; //获取参数 // @wire(CurrentPageReference) // getStateParameters(currentPageReference) { // console.log('CurrentPageReference'); // if (currentPageReference) { // this.eSetId = currentPageReference.state?.ESetid; // } // } renderedCallback(){ if (!this.stylesLoaded) { Promise.all([loadStyle(this, WrappedHeaderTable)]) .then(() => { console.log("Custom styles loaded"); this.stylesLoaded = true; }) .catch((error) => { console.error("Error loading custom styles"); }); } } //初始化 connectedCallback(){ init() .then(result=>{ this.isNoteStay = result.isNoteStay; if(result.result == 'Success'){ this.agencyProType = result.agencyProType; this.accountId = result.accountId; this.title = result.title; this.userWorkLocation = result.userWorkLocation; this.totalNum = result.totalNum; this.orderNumberArrived = result.orderNumberArrived; this.deliveryDetailCount = result.deliveryDetailCount; this.orderNumberNotarrive = result.orderNumberNotarrive; this.moreThanSevenDays = result.moreThanSevenDays; this.raesList = result.raesList; this.raesList.push({Id:'1',Name:'订单明细汇总',Total_num__c:this.totalNum,OrderNumber_arrived__c:this.orderNumberArrived,Delivery_detail_count__c:this.deliveryDetailCount,OrderNumber_notarrive__c:this.orderNumberNotarrive,More_than_seven_days__c:this.moreThanSevenDays}); this.showSpinner = false; this.showPage = true; }else{ this.showSpinner = false; console.log("Error:"+result.errorMsg); this.showMyToast('初始化页面失败',result.errorMsg,'error'); } }) } //点击链接 clickLick(event){ var outputValue = event.detail.data.value; var outputType = event.detail.data.type; var recordId = event.detail.data.recordId; console.log("click:"+outputValue+"---"+outputType+"---"+recordId); if(outputType == 'Title'){ const config = { type: 'standard__webPage', attributes: { url: '/lexarrivegoods?ESetId='+recordId } }; this[NavigationMixin.Navigate](config); }else if(outputType == 'TotalNum'){ this.popTitle = '所有产品一览'; initTotalNum({ordId:recordId, type:'all'}) .then(result=>{ if(result.result == 'Success'){ // this.recordList = result.recordList; var dataStr = JSON.stringify(result.recordList); this.recordList = JSON.parse(dataStr); console.log('data:'+JSON.stringify(this.recordList)); this.showPop = true; }else{ this.showMyToast('加载所有产品一览页面失败',result.errorMsg,'error'); } }) }else if(outputType == 'ArrDet'){ if(recordId == '1'){ this.popTitle = '所有已到货产品一览'; initArrDetAll({type:'all'}) .then(result=>{ if(result.result == 'Success'){ // this.recordList = result.recordList; var dataStr = JSON.stringify(result.recordList); this.recordList = JSON.parse(dataStr); console.log('data:'+JSON.stringify(this.recordList)); this.showPop = true; }else{ this.showMyToast('加载所有已到货产品一览页面失败',result.errorMsg,'error'); } }) }else{ this.popTitle = '已到货产品一览'; initArrDet({orderId:recordId}) .then(result=>{ if(result.result == 'Success'){ this.recordList = result.recordList; console.log('data:'+JSON.stringify(this.recordList)); this.showPop = true; }else{ this.showMyToast('加载已到货产品一览页面失败',result.errorMsg,'error'); } }) } }else if(outputType == 'DeliveryDet'){ if(recordId == '1'){ this.popTitle = '所有已发货还没到货产品一览'; initDeliveryDetAll({type:'all'}) .then(result=>{ if(result.result == 'Success'){ this.recordList = result.recordList; console.log('data:'+JSON.stringify(this.recordList)); this.showPop = true; }else{ this.showMyToast('加载所有已发货还没到货产品一览页面失败',result.errorMsg,'error'); } }) }else{ this.popTitle = '未到货产品一览'; initDeliveryDet({orderId:recordId}) .then(result=>{ if(result.result == 'Success'){ this.recordList = result.recordList; console.log('data:'+JSON.stringify(this.recordList)); this.showPop = true; }else{ this.showMyToast('加载未到货产品一览页面失败',result.errorMsg,'error'); } }) } }else if(outputType == 'NotArrDet'){ if(recordId == '1'){ this.popTitle = '所有还没发货产品一览'; initNotArrDetAll({type:'all'}) .then(result=>{ if(result.result == 'Success'){ this.recordList = result.recordList; console.log('data:'+JSON.stringify(this.recordList)); this.showPop = true; }else{ this.showMyToast('加载所有还没发货产品一览页面失败',result.errorMsg,'error'); } }) }else{ this.popTitle = '还没发货数量'; initNotArrDet({orderId:recordId}) .then(result=>{ if(result.result == 'Success'){ this.recordList = result.recordList; console.log('data:'+JSON.stringify(this.recordList)); this.showPop = true; }else{ this.showMyToast('加载还没发货数量页面失败',result.errorMsg,'error'); } }) } }else if(outputType == 'MoreThan7'){ if(recordId == '1'){ this.popTitle = '所有发货七天还未到货数'; initMoreThan7All({type:'all'}) .then(result=>{ if(result.result == 'Success'){ this.recordList = result.recordList; console.log('data:'+JSON.stringify(this.recordList)); this.showPop = true; }else{ this.showMyToast('加载所有发货七天还未到货数页面失败',result.errorMsg,'error'); } }) }else{ this.popTitle = '发货七天还未到货数'; initMoreThan7({orderId:recordId}) .then(result=>{ if(result.result == 'Success'){ this.recordList = result.recordList; console.log('data:'+JSON.stringify(this.recordList)); this.showPop = true; }else{ this.showMyToast('加载发货七天还未到货数页面失败',result.errorMsg,'error'); } }) } } } //关闭弹窗 closePop(){ this.showPop = false; } //消耗品订单名称变更 category1Change(event){ this.category1 = event.detail.value; } //最新发货日期变更 cate2Change(event){ this.cate2 = event.detail.value; } //检索 search(){ this.showSpinner = true; searchConsumableorderdetails({ category1Str:this.category1, cate2Str:this.cate2, accountidStr:this.accountId, userWorkLocationStr:this.userWorkLocation, agencyProTypeStr:this.agencyProType}) .then(result=>{ this.showSpinner = false; if(result.result == 'Success'){ this.raesList = result.raesList; this.raesList.push({Id:'1',Name:'订单明细汇总',Total_num__c:this.totalNum,OrderNumber_arrived__c:this.orderNumberArrived,Delivery_detail_count__c:this.deliveryDetailCount,OrderNumber_notarrive__c:this.orderNumberNotarrive,More_than_seven_days__c:this.moreThanSevenDays}); if(this.raesList.length > 1){ var count = this.raesList.length - 1; this.showMyToast('搜索成功','共搜索到'+count+'条数据','success'); }else{ this.showMyToast('未搜索到数据','','error'); } }else{ this.showMyToast('搜索失败',result.errorMsg,'error'); } }) } //清空搜索框 clear(){ this.showSpinner = true; this.category1 = ''; this.cate2 = null; searchConsumableorderdetails({ category1Str:this.category1, cate2Str:this.cate2, accountidStr:this.accountId, userWorkLocationStr:this.userWorkLocation, agencyProTypeStr:this.agencyProType}) .then(result=>{ this.showSpinner = false; if(result.result == 'Success'){ this.raesList = result.raesList; this.raesList.push({Id:'1',Name:'订单明细汇总',Total_num__c:this.totalNum,OrderNumber_arrived__c:this.orderNumberArrived,Delivery_detail_count__c:this.deliveryDetailCount,OrderNumber_notarrive__c:this.orderNumberNotarrive,More_than_seven_days__c:this.moreThanSevenDays}); if(this.raesList.length > 1){ var count = this.raesList.length - 1; this.showMyToast('搜索成功','共搜索到'+count+'条数据','success'); }else{ this.showMyToast('未搜索到数据','','error'); } }else{ this.showMyToast('搜索失败',result.errorMsg,'error'); } }) } //入库 orderArrive(){ const config = { type: 'standard__webPage', attributes: { url: '/lexarrivegoods?ArrType=Arr' } }; this[NavigationMixin.Navigate](config); } //返品 orderReturn(){ const config = { type: 'standard__webPage', attributes: { url: '/lexarrivegoods?ArrType=ReG' } }; this[NavigationMixin.Navigate](config); } showMyToast(title, message, variant) { console.log('show custom message'); var iconName = ''; var content = ''; if(variant == 'success'){ iconName = 'utility:check'; }else{ iconName = 'utility:error'; } if(message != ''){ content = '

'+title+'

'+message+'
'; }else{ content = '

'+title+'

'; } this.template.querySelector('c-common-toast'). showToast(variant,content,iconName,10000); // var mode; // if(this.isNoteStay){ // mode ='sticky'; // }else{ // mode = 'dismissable'; // } // const evt = new ShowToastEvent({ // title: title, // message: message, // variant: variant, // mode: mode // }); // this.dispatchEvent(evt); } }