| New file |
| | |
| | | import { LightningElement, wire, api, track } from "lwc"; |
| | | import oninit from "@salesforce/apex/LexInventoryController.init"; |
| | | import barcodeEntry from "@salesforce/apex/LexInventoryController.searchConsumableorderdetails"; |
| | | // import saveConfirm from '@salesforce/apex/LexInventoryController.saveConfirm'; |
| | | import save from "@salesforce/apex/LexInventoryController.save"; |
| | | import datainit from "@salesforce/apex/LexInventoryListController.init"; |
| | | import { ShowToastEvent } from "lightning/platformShowToastEvent"; |
| | | import { NavigationMixin } from "lightning/navigation"; |
| | | |
| | | //库存盘点主页面数据 |
| | | const columns = [ |
| | | { |
| | | label: "是否盘点", |
| | | fieldName: "iscount", |
| | | hideDefaultActions: true, |
| | | cellAttributes: { alignment: "left" }, |
| | | }, |
| | | { |
| | | label: "消耗品名称", |
| | | fieldName: "Name__c", |
| | | hideDefaultActions: true, |
| | | initialWidth: 250, |
| | | cellAttributes: { alignment: "left" }, |
| | | }, |
| | | { |
| | | label: "规格", |
| | | fieldName: "Packing_list_manual__c", |
| | | hideDefaultActions: true, |
| | | }, |
| | | { |
| | | label: "单位", |
| | | fieldName: "boxPiece", |
| | | hideDefaultActions: true, |
| | | }, |
| | | { |
| | | label: "有效期内库存", |
| | | fieldName: "limitCount", |
| | | hideDefaultActions: true, |
| | | }, |
| | | |
| | | { |
| | | label: "过期库存", |
| | | fieldName: "overlimitCount", |
| | | hideDefaultActions: true, |
| | | initialWidth: 100, |
| | | }, |
| | | { |
| | | label: "盘点", |
| | | fieldName: "Pandian", |
| | | hideDefaultActions: true, |
| | | initialWidth: 100, |
| | | }, |
| | | { |
| | | label: "丢失", |
| | | fieldName: "Diff", |
| | | hideDefaultActions: true, |
| | | initialWidth: 100, |
| | | }, |
| | | { |
| | | label: "寻回 ", |
| | | fieldName: "refind", |
| | | hideDefaultActions: true, |
| | | initialWidth: 150, |
| | | }, |
| | | { |
| | | label: "差异原因", |
| | | // fieldName: "DiffReason", |
| | | hideDefaultActions: true, |
| | | type: "customDiffReason", |
| | | typeAttributes: { |
| | | DiffReason: { fieldName: "DiffReason" }, |
| | | ProdId: { fieldName: "ProdId" }, |
| | | }, |
| | | }, |
| | | ]; |
| | | |
| | | //调整明细 |
| | | const column = [ |
| | | { |
| | | label: "消耗品名称", |
| | | fieldName: "Name__c", |
| | | hideDefaultActions: true, |
| | | cellAttributes: { alignment: "left" }, |
| | | }, |
| | | { |
| | | label: "单位", |
| | | fieldName: "Box_Piece__c", |
| | | hideDefaultActions: true, |
| | | }, |
| | | { |
| | | label: "barcode", |
| | | fieldName: "Bar_Code__c", |
| | | hideDefaultActions: true, |
| | | initialWidth: 150, |
| | | }, |
| | | { |
| | | label: "调整原因", |
| | | fieldName: "DiffReason", |
| | | hideDefaultActions: true, |
| | | }, |
| | | ]; |
| | | //盘点明细 |
| | | const dcolumns = [ |
| | | { |
| | | label: "消耗品名称", |
| | | fieldName: "Name__c", |
| | | hideDefaultActions: true, |
| | | cellAttributes: { alignment: "left" }, |
| | | }, |
| | | { |
| | | label: "库存", |
| | | fieldName: "Count_Sum__c", |
| | | hideDefaultActions: true, |
| | | }, |
| | | { |
| | | label: "盘点", |
| | | fieldName: "inventory_sum__c", |
| | | hideDefaultActions: true, |
| | | initialWidth: 150, |
| | | }, |
| | | { |
| | | label: "丢失", |
| | | fieldName: "Diff__c", |
| | | hideDefaultActions: true, |
| | | }, |
| | | { |
| | | label: "寻回", |
| | | fieldName: "Product_Refind__c", |
| | | hideDefaultActions: true, |
| | | }, |
| | | { |
| | | label: "差异原因", |
| | | fieldName: "Lose_reason__c", |
| | | hideDefaultActions: true, |
| | | }, |
| | | ]; |
| | | |
| | | //在库调整明细 |
| | | const stockadjustcolumns = [ |
| | | { |
| | | label: "消耗品名称", |
| | | fieldName: "Name__c", |
| | | cellAttributes: { alignment: "left" }, |
| | | }, |
| | | { |
| | | label: "产品型号", |
| | | fieldName: "Asset_Model_No__c", |
| | | hideDefaultActions: true, |
| | | }, |
| | | { |
| | | label: "差异原因", |
| | | fieldName: "Lose_reason__c", |
| | | hideDefaultActions: true, |
| | | initialWidth: 150, |
| | | }, |
| | | { |
| | | label: "是否丢失", |
| | | type: "boolean", |
| | | fieldName: "Lose_Flag__c", |
| | | hideDefaultActions: true, |
| | | }, |
| | | ]; |
| | | |
| | | export default class LexInventoryCount extends NavigationMixin( |
| | | LightningElement |
| | | ) { |
| | | columns = columns; |
| | | column = column; |
| | | stockadjustcolumns = stockadjustcolumns; |
| | | dcolumns = dcolumns; |
| | | @track data = []; |
| | | @track codPageRecords = []; |
| | | @track accountName; |
| | | @track agencyProType; |
| | | @track userWorkLocation; |
| | | @track accountid |
| | | @track pandiandetailsMap |
| | | @track reSet |
| | | |
| | | @track showTable = false; |
| | | @track showbutton = false; |
| | | @track barcode = ""; |
| | | @track ConsumableorderdetailsRecordsview = []; |
| | | @track consumableorderdetailsRecords = []; |
| | | @track showcount = true; |
| | | |
| | | @track iSinventory = false |
| | | @track numberDetail; |
| | | @track hidecheckbox = true; |
| | | |
| | | |
| | | //加载框 |
| | | // @track casesSpinner = true; |
| | | @track showSpinner = true; |
| | | |
| | | //row |
| | | @track selectedRows = []; |
| | | //inventoryList |
| | | @track isSummonsFlag; |
| | | //展开栏 |
| | | activeSections = ["dataExpand"]; |
| | | columnHeader = ["消耗品名称", "单位", "barCode", "调整原因"]; |
| | | //确认一览 |
| | | @track eSetId = ""; |
| | | @track EditAble = false; |
| | | @track selectedData; |
| | | @track conId; |
| | | @track detailData = []; |
| | | @track adjustdata = []; |
| | | |
| | | //获取链接参数 |
| | | getQueryString(name) { |
| | | console.log("getQueryString name " + name); |
| | | let reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); |
| | | let r = window.location.search.substr(1).match(reg); |
| | | if (r != null) { |
| | | return decodeURIComponent(r[2]); |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | connectedCallback() { |
| | | console.log("===>初始化"); |
| | | this.showSpinner = true; |
| | | //获取ESetid |
| | | this.eSetId = this.getQueryString("eSetId"); |
| | | this.eSetId = this.eSetId == null ? "" : this.eSetId; |
| | | console.log(" this.eSetId" + this.eSetId); |
| | | if (this.eSetId == "") { |
| | | this.EditAble = false; |
| | | } else { |
| | | this.inits(); |
| | | this.showcount = false; |
| | | this.EditAble = true; |
| | | } |
| | | |
| | | oninit() |
| | | .then((result) => { |
| | | console.log("1112" + JSON.stringify(result)); |
| | | result = JSON.parse(JSON.stringify(result)); |
| | | console.log("result.status = " + result.status); |
| | | console.log( |
| | | " ConsumableorderdetailsRecordsview= " + |
| | | result.entity.ConsumableorderdetailsRecordsview |
| | | ); |
| | | this.ConsumableorderdetailsRecordsview = JSON.parse( |
| | | result.entity.ConsumableorderdetailsRecordsview |
| | | ); |
| | | this.consumableorderdetailsRecords = |
| | | result.entity.consumableorderdetailsRecords; |
| | | console.log( |
| | | " consumableorderdetailsRecords= " + |
| | | result.entity.consumableorderdetailsRecords |
| | | ); |
| | | |
| | | console.log("传参类型", typeof this.consumableorderdetailsRecords); |
| | | if (result.status == "Success") { |
| | | console.log( |
| | | "this.ConsumableorderdetailsRecordsview[0] = " + |
| | | JSON.stringify(this.ConsumableorderdetailsRecordsview[0]) |
| | | ); |
| | | console.log( |
| | | "this.ConsumableorderdetailsRecordsview[0].length = " + |
| | | this.ConsumableorderdetailsRecordsview[0].length |
| | | ); |
| | | |
| | | // let cloneData = []; |
| | | // for (let i in this.ConsumableorderdetailsRecordsview[0]) { |
| | | // cloneData.push(JSON.parse(this.ConsumableorderdetailsRecordsview[0][i])); |
| | | // } |
| | | // console.log('cloneData = ' + typeof cloneData); |
| | | // console.log('cloneData = ' + cloneData); |
| | | // this.data = cloneData; |
| | | this.data = []; |
| | | this.data = this.ConsumableorderdetailsRecordsview[0]; |
| | | console.log("this.data ==>" + JSON.stringify(this.data)); |
| | | for (let i in this.data) { |
| | | this.data[i]["Name__c"] = this.data[i].Prod.Name__c; |
| | | this.data[i]["Packing_list_manual__c"] = |
| | | this.data[i].Prod.Packing_list_manual__c; |
| | | } |
| | | this.accountName = result.entity.accountName; |
| | | this.agencyProType = result.entity.agencyProType; |
| | | this.userWorkLocation = result.entity.userWorkLocation; |
| | | this.showSpinner = false; |
| | | this.accountid = result.entity.accountid; |
| | | // this.casesSpinner = false; |
| | | this.showTable = true; |
| | | } 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)); |
| | | }); |
| | | //默认展开栏 |
| | | this.activeSections = ["dataExpand"]; |
| | | this.showTable = false; |
| | | this.showbutton = false; |
| | | //init |
| | | } |
| | | //录入barcode |
| | | |
| | | barcodeEntrys() { |
| | | this.showTable = false; |
| | | this.showbutton = false; |
| | | this.showSpinner = true; |
| | | console.log("进入录入"); |
| | | console.log( |
| | | "this.consumableorderdetailsRecords===>" + |
| | | this.consumableorderdetailsRecords |
| | | ); |
| | | |
| | | barcodeEntry({ |
| | | accountName: this.accountName, |
| | | agencyProType: this.agencyProType, |
| | | userWorkLocation: this.userWorkLocation, |
| | | barcode: this.barcode, |
| | | consumableorderdetailsRecordsLWC: this.consumableorderdetailsRecords, |
| | | }) |
| | | .then((result) => { |
| | | result = JSON.parse(JSON.stringify(result)); |
| | | console.log("result ===>" + JSON.stringify(result)); |
| | | |
| | | console.log("1111"); |
| | | if (result.status == "Sucess") { |
| | | this.codPageRecords = JSON.parse(result.entity.codPageRecords); |
| | | for (var i in this.codPageRecords) { |
| | | this.codPageRecords[i]["Name__c"] = this.codPageRecords[i].Prod.Name__c; |
| | | this.codPageRecords[i]["Box_Piece__c"] = this.codPageRecords[i].orderdetails2.Box_Piece__c; |
| | | this.codPageRecords[i]["Bar_Code__c"] = this.codPageRecords[i].orderdetails2.Bar_Code__c; |
| | | } |
| | | this.data = JSON.parse(result.entity.consumableorderdetailsRecords); |
| | | for (var i in this.data) { |
| | | this.data[i]["Name__c"] = this.data[i].Prod.Name__c; |
| | | this.data[i]["Packing_list_manual__c"] = this.data[i].Prod.Packing_list_manual__c; |
| | | } |
| | | for (var i in this.data) { |
| | | if (this.data[i]["check"]) { |
| | | this.selectedRows.push(this.data[i].ProdId); |
| | | console.log("selectedRows:" + this.selectedRows); |
| | | } |
| | | } |
| | | this.iSinventory = result.entity.iSinventory; |
| | | this.pandiandetailsMap = result.entity.pandiandetailsMap; |
| | | this.reSet = result.entity.reSet; |
| | | console.log("iSinventory:" + this.iSinventory); |
| | | this.showTable = true; |
| | | this.showbutton = true; |
| | | this.showSpinner = false; |
| | | console.log('reSet' + this.reSet); |
| | | console.log('pandiandetailsMap' + this.pandiandetailsMap); |
| | | |
| | | |
| | | console.log( |
| | | "this.codPageRecords=11111 " + result.entity.codPageRecords |
| | | ); |
| | | console.log("result录入= " + JSON.stringify(result)); |
| | | console.log( |
| | | "result主页数据= " + result.entity.consumableorderdetailsRecords |
| | | ); |
| | | } else { |
| | | console.log('Error:' + result.errorMsg); |
| | | const evt = new ShowToastEvent({ |
| | | title: '', |
| | | message: result.msg, |
| | | variant: 'error' |
| | | }); |
| | | this.dispatchEvent(evt); |
| | | this.showSpinner = false; |
| | | this.showTable = true; |
| | | |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | console.log("error = " + JSON.stringify(error)); |
| | | }); |
| | | } |
| | | //获取当前输入值 |
| | | handleChange(event) { |
| | | let value = event.detail.value; |
| | | console.log("value" + value); |
| | | this.barcode = value; |
| | | } |
| | | |
| | | getSelectedRows(event) { |
| | | 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) { |
| | | if (this.data[i].ProdId == selectedRows[j].ProdId) { |
| | | this.data[i]["check"] = true; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | //导出为csv |
| | | exportData() { |
| | | console.log("导出"); |
| | | // Prepare a html table |
| | | let doc = "<table>"; |
| | | // Add styles for the table |
| | | doc += "<style>"; |
| | | doc += "table, th, td {"; |
| | | doc += " border: 1px solid black;"; |
| | | doc += " border-collapse: collapse;"; |
| | | doc += "}"; |
| | | doc += "</style>"; |
| | | // Add all the Table Headers |
| | | doc += "<tr>"; |
| | | this.columnHeader.forEach((element) => { |
| | | doc += "<th>" + element + "</th>"; |
| | | }); |
| | | doc += "</tr>"; |
| | | // Add the data rows |
| | | this.codPageRecords.forEach((record) => { |
| | | doc += "<tr>"; |
| | | doc += "<th>" + record.Name__c + "</th>"; |
| | | doc += "<th>" + record.Box_Piece__c + "</th>"; |
| | | doc += "<th>" + record.Bar_Code__c + "</th>"; |
| | | doc += "<th>" + record.DiffReason + "</th>"; |
| | | doc += "</tr>"; |
| | | }); |
| | | doc += "</table>"; |
| | | var element = "data:application/vnd.ms-excel," + encodeURIComponent(doc); |
| | | let downloadElement = document.createElement("a"); |
| | | downloadElement.href = element; |
| | | downloadElement.target = "_self"; |
| | | // use .csv as extension on below line if you want to export data as csv |
| | | downloadElement.download = "库存变化明细.xls"; |
| | | document.body.appendChild(downloadElement); |
| | | downloadElement.click(); |
| | | } |
| | | |
| | | //自定义dataType |
| | | |
| | | diffreasons(event) { |
| | | const numberDetail = event.detail; |
| | | // this.numberDetail = numberDetail; |
| | | console.log("numberDetail" + JSON.stringify(numberDetail)); |
| | | for (var i in this.data) { |
| | | if (this.data[i]["ProId"] == numberDetail.data.ProId) { |
| | | this.data[i]["DiffReason"] = numberDetail.data.DiffReason; |
| | | } |
| | | } |
| | | console.log(" this.data==>" + JSON.stringify(this.data)); |
| | | } |
| | | |
| | | saveConfirm() { |
| | | console.log("进入盘点确认"); |
| | | console.log('reSet' + this.reSet); |
| | | console.log('pandiandetailsMap' + this.pandiandetailsMap); |
| | | var el = this.template.querySelector("c-lex-custom-lightning-datatable"); |
| | | var selected = el.getSelectedRows(); |
| | | this.selectedData = selected; |
| | | console.log("选中数据" + JSON.stringify(this.selectedData)); |
| | | save({ |
| | | iSinventory: this.iSinventory, |
| | | consumableorderdetailsRecordsLWC: JSON.stringify(this.selectedData), |
| | | accountid: this.accountid, |
| | | agencyProType: this.agencyProType, |
| | | reSet: this.reSet, |
| | | pandiandetailsMap: this.pandiandetailsMap |
| | | }) |
| | | .then((result) => { |
| | | result = JSON.parse(JSON.stringify(result)); |
| | | console.log("result = " + JSON.stringify(result)); |
| | | console.log("111111"); |
| | | |
| | | if (result.status == "Success") { |
| | | let url = "/lexInventoryCount?ESetid=" + result.entity.eSetId; |
| | | this[NavigationMixin.Navigate]({ |
| | | type: "standard__webPage", |
| | | attributes: { |
| | | url: url, |
| | | }, |
| | | }); |
| | | console.log("Id" + this.eSetId); |
| | | // this.EditAble = true; |
| | | // this.showcount = false; |
| | | } else { |
| | | console.log("result.msg = " + result.msg); |
| | | const evt = new ShowToastEvent({ |
| | | title: "失败", |
| | | message: result.msg, |
| | | variant: "error", |
| | | }); |
| | | this.dispatchEvent(evt); |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | console.log("error = " + JSON.stringify(error)); |
| | | }); |
| | | } |
| | | |
| | | inits() { |
| | | datainit({ |
| | | eSetId: this.eSetId, |
| | | }) |
| | | .then((result) => { |
| | | result = JSON.parse(JSON.stringify(result)); |
| | | console.log('盘点一览===>' + JSON.stringify(result)); |
| | | for (var i in result.entity.qs) { |
| | | this.conId = result.entity.qs[i].Id; |
| | | } |
| | | console.log("this.conId" + typeof this.conId); |
| | | this.detailData = JSON.parse( |
| | | result.entity.consumableorderdetailsRecords |
| | | ); |
| | | if (result.entity.ConsumableorderdetailsRecordsError != null) { |
| | | this.adjustdata = JSON.parse( |
| | | result.entity.ConsumableorderdetailsRecordsError |
| | | ); |
| | | for (let i in this.detailData) { |
| | | this.detailData[i].Name__c = this.detailData[i].Prod.Name__c; |
| | | this.detailData[i].Count_Sum__c = this.detailData[i].orderdetails1.Count_Sum__c; |
| | | this.detailData[i].inventory_sum__c = this.detailData[i].orderdetails1.inventory_sum__c; |
| | | this.detailData[i].Diff__c = this.detailData[i].orderdetails1.Diff__c; |
| | | this.detailData[i].Product_Refind__c = this.detailData[i].orderdetails1.Product_Refind__c; |
| | | this.detailData[i].Lose_reason__c = this.detailData[i].orderdetails1.Lose_reason__c; |
| | | } |
| | | for (let i in this.adjustdata) { |
| | | this.adjustdata[i].Name__c = this.adjustdata[i].Prod.Name__c; |
| | | this.adjustdata[i].Asset_Model_No__c = this.adjustdata[i].Prod.Asset_Model_No__c; |
| | | this.adjustdata[i].Lose_reason__c = this.adjustdata[i].orderdetails2.Lose_reason__c; |
| | | this.adjustdata[i].Lose_Flag__c = this.adjustdata[i].orderdetails2.Lose_Flag__c; |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | | console.log("result盘点Id" + JSON.stringify(this.conId)); |
| | | console.log("调整明细" + JSON.stringify(this.adjustdata)); |
| | | }) |
| | | .catch((error) => { |
| | | console.log("error = " + JSON.stringify(error)); |
| | | }); |
| | | } |
| | | } |