import { LightningElement, wire, api, track } from 'lwc'; import init from '@salesforce/apex/LexOverdueStockController.init'; import barcodeEntry from '@salesforce/apex/LexOverdueStockController.searchorderBean'; import save from '@salesforce/apex/LexOverdueStockController.save'; import { ShowToastEvent } from 'lightning/platformShowToastEvent'; import { NavigationMixin } from 'lightning/navigation'; //table css import { loadStyle } from "lightning/platformResourceLoader"; import WrappedHeaderTable from "@salesforce/resourceUrl/lexdatatable"; //过期库存一览 const columns = [ { label: '是否销存', fieldName: 'iscount', type: 'checkbox', hideDefaultActions: true, initialWidth: 80, }, { label: '消耗品名称', fieldName: 'prodname', type: 'prodname', wrapText: true, initialWidth: 350, hideDefaultActions: true }, { label: '单位', fieldName: 'boxPiece', hideDefaultActions: true, // initialWidth: 250, }, { label: '过期数量', fieldName: 'overlimitCount', hideDefaultActions: true, cellAttributes: { alignment: 'right' } // initialWidth: 250, }, { label: '销存数量', fieldName: 'pandian', hideDefaultActions: true, cellAttributes: { alignment: 'right' } // initialWidth: 250, // cellAttributes: { alignment: 'center' } } ]; //销存明细 const column = [ { label: '消耗品名称', fieldName: 'Name__c', type: 'Name', // initialWidth : 300, hideDefaultActions: true, cellAttributes: { alignment: 'left' } }, { label: '单位', fieldName: 'Box_Piece__c', initialWidth : 80, hideDefaultActions: true }, { label: 'BarCode', fieldName: 'Bar_Code__c', wrapText: true, hideDefaultActions: true, initialWidth : 500, }, { label: '使用期限', fieldName: 'Sterilization_limit__c', hideDefaultActions: true, // initialWidth : 250 } , { label: '销存原因', fieldName: 'diffReason', hideDefaultActions: true, initialWidth: 160 } ]; export default class LexOverdueStock extends NavigationMixin (LightningElement ){ columns = columns column = column @track data =[]; @track overduePageRecords = []; @track iSinventory = false //加载框 // @track casesSpinner = true; @track showSpinner =true; //显示口 @track showbutton = false @track showTable = false; @track showTables = false; //销存一览数据 @track accountName; @track agencyProType; @track userWorkLocation; @track barcode = '' @track orderDetZaiku @track selectedRows = []; @track codPageRecordsLWC; @track Id; @track overdueList = []; 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() { console.log('初始化'); this.showSpinner = true; init().then((result) => { result = JSON.parse(JSON.stringify(result)); console.log('result ='+JSON.stringify(result)); console.log('result 1='+result.entity.codPageRecords); if(result.status = 'Success'){ this.data = JSON.parse(result.entity.codPageRecords); this.codPageRecordsLWC = result.entity.codPageRecords; console.log('this.data'+this.data); this.accountName = result.entity.accountName; this.agencyProType = result.entity.agencyProType; this.userWorkLocation = result.entity.userWorkLocation; this.showTable = true; // this.casesSpinner = false; this.showSpinner = false; }else { this.showMyToast('初始化失败',result.msg,'error'); this.showSpinner = false; } }).catch((error) => { console.log('error = ' + JSON.stringify(error)); }); } //barcode录入 barcodeEntrys(){ this.showSpinner = true; this.showTable = false; console.log('code'+this.barcode); console.log(' this.accountName'+ this.accountName); console.log(' this.barcode'+ this.barcode); if(this.barcode == ''||this.barcode==null){ this.showMyToast('获取失败','请输入BarCode号','error'); this.showSpinner = false; } barcodeEntry({ accountNameLWC: this.accountName, agencyProTypeLWC: this.agencyProType, userWorkLocationLWC:this.userWorkLocation, barcodeLWC:this.barcode, codPageRecordsLWC:this.codPageRecordsLWC }).then((result)=>{ result = JSON.parse(JSON.stringify(result)); if (result.status == 'Success') { this.overduePageRecords = JSON.parse(result.entity.overduePageRecords); this.overdueList = result.entity.overdueList; this.iSinventory = result.entity.iSinventory; console.log('result录入'+JSON.stringify( result)); console.log('overdueList==>'+JSON.stringify( this.overdueList)); for(let i in this.overduePageRecords){ if(this.overduePageRecords[i].Prod!=null){ this.overduePageRecords[i]['Name__c'] = this.overduePageRecords[i].Prod.Name__c; } this.overduePageRecords[i]['Bar_Code__c'] = this.overduePageRecords[i].orderdetails2.Bar_Code__c; this.overduePageRecords[i]['Box_Piece__c'] = this.overduePageRecords[i].orderdetails2.Box_Piece__c; this.overduePageRecords[i]['Sterilization_limit__c'] = this.overduePageRecords[i].orderdetails2.Sterilization_limit__c; } this.data = JSON.parse(result.entity.codPageRecords); console.log(' this.data'+ JSON.stringify(this.data)); for (var i in this.data) { if (this.data[i]['check']) { this.selectedRows.push(this.data[i].prodid); console.log('selectedRows:' + this.selectedRows); } } this.showSpinner = false; // this.showTables = true; this.showTable = true; }else{ this.showMyToast('获取失败',result.msg,'error'); this.showSpinner = false; } }).catch((error) => { console.log('error = ' + JSON.stringify(error)); }); } //获取当前输入值 handleChange(event) { let value = event.detail.value; console.log('value' + value); this.barcode = value; console.log('this.barcode'+this.barcode); } getSelectedRows(event) { console.log('打勾'); const selectedRows = event.detail.selectedRows; console.log('this.selectedRows = ' + this.selectedRows); for (var i in this.data) { this.data[i]['check'] = false; } for (var i in this.data) { for (var j in selectedRows) { console.log('this.selectedRows111 = ' + selectedRows[j].prodid); console.log('this.selectedRows1112 = ' + this.data[i].prodid ); if (this.data[i].prodid == selectedRows[j].prodid) { this.data[i]['check'] = true; } } } } //保存 saveConfirm() { console.log('进入销存确认'); this.showSpinner = true; var el = this.template.querySelector('c-lex-custom-lightning-datatable'); var selected = el.getSelectedRows(); this.selectedData = selected; console.log('选中数据' + JSON.stringify(this.selectedData)); console.log('this.overdueList'+this.overdueList); save({ iSinventory: this.iSinventory, saveCodPageRecords: JSON.stringify(this.selectedData), // saveoverdueList:JSON.stringify(this.overdueList) saveoverdueList:this.overdueList }).then((result) => { result = JSON.parse(JSON.stringify(result)); console.log('result保存 = ' + JSON.stringify(result)); if (result.status == 'Success') { this[NavigationMixin.Navigate]({ type: 'standard__recordPage', attributes: { recordId:result.entity.Id, objectApiName: 'Consumable_order__c', actionName: 'view' } }); this.showSpinner = false; } else { this.showMyToast('销存失败',result.msg,'error'); this.showSpinner = false; } }) .catch((error) => { console.log('error = ' + JSON.stringify(error)); this.showSpinner = false; }); } 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 = '