import { LightningElement, api, track, wire } from 'lwc'; import { ShowToastEvent } from "lightning/platformShowToastEvent"; import init from "@salesforce/apex/LexConInvoiceViewController.init"; import save from "@salesforce/apex/LexConInvoiceViewController.save"; import saveFile from "@salesforce/apex/LexConInvoiceViewController.saveFile"; import saveAttachment from "@salesforce/apex/LexConInvoiceViewController.saveAttachment"; import InvoiceorderSearch from "@salesforce/apex/LexConInvoiceViewController.InvoiceorderSearch"; 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 { NavigationMixin } from "lightning/navigation"; const hospitalColumns = [ { label: "医院名称", fieldName: "Name", initialWidth: 400, hideDefaultActions: true, }, { label: "省份", fieldName: "stateMasterName", hideDefaultActions: true, }, { label: "选择", fieldName: "Id1", type: "button", hideDefaultActions: true, typeAttributes: { label: "选择", name: "Id2", size: 1, }, }, ]; const invoiceDetailsColumns = [ { label: "出库日期", fieldName: "esdetProductOutDate", hideDefaultActions: true, }, { label: "出库单编码", fieldName: "esdetInvoicedet1ODlinkName", wrapText: true, hideDefaultActions: true, }, { label: "产品型号", fieldName: "esdetAssetModelNo", hideDefaultActions: true, }, { label: "单位", fieldName: "esdetInvoiceUnit", hideDefaultActions: true, }, { label: "发票单价", fieldName: "esdetInvoiceUnitprice", hideDefaultActions: true, }, { label: "发票数量", fieldName: "esdetInvoicedCount", hideDefaultActions: true, }, { label: "发票票面金额(元)", fieldName: "esdetInvoicedProCostRMB", hideDefaultActions: true, }, ]; const invoiceColumns = [ { label: "发票日期", fieldName: "Invoice_Date__c", hideDefaultActions: true, }, { label: "发票号", type: 'url', fieldName: "NameUrl", typeAttributes: { label: { fieldName: "Name" }, }, hideDefaultActions: true, }, { label: "客户名", fieldName: "ShipmentAccount__c", hideDefaultActions: true, wrapText: true, }, { label: "发票状态", fieldName: "Invoice_status__c", hideDefaultActions: true, }, { label: "发票账面金额(元)", fieldName: "Invoice_total_amount__c", hideDefaultActions: true, }, { label: "发票附件", fieldName: "Invoice_attachment__c", type : 'boolean', hideDefaultActions: true, }, { label: "发票明细附件", fieldName: "Invoicedet_attachment__c", type : 'boolean', hideDefaultActions: true, }, ] export default class LexConInvoiceView extends NavigationMixin(LightningElement) { @track outboundColumns = [ { label: "出库日期", fieldName: "esdOutboundDate", hideDefaultActions: true, wrapText: true, }, { label: "出库单编码", fieldName: "esdNameUrl", type: 'url', typeAttributes: { label: { fieldName: "esdName" }, target: "_blank", }, hideDefaultActions: true, wrapText: true, } ] @track outboundData = []; @track outboundDataSumPrice = []; invoiceColumns = invoiceColumns; @track invoiceData = []; @track invoiceId = ''; @track userWorkLocation = ''; @track deliveryId = ''; @track cocId = ''; @track statusEdit = ''; @track coc = {}; @track EditAble = false; @track isChange = false; @track sumPrice = 0; @track OrderCode = ''; @track ExistOutbound = false; @track reopen = ''; @track invoiceOrderRecoedschange = []; @track isNew = ''; //状态 @track invoiceStatusValue = ''; @track invoiceStatusOptions = []; get Options(){ return this.invoiceStatusOptions; } //出库从 @track deliveryFromDate = ''; //出库到 @track deliveryToDate = ''; //发票号 @track category1 = ''; //客户名 @track category2 = ''; @track ConInvoiceListAccountId = ''; @track ConInvoiceListUserWorkLocation = ''; @track ConInvoiceListAgencyProType = ''; //二级经销商 @track provinceOptsMap = []; @track secondaryDistributor = ''; //客户名 @track isModalOpen = false; @track HospitalName = ""; @track HospitalInfo = ""; @track searchHospitalName = ""; @track isDisabledHospitalName = false; @track agencyProType = ''; @track accountid = ''; @track hospitalList = []; hospitalColumns = hospitalColumns; //发票日期 @track InvoiceDate = ''; //科室 @track ForCustomerText = ''; //备注 @track InvoiceNote = ''; //发票明细 @track invoiceOrderdetail1Recoeds = []; invoiceDetailsColumns = invoiceDetailsColumns; //显示 @track isShowSecondaryDistributor = false; @track isEditInvoice = false; @track isShowSpinner = true; @track hideCheckbox = true; @track done = false; @track isConInvoiceList = true; //disable @track isDisabledEdit = false; @track isDisabledReopen = false; @track isDisabledDelete = false; @track isDisabledAttachment = false; //文件上传 @track showLoadingSpinner = false; @track UploadFile = "Upload File"; @track fileName = ""; @track fileData = []; @track fileColumns = [ { label: "标题", fieldName: "url", type: "url", typeAttributes: { label: { fieldName: "Title" }, target: "_blank" }, hideDefaultActions: true, }, { label: "创建人", type: "url", fieldName: "CreatedByNameUrl", typeAttributes: { label: { fieldName: "CreatedByName" }, target: "_blank" }, hideDefaultActions: true, }, { label: "上传日期", type: 'date', typeAttributes: { year: "numeric", month: "long", day: "2-digit", hour: "2-digit", minute: "2-digit" }, fieldName: "CreatedDate", hideDefaultActions: true, }, { label: "附件类型", type: "customAttachmentType", typeAttributes: { typeValue: { fieldName: "typeValue" }, typeOptions: { fieldName: "typeOptions" }, recordId: { fieldName: "recordId" }, isDisabledAttachment: { fieldName: "isDisabledAttachment" }, }, hideDefaultActions: true, }, ]; filesUploaded = []; fileContents; fileReader; content; MAX_FILE_SIZE = 1500000; //获取链接参数 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() { this.init(); } init() { 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.statusEdit = this.getQueryString("KeyWords"); this.statusEdit = this.statusEdit == null ? "" : this.statusEdit; this.reopen = this.getQueryString("reopen"); this.reopen = this.reopen == null ? "" : this.reopen; 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 == '') { console.log('conInvoiceListInit'); conInvoiceListInit().then((r) => { r = JSON.parse(JSON.stringify(r)); console.log("conInvoiceListInit r = " + JSON.stringify(r)); if (r.status == "Success") { this.ConInvoiceListAccountId = r.entity.accountid; this.ConInvoiceListUserWorkLocation = r.entity.userWorkLocation; this.ConInvoiceListAgencyProType = r.entity.agencyProType; this.invoiceData = r.entity.raesList; for (var i in this.invoiceData) { this.invoiceData[i]['NameUrl'] = '/lexconinvoiceview?invoiceId=' + this.invoiceData[i].Id; } console.log("this.invoiceData = " + JSON.stringify(this.invoiceData)); for (var key in r.entity.statusMap) { let object = {}; object["label"] = key; object["value"] = r.entity.statusMap[key]; this.invoiceStatusOptions.push(object); } this.invoiceStatusOptions = [...this.invoiceStatusOptions]; console.log("this.invoiceStatusOptions = " + JSON.stringify(this.invoiceStatusOptions)); this.isShowSpinner = false; } else { this.showToast("Error", r.msg); } }).catch((error) => { console.log("error = " + JSON.stringify(error)); }); } else { console.log('init'); this.isConInvoiceList = false; init({ invoiceId: this.invoiceId, statusEdit: this.statusEdit, deliveryId: this.deliveryId }).then((r) => { r = JSON.parse(JSON.stringify(r)); console.log("r = " + JSON.stringify(r)); if (r.status == "Success") { this.coc = r.entity.coc; this.cocId = this.coc.Id; this.EditAble = r.entity.EditAble; this.isChange = r.entity.isChange; this.ExistOutbound = r.entity.ExistOutbound; this.outboundData = r.entity.invoiceOrderRecoeds; this.done = r.entity.done; this.accountid = r.entity.accountid; this.userWorkLocation = r.entity.userWorkLocation; console.log('this.userWorkLocation = ' + this.userWorkLocation); 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; if (!this.EditAble) { //附件显示 this.showLoadingSpinner = true; this.fileData = r.entity.attachmentRecoeds; for (var i in this.fileData) { this.fileData[i]["Id"] = this.fileData[i].cvInfo.Id; this.fileData[i]["recordId"] = this.fileData[i].cvInfo.Id; this.fileData[i]["url"] = "/" + this.fileData[i].cvInfo.Id; this.fileData[i]["Title"] = this.fileData[i].cvInfo.Title; 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; if (this.isDisabledAttachment) { console.log('进入this.isDisabledAttachment') this.fileData[i]["isDisabledAttachment"] = true; } let typeOptions = []; for (var key in this.fileData[i].mailSelectOptsMap) { let typeOption = {}; typeOption["label"] = this.fileData[i].mailSelectOptsMap[key]; typeOption["value"] = key; typeOptions.push(typeOption); } this.fileData[i]["typeValue"] = this.fileData[i].mailSelectOptsin == null ? typeOptions[0].value : this.fileData[i].mailSelectOptsin; this.fileData[i]["typeOptions"] = typeOptions; } } //发票明细 this.invoiceOrderdetail1Recoeds = r.entity.invoiceOrderdetail1Recoeds; for (var i in this.invoiceOrderdetail1Recoeds) { this.invoiceOrderdetail1Recoeds[i]['esdetProductOutDate'] = this.invoiceOrderdetail1Recoeds[i].esdet.Product_OutDate__c; this.invoiceOrderdetail1Recoeds[i]['esdetInvoicedet1ODlinkName'] = this.invoiceOrderdetail1Recoeds[i].esdet.Invoicedet1_OD_link__r.Name; this.invoiceOrderdetail1Recoeds[i]['esdetAssetModelNo'] = this.invoiceOrderdetail1Recoeds[i].esdet.Asset_Model_No__c; this.invoiceOrderdetail1Recoeds[i]['esdetInvoiceUnit'] = this.invoiceOrderdetail1Recoeds[i].esdet.Invoice_Unit__c; this.invoiceOrderdetail1Recoeds[i]['esdetInvoiceUnitprice'] = this.invoiceOrderdetail1Recoeds[i].esdet.Invoice_Unitprice__c; 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); //科室 this.ForCustomerText = this.coc.Order_ForCustomerText__c; //备注 this.InvoiceNote = this.coc.Invoice_Note__c; //二级经销商 for (var key in r.entity.provinceOptsMap) { let object = {}; object["label"] = r.entity.provinceOptsMap[key]; object["value"] = key; this.provinceOptsMap.push(object); } console.log('this.provinceOptsMap = ' + JSON.stringify(this.provinceOptsMap)); //出货一览columns if (this.EditAble) { let object1 = { label: '客户名', fieldName: "hospitalName", hideDefaultActions: true, }; let object2 = { label: '出货金额(元)', fieldName: "shipmentAmount", hideDefaultActions: true, }; let object3 = { label: '返品金额(元)', fieldName: "returnAmount", hideDefaultActions: true, }; this.outboundColumns.push(object1) this.outboundColumns.push(object2) this.outboundColumns.push(object3) } let object4 = { label: '未发票金额(元)', fieldName: "uninvoicedAmount", hideDefaultActions: true, }; this.outboundColumns.push(object4) //出货一览Data let index = 0; for (var i in this.outboundData) { 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; if (this.EditAble) { this.outboundData[i]['hospitalName'] = this.outboundData[i].esd.ShipmentAccount__c; this.outboundData[i]['shipmentAmount'] = this.outboundData[i].esd.Shipment_total_amount__c; 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; 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; this.outboundData[i]['invoiceFaceAmountUrl'] = url; if (index == 0) { let object5 = { label: '发票票面金额(元)', type: 'url', fieldName: "invoiceFaceAmountUrl", typeAttributes: { label: { fieldName: "invoiceFaceAmount" }, target: "_blank", }, hideDefaultActions: true, }; this.outboundColumns.push(object5) index++; } } else { if (index == 0) { let object5 = { label: '发票票面金额(元)', fieldName: "invoiceFaceAmount", hideDefaultActions: true, }; this.outboundColumns.push(object5) index++; } } //计算发票票面金额 this.sumPrice += this.outboundData[i].needInvoiceCount; } //加最后一行显示金额 if (this.EditAble) { let lastOutboundData = { invoiceFaceAmount: this.sumPrice } //this.outboundData.push(lastOutboundData); this.outboundDataSumPrice.push(lastOutboundData); } this.outboundColumns = [...this.outboundColumns]; this.isEditInvoice = !(!this.EditAble || this.isChange); if (this.coc.SummonsForDirction__c == '销售给二级经销商') this.isShowSecondaryDistributor = true; if (this.deliveryId == '' && !this.ExistOutbound && this.EditAble) this.hideCheckbox = false; this.isShowSpinner = false; this.showLoadingSpinner = false; } else { this.showToast("Error", r.msg); } }).catch((error) => { console.log("error = " + JSON.stringify(error)); }); } } dataChange(event) { let fieldName = event.target.getAttribute("data-field"); let value = event.detail.value; console.log("fieldName = " + fieldName + " value = " + value); switch (fieldName) { case "OrderCode": this.OrderCode = value; this.coc['Name'] = value; break; case "ForCustomerText": this.ForCustomerText = value; this.coc['Order_ForCustomerText__c'] = value; break; case "InvoiceDate": this.InvoiceDate = value; this.coc['Invoice_Date__c'] = value; break; case "secondaryDistributor": this.secondaryDistributor = value; break; case "deliveryFromDate": this.deliveryFromDate = value; break; case "deliveryToDate": this.deliveryToDate = value; break; case "category1": this.category1 = value; break; case "category2": this.category2 = value; break; case "invoiceStatus": this.invoiceStatusValue = value; break; case "searchHospitalName": this.searchHospitalName = value; break; } } invoiceDateChange(event) { this.InvoiceDate = event.detail.value; this.coc['Invoice_Date__c'] = event.detail.value; console.log('this.InvoiceDate = ' + this.InvoiceDate); } //搜索客户名 searchHospitalNameModal() { console.log("searchHospitalNameModal"); hospitalInit({ ctype: this.agencyProType, }).then((r) => { r = JSON.parse(JSON.stringify(r)); if (r.status == "Success") { this.hospitalList = r.entity.at; for (var i in this.hospitalList) { this.hospitalList[i]["stateMasterName"] = this.hospitalList[i].State_Master__r.Name; } console.log("hospitalInit r = " + JSON.stringify(this.hospitalList)); this.isModalOpen = true; } }); } searchHospital() { console.log("this.searchHospitalName = " + this.searchHospitalName); serContact({ searchName: this.searchHospitalName, ctype: this.agencyProType, }).then((r) => { r = JSON.parse(JSON.stringify(r)); if (r.status == "Success") { this.hospitalList = r.entity.at; for (var i in this.hospitalList) { this.hospitalList[i]["stateMasterName"] = this.hospitalList[i].State_Master__r.Name; } console.log("hospitalInit r = " + JSON.stringify(this.hospitalList)); } }); } //选择客户名 searchHandleRowAction(event) { console.log("searchHandleRowAction"); let row = event.detail.row; this.HospitalInfo = row.Id; this.HospitalName = row.Name; console.log("this.HospitalInfo = " + this.HospitalInfo + " this.HospitalName = " + this.HospitalName); this.isModalOpen = false; } //当客户名是空时。客户id也变为空 clearAgencyI(event) { this.HospitalName = event.target.value; if (this.HospitalName == "" || this.HospitalName == null) { this.HospitalInfo = ""; } console.log("this.HospitalName = " + this.HospitalName); console.log("this.HospitalInfo = " + this.HospitalInfo); } closeModal() { this.isModalOpen = false; } //Consumable_order__c coc,String HospitalInfo,String SecondDealer,List invoiceOrderRecoeds,String deliveryId,String invoiceId,String accountid,String agencyProType,String reopen SaveJs() { this.isShowSpinner = true; let cloneData = this.outboundData for (var i in cloneData) { delete cloneData[i].esdOutboundDate; delete cloneData[i].esdNameUrl; delete cloneData[i].esdName; delete cloneData[i].hospitalName; delete cloneData[i].shipmentAmount; delete cloneData[i].returnAmount; delete cloneData[i].uninvoicedAmount; delete cloneData[i].invoiceFaceAmount; delete cloneData[i].invoiceFaceAmountUrl; } console.log('this.coc = ' + JSON.stringify(this.coc)); console.log('this.HospitalInfo = ' + this.HospitalInfo); console.log('this.secondaryDistributor = ' + this.secondaryDistributor); console.log('this.outboundData = ' + JSON.stringify(cloneData)); console.log('this.deliveryId = ' + this.deliveryId); console.log('this.invoiceId = ' + this.invoiceId); console.log('this.accountid = ' + this.accountid); console.log('this.agencyProType = ' + this.agencyProType); console.log('this.reopen = ' + this.reopen); console.log('this.invoiceOrderRecoedschangeLwc = ' + JSON.stringify(this.invoiceOrderRecoedschange)); save({ cocLwc: this.coc, HospitalInfoLwc: this.HospitalInfo, SecondDealerLwc: this.secondaryDistributor, invoiceOrderRecoedsLwc: JSON.stringify(cloneData), deliveryIdLwc: this.deliveryId, invoiceIdLwc: this.invoiceId, accountidLwc: this.accountid, agencyProTypeLwc: this.agencyProType, reopenLwc: this.reopen, invoiceOrderRecoedschangeLwc: JSON.stringify(this.invoiceOrderRecoedschange) }).then((r) => { r = JSON.parse(JSON.stringify(r)); console.log("r = " + JSON.stringify(r)); if (r.status == "Success" && r.msg == '') { console.log('save success'); let url = "/lexconinvoiceview?invoiceId=" + r.entity.invoiceId; console.log('url = ' + url); this[NavigationMixin.Navigate]({ type: "standard__webPage", attributes: { url: url, }, }); } else { this.showToast("Error", r.msg); } }).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(); } } handleSave() { console.log("saveFile"); if (this.filesUploaded.length > 0) { this.file = this.filesUploaded[0]; if (this.file.size > this.MAX_FILE_SIZE) { this.showToast("Error", "文件过大"); return; } this.showLoadingSpinner = true; this.fileReader = new FileReader(); this.fileReader.onloadend = () => { this.fileContents = this.fileReader.result; let base64 = "base64,"; this.content = this.fileContents.indexOf(base64) + base64.length; this.fileContents = this.fileContents.substring(this.content); this.saveToFile(); }; this.fileReader.readAsDataURL(this.file); } else { this.fileName = "选择一个文件上传"; } } saveToFile() { console.log("saveToFile"); 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", "上传失败"); }); } handleTypeChange(event) { console.log("handleTypeChange"); const typeDetail = event.detail; console.log("typeDetail = " + JSON.stringify(typeDetail)); for (var i in this.fileData) { if (this.fileData[i].recordId == typeDetail.data.recordId) { this.fileData[i].typeValue = typeDetail.data.typeValue; this.fileData[i].mailSelectOptsin = typeDetail.data.typeValue; } } console.log("this.fileData = " + JSON.stringify(this.fileData)); } newInvoiceJs(){ let url = "/lexconinvoiceview?isNew=yes"; console.log('url = ' + url); this[NavigationMixin.Navigate]({ type: "standard__webPage", attributes: { url: url, }, }); } saveAttachmentJs() { this.showLoadingSpinner = true; let cloneData = this.fileData for (var i in cloneData) { delete cloneData[i].Id; delete cloneData[i].recordId; delete cloneData[i].url; delete cloneData[i].Title; delete cloneData[i].CreatedByName; delete cloneData[i].CreatedByNameUrl; delete cloneData[i].CreatedDate; delete cloneData[i].typeValue; delete cloneData[i].typeOptions; } console.log('cloneData = ' + JSON.stringify(cloneData)); saveAttachment({ attachmentRecoedsLwc: JSON.stringify(cloneData) }).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); } }).catch((error) => { console.log("error = " + error.message); this.showToast("Error", "上传失败"); }); } 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, }).then((r) => { r = JSON.parse(JSON.stringify(r)); console.log("r = " + JSON.stringify(r)); if (r.status == "Success") { this.invoiceData = r.entity.raesList; for (var i in this.invoiceData) { this.invoiceData[i]['NameUrl'] = '/lexconinvoiceview?invoiceId=' + this.invoiceData[i].Id; } 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", "没有搜索到相关发票。"); } }else{ this.showToast("Error", r.msg); } }).catch((error) => { console.log("error = " + error.message); this.showToast("Error", "搜索失败"); }); } ClearJs(){ this.deliveryFromDate = ''; this.deliveryToDate = ''; this.category1 = ''; this.category2 = ''; this.invoiceStatusValue = ''; this.isShowSpinner = true; conInvoiceListInit().then((r) => { r = JSON.parse(JSON.stringify(r)); console.log("conInvoiceListInit r = " + JSON.stringify(r)); if (r.status == "Success") { this.invoiceData = r.entity.raesList; for (var i in this.invoiceData) { this.invoiceData[i]['NameUrl'] = '/lexconinvoiceview?invoiceId=' + this.invoiceData[i].Id; } console.log("this.invoiceData = " + JSON.stringify(this.invoiceData)); this.isShowSpinner = false; } else { this.showToast("Error", r.msg); } }).catch((error) => { console.log("error = " + JSON.stringify(error)); }); } InvoiceorderSearchJs(){ this.isShowSpinner = true; let cloneData = this.outboundData for (var i in cloneData) { delete cloneData[i].esdOutboundDate; delete cloneData[i].esdNameUrl; delete cloneData[i].esdName; delete cloneData[i].hospitalName; delete cloneData[i].shipmentAmount; delete cloneData[i].returnAmount; delete cloneData[i].uninvoicedAmount; delete cloneData[i].invoiceFaceAmount; delete cloneData[i].invoiceFaceAmountUrl; } console.log('this.coc = ' + JSON.stringify(this.coc)); console.log('this.invoiceId = ' + this.invoiceId); console.log('this.accountid = ' + this.accountid); console.log('this.userWorkLocation = ' + this.userWorkLocation); console.log('this.agencyProType = ' + this.agencyProType); console.log('this.HospitalInfo = ' + this.HospitalInfo); console.log('SecondDealer = ' + this.secondaryDistributor); console.log('invoiceOrderRecoedsLwc = ' + JSON.stringify(cloneData)); InvoiceorderSearch({ cocLwc: this.coc, invoiceIdLwc: this.invoiceId, accountidLwc: this.accountid, userWorkLocationLwc: this.userWorkLocation, agencyProTypeLwc: this.agencyProType, HospitalInfoLwc: this.HospitalInfo, SecondDealerLwc: this.secondaryDistributor, invoiceOrderRecoedsLwc: JSON.stringify(cloneData), }).then((r) => { r = JSON.parse(JSON.stringify(r)); console.log("r = " + JSON.stringify(r)); if (r.status == "Success") { this.outboundData = r.entity.invoiceOrderRecoeds; let index = 0; for (var i in this.outboundData) { 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; if (this.EditAble) { this.outboundData[i]['hospitalName'] = this.outboundData[i].esd.ShipmentAccount__c; this.outboundData[i]['shipmentAmount'] = this.outboundData[i].esd.Shipment_total_amount__c; 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; 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; this.outboundData[i]['invoiceFaceAmountUrl'] = url; if (index == 0) { let object5 = { label: '发票票面金额(元)', type: 'url', fieldName: "invoiceFaceAmountUrl", typeAttributes: { label: { fieldName: "invoiceFaceAmount" }, target: "_blank", }, hideDefaultActions: true, }; this.outboundColumns.push(object5) index++; } } else { if (index == 0) { let object5 = { label: '发票票面金额(元)', fieldName: "invoiceFaceAmount", hideDefaultActions: true, }; this.outboundColumns.push(object5) index++; } } //计算发票票面金额 this.sumPrice += this.outboundData[i].needInvoiceCount; } this.isShowSpinner = false; }else{ this.showToast("Error", r.msg); } }).catch((error) => { console.log("error = " + error.message); this.showToast("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; } } } showToast(type, msg) { this.isShowSpinner = false; this.showLoadingSpinner = false; const event = new ShowToastEvent({ title: type, variant: type, message: msg, }); this.dispatchEvent(event); } }