import { LightningElement, wire, api, track } from 'lwc'; import oninit from "@salesforce/apex/LexInventoryViewController.init"; import oninit2 from "@salesforce/apex/LexInventoryViewController.init2"; import { ShowToastEvent } from "lightning/platformShowToastEvent"; import searchOrder from "@salesforce/apex/LexInventoryViewController.searchConsumableorderdetails"; import { NavigationMixin } from "lightning/navigation"; const columns = [ { label: "消耗品名称", fieldName: "Name__c", type: "Name", sortable: true, initialWidth : 250, hideDefaultActions: true, wrapText:true, cellAttributes: { alignment: "left" } }, { label: "第三分类", fieldName: "Category3__c", hideDefaultActions: true, sortable: true, wrapText:true, initialWidth: 90 }, { label: "第四分类", fieldName: "Category4__c", hideDefaultActions: true, wrapText:true, sortable: true, initialWidth: 90 }, { label: "第五分类", fieldName: "Category5__c", hideDefaultActions: true, wrapText:true, initialWidth: 90 }, { label: "规格", fieldName: "packing_list", wrapText:true, hideDefaultActions: true, }, { label: "单位", fieldName: "BoxPiece", wrapText:true, hideDefaultActions: true, }, { label: "注册证编码号", fieldName: "approbation_No", wrapText:true, initialWidth : 180, hideDefaultActions: true, }, { label: "注册有效期", fieldName: "expiration_Date", wrapText:true, hideDefaultActions: true, initialWidth: 150 }, { label: "CFDA状态", fieldName: "SFDA_Status__c", hideDefaultActions: true, initialWidth: 100 }, { label: "使用期限", fieldName: "guaranteeperiod", hideDefaultActions: true, initialWidth: 100 }, { label: "有效期内库存", fieldName: "limitCount", hideDefaultActions: true, sortable: true, initialWidth: 100 }, { label: "过期库存", fieldName: "overlimitCount", hideDefaultActions: true, initialWidth: 100 } ]; export default class LexinventoryViewLWC extends NavigationMixin(LightningElement) { //分页start // @track sortBy = ""; // @track sortDirection = "asc"; // @track pageSize = 10; // error; // records; // currentPageToken = 0; // nextPageToken = this.pageSize; // @track loader = false; // @track pageNumber = 1; // @track paginationVisibility = false; // @track totalPages = 1; // @api pageSizeOptions = [10, 25, 50, 75, 100]; //end @track data = []; @track message = ""; @track Name; @track CategoryThree; @track CategoryFour; @track CategoryFive; @track orderDetZaikuList = []; @track accountName; @track agencyProType; @track userWorkLocation; @track value = ""; @track showTable = false; @track hidecheckboxcolumn = true; @track check = false; //加载 @track showSpinner = false; columns = columns; defaultSortDirection = "asc"; sortDirection = "asc"; sortedBy; // columns = columns; connectedCallback() { console.log('zhj init') // { // pageSizeLWC: this.pageSize, // pageTokenLWC: this.currentPageToken, // sortFieldLWC: this.sortBy, // sortOrderLWC: this.sortDirection // } oninit().then((result) => { result = JSON.parse(JSON.stringify(result)); console.log("result.status = " + result.status); console.log("result = " + JSON.stringify(result)); console.log("result 1= " + JSON.stringify(result.entity)); console.log("result 2= " + JSON.stringify(result.entity.pageRecords)); console.log("result.entity.categoryOptionMap 2= " +JSON.stringify(result.entity.categoryOptionMap)); console.log("result.entity.categoryOptionMap 2= " +JSON.stringify(result.entity.category4OptionMap)); console.log("result.entity.categoryOptionMap 2= " +JSON.stringify(result.entity.category5OptionMap)); if (result.status == "Success") { this.data = result.entity.pageRecords; for (var i in this.data) { this.data[i]["Name__c"] = this.data[i].Prod.Name__c; this.data[i]["Category3__c"] = this.data[i].Prod.Category3__c; this.data[i]["Category4__c"] = this.data[i].Prod.Category3__c; this.data[i]["Category5__c"] = this.data[i].Prod.Category3__c; this.data[i]["SFDA_Status__c"] = this.data[i].Prod.SFDA_Status__c; } console.log(); this.showTable = true; this.orderDetZaikuList = result.entity.orderDetZaikuList; this.accountName = result.entity.accountName; this.agencyProType = result.entity.agencyProType; this.userWorkLocation = result.entity.userWorkLocation; let option1ValueTemp = []; for (var key in result.entity.categoryOptionMap) { let object = {}; object['label'] = result.entity.categoryOptionMap[key]; object['value'] = key; option1ValueTemp.push(object); } this.options1 = option1ValueTemp; console.log( ' this.optionscatone===>'+JSON.stringify(this.optionscatone)); let option2ValueTemp = []; for (var key in result.entity.category4OptionMap) { let object = {}; object["label"] = result.entity.category4OptionMap[key]; object["value"] = key; option2ValueTemp.push(object); } this.options2 = option2ValueTemp; let option3ValueTemp = []; for (var key in result.entity.category5OptionMap) { let object = {}; object["label"] = result.entity.category5OptionMap[key]; object["value"] = key; option3ValueTemp.push(object); } this.options3 = option3ValueTemp; } else { console.log("Error:" + result.errorMsg); const evt = new ShowToastEvent({ title: "解析失败", message: result.errorMsg, variant: "error" }); this.dispatchEvent(evt); } }) .catch((error) => { console.log("error = " + JSON.stringify(error)); }); } sortBy(field, reverse, primer) { const key = primer ? function (x) { return primer(x[field]); } : function (x) { return x[field]; }; return function (a, b) { a = key(a); b = key(b); return reverse * ((a > b) - (b > a)); }; } onHandleSort(event) { const { fieldName: sortedBy, sortDirection } = event.detail; const cloneData = [...this.data]; cloneData.sort(this.sortBy(sortedBy, sortDirection === "asc" ? 1 : -1)); this.data = cloneData; this.sortDirection = sortDirection; this.sortedBy = sortedBy; } handlePaginatorChange(event) { this.recordsToDisplay = event.detail.recordsToDisplay; this.preSelected = event.detail.preSelected; if (this.recordsToDisplay && this.recordsToDisplay > 0) { this.rowNumberOffset = this.recordsToDisplay[0].rowNumber - 1; } else { this.rowNumberOffset = 0; } } handleChange(event) { let fieldName = event.target.getAttribute("data-field"); let value = event.detail.value; console.log("======>fieldName" + fieldName); console.log("======>value" + value); switch (fieldName) { case "Name": this.Name = value; break; case "CategoryThree": this.CategoryThree = value; break; case "CategoryFour": this.CategoryFour = value; break; case "CategoryFive": this.CategoryFive = value; break; default: console.log("no data"); } } searchOrderDetail() { this.showTable = false; this.showSpinner = true; console.log("进入搜索11111111111111"); console.log("进入搜索"); console.log("this.CategoryThree = " + this.CategoryThree); console.log("this.CategoryFive = " + this.CategoryFive); searchOrder({ category1: this.Name, Category3: this.CategoryThree, Category4: this.CategoryFour, Category5: this.CategoryFive, orderDetZaikuListLWC: JSON.stringify(this.orderDetZaikuList), accountName: this.accountName, agencyProType: this.agencyProType, userWorkLocation: this.userWorkLocation }) .then((result) => { result = JSON.parse(JSON.stringify(result)); console.log("result搜索 = " + JSON.stringify(result)); console.log("result搜索列表= " + JSON.stringify(result.entity.pageRecords)); if (result.status == "Success") { const evt = new ShowToastEvent({ title: "搜索成功", message: result.msg, variant: "Success" }); this.dispatchEvent(evt); this.data = result.entity.pageRecords; for (var i in this.data) { this.data[i]["Name__c"] = this.data[i].Prod.Name__c; this.data[i]["Category3__c"] = this.data[i].Prod.Category3__c; this.data[i]["Category4__c"] = this.data[i].Prod.Category3__c; this.data[i]["Category5__c"] = this.data[i].Prod.Category3__c; this.data[i]["SFDA_Status__c"] = this.data[i].Prod.SFDA_Status__c; } this.showTable = true; this.showSpinner = false; } else { const evt = new ShowToastEvent({ title: "", message: result.msg, variant: "Success" }); this.dispatchEvent(evt); } }) .catch((error) => { console.log("error = " + JSON.stringify(error)); }); } inventoryCount(){ console.log('111库存盘点'); this[NavigationMixin.Navigate]({ type: 'standard__webPage', attributes: { url: '/lexInventoryCount' } }); } handleExpired(){ console.log('过期库存呢销存'); this[NavigationMixin.Navigate]({ type: 'standard__webPage', attributes: { url:'/lexoverdueStock' } }); } removeBox(){ this[NavigationMixin.Navigate]({ type: 'standard__webPage', attributes: { url:'/lexremovebox' } }); } cancelremoveBox(){ this[NavigationMixin.Navigate]({ type: 'standard__webPage', attributes: { url:'/lexCancelRemoveBox' } }); } clearAll() { this.showSpinner = true; this.showTable = false; this.Name = ''; this.CategoryThree = ''; this.CategoryFour = ''; this.CategoryFive = ''; this.template.querySelectorAll("lightning-combobox").forEach((each) => { each.value = null; }); console.log(' this.CategoryThree'+ this.CategoryThree); console.log('数据列表'+this.data); searchOrder({ category1: this.Name, Category3: this.CategoryThree, Category4: this.CategoryFour, Category5: this.CategoryFive, orderDetZaikuListLWC: JSON.stringify(this.orderDetZaikuList), accountName: this.accountName, agencyProType: this.agencyProType, userWorkLocation: this.userWorkLocation }) .then((result) => { console.log("result搜索 = " + JSON.stringify(result)); result = JSON.parse(JSON.stringify(result)); if (result.status == "Success") { this.data = result.entity.pageRecords; for (var i in this.data) { this.data[i]["Name__c"] = this.data[i].Prod.Name__c; this.data[i]["Category3__c"] = this.data[i].Prod.Category3__c; this.data[i]["Category4__c"] = this.data[i].Prod.Category3__c; this.data[i]["Category5__c"] = this.data[i].Prod.Category3__c; this.data[i]["SFDA_Status__c"] = this.data[i].Prod.SFDA_Status__c; } this.showSpinner = false; this.showTable = true; const evt = new ShowToastEvent({ title: "搜索成功", message: result.msg, variant: "Success" }); this.dispatchEvent(evt); this.showSpinner = false; } else { const evt = new ShowToastEvent({ title: "", message: result.msg, variant: "Success" }); this.dispatchEvent(evt); } }) .catch((error) => { console.log("error = " + JSON.stringify(error)); }); } }