| | |
| | | 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 accountId; |
| | | @track title = []; |
| | | @track raesList = []; |
| | | @track recordList = []; |
| | | @track userWorkLocation; |
| | | @track totalNum; |
| | | @track orderNumberArrived; |
| | |
| | | @track orderNumberNotarrive; |
| | | @track moreThanSevenDays; |
| | | @track showSpinner = true; |
| | | @track showPage = 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}, |
| | | {label:'SAP合同号',fieldName:'ContractNo__c',hideDefaultActions: true}, |
| | | {label:'订单总数', |
| | | type: "customOutputGood", |
| | | typeAttributes: { |
| | | outputValue: { fieldName: "Total_num__c" }, |
| | | type: 'TotalNum', |
| | | recordId: { fieldName: "Id" } |
| | | }, |
| | | hideDefaultActions: true, initialWidth: 100}, |
| | | {label:'已到货数量', |
| | | type: "customOutputGood", |
| | | typeAttributes: { |
| | | outputValue: { fieldName: "OrderNumber_arrived__c" }, |
| | | type: 'ArrDet', |
| | | recordId: { fieldName: "Id" } |
| | | }, |
| | | hideDefaultActions: true, initialWidth: 110}, |
| | | {label:'待系统操作入库数量', |
| | | type: "customOutputGood", |
| | | typeAttributes: { |
| | | outputValue: { fieldName: "Delivery_detail_count__c" }, |
| | | type: 'DeliveryDet', |
| | | recordId: { fieldName: "Id" } |
| | | }, |
| | | hideDefaultActions: true, initialWidth: 180}, |
| | | {label:'还没发货数量', |
| | | type: "customOutputGood", |
| | | typeAttributes: { |
| | | outputValue: { fieldName: "OrderNumber_notarrive__c" }, |
| | | type: 'NotArrDet', |
| | | recordId: { fieldName: "Id" } |
| | | }, |
| | | hideDefaultActions: true, initialWidth: 120}, |
| | | {label:'发货七天还未到货数', |
| | | type: "customOutputGood", |
| | | typeAttributes: { |
| | | outputValue: { fieldName: "More_than_seven_days__c" }, |
| | | type: 'MoreThan7', |
| | | recordId: { fieldName: "Id" } |
| | | }, |
| | | hideDefaultActions: true, initialWidth: 180}, |
| | | {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) |
| | |
| | | // 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.raesList = result.raesList; |
| | | 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.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; |
| | | } |
| | | |
| | | //消耗品订单名称变更 |
| | |
| | | |
| | | //检索 |
| | | 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){ |
| | | const evt = new ShowToastEvent({ |
| | | title : title, |
| | | message: message, |
| | | variant: variant |
| | | }); |
| | | this.dispatchEvent(evt); |
| | | } |
| | | 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 = '<h2><strong>'+title+'<strong/></h2><h5>'+message+'</h5>'; |
| | | }else{ |
| | | content = '<h2><strong>'+title+'<strong/></h2>'; |
| | | } |
| | | 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); |
| | | } |
| | | } |