From 0f44cb1a0b7b36860e9ce81c1eac9e395d87f0b4 Mon Sep 17 00:00:00 2001 From: buli <137736985@qq.com> Date: 星期一, 05 六月 2023 13:53:18 +0800 Subject: [PATCH] mergecode into lex dtt --- force-app/main/default/lwc/lexConInvoiceView/lexConInvoiceView.js | 974 ++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 884 insertions(+), 90 deletions(-) diff --git a/force-app/main/default/lwc/lexConInvoiceView/lexConInvoiceView.js b/force-app/main/default/lwc/lexConInvoiceView/lexConInvoiceView.js index c8c0cf5..0c4122c 100644 --- a/force-app/main/default/lwc/lexConInvoiceView/lexConInvoiceView.js +++ b/force-app/main/default/lwc/lexConInvoiceView/lexConInvoiceView.js @@ -5,11 +5,20 @@ import saveFile from "@salesforce/apex/LexConInvoiceViewController.saveFile"; import saveAttachment from "@salesforce/apex/LexConInvoiceViewController.saveAttachment"; import InvoiceorderSearch from "@salesforce/apex/LexConInvoiceViewController.InvoiceorderSearch"; +import deleteButton from "@salesforce/apex/LexConInvoiceViewController.deleteButton"; +import approval from "@salesforce/apex/LexConInvoiceViewController.approval"; import conInvoiceListInit from "@salesforce/apex/LexConInvoiceList.init"; import invoiceCodeSearch from "@salesforce/apex/LexConInvoiceList.invoiceCodeSearch"; import hospitalInit from "@salesforce/apex/lexSearchAgencyHospitalController.init"; import serContact from "@salesforce/apex/lexSearchAgencyHospitalController.serContact"; +import detailsInit from "@salesforce/apex/LexConInvoicedetailsController.init"; +import detailsSave from "@salesforce/apex/LexConInvoicedetailsController.save"; +import deleteAtt from '@salesforce/apex/LexConsumableController.deleteAtt'; import { NavigationMixin } from "lightning/navigation"; +//table css +import { loadStyle } from "lightning/platformResourceLoader"; +import WrappedHeaderTable from "@salesforce/resourceUrl/lexdatatable"; +import LexConInvoiceViewReport from '@salesforce/label/c.LexConInvoiceViewReport'; const hospitalColumns = [ { @@ -17,6 +26,7 @@ fieldName: "Name", initialWidth: 400, hideDefaultActions: true, + wrapText: true, }, { label: "鐪佷唤", @@ -40,37 +50,56 @@ label: "鍑哄簱鏃ユ湡", fieldName: "esdetProductOutDate", hideDefaultActions: true, + wrapText: true, }, { label: "鍑哄簱鍗曠紪鐮�", fieldName: "esdetInvoicedet1ODlinkName", wrapText: true, hideDefaultActions: true, + wrapText: true, }, { label: "浜у搧鍨嬪彿", fieldName: "esdetAssetModelNo", hideDefaultActions: true, + wrapText: true, + initialWidth: 400, }, { label: "鍗曚綅", fieldName: "esdetInvoiceUnit", hideDefaultActions: true, + wrapText: true, + initialWidth: 50, }, { label: "鍙戠エ鍗曚环", fieldName: "esdetInvoiceUnitprice", hideDefaultActions: true, + wrapText: true, + type: "number", + typeAttributes: { + minimumFractionDigits: 2, + }, }, { label: "鍙戠エ鏁伴噺", fieldName: "esdetInvoicedCount", + cellAttributes: { alignment: 'right' }, hideDefaultActions: true, + wrapText: true, }, { label: "鍙戠エ绁ㄩ潰閲戦(鍏�)", fieldName: "esdetInvoicedProCostRMB", hideDefaultActions: true, + wrapText: true, + cellAttributes: { alignment: 'right' }, + type: "number", + typeAttributes: { + minimumFractionDigits: 2, + }, }, ]; const invoiceColumns = [ @@ -78,6 +107,7 @@ label: "鍙戠エ鏃ユ湡", fieldName: "Invoice_Date__c", hideDefaultActions: true, + initialWidth: 150 }, { label: "鍙戠エ鍙�", @@ -98,27 +128,139 @@ label: "鍙戠エ鐘舵��", fieldName: "Invoice_status__c", hideDefaultActions: true, + initialWidth: 100 }, { label: "鍙戠エ璐﹂潰閲戦(鍏�)", fieldName: "Invoice_total_amount__c", hideDefaultActions: true, + type: "number", + typeAttributes: { + minimumFractionDigits: 2, + }, + initialWidth: 180 }, { label: "鍙戠エ闄勪欢", fieldName: "Invoice_attachment__c", - type : 'boolean', + type: 'boolean', hideDefaultActions: true, + initialWidth: 120 }, { label: "鍙戠エ鏄庣粏闄勪欢", fieldName: "Invoicedet_attachment__c", - type : 'boolean', + type: 'boolean', + hideDefaultActions: true, + initialWidth: 120 + }, +]; +const detailsColumns = [ + { + label: "浜у搧鍨嬪彿", + fieldName: "esdAssetModelNo", + hideDefaultActions: true, + wrapText: true, + }, + { + label: "瑙勬牸", + fieldName: "packingListManual", + hideDefaultActions: true, + initialWidth: 30 + }, + { + label: "鍑鸿揣鍗曚环(鍏�)", + fieldName: "esdDeliveryListRMB", + hideDefaultActions: true, + type: "number", + typeAttributes: { + minimumFractionDigits: 2, + }, + }, + { + label: "鍑鸿揣鏁伴噺", + fieldName: "esdShipmentCount", hideDefaultActions: true, }, + { + label: "杩斿搧鏁伴噺", + fieldName: "esdRrturnProCount", + hideDefaultActions: true, + }, + { + label: "鍑哄簱鍗曚綅", + fieldName: "esdBoxPiece", + hideDefaultActions: true, + }, + { + label: "宸插彂绁ㄦ暟閲�", + fieldName: "esdInvoicedProcount", + hideDefaultActions: true, + type: "number", + typeAttributes: { + minimumFractionDigits: 2, + }, + }, + { + label: "杩樻病鍙戠エ鏁伴噺", + fieldName: "esdInvoiceProNotCount", + hideDefaultActions: true, + type: "number", + typeAttributes: { + minimumFractionDigits: 2, + }, + }, + { + label: "寮�绁ㄥ崟浣�", + hideDefaultActions: true, + type: "customUnit", + typeAttributes: { + unitValue: { fieldName: "unitValue" }, + unitOptions: { fieldName: "unitOptions" }, + recordId: { fieldName: "recordId" }, + isDisabled: { fieldName: "isDisabled" }, + }, + }, + { + label: "鍙戠エ鍗曚环", + fieldName: "esdInvoiceUnitprice", + hideDefaultActions: true, + type: "number", + typeAttributes: { + minimumFractionDigits: 2, + }, + initialWidth: 130 + }, + { + label: "鍙戠エ鏁伴噺", + //fieldName: "invoiceCount", + hideDefaultActions: true, + type: "customShipment", + cellAttributes: { alignment: 'right' }, + typeAttributes: { + recordId: { fieldName: "recordId" }, + shipmentNumber: { fieldName: "shipmentNumber" }, + }, + }, + { + label: "鍙戠エ绁ㄩ潰閲戦(鍏�)", + cellAttributes: { alignment: 'right' }, + fieldName: "invoiceAllprice", + hideDefaultActions: true, + type: "number", + typeAttributes: { + minimumFractionDigits: 2, + }, + }, ] +const customLabel = { + LexConInvoiceViewReport +} export default class LexConInvoiceView extends NavigationMixin(LightningElement) { + @track label=customLabel; + invoiceColumns = invoiceColumns; + detailsColumns = detailsColumns; @track outboundColumns = [ { label: "鍑哄簱鏃ユ湡", @@ -140,10 +282,13 @@ ] @track outboundData = []; @track outboundDataSumPrice = []; - invoiceColumns = invoiceColumns; @track invoiceData = []; + @track invoiceAllpriceData = []; + @track detailsSelectedRows = []; + @track showAttPop = false; @track invoiceId = ''; + @track orderId = ''; @track userWorkLocation = ''; @track deliveryId = ''; @track cocId = ''; @@ -151,16 +296,23 @@ @track coc = {}; @track EditAble = false; @track isChange = false; - @track sumPrice = 0; + @track sumPrice = 0.00; @track OrderCode = ''; @track ExistOutbound = false; @track reopen = ''; @track invoiceOrderRecoedschange = []; @track isNew = ''; + @track outOrderStringListLwc = []; + @track outordercountMapLwc = {}; + @track selectedRows = []; + @track detailsInvoiceId = ''; + @track detailsCocId = ''; + @track detailsData = []; + @track invoiceAllprice = 0.00; //鐘舵�� @track invoiceStatusValue = ''; @track invoiceStatusOptions = []; - get Options(){ + get Options() { return this.invoiceStatusOptions; } //鍑哄簱浠� @@ -206,12 +358,14 @@ @track hideCheckbox = true; @track done = false; @track isConInvoiceList = true; + @track isDetailsShow = false; //disable @track isDisabledEdit = false; @track isDisabledReopen = false; @track isDisabledDelete = false; @track isDisabledAttachment = false; + @track isOpenReportDisabled = true; //鏂囦欢涓婁紶 @track showLoadingSpinner = false; @@ -257,12 +411,38 @@ }, hideDefaultActions: true, }, + { + label: '', + type: 'tableCellIcon', + typeAttributes: { + iconName: 'utility:delete', + recordId: { + fieldName: 'Id' + } + }, + initialWidth: 50, + hideDefaultActions: true + }, ]; filesUploaded = []; fileContents; fileReader; content; MAX_FILE_SIZE = 1500000; + + stylesLoaded = false; + 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"); + }); + } + } //鑾峰彇閾炬帴鍙傛暟 getQueryString(name) { @@ -280,10 +460,13 @@ } init() { + this.isShowSpinner = true; this.deliveryId = this.getQueryString("deliveryId"); this.deliveryId = this.deliveryId == null ? "" : this.deliveryId; this.invoiceId = this.getQueryString("invoiceId"); this.invoiceId = this.invoiceId == null ? "" : this.invoiceId; + this.orderId = this.getQueryString("orderId"); + this.orderId = this.orderId == null ? "" : this.orderId; this.statusEdit = this.getQueryString("KeyWords"); this.statusEdit = this.statusEdit == null ? "" : this.statusEdit; this.reopen = this.getQueryString("reopen"); @@ -291,7 +474,75 @@ this.isNew = this.getQueryString("isNew"); this.isNew = this.isNew == null ? "" : this.isNew; console.log('this.deliveryId = ' + this.deliveryId + ' this.invoiceId = ' + this.invoiceId + ' this.statusEdit = ' + this.statusEdit); - if (this.deliveryId == '' && this.invoiceId == '' && this.isNew == '') { + if (this.invoiceId != '' && this.orderId != '') { + //杩涘叆coninvoiceDetails + detailsInit({ + orderIdLwc: this.orderId, + invoiceIdLwc: this.invoiceId + }).then((r) => { + r = JSON.parse(JSON.stringify(r)); + if (r.status == "Success") { + this.detailsInvoiceId = r.entity.invoicecode.Id; + this.detailsCocId = r.entity.coc.Id; + this.detailsData = r.entity.consumableorderdetails1Records; + for (var i in this.detailsData) { + this.detailsData[i]['Id'] = this.detailsData[i].esd.Id; + + this.detailsData[i]['esdAssetModelNo'] = this.detailsData[i].esd.Asset_Model_No__c; + this.detailsData[i]['packingListManual'] = this.detailsData[i].Packing_list_manual; + this.detailsData[i]['esdDeliveryListRMB'] = this.detailsData[i].esd.Delivery_List_RMB__c; + this.detailsData[i]['esdShipmentCount'] = this.detailsData[i].esd.Shipment_Count__c; + this.detailsData[i]['esdRrturnProCount'] = this.detailsData[i].esd.RrturnPro_count__c; + this.detailsData[i]['esdBoxPiece'] = this.detailsData[i].esd.Box_Piece__c; + + this.detailsData[i]['esdInvoicedProcount'] = this.detailsData[i].esd.Invoiced_Procount__c; + this.detailsData[i]['esdInvoiceProNotCount'] = this.detailsData[i].esd.InvoiceProNot_count__c; + //寮�绁ㄥ崟浣� + //this.detailsData[i].esd.Box_Piece__c + //this.detailsData[i]['unitValue'] = this.detailsData[i].esd.Invoice_Unit__c; + this.detailsData[i]['unitValue'] = this.detailsData[i].esd.Box_Piece__c; + console.log('unitValue = ' + this.detailsData[i]['unitValue']); + this.detailsData[i]['recordId'] = this.detailsData[i].esd.Id; + //disabled="{!IF(records.esd.Box_Piece__c =='涓�' || (records.esd.Box_Piece__c =='鐩�' && records.Packing_list_manual ==1),true,false)}" + //this.detailsData[i]['isDisabled'] = (this.detailsData[i].esd.Box_Piece__c == '涓�' || (this.detailsData[i].esd.Box_Piece__c =='鐩�' && this.detailsData[i].Packing_list_manual ==1)) ? true:false; + this.detailsData[i]['isDisabled'] = true; + let unitOptions = []; + for (var key in this.detailsData[i].Invoice_UnitOptsMap) { + let unitOption = {}; + unitOption["label"] = this.detailsData[i].Invoice_UnitOptsMap[key]; + unitOption["value"] = key; + unitOptions.push(unitOption); + } + this.detailsData[i]["unitOptions"] = unitOptions; + this.detailsData[i]['esdInvoiceUnitprice'] = this.detailsData[i].esd.Invoice_Unitprice__c; + //鍙戠エ鏁伴噺 + this.detailsData[i]['shipmentNumber'] = this.detailsData[i].invoiceCount; + this.detailsData[i]['invoiceAllprice'] = this.detailsData[i].invoiceAllprice; + + if (this.detailsData[i].check) { + this.detailsSelectedRows.push(this.detailsData[i]['Id']); + this.invoiceAllprice += this.detailsData[i]['invoiceAllprice']; + } + } + + console.log('this.detailsData = ' + JSON.stringify(this.detailsData)); + + let lastInvoiceAllprice = { + invoiceAllprice: this.invoiceAllprice + } + this.invoiceAllpriceData.push(lastInvoiceAllprice); + console.log('this.invoiceAllpriceData = ' + JSON.stringify(this.invoiceAllpriceData)) + + this.isShowSpinner = false; + this.isDetailsShow = true; + } else { + this.showMyToast('鍒濆鍖栧け璐�', r.msg, 'Error'); + } + }).catch((error) => { + this.isShowSpinner = false; + console.log("error = " + JSON.stringify(error)); + }); + } else if (this.deliveryId == '' && this.invoiceId == '' && this.isNew == '') { console.log('conInvoiceListInit'); conInvoiceListInit().then((r) => { r = JSON.parse(JSON.stringify(r)); @@ -299,8 +550,10 @@ if (r.status == "Success") { this.ConInvoiceListAccountId = r.entity.accountid; this.ConInvoiceListUserWorkLocation = r.entity.userWorkLocation; - + this.ConInvoiceListAgencyProType = r.entity.agencyProType; + if (this.ConInvoiceListAgencyProType != 'ET') + this.isOpenReportDisabled = false; this.invoiceData = r.entity.raesList; for (var i in this.invoiceData) { this.invoiceData[i]['NameUrl'] = '/lexconinvoiceview?invoiceId=' + this.invoiceData[i].Id; @@ -316,7 +569,7 @@ console.log("this.invoiceStatusOptions = " + JSON.stringify(this.invoiceStatusOptions)); this.isShowSpinner = false; } else { - this.showToast("Error", r.msg); + this.showMyToast('鍒濆鍖栧け璐�', r.msg, 'Error'); } }).catch((error) => { console.log("error = " + JSON.stringify(error)); @@ -339,16 +592,27 @@ this.isChange = r.entity.isChange; this.ExistOutbound = r.entity.ExistOutbound; this.outboundData = r.entity.invoiceOrderRecoeds; + console.log('this.outboundData = ' + JSON.stringify(this.outboundData)) this.done = r.entity.done; this.accountid = r.entity.accountid; this.userWorkLocation = r.entity.userWorkLocation; - console.log('this.userWorkLocation = ' + this.userWorkLocation); + this.outOrderStringListLwc = r.entity.outOrderStringList; + this.outordercountMapLwc = r.entity.outordercountMap; this.invoiceOrderRecoedschange = r.entity.invoiceOrderRecoedschange; this.isDisabledEdit = (this.coc.Invoice_status__c == '鎻愪氦' || this.coc.Invoice_status__c == '宸插畬鎴�') ? true : false; this.isDisabledReopen = this.coc.Invoice_status__c == '鎻愪氦' ? false : true; this.isDisabledDelete = this.coc.Invoice_status__c == '鑽夋涓�' ? false : true; this.isDisabledAttachment = this.coc.Invoice_status__c == '宸插畬鎴�' ? true : false; + this.OrderCode = this.coc.Name; + this.InvoiceDate = this.coc.Invoice_Date__c; + for (var i in this.outboundData) { + this.outboundData[i].Id = this.outboundData[i].esd.Id; + if (this.outboundData[i].check) + this.selectedRows.push(this.outboundData[i].esd.Id); + } + this.selectedRows = [...this.selectedRows]; + console.log('r.entity.attachmentRecoeds = ' + JSON.stringify(r.entity.attachmentRecoeds)) if (!this.EditAble) { //闄勪欢鏄剧ず this.showLoadingSpinner = true; @@ -361,6 +625,8 @@ this.fileData[i]["CreatedByName"] = this.fileData[i].cvInfo.Owner.Name; this.fileData[i]["CreatedByNameUrl"] = "/" + this.fileData[i].cvInfo.OwnerId;; this.fileData[i]["CreatedDate"] = this.fileData[i].cvInfo.CreatedDate; + this.fileData[i]["attUrl"] = '/' + this.fileData[i].cvInfo.Id; + this.fileData[i]['downloadUrl'] = '/sfc/servlet.shepherd/document/download/' + this.fileData[i].cvInfo.ContentDocumentId + '?operationContext=S1'; if (this.isDisabledAttachment) { console.log('杩涘叆this.isDisabledAttachment') this.fileData[i]["isDisabledAttachment"] = true; @@ -374,7 +640,9 @@ } this.fileData[i]["typeValue"] = this.fileData[i].mailSelectOptsin == null ? typeOptions[0].value : this.fileData[i].mailSelectOptsin; this.fileData[i]["typeOptions"] = typeOptions; + this.fileData[i]["mailSelectOptsin"] = this.fileData[i].mailSelectOptsin == null ? typeOptions[0].value : this.fileData[i].mailSelectOptsin; } + console.log('this.fileData = ' + JSON.stringify(this.fileData)) } //鍙戠エ鏄庣粏 @@ -388,14 +656,12 @@ this.invoiceOrderdetail1Recoeds[i]['esdetInvoicedCount'] = this.invoiceOrderdetail1Recoeds[i].esdet.Invoiced_Count__c; this.invoiceOrderdetail1Recoeds[i]['esdetInvoicedProCostRMB'] = this.invoiceOrderdetail1Recoeds[i].esdet.InvoicedProCost_RMB__c; } - console.log('this.invoiceOrderdetail1Recoeds = ' + JSON.stringify(this.invoiceOrderdetail1Recoeds)) //瀹㈡埛鍚� this.HospitalName = r.entity.HospitalName; this.HospitalInfo = r.entity.HospitalInfo; this.agencyProType = r.entity.agencyProType; - console.log('this.HospitalName = ' + this.HospitalName); - console.log('this.HospitalInfo = ' + this.HospitalInfo); - console.log('this.agencyProType = ' + this.agencyProType); + if (this.agencyProType != 'ET') + this.isOpenReportDisabled = false; //绉戝 this.ForCustomerText = this.coc.Order_ForCustomerText__c; //澶囨敞 @@ -407,8 +673,9 @@ object["value"] = key; this.provinceOptsMap.push(object); } - console.log('this.provinceOptsMap = ' + JSON.stringify(this.provinceOptsMap)); //鍑鸿揣涓�瑙坈olumns + + if (this.EditAble) { let object1 = { label: '瀹㈡埛鍚�', @@ -418,11 +685,19 @@ let object2 = { label: '鍑鸿揣閲戦(鍏�)', fieldName: "shipmentAmount", + type: "number", + typeAttributes: { + minimumFractionDigits: 2, + }, hideDefaultActions: true, }; let object3 = { label: '杩斿搧閲戦(鍏�)', fieldName: "returnAmount", + type: "number", + typeAttributes: { + minimumFractionDigits: 2, + }, hideDefaultActions: true, }; this.outboundColumns.push(object1) @@ -432,6 +707,10 @@ let object4 = { label: '鏈彂绁ㄩ噾棰�(鍏�)', fieldName: "uninvoicedAmount", + type: "number", + typeAttributes: { + minimumFractionDigits: 2, + }, hideDefaultActions: true, }; this.outboundColumns.push(object4) @@ -448,19 +727,20 @@ this.outboundData[i]['returnAmount'] = this.outboundData[i].esd.RrturnPro_total_amount__c; } this.outboundData[i]['uninvoicedAmount'] = this.outboundData[i].esd.InvoiceNotPro_money__c; - this.outboundData[i]['invoiceFaceAmount'] = this.outboundData[i].needInvoiceCount; + this.outboundData[i]['invoiceFaceAmount'] = this.keepTwoDecimalStr(this.outboundData[i].needInvoiceCount); if (!(this.outboundData[i].esd.Billed_Status__c == '鍏ㄩ儴寮�绁�' || this.EditAble || this.coc.Invoice_status__c != '鑽夋涓�')) { - let url = "/ConInvoicedetails?orderId=" + this.outboundData[i].esd.Id + "&invoiceId=" + this.invoiceId; + console.log('杩涘叆 if') + let url = "/lexconinvoiceview?orderId=" + this.outboundData[i].esd.Id + "&invoiceId=" + this.invoiceId; this.outboundData[i]['invoiceFaceAmountUrl'] = url; - if (index == 0) { let object5 = { label: '鍙戠エ绁ㄩ潰閲戦(鍏�)', + cellAttributes: { alignment: 'right' }, type: 'url', fieldName: "invoiceFaceAmountUrl", typeAttributes: { label: { fieldName: "invoiceFaceAmount" }, - target: "_blank", + //target: "_blank", }, hideDefaultActions: true, }; @@ -468,11 +748,17 @@ index++; } } else { + console.log('杩涘叆 else') if (index == 0) { let object5 = { label: '鍙戠エ绁ㄩ潰閲戦(鍏�)', + cellAttributes: { alignment: 'right' }, fieldName: "invoiceFaceAmount", hideDefaultActions: true, + type: "number", + typeAttributes: { + minimumFractionDigits: 2, + }, }; this.outboundColumns.push(object5) index++; @@ -481,12 +767,18 @@ //璁$畻鍙戠エ绁ㄩ潰閲戦 this.sumPrice += this.outboundData[i].needInvoiceCount; } + + //鍥涜垗浜斿叆 + //this.sumPrice = this.sumPrice.toFixed(2); + //濡傛灉涓嶅洓鑸嶄簲鍏� + console.log('start keepTwoDecimalStr') + this.sumPrice = this.keepTwoDecimalStr(this.sumPrice); + console.log('end keepTwoDecimalStr = ' + this.sumPrice) //鍔犳渶鍚庝竴琛屾樉绀洪噾棰� if (this.EditAble) { let lastOutboundData = { invoiceFaceAmount: this.sumPrice } - //this.outboundData.push(lastOutboundData); this.outboundDataSumPrice.push(lastOutboundData); } this.outboundColumns = [...this.outboundColumns]; @@ -500,7 +792,7 @@ this.isShowSpinner = false; this.showLoadingSpinner = false; } else { - this.showToast("Error", r.msg); + this.showMyToast('澶辫触', r.msg, 'Error'); } }).catch((error) => { console.log("error = " + JSON.stringify(error)); @@ -508,6 +800,48 @@ } } + + + //涓婁紶閰嶇疆鍗� + uploadOrder(event) { + this.showAttPop = true; + } + + //鍏抽棴闄勪欢寮圭獥 + closePop() { + this.showAttPop = false; + this.filesUploaded = []; + this.fileName = null; + } + + //闄勪欢change浜嬩欢 + attChange(event) { + if (event.target.files.length > 0) { + this.filesUploaded = event.target.files; + this.fileName = event.target.files[0].name; + console.log('this.fileName:' + this.fileName); + } + } + + //绉婚櫎闄勪欢 + removeAtt() { + this.filesUploaded = []; + this.fileName = ''; + } + + keepTwoDecimalStr(num) { + const result = Number(num.toString().match(/^\d+(?:\.\d{0,2})?/)); + let s = result.toString(); + let rs = s.indexOf('.'); + if (rs < 0) { + rs = s.length; + s += '.'; + } + while (s.length <= rs + 2) { + s += '0'; + } + return s; + }; dataChange(event) { let fieldName = event.target.getAttribute("data-field"); @@ -546,6 +880,10 @@ break; case "searchHospitalName": this.searchHospitalName = value; + break; + case "InvoiceNote": + this.InvoiceNote = value; + this.coc['Invoice_Note__c'] = value; break; } } @@ -616,11 +954,25 @@ this.isModalOpen = false; } - //Consumable_order__c coc,String HospitalInfo,String SecondDealer,List<InvoiceOrderInfo> invoiceOrderRecoeds,String deliveryId,String invoiceId,String accountid,String agencyProType,String reopen SaveJs() { this.isShowSpinner = true; let cloneData = this.outboundData + + debugger + const selectedRows = this.template.querySelector("[data-field='outbound']").getSelectedRows(); + console.log('selectedRows = ' + JSON.stringify(selectedRows)); + for (var i in cloneData) { + let b = false; + for (var j in selectedRows) { + if (cloneData[i].esd.Id == selectedRows[j].esd.Id) { + b = true; + cloneData[i].check = true; + } + } + if(!b){ + cloneData[i].check = false; + } delete cloneData[i].esdOutboundDate; delete cloneData[i].esdNameUrl; delete cloneData[i].esdName; @@ -633,6 +985,7 @@ } console.log('this.coc = ' + JSON.stringify(this.coc)); + console.log('this.HospitalName = ' + this.HospitalName); console.log('this.HospitalInfo = ' + this.HospitalInfo); console.log('this.secondaryDistributor = ' + this.secondaryDistributor); console.log('this.outboundData = ' + JSON.stringify(cloneData)); @@ -644,6 +997,7 @@ console.log('this.invoiceOrderRecoedschangeLwc = ' + JSON.stringify(this.invoiceOrderRecoedschange)); save({ cocLwc: this.coc, + HospitalNameLwc: this.HospitalName, HospitalInfoLwc: this.HospitalInfo, SecondDealerLwc: this.secondaryDistributor, invoiceOrderRecoedsLwc: JSON.stringify(cloneData), @@ -657,6 +1011,7 @@ r = JSON.parse(JSON.stringify(r)); console.log("r = " + JSON.stringify(r)); if (r.status == "Success" && r.msg == '') { + this.isShowSpinner = false; console.log('save success'); let url = "/lexconinvoiceview?invoiceId=" + r.entity.invoiceId; console.log('url = ' + url); @@ -667,30 +1022,31 @@ }, }); } else { - this.showToast("Error", r.msg); + this.showMyToast('淇濆瓨澶辫触', r.msg, 'Error'); } }).catch((error) => { console.log("error = " + JSON.stringify(error)); - this.showToast("Error", error.message); }); } //涓婁紶闄勪欢锛岀洿鎺ュ氨淇濆瓨濂斤紝鐒跺悗灞曠ず handleFilesChange(event) { console.log("handleFilesChange"); - if (event.target.files.length > 0) { - this.filesUploaded = event.target.files; - this.fileName = event.target.files[0].name; - this.handleSave(); - } + this.handleSave(); + // if (event.target.files.length > 0) { + // this.filesUploaded = event.target.files; + // this.fileName = event.target.files[0].name; + // this.handleSave(); + // } } handleSave() { + this.isShowSpinner = true; console.log("saveFile"); if (this.filesUploaded.length > 0) { this.file = this.filesUploaded[0]; if (this.file.size > this.MAX_FILE_SIZE) { - this.showToast("Error", "鏂囦欢杩囧ぇ"); + this.showMyToast('淇濆瓨澶辫触', '鏂囦欢杩囧ぇ', 'Error'); return; } this.showLoadingSpinner = true; @@ -711,26 +1067,28 @@ saveToFile() { console.log("saveToFile"); + console.log("invoiceId = " + this.invoiceId); + console.log("fileName = " + this.fileName); console.log("base64Data = " + encodeURIComponent(this.fileContents)); saveFile({ recordId: this.invoiceId, fileName: this.fileName, base64Data: encodeURIComponent(this.fileContents), }).then((r) => { - r = JSON.parse(JSON.stringify(r)); - console.log("r = " + JSON.stringify(r)); - if (r != '') { - this.showLoadingSpinner = false; - this.showToast("Success", "涓婁紶鎴愬姛"); - this.init(); - }else{ - this.showToast("Error", r.msg); - } - }) - .catch((error) => { - console.log("error = " + error.message); - this.showToast("Error", "涓婁紶澶辫触"); - }); + r = JSON.parse(JSON.stringify(r)); + console.log("r = " + JSON.stringify(r)); + if (r != '') { + this.showLoadingSpinner = false; + this.showMyToast('闄勪欢涓婁紶鎴愬姛', '', 'Success'); + this.closePop(); + this.init(); + } else { + this.showMyToast('涓婁紶澶辫触', r.msg, 'Error'); + } + }).catch((error) => { + console.log("error = " + error.message); + this.showMyToast('閿欒', '涓婁紶澶辫触', 'Error'); + }); } @@ -747,7 +1105,7 @@ console.log("this.fileData = " + JSON.stringify(this.fileData)); } - newInvoiceJs(){ + newInvoiceJs() { let url = "/lexconinvoiceview?isNew=yes"; console.log('url = ' + url); this[NavigationMixin.Navigate]({ @@ -771,37 +1129,58 @@ delete cloneData[i].CreatedDate; delete cloneData[i].typeValue; delete cloneData[i].typeOptions; + delete cloneData[i].mailSelectOptsMap; } console.log('cloneData = ' + JSON.stringify(cloneData)); saveAttachment({ - attachmentRecoedsLwc: JSON.stringify(cloneData) + attachmentRecoedsLwc: JSON.stringify(cloneData), + invoiceId: this.invoiceId }).then((r) => { r = JSON.parse(JSON.stringify(r)); console.log("r = " + JSON.stringify(r)); if (r.status == "Success") { this.showLoadingSpinner = false; - this.showToast("Success", "淇濆瓨鎴愬姛"); - this.init(); - }else{ - this.showToast("Error", r.msg); + this.isShowSpinner = true; + // const event = new ShowToastEvent({ + // title: 'Success', + // variant: 'Success', + // message: '淇濆瓨鎴愬姛', + // }); + // this.dispatchEvent(event); + this.showMyToast('闄勪欢淇濆瓨鎴愬姛', '', 'Success'); + //this.init(); + setTimeout(function () { + //1绉掑悗鎵ц鍒锋柊 + window.location.reload(); + }, 2000); //鍗曚綅鏄绉� + // let url = "/lexconinvoiceview?invoiceId=" + this.invoiceId; + // console.log('url = ' + url); + // this[NavigationMixin.Navigate]({ + // type: "standard__webPage", + // attributes: { + // url: url, + // }, + // }); + } else { + this.showMyToast('涓婁紶澶辫触', r.msg, 'Error'); } }).catch((error) => { console.log("error = " + error.message); - this.showToast("Error", "涓婁紶澶辫触"); + this.showMyToast('閿欒', '涓婁紶澶辫触', 'Error'); }); } - invoiceCodeSearchJs(){ + invoiceCodeSearchJs() { this.isShowSpinner = true; invoiceCodeSearch({ - orderDateLwc : this.deliveryFromDate == null ? null : new Date(this.deliveryFromDate), - deliverDateLwc : this.deliveryToDate == null ? null : new Date(this.deliveryToDate), - invoiceStatusLwc : this.invoiceStatusValue, - category1Lwc : this.category1, - category2Lwc : this.category2, - accountidLwc : this.ConInvoiceListAccountId, - userWorkLocationLwc : this.ConInvoiceListUserWorkLocation, - agencyProTypeLwc : this.ConInvoiceListAgencyProType, + orderDateLwc: this.deliveryFromDate == null ? null : new Date(this.deliveryFromDate), + deliverDateLwc: this.deliveryToDate == null ? null : new Date(this.deliveryToDate), + invoiceStatusLwc: this.invoiceStatusValue, + category1Lwc: this.category1, + category2Lwc: this.category2, + accountidLwc: this.ConInvoiceListAccountId, + userWorkLocationLwc: this.ConInvoiceListUserWorkLocation, + agencyProTypeLwc: this.ConInvoiceListAgencyProType, }).then((r) => { r = JSON.parse(JSON.stringify(r)); console.log("r = " + JSON.stringify(r)); @@ -812,21 +1191,21 @@ } console.log("this.invoiceData = " + JSON.stringify(this.invoiceData)); this.isShowSpinner = false; - if(r.entity.raesListSize > 0){ - this.showToast("Success", "鍏辨绱㈠埌" + r.entity.raesListSize + "涓彂绁�"); - }else{ - this.showToast("Warning", "娌℃湁鎼滅储鍒扮浉鍏冲彂绁ㄣ��"); + if (r.entity.raesListSize > 0) { + this.showMyToast('鎼滅储鎴愬姛', '鍏辨绱㈠埌' + r.entity.raesListSize + '涓彂绁�', 'Success'); + } else { + this.showMyToast('鎼滅储澶辫触', '娌℃湁鎼滅储鍒扮浉鍏冲彂绁�', 'Error'); } - }else{ - this.showToast("Error", r.msg); + } else { + this.showMyToast('鎼滅储澶辫触', r.msg, 'Error'); } }).catch((error) => { console.log("error = " + error.message); - this.showToast("Error", "鎼滅储澶辫触"); + this.showMyToast('閿欒', '鎼滅储澶辫触', 'Error'); }); } - ClearJs(){ + ClearJs() { this.deliveryFromDate = ''; this.deliveryToDate = ''; this.category1 = ''; @@ -844,18 +1223,31 @@ console.log("this.invoiceData = " + JSON.stringify(this.invoiceData)); this.isShowSpinner = false; } else { - this.showToast("Error", r.msg); + this.showMyToast('鎼滅储澶辫触', r.msg, 'Error'); } }).catch((error) => { console.log("error = " + JSON.stringify(error)); }); } - InvoiceorderSearchJs(){ + InvoiceorderSearchJs() { this.isShowSpinner = true; + debugger let cloneData = this.outboundData + const selectedRows = this.template.querySelector("[data-field='outbound']").getSelectedRows(); + console.log('selectedRows ' + JSON.stringify(selectedRows)); for (var i in cloneData) { + let b = false; + for (var j in selectedRows) { + if (cloneData[i].esd.Id == selectedRows[j].esd.Id) { + b = true; + cloneData[i].check = true; + } + } + if(!b){ + cloneData[i].check = false; + } delete cloneData[i].esdOutboundDate; delete cloneData[i].esdNameUrl; delete cloneData[i].esdName; @@ -875,6 +1267,7 @@ console.log('this.HospitalInfo = ' + this.HospitalInfo); console.log('SecondDealer = ' + this.secondaryDistributor); console.log('invoiceOrderRecoedsLwc = ' + JSON.stringify(cloneData)); + InvoiceorderSearch({ cocLwc: this.coc, invoiceIdLwc: this.invoiceId, @@ -889,8 +1282,14 @@ console.log("r = " + JSON.stringify(r)); if (r.status == "Success") { this.outboundData = r.entity.invoiceOrderRecoeds; + console.log('this.outboundData = ' + JSON.stringify(this.outboundData)); let index = 0; + this.selectedRows = []; for (var i in this.outboundData) { + + if(this.outboundData[i].check) + this.selectedRows.push(this.outboundData[i].esd.Id) + this.outboundData[i].Id = this.outboundData[i].esd.Id; this.outboundData[i]['esdOutboundDate'] = this.outboundData[i].esd.Outbound_Date__c; this.outboundData[i]['esdNameUrl'] = '/s/lexsummonscreat?ESetid=' + this.outboundData[i].esd.Id; this.outboundData[i]['esdName'] = this.outboundData[i].esd.Name; @@ -902,12 +1301,14 @@ this.outboundData[i]['uninvoicedAmount'] = this.outboundData[i].esd.InvoiceNotPro_money__c; this.outboundData[i]['invoiceFaceAmount'] = this.outboundData[i].needInvoiceCount; if (!(this.outboundData[i].esd.Billed_Status__c == '鍏ㄩ儴寮�绁�' || this.EditAble || this.coc.Invoice_status__c != '鑽夋涓�')) { - let url = "/ConInvoicedetails?orderId=" + this.outboundData[i].esd.Id + "&invoiceId=" + this.invoiceId; + //let url = "/ConInvoicedetails?orderId=" + this.outboundData[i].esd.Id + "&invoiceId=" + this.invoiceId; + let url = "/s/lexconinvoiceview?orderId=" + this.outboundData[i].esd.Id + "&invoiceId=" + this.invoiceId; this.outboundData[i]['invoiceFaceAmountUrl'] = url; if (index == 0) { let object5 = { label: '鍙戠エ绁ㄩ潰閲戦(鍏�)', + cellAttributes: { alignment: 'right' }, type: 'url', fieldName: "invoiceFaceAmountUrl", typeAttributes: { @@ -923,6 +1324,7 @@ if (index == 0) { let object5 = { label: '鍙戠エ绁ㄩ潰閲戦(鍏�)', + cellAttributes: { alignment: 'right' }, fieldName: "invoiceFaceAmount", hideDefaultActions: true, }; @@ -933,38 +1335,430 @@ //璁$畻鍙戠エ绁ㄩ潰閲戦 this.sumPrice += this.outboundData[i].needInvoiceCount; } + console.log('this.selectedRows = ' + JSON.stringify(this.selectedRows)) this.isShowSpinner = false; - }else{ - this.showToast("Error", r.msg); + } else { + this.showMyToast('鎼滅储澶辫触', r.msg, 'Error'); } }).catch((error) => { console.log("error = " + error.message); - this.showToast("Error", "鎼滅储澶辫触"); + this.showMyToast('閿欒', '鎼滅储澶辫触', 'Error'); }); } getSelectedRows(event) { - console.log("getSelectedRows "); - for (var i in this.outboundData) { - this.outboundData[i].check = false; - } - const selectedRows = event.detail.selectedRows; - for(var i in this.outboundData){ - for(var j in selectedRows){ - if(this.outboundData[i].esd.Id == selectedRows[j].esd.Id) - this.outboundData[i].check = !this.outboundData[i].check; + // console.log("getSelectedRows "); + // for (var i in this.outboundData) { + // this.outboundData[i].check = false; + // } + // const selectedRows = event.detail.selectedRows; + // for (var i in this.outboundData) { + // for (var j in selectedRows) { + // if (this.outboundData[i].esd.Id == selectedRows[j].esd.Id) { + // //this.outboundData[i].check = !this.outboundData[i].check; + // this.outboundData[i].check = true; + // } + // } + // } + // console.log('this.outboundData = ' + JSON.stringify(this.outboundData)); + } + + deleteButtonJs() { + this.isShowSpinner = true; + deleteButton({ + cocLwc: this.coc, + invoiceIdLwc: this.invoiceId, + }).then((r) => { + r = JSON.parse(JSON.stringify(r)); + console.log("r = " + JSON.stringify(r)); + if (r.status == "Success") { + this.isShowSpinner = false + let url = "/lexconinvoiceview"; + console.log('url = ' + url); + this[NavigationMixin.Navigate]({ + type: "standard__webPage", + attributes: { + url: url, + }, + }); + } else { + this.showMyToast('鍒犻櫎澶辫触', r.msg, 'Error'); } + }).catch((error) => { + console.log("error = " + error.message); + }); + } + + SetEditAbleJs() { + let statusEditAbleJs = 'Redirect'; + let url = "/lexconinvoiceview?invoiceId=" + this.invoiceId + '&KeyWords=' + statusEditAbleJs; + console.log('url = ' + url); + this[NavigationMixin.Navigate]({ + type: "standard__webPage", + attributes: { + url: url, + }, + }); + } + + approvalJs() { + this.isShowSpinner = true; + approval({ + outOrderStringListLwc: this.outOrderStringListLwc, + outordercountMapLwc: this.outordercountMapLwc, + invoiceIdLwc: this.invoiceId + + }).then((r) => { + r = JSON.parse(JSON.stringify(r)); + console.log("r = " + JSON.stringify(r)); + if (r.status == "Success") { + this.isShowSpinner = false + let url = "/s/lexconinvoiceview?invoiceId=" + this.invoiceId; + console.log('url = ' + url); + window.open(url, '_self'); + // this[NavigationMixin.Navigate]({ + // type: "standard__webPage", + // attributes: { + // url: url, + // }, + // }); + } else { + this.showMyToast('閿欒', r.msg, 'Error'); + } + }).catch((error) => { + console.log("error = " + error.message); + }); + } + + openReportJs() { + console.log("openReportJs"); + let reportUrl = this.label.LexConInvoiceViewReport; + let reportFilters = '[{"operator":"equals","value":"' + this.OrderCode + '","column":"FK_NAME"}]'; + console.log('reportUrl = ' + reportUrl); + let url = "/report/"+ reportUrl +"?reportFilters=" + encodeURIComponent(reportFilters); + this[NavigationMixin.Navigate]({ + type: "standard__webPage", + attributes: { + url: url, + }, + }); + } + + reopenJs() { + // statusEdit = 'Redirect'; + // PageReference ref = new Pagereference('/ConInvoiceView?invoiceId=' + invoiceId + '&reopen=isreopen' + '&KeyWords=' + statusEdit); + let statusEditAbleJs = 'Redirect'; + let url = "/lexconinvoiceview?invoiceId=" + this.invoiceId + '&reopen=isreopen' + '&KeyWords=' + statusEditAbleJs; + console.log('url = ' + url); + this[NavigationMixin.Navigate]({ + type: "standard__webPage", + attributes: { + url: url, + }, + }); + } + + showMyToast(title, message, variant) { + this.isShowSpinner = false; + this.showLoadingSpinner = false; + this.showAttPop = false; + this.filesUploaded = []; + this.fileName = null; + console.log('show custom message'); + var iconName = ''; + var content = ''; + if (variant.toLowerCase() == '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); + } + + handleLoad() { + console.log('handleLoad') + try { + const style = document.createElement('style'); + style.innerText = '.hehe-layoutItem .slds-button__icon {display: none;}'; + this.template.querySelector('.hideHelpText').appendChild(style); + + const style2 = document.createElement('style'); + style2.innerText = '.hehe-layoutItem .slds-form-element__label {padding : 0px}'; + this.template.querySelector('.hideHelpText').appendChild(style2); + + const style3 = document.createElement('style'); + style3.innerText = '.readOnly .slds-form-element__label {padding-top: 7px;}'; + this.template.querySelector('.hideHelpText').appendChild(style3); + } catch (error) { + console.log(error); } } - showToast(type, msg) { - this.isShowSpinner = false; - this.showLoadingSpinner = false; - const event = new ShowToastEvent({ - title: type, - variant: type, - message: msg, + keepTwoDecimalStr(num) { + const result = Number(num.toString().match(/^\d+(?:\.\d{0,2})?/)); + let s = result.toString(); + let rs = s.indexOf('.'); + if (rs < 0) { + rs = s.length; + s += '.'; + } + while (s.length <= rs + 2) { + s += '0'; + } + return s; + }; + + handleLoad2() { + console.log('handleLoad2') + try { + const style = document.createElement('style'); + style.innerText = '.hehe-layoutItem .slds-button__icon {display: none;}'; + this.template.querySelector('.hideHelpText').appendChild(style); + + const style2 = document.createElement('style'); + style2.innerText = '.hehe-layoutItem .slds-form-element__label {padding : 0px}'; + this.template.querySelector('.hideHelpText').appendChild(style2); + } catch (error) { + console.log(error); + } + } + + handleUnitChange(event) { + console.log("handleUnitChange"); + this.invoiceAllpriceData[0].invoiceAllprice = 0.00; + const unitDetail = event.detail; + console.log("unitDetail = " + JSON.stringify(unitDetail)); + for (var i in this.detailsData) { + if (this.detailsData[i].recordId == unitDetail.data.recordId) { + this.detailsData[i].unitValue = unitDetail.data.unitValue; + this.detailsData[i].esd.Invoice_Unit__c = unitDetail.data.unitValue; + if (this.detailsSelectedRows.indexOf(this.detailsData[i].recordId) == -1) + this.detailsSelectedRows.push(this.detailsData[i].recordId); + } + } + this.detailsSelectedRows = [...this.detailsSelectedRows]; + + + console.log('this.detailsSelectedRows = ' + JSON.stringify(this.detailsSelectedRows)) + for (var i in this.detailsData) { + this.detailsData[i].invoiceAllprice = 0.00; + for (var j in this.detailsSelectedRows) { + console.log('this.detailsData[i].Id = ' + this.detailsData[i].Id); + console.log('this.detailsSelectedRows[j] = ' + this.detailsSelectedRows[j]); + if (this.detailsData[i].Id == this.detailsSelectedRows[j]) { + this.detailsData[i].invoiceAllprice = this.amend(this.detailsData[i].shipmentNumber, this.detailsData[i].esdInvoiceUnitprice, '*'); + console.log('this.detailsData[i].invoiceAllprice = ' + this.detailsData[i].invoiceAllprice); + } + } + this.invoiceAllpriceData[0].invoiceAllprice = this.amend(this.invoiceAllpriceData[0].invoiceAllprice, this.detailsData[i].invoiceAllprice, '+'); + } + this.detailsData = [...this.detailsData]; + this.invoiceAllpriceData = [...this.invoiceAllpriceData]; + } + + handleShipmentNumber(event) { + console.log("handleShipmentNumber"); + this.invoiceAllpriceData[0].invoiceAllprice = 0.00; + const numberDetail = event.detail; + console.log('numberDetail = ' + JSON.stringify(numberDetail)) + if (numberDetail.data.shipmentnumber == 0) { + if (this.detailsSelectedRows.indexOf(numberDetail.data.recordId) != -1) { + this.detailsSelectedRows.splice(this.detailsSelectedRows.indexOf(numberDetail.data.recordId), 1); + } + } + console.log("start this.detailsSelectedRows = " + JSON.stringify(this.detailsSelectedRows)); + console.log("numberDetail = " + JSON.stringify(numberDetail)); + for (var i in this.detailsData) { + if (this.detailsData[i].recordId == numberDetail.data.recordId) { + this.detailsData[i].shipmentNumber = Number(numberDetail.data.shipmentnumber); + this.detailsData[i].invoiceCount = Number(numberDetail.data.shipmentnumber); + if (this.detailsSelectedRows.indexOf(this.detailsData[i].recordId) == -1 && numberDetail.data.shipmentnumber != 0) + this.detailsSelectedRows.push(this.detailsData[i].recordId); + } + } + + console.log("end this.detailsSelectedRows = " + JSON.stringify(this.detailsSelectedRows)); + this.detailsSelectedRows = [...this.detailsSelectedRows]; + + + console.log('this.detailsSelectedRows = ' + JSON.stringify(this.detailsSelectedRows)); + for (var i in this.detailsData) { + this.detailsData[i].invoiceAllprice = 0.00; + for (var j in this.detailsSelectedRows) { + console.log('this.detailsData[i].Id = ' + this.detailsData[i].Id); + console.log('this.detailsSelectedRows[j] = ' + this.detailsSelectedRows[j]); + if (this.detailsData[i].Id == this.detailsSelectedRows[j]) { + this.detailsData[i].invoiceAllprice = this.amend(this.detailsData[i].shipmentNumber, this.detailsData[i].esdInvoiceUnitprice, '*'); + console.log('this.detailsData[i].invoiceAllprice = ' + this.detailsData[i].invoiceAllprice); + } + } + this.invoiceAllpriceData[0].invoiceAllprice = this.amend(this.invoiceAllpriceData[0].invoiceAllprice, this.detailsData[i].invoiceAllprice, '+'); + } + this.detailsData = [...this.detailsData]; + this.invoiceAllpriceData = [...this.invoiceAllpriceData]; + } + + detailsGetSelectedRows(event) { + console.log("detailsGetSelectedRows "); + this.invoiceAllpriceData[0].invoiceAllprice = 0.00; + let selectedRows = event.detail.selectedRows; + for (var i in this.detailsData) { + this.detailsData[i].invoiceAllprice = 0.00; + for (var j in selectedRows) { + if (this.detailsData[i].Id == selectedRows[j].esd.Id) { + this.detailsData[i].invoiceAllprice = this.amend(this.detailsData[i].shipmentNumber, this.detailsData[i].esdInvoiceUnitprice, '*'); + console.log('this.detailsData[i].invoiceAllprice = ' + this.detailsData[i].invoiceAllprice); + } + } + this.invoiceAllpriceData[0].invoiceAllprice = this.amend(this.invoiceAllpriceData[0].invoiceAllprice, this.detailsData[i].invoiceAllprice, '+'); + console.log('this.invoiceAllpriceData[0].invoiceAllprice = ' + this.invoiceAllpriceData[0].invoiceAllprice); + } + console.log('start this.detailsData = ' + JSON.stringify(this.detailsData)); + this.detailsData = [...this.detailsData]; + console.log('end this.detailsData = ' + JSON.stringify(this.detailsData)); + this.invoiceAllpriceData = [...this.invoiceAllpriceData]; + } + + ComputePrice(index, number, price) { + console.log("index = " + index); + console.log("number = " + number); + console.log("price = " + price); + let shipmentAmount = this.amend(number, price, "*"); + console.log("shipmentAmount = " + shipmentAmount); + let sumPrice = 0.0; + this.data[index].shipmentAmount = shipmentAmount; + for (var i in this.data) { + if (this.data[i].shipmentAmount) sumPrice += this.data[i].shipmentAmount; + } + this.sumPrice = sumPrice + "鍏�"; + //瀛樹笅閫夋嫨琛岋紝涓嶄細琚竻绌� + if (this.selectedRows.indexOf(this.data[index].Id) == -1) + this.selectedRows.push(this.data[index].Id); + this.data = [...this.data]; + this.selectedRows = [...this.selectedRows] + console.log("this.selectedRows = " + JSON.stringify(this.selectedRows)); + console.log("this.data = " + JSON.stringify(this.data)); + } + + detailsSaveJs() { + this.isShowSpinner = true; + let cloneData = this.detailsData; + + let selectedRows = this.template.querySelector('c-lex-custom-lightning-datatable').getSelectedRows(); + console.log('selectedRows = ' + JSON.stringify(selectedRows)); + + for (var i in cloneData) { + delete cloneData[i].Id; + delete cloneData[i].esdAssetModelNo; + delete cloneData[i].packingListManual; + delete cloneData[i].esdDeliveryListRMB; + delete cloneData[i].esdShipmentCount; + delete cloneData[i].esdRrturnProCount; + delete cloneData[i].esdBoxPiece; + delete cloneData[i].esdInvoicedProcount; + delete cloneData[i].esdInvoiceProNotCount; + delete cloneData[i].unitValue; + delete cloneData[i].recordId; + delete cloneData[i].unitOptions; + delete cloneData[i].esdInvoiceUnitprice; + delete cloneData[i].shipmentNumber; + delete cloneData[i].invoiceAllprice; + for (var j in selectedRows) { + if (cloneData[i].esd.Id == selectedRows[j].esd.Id) { + cloneData[i]['check'] = true; + } + } + } + console.log('cloneData = ' + JSON.stringify(cloneData)); + + + + detailsSave({ + consumableorderdetails1RecordsLwc: JSON.stringify(cloneData), + invoiceIdLwc: this.invoiceId, + orderIdLwc: this.orderId + }).then((r) => { + r = JSON.parse(JSON.stringify(r)); + console.log("r = " + JSON.stringify(r)); + if (r.status == "Success") { + let url = "/lexconinvoiceview?invoiceId=" + this.invoiceId; + this[NavigationMixin.Navigate]({ + type: "standard__webPage", + attributes: { + url: url, + }, + }); + } else { + this.showMyToast('淇濆瓨澶辫触', r.msg, 'Error'); + } + }).catch((error) => { + console.log("error = " + error.message); }); - this.dispatchEvent(event); + } + + //num1 num2浼犲叆涓や釜鍊� symbol +-*/绗﹀彿 + amend(num1, num2, symbol) { + var str1 = num1.toString(), + str2 = num2.toString(), + result, + str1Length, + str2Length; + //瑙e喅鏁存暟娌℃湁灏忔暟鐐规柟娉� + try { + str1Length = str1.split(".")[1].length; + } catch (error) { + str1Length = 0; + } + try { + str2Length = str2.split(".")[1].length; + } catch (error) { + str2Length = 0; + } + var step = Math.pow(10, Math.max(str1Length, str2Length)); + switch (symbol) { + case "+": + result = (num1 * step + num2 * step) / step; + break; + case "-": + result = (num1 * step - num2 * step) / step; + break; + case "*": + result = (num1 * step * (num2 * step)) / step / step; + break; + case "/": + result = (num1 * step) / (num2 * step); + break; + default: + break; + } + return result; + } + + //鍒犻櫎闄勪欢 + deleteAtt(event) { + this.isShowSpinner = true; + //var recordId = event.detail.data.recordId; + var recordId = event.target.getAttribute("data-fileid"); + console.log('attid:' + recordId); + deleteAtt({ + contentVersionId: recordId + }).then(result => { + if (result.result == 'Success') { + this.showMyToast('鍒犻櫎鎴愬姛', '', 'Success'); + if (this.fileData.length == 1) + window.location.reload(); + else + this.init(); + } else { + this.showMyToast('鍒犻櫎澶辫触', result.errorMsg, 'Error'); + } + }).catch(error => { + this.showMyToast('閿欒', '鍒犻櫎澶辫触', 'Error'); + }) } } \ No newline at end of file -- Gitblit v1.9.1