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<InvoiceOrderInfo> 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);
|
}
|
}
|