import { LightningElement, wire, api, track } from 'lwc'; import { CurrentPageReference } from 'lightning/navigation'; import { ShowToastEvent } from 'lightning/platformShowToastEvent'; import { NavigationMixin } from 'lightning/navigation'; import initPage from '@salesforce/apex/LexConsumableController.init'; import categoryAllload from '@salesforce/apex/LexConsumableController.categoryAllload'; import categoryload from '@salesforce/apex/LexConsumableController.categoryload'; import searchConsumableorderdetails from '@salesforce/apex/LexConsumableController.searchConsumableorderdetails'; import searchorderdetails from '@salesforce/apex/LexConsumableController.searchorderdetails'; import save from '@salesforce/apex/LexConsumableController.save'; import ordrCopy from '@salesforce/apex/LexConsumableController.ordrCopy'; import setEditAble from '@salesforce/apex/LexConsumableController.setEditAble'; import backOrder from '@salesforce/apex/LexConsumableController.backOrder'; import delConsumable from '@salesforce/apex/LexConsumableController.delConsumable'; import sorder from '@salesforce/apex/LexConsumableController.sorder'; import filesUpload from '@salesforce/apex/LexConsumableController.filesUpload'; import initHospital from '@salesforce/apex/LexSearchHospitalController.init'; import searchHospital from '@salesforce/apex/LexSearchHospitalController.searchHospital'; import initContract from '@salesforce/apex/LexSearchContractController.init'; import searchContract from '@salesforce/apex/LexSearchContractController.searchContract'; import deleteAtt from '@salesforce/apex/LexConsumableController.deleteAtt'; //table css import { loadStyle } from 'lightning/platformResourceLoader'; import WrappedHeaderTable from '@salesforce/resourceUrl/lexdatatable'; export default class LexConsumable extends NavigationMixin(LightningElement) { //页面基础数据 @track editAble; @track pageType; @track esetId; @track keyWords; @track coc; @track cocId; @track userWorkLocation; @track accountName; @track accountid; @track specialCampaign = false; @track dealerProductId = []; @track category1; @track category3 = ''; @track category4 = ''; @track category5 = ''; @track category_Goods; @track category3Option = []; @track category4Option = []; @track category5Option = []; @track consumableorderdetailsRecordsview = []; @track currentRecord = []; //分页 @track selectRows = []; @track attachmentRecoeds = []; @track contactDealer = []; @track proLimitAndDate = []; @track agencyProType; @track agencyProType1; @track OSHFLG = false; @track bargainPrice; @track showOrderDate = false; @track showAttUploadDate = false; @track edoffersPrice = false; @track editDelCommitBtnDisabled = false; @track showEditBtn = false; @track disabledEditBtn = false; @track showPrintSheetBtn = false; @track showUploadSheetBtn = false; @track disabledUploadSheetBtn = false; @track showSubOrderbtn = false; @track disabledSubOrderbtn = false; @track showSaveOrderbtn1 = false; @track showSaveOrderbtn2 = false; @track showDeleteBtn = false; @track disabledDeleteBtn = false; @track showOfferPriceInputBtn = false; @track disabledOfferPriceInputBtn = false; @track showReapplyBtn = false; @track showHospital = false; @track showPage = false; @track cansee = false; @track showSpinner = true; @track showPopSpinner = false; stylesLoaded = false; //是否一直显示提示 @track isNoteStay = true; //排序相关 @track sortDirection = 'asc'; @track sortedBy; //分页 @track currentPage = 1; <<<<<<< HEAD @track pageSize = 10; // @track totalPage = 0; @track pageSizeOptions = [10, 25, 50, 100]; ======= @track pageSize = 200; // @track totalPage = 0; @track pageSizeOptions = [100, 200,300]; >>>>>>> LEXCommunityLiJun @track recordStart = 0; @track recordEnd = 0; //报错提醒 // @track hasError = false; @track errorMsgs = []; // @track hasWarning = false; @track warningMsgs = []; //附件上传 @track showAttPop = false; @track filesUploaded = []; @track fileName; file; fileContents; fileReader; content; //医院搜索 @track showAttHosPop = false; @track hospitalList = []; @track searchNameHos; @track chooseHospital; @track chooseHospitalId; @track hospitalId; @track hospitalName; @track tempidHp; @track hosCols = [ // {label:'医院名称',fieldName:'Name',type:'button',typeAttributes:{label:{fieldName:'Name'},variant:'base'}}, { label: '', type: 'button', typeAttributes: { label: '选择' }, initialWidth: 90, hideDefaultActions: true, wrapText: true }, { label: '医院名称', fieldName: 'Name', initialWidth: 380, wrapText: true, hideDefaultActions: true }, { label: '省份', fieldName: 'StateMaster', initialWidth: 80, hideDefaultActions: true, wrapText: true }, { label: '地址', fieldName: 'Address__c', hideDefaultActions: true, wrapText: true } ]; //合同搜索 @track contractLabel; @track showConPop = false; @track contractList = []; @track searchNameCon; @track chooseContract; @track chooseContractId; @track contractId; @track contractName; @track tempidPp; @track conCols = [ { label: '', type: 'button', typeAttributes: { label: '选择' }, initialWidth: 90, hideDefaultActions: true, wrapText: true }, { label: '合同名称', fieldName: 'Name', wrapText: true, hideDefaultActions: true }, { label: '省份', fieldName: 'StateMaster', initialWidth: 80, hideDefaultActions: true, wrapText: true }, { label: '申请销售课', fieldName: 'Sales_Section__c', initialWidth: 160, hideDefaultActions: true, wrapText: true }, { label: '允许报价期间(开始日)', fieldName: 'Contract_Decide_Start_Date__c', initialWidth: 175, hideDefaultActions: true, wrapText: true }, { label: '允许报价期间(结束日)', fieldName: 'Contract_Decide_End_Date__c', initialWidth: 175, hideDefaultActions: true, wrapText: true } ]; //消耗品数据col get cols() { var cols = []; cols.push({ label: '消耗品名称', fieldName: 'prodName', wrapText: true, hideDefaultActions: true, sortable: true // initialWidth: 136 }); cols.push({ label: '规格', fieldName: 'packing_list', wrapText: true, hideDefaultActions: true, initialWidth: 50, cellAttributes: { alignment: 'right' } }); cols.push({ label: 'CFDA状态', fieldName: 'prodSFDAStatus', wrapText: true, hideDefaultActions: true, initialWidth: 84 }); cols.push({ label: '注册证编码号', fieldName: 'approbation_No', wrapText: true, hideDefaultActions: true, initialWidth: 104 }); cols.push({ label: '注册证效期', fieldName: 'expiration_Date', wrapText: true, hideDefaultActions: true, initialWidth: 95 }); cols.push({ label: '第3分类', fieldName: 'prodCategory3', wrapText: true, hideDefaultActions: true, initialWidth: 84, sortable: true }); cols.push({ label: '第4分类', fieldName: 'prodCategory4', wrapText: true, hideDefaultActions: true, initialWidth: 84, sortable: true }); cols.push({ label: '第5分类', fieldName: 'prodCategory5', wrapText: true, hideDefaultActions: true, initialWidth: 84, sortable: true }); if (this.cansee) { cols.push({ label: '标准单价', type: 'number', typeAttributes: { minimumFractionDigits: 2 }, fieldName: 'prodIntraTradeList', hideDefaultActions: true, initialWidth: 78 }); } if (this.editAble) { cols.push({ label: '采购数量', type: 'customTableInput', typeAttributes: { recordId: { fieldName: 'recordId' }, inputValue: { fieldName: 'consumableCount' }, upperLimit: { fieldName: 'upperlimit' }, lowerLimit: { fieldName: 'lowerlimit' }, allnumber: { fieldName: 'allnumber' }, valueType: 'Number' }, hideDefaultActions: true, initialWidth: 78 }); } else { cols.push({ label: '采购数量', fieldName: 'consumableCount', hideDefaultActions: true, initialWidth: 78, cellAttributes: { alignment: 'right' } }); } cols.push({ label: '在库数下限', fieldName: 'lowerlimit', hideDefaultActions: true, initialWidth: 86, cellAttributes: { alignment: 'right' } }); cols.push({ label: '在库数上限', fieldName: 'upperlimit', hideDefaultActions: true, initialWidth: 86, cellAttributes: { alignment: 'right' } }); // cols.push({label:'有效期库存(盒)',fieldName:'allnumber',hideDefaultActions: true,initialWidth:105,sortable: true}); cols.push({ label: '有效期库存(盒)', type: 'customInventoryColor', fieldName: 'allnumber', typeAttributes: { value: { fieldName: 'allnumber' }, upperlimit: { fieldName: 'upperlimit' }, lowerlimit: { fieldName: 'lowerlimit' }, boxPrice: '盒' }, hideDefaultActions: true, initialWidth: 122, sortable: true }); cols.push({ label: '有效期库存(个)', fieldName: 'allnumber_piece', hideDefaultActions: true, initialWidth: 112, cellAttributes: { alignment: 'right' } }); return cols; } //附件cols @track attCols = [ { label: '标题', fieldName: 'attUrl', type: 'url', typeAttributes: { label: { fieldName: 'fileName' }, target: '_blank' }, hideDefaultActions: true }, { label: '创建人', fieldName: 'ownerUrl', type: 'url', typeAttributes: { label: { fieldName: 'ownerName' }, target: '_blank' }, hideDefaultActions: true }, { label: '上传日期', fieldName: 'updateDate', hideDefaultActions: true }, { label: '', type: 'tableCellIcon', typeAttributes: { iconName: 'utility:delete', recordId: { fieldName: 'recordId' } }, initialWidth: 50, hideDefaultActions: true } ]; //取得所有被勾选的产品id getAllChecked() { this.selectRows = []; for (var i in this.currentRecord) { if (this.currentRecord[i].check) { this.selectRows.push(this.currentRecord[i].recordId); } } } //勾选操作 checkRows(event) { this.selectRows = []; const selectedRows = event.detail.selectedRows; for (var i in this.consumableorderdetailsRecordsview) { var count = 0; for (var j in selectedRows) { if ( this.consumableorderdetailsRecordsview[i].recordId == selectedRows[j].recordId ) { count++; console.log( 'checkId:' + selectedRows[j].recordId + '---' + this.consumableorderdetailsRecordsview[i].prodName ); } } if (count == 0) { this.consumableorderdetailsRecordsview[i].check = false; } else { this.consumableorderdetailsRecordsview[i].check = true; this.selectRows.push( this.consumableorderdetailsRecordsview[i].recordId ); } } for (var i in this.selectRows) { console.log('checkId1:' + this.selectRows[i]); for (var i in this.currentRecord) { if (this.currentRecord[i].recordId == this.selectRows[i]) { console.log('currentRecord:' + this.selectRows[i]); } } } } //采购数量获取 conCountChange(event) { var recordId = event.detail.data.recordId; var conCount = event.detail.data.value; console.log('countChange:' + recordId + '---' + conCount); for (var i in this.consumableorderdetailsRecordsview) { if ( this.consumableorderdetailsRecordsview[i].recordId == recordId ) { this.consumableorderdetailsRecordsview[ i ].esd.Consumable_count__c = conCount; this.consumableorderdetailsRecordsview[i].consumableCount = conCount; if (conCount != null && conCount != 0 && conCount != '') { this.consumableorderdetailsRecordsview[i].check = true; } else { this.consumableorderdetailsRecordsview[i].check = false; this.consumableorderdetailsRecordsview[ i ].esd.Consumable_count__c = null; this.consumableorderdetailsRecordsview[i].consumableCount = null; } } } this.getAllChecked(); for (var i in this.currentRecord) { if (this.currentRecord[i].recordId == recordId) { console.log( 'currentRecord1:' + this.currentRecord[i].esd.Consumable_count__c ); } } } //采购数量失焦 conCountBlur(event) { var conCount = event.detail.data.value; var allnumber = event.detail.data.allnumber; var upperLimit = event.detail.data.upperLimit; var lowerLimit = event.detail.data.lowerLimit; console.log( 'limit:' + conCount + '---' + allnumber + '---' + lowerLimit + '---' + allnumber ); if ( upperLimit != null && lowerLimit != null && conCount != null && allnumber != null ) { if (parseInt(allnumber) + parseInt(conCount) > upperLimit) { // window.alert("该产品订购数量超出库存上限!"); this.showMyToast('该产品订购数量超出库存上限!', '', 'error'); } if (parseInt(allnumber) + parseInt(conCount) < lowerLimit) { // window.alert("该产品订购数量低于库存下限!"); this.showMyToast('该产品订购数量低于库存下限!', '', 'error'); } } } @wire(CurrentPageReference) getStateParameters(currentPageReference) { console.log('CurrentPageReference'); if (currentPageReference) { this.pageType = currentPageReference.state?.type; this.esetId = currentPageReference.state?.ESetid; this.keyWords = currentPageReference.state?.KeyWords; console.log('type:' + this.pageType); console.log('esetId:' + this.esetId); console.log('keyWords:' + this.keyWords); } } 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'); }); } } //页面初始化 connectedCallback() { this.showSpinner = true; initPage({ type: this.pageType, esetId: this.esetId, keywordStr: this.keyWords }) .then((result) => { this.isNoteStay = result.isNoteStay; if (result.result == 'Success') { this.editAble = result.editAble; this.edoffersPrice = result.edoffersPrice; this.cansee = result.cansee; this.editDelCommitBtnDisabled = result.editDelCommitBtnDisabled; this.category3Option = result.category3Option; this.category4Option = result.category4Option; this.category5Option = result.category5Option; this.agencyProType = result.agencyProType; this.agencyProType1 = result.agencyProType1; this.OSHFLG = result.OSHFLG; this.hospitalName = result.hospitalName; this.contractName = result.contractName; this.contractLabel = '经销商有效合同'; this.consumableorderdetailsRecordsview = result.consumableorderdetailsRecordsview; this.currentPage = 1; this.showCurrentReocrd(); this.getAllChecked(); this.attachmentRecoeds = result.attachmentRecoeds; console.log('attSize:' + this.attachmentRecoeds.length); for (var i in this.attachmentRecoeds) { this.attachmentRecoeds[i]['recordId'] = this.attachmentRecoeds[i].Concc.Id; this.attachmentRecoeds[i]['documentId'] = this.attachmentRecoeds[i].Concc.ContentDocumentId; this.attachmentRecoeds[i]['fileFullName'] = this.attachmentRecoeds[i].Concc.Title; var contractionName = this.attachmentRecoeds[i].Concc.Title; // var contractionName = '长文件长文件长文件长文件'; if (contractionName.length > 25) { contractionName = contractionName.substr(0, 21) + '...'; } this.attachmentRecoeds[i]['fileName'] = contractionName; this.attachmentRecoeds[i]['ownerName'] = this.attachmentRecoeds[i].Concc.Owner.Name; this.attachmentRecoeds[i]['downloadUrl'] = '/sfc/servlet.shepherd/document/download/' + this.attachmentRecoeds[i].Concc.ContentDocumentId + '?operationContext=S1'; // var date = this.attachmentRecoeds[i].Concc.CreatedDate; // var year = date.getFullYear(); // var month = date.getMonth(); // var day = date.getDay(); // console.log(year+'-'+month+'-'+day); this.attachmentRecoeds[i]['updateDate'] = new Date( Date.parse( this.attachmentRecoeds[i].Concc.CreatedDate ) ).toLocaleString(); this.attachmentRecoeds[i]['attUrl'] = '/' + this.attachmentRecoeds[i].Concc.Id; this.attachmentRecoeds[i]['ownerUrl'] = '/' + this.attachmentRecoeds[i].Concc.OwnerId; } this.errorMsgs = result.errorMsgList; this.warningMsgs = result.warningMsgList; this.userWorkLocation = result.userWorkLocation; this.accountName = result.accountName; this.accountid = result.accountid; this.hospitalId = result.hospitalId; this.contractId = result.contractId; this.category_Goods = result.category_Goods; this.specialCampaign = result.specialCampaign; this.dealerProductId = result.dealerProductId; this.contactDealer = result.contactDealer; this.pageType = result.methodType; this.proLimitAndDate = result.proLimitAndDate; console.log( 'proLimitAndDate:' + JSON.stringify(this.proLimitAndDate) ); this.coc = result.coc; this.cocId = this.coc.Id; if ( this.pageType == 'hospitalorder' && this.agencyProType != 'ET' ) { this.showHospital = true; } if ( this.coc.Order_status__c == '已提交' || this.coc.Order_status__c == '批准' ) { this.showOrderDate = true; } if (this.coc.Consumable_pdf_insert_day__c != null) { this.showAttUploadDate = true; } if (!(this.editAble || this.edoffersPrice)) { this.showEditBtn = true; this.showOfferPriceInputBtn = true; } if ( this.coc.Order_status__c == '已提交' || this.coc.Order_status__c == '批准' || this.coc.Order_status__c == '驳回' ) { this.disabledEditBtn = true; this.disabledUploadSheetBtn = true; this.disabledSubOrderbtn = true; this.disabledDeleteBtn = true; this.disabledOfferPriceInputBtn = true; } if ( !( this.editDelCommitBtnDisabled || this.editAble || this.edoffersPrice ) ) { this.showPrintSheetBtn = true; this.showUploadSheetBtn = true; this.showSubOrderbtn = true; this.showDeleteBtn = true; } if ( (this.editDelCommitBtnDisabled || this.editAble || this.edoffersPrice) && this.coc.Order_status__c != '驳回' ) { this.showSaveOrderbtn1 = true; } if (this.coc.Order_status__c == '驳回' && this.editAble) { this.showSaveOrderbtn2 = true; } if (this.coc.Order_status__c == '驳回' && !this.editAble) { this.showReapplyBtn = true; } this.showSpinner = false; this.showPage = true; } else { this.showSpinner = false; console.log('Error:' + result.errorMsg); this.showMyToast( '初始化页面失败', result.errorMsg, 'error' ); } }) .catch((error) => { this.showSpinner = false; console.log('error:' + error); this.showMyToast('初始化页面失败', error, 'error'); }); } //排序 onHandleSort(event) { //将已经选好了的放到前面,不进行排序 console.log('sort'); if (this.editAble) { const { fieldName: sortedBy, sortDirection } = event.detail; const cloneData = [...this.currentRecord]; cloneData.sort( this.sortBy(sortedBy, sortDirection === 'asc' ? 1 : -1) ); let index = 0; let selectedRows = this.template .querySelector('c-lex-custom-lightning-datatable') .getSelectedRows(); let selectedRowsIds = []; for (var i in selectedRows) { selectedRowsIds.push(selectedRows[i].recordId); } console.log('selectedRowsIds = ' + JSON.stringify(selectedRowsIds)); for (var i = 0; i < cloneData.length; i++) { if (selectedRowsIds.indexOf(cloneData[i].recordId) != -1) { if (i != 0) { let temp = cloneData[index]; cloneData[index] = cloneData[i]; cloneData[i] = temp; } index++; } } this.currentRecord = cloneData; this.sortDirection = sortDirection; this.sortedBy = sortedBy; } else { const { fieldName: sortedBy, sortDirection } = event.detail; const cloneData = [...this.currentRecord]; cloneData.sort( this.sortBy(sortedBy, sortDirection === 'asc' ? 1 : -1) ); this.currentRecord = cloneData; this.sortDirection = sortDirection; this.sortedBy = sortedBy; } } sortBy(field, reverse, primer) { const key = primer ? function (x) { return primer(x[field]); } : function (x) { return x[field]; }; return function (a, b) { a = key(a); b = key(b); return reverse * ((a > b) - (b > a)); }; } //是否有警告 get hasWarning() { if (this.warningMsgs == null || this.warningMsgs.length == 0) { return false; } if (this.warningMsgs.length > 0) { return true; } } //是否有错误 get hasError() { if (this.errorMsgs == null || this.errorMsgs.length == 0) { return false; } if (this.errorMsgs.length > 0) { return true; } } //特价change事件 offerPriceChange(event) { this.coc.Offers_Price__c = event.detail.value; } //消耗品名称change事件 category1Change(event) { this.category1 = event.detail.value; } //第三分类change事件 category3Change(event) { this.showSpinner = true; this.category3 = event.detail.value; this.category4 = ''; this.category5 = ''; categoryAllload({ agencyProTypeStr: this.agencyProType, category3Str: this.category3 }).then((result) => { if (result.result == 'Success') { this.category4Option = result.category4Option; this.category5Option = result.category5Option; this.showSpinner = false; } else { this.showSpinner = false; console.log('Error:' + result.errorMsg); this.showMyToast('加载分类失败', result.errorMsg, 'error'); } }); } //第四分类change事件 category4Change(event) { this.showSpinner = true; this.category4 = event.detail.value; this.category5 = ''; categoryload({ agencyProTypeStr: this.agencyProType, category3Str: this.category3, category4Str: this.category4 }).then((result) => { if (result.result == 'Success') { this.category4Option = result.category4Option; this.category5Option = result.category5Option; this.showSpinner = false; } else { this.showSpinner = false; console.log('Error:' + result.errorMsg); this.showMyToast('加载分类失败', result.errorMsg, 'error'); } }); } //第五分类change事件 category5Change(event) { this.category5 = event.detail.value; } //搜索产品 searchProduct(event) { this.showSpinner = true; searchConsumableorderdetails({ userWorkLocationStr: this.userWorkLocation, agencyProTypeStr: this.agencyProType, accountNameStr: this.accountName, accountIdStr: this.accountid, contractIdStr: this.contractId, hospitalIdStr: this.hospitalId, category1Str: this.category1, category3Str: this.category3, category4Str: this.category4, category5Str: this.category5, category_GoodStr: this.category_Goods, specialCampaignStr: this.specialCampaign, dealerProductIdStr: JSON.stringify(this.dealerProductId), methodTypeStr: this.pageType, editAbleStr: this.editAble, consumableorderdetailsRecordsviewStr: JSON.stringify( this.consumableorderdetailsRecordsview ), proLimitAndDateList: this.proLimitAndDate }) .then((result) => { if (result.result == 'Success') { this.consumableorderdetailsRecordsview = result.consumableorderdetailsRecordsview; this.currentPage = 1; this.currentRecord = []; this.showCurrentReocrd(); this.getAllChecked(); this.showSpinner = false; this.errorMsgs = result.errorMsgList; this.warningMsgs = result.warningMsgList; // this.hasError = result.hasError; // this.hasWarning = result.hasWarning; this.showMyToast('搜索成功', result.errorMsg, 'success'); } else { this.showSpinner = false; console.log('Error:' + result.errorMsg); if (result.errorMsg == '没有搜索到相关数据') { this.showMyToast(result.errorMsg, '', 'error'); } else { this.showMyToast('搜索失败', result.errorMsg, 'error'); } } }) .catch((error) => { console.log('Error:' + error); }); } //清除搜索栏 clear(event) { this.category1 = ''; this.category3 = ''; this.category4 = ''; this.category5 = ''; this.showSpinner = true; searchConsumableorderdetails({ userWorkLocationStr: this.userWorkLocation, agencyProTypeStr: this.agencyProType, accountNameStr: this.accountName, accountIdStr: this.accountid, contractIdStr: this.contractId, hospitalIdStr: this.hospitalId, category1Str: this.category1, category3Str: this.category3, category4Str: this.category4, category5Str: this.category5, category_GoodStr: this.category_Goods, specialCampaignStr: this.specialCampaign, dealerProductIdStr: JSON.stringify(this.dealerProductId), methodTypeStr: this.pageType, editAbleStr: this.editAble, consumableorderdetailsRecordsviewStr: JSON.stringify( this.consumableorderdetailsRecordsview ), proLimitAndDateList: this.proLimitAndDate }).then((result) => { if (result.result == 'Success') { this.consumableorderdetailsRecordsview = result.consumableorderdetailsRecordsview; this.currentPage = 1; this.currentRecord = []; this.showCurrentReocrd(); this.getAllChecked(); this.showSpinner = false; this.showMyToast('搜索成功', result.errorMsg, 'success'); } else { this.showSpinner = false; console.log('Error:' + result.errorMsg); if (result.errorMsg == '没有搜索到相关数据') { this.showMyToast(result.errorMsg, '', 'error'); } else { this.showMyToast('搜索失败', result.errorMsg, 'error'); } } }); } //选择所有 checkAll(event) { for ( let i = 0, len = this.consumableorderdetailsRecordsview.length; i < len; i++ ) { this.consumableorderdetailsRecordsview[i].check = event.target.checked; } } //选择 check(event) { let index = event.target.getAttribute('data-index'); this.consumableorderdetailsRecordsview[index].check = event.target.checked; } //采购数量change事件 // consumableCountChange(event){ // let index = event.target.getAttribute("data-index"); // var value = event.target.value; // this.consumableorderdetailsRecordsview[index].esd.Consumable_count__c = value; // if(isNaN(value)){ // value=0.00; // } // if(value != null && value !=0 && value!=''){ // this.consumableorderdetailsRecordsview[index].check = true; // }else{ // this.consumableorderdetailsRecordsview[index].check = false; // } // } //保存订单 saveOrder(event) { this.showSpinner = true; console.log('start save'); save({ contractNameStr: this.contractName, cocStr: JSON.stringify(this.coc), agencyProTypeStr: this.agencyProType, accountidStr: this.accountid, consumableorderdetailsRecordsviewStr: JSON.stringify( this.consumableorderdetailsRecordsview ), contactDealerStr: JSON.stringify(this.contactDealer), methodTypeStr: this.pageType, eSetIdStr: this.esetId, hospitalIdStr: this.hospitalId, contractIdStr: this.contractId, agencyProType1Str: this.agencyProType1, OSHFLGStr: this.OSHFLG }).then((result) => { this.showSpinner = false; if (result.result == 'Success') { this.esetId = result.eSetId; const config = { type: 'standard__webPage', attributes: { url: '/lexconsumable?ESetid=' + this.esetId + '&type=' + this.pageType } }; this[NavigationMixin.Navigate](config); } else { this.showSpinner = false; console.log('Error:' + result.errorMsg); this.showMyToast('保存失败', result.errorMsg, 'error'); } }); } //保存订单(驳回) orderCopy(event) { this.showSpinner = true; ordrCopy({ contractNameStr: this.contractName, cocStr: JSON.stringify(this.coc), agencyProTypeStr: this.agencyProType, accountidStr: this.accountid, consumableorderdetailsRecordsviewStr: JSON.stringify( this.consumableorderdetailsRecordsview ), contactDealerStr: JSON.stringify(this.contactDealer), methodTypeStr: this.pageType, hospitalIdStr: this.hospitalId, contractIdStr: this.contractId, agencyProType1Str: this.agencyProType1, OSHFLGStr: this.OSHFLG }).then((result) => { this.showSpinner = false; if (result.result == 'Success') { this.esetId = result.eSetId; const config = { type: 'standard__webPage', attributes: { url: '/lexconsumable?ESetid=' + this.esetId + '&type=' + this.pageType } }; this[NavigationMixin.Navigate](config); } else { this.showSpinner = false; console.log('Error:' + result.errorMsg); this.showMyToast('保存失败', result.errorMsg, 'error'); } }); } //编辑 editOrder(event) { setEditAble({ eSetidStr: this.esetId }).then((result) => { if (result.result == 'Success') { const config = { type: 'standard__webPage', attributes: { url: result.url } }; this[NavigationMixin.Navigate](config); } else { this.showSpinner = false; console.log('Error:' + result.errorMsg); this.showMyToast('编辑失败', result.errorMsg, 'error'); } }); } //打印配置单 printOrder(event) { var site = window.location.origin; const config = { type: 'standard__webPage', attributes: { url: site + '/consumable/PrintConsumblePDF?ESetid=' + this.esetId } }; this[NavigationMixin.Navigate](config); } //上传配置单 uploadOrder(event) { this.showAttPop = true; } //提交订单 submitOrder(event) { sorder({ eSetidStr: this.esetId, accountidStr: this.accountid }) .then((result) => { if (result.result == 'Success') { const config = { type: 'standard__webPage', attributes: { url: result.url } }; this[NavigationMixin.Navigate](config); } else { this.showSpinner = false; this.errorMsgs = result.errorMsgList; this.warningMsgs = result.warningMsgList; console.log('Error:' + result.errorMsg); if (result.errorMsg.indexOf('请上传订货配置单附件') != -1) { result.errorMsg = '请上传订货配置单附件'; } this.showMyToast('提交失败', result.errorMsg, 'error'); } }) .catch((error) => { console.log('Error:' + error); }); } //删除订单 deleteOrder(event) { if (!window.confirm('删除是不可恢复的,你确认要删除吗?')) { return; } delConsumable({ eSetidStr: this.esetId }).then((result) => { if (result.result == 'Success') { const config = { type: 'standard__webPage', attributes: { url: result.url } }; this[NavigationMixin.Navigate](config); } else { this.showSpinner = false; console.log('Error:' + result.errorMsg); this.showMyToast('删除失败', result.errorMsg, 'error'); } }); } //特价金额录入 inputOfferPrice(event) { this.edoffersPrice = true; if (!(this.editAble || this.edoffersPrice)) { this.showEditBtn = true; this.showOfferPriceInputBtn = true; } else { this.showEditBtn = false; this.showOfferPriceInputBtn = false; } if ( !( this.editDelCommitBtnDisabled || this.editAble || this.edoffersPrice ) ) { this.showPrintSheetBtn = true; this.showUploadSheetBtn = true; this.showSubOrderbtn = true; this.showDeleteBtn = true; } else { this.showPrintSheetBtn = false; this.showUploadSheetBtn = false; this.showSubOrderbtn = false; this.showDeleteBtn = false; } if ( (this.editDelCommitBtnDisabled || this.editAble || this.edoffersPrice) && this.coc.Order_status__c != '驳回' ) { this.showSaveOrderbtn1 = true; } else { this.showSaveOrderbtn1 = false; } } //再申请 reapplyOrder(event) { backOrder({ eSetidStr: this.esetId }).then((result) => { if (result.result == 'Success') { const config = { type: 'standard__webPage', attributes: { url: result.url } }; this[NavigationMixin.Navigate](config); } else { this.showSpinner = false; console.log('Error:' + result.errorMsg); this.showMyToast('再申请失败', result.errorMsg, 'error'); } }); } //附件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); } } //是否显示附件移除 get attDelBtn() { if ( this.fileName != '' && this.fileName != null && this.fileName != '请选择一个文件上传' ) { return true; } else { return false; } } //关闭附件弹窗 closePop() { this.showAttPop = false; this.filesUploaded = []; this.fileName = null; } //移除附件 removeAtt() { this.filesUploaded = []; this.fileName = ''; } //上传附件 uploadAtt(event) { if (this.filesUploaded.length > 0) { this.file = this.filesUploaded[0]; if (this.file.size > this.MAX_FILE_SIZE) { window.console.log('文件过大'); return; } 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() { this.showPopSpinner = true; filesUpload({ pId: this.esetId, fileName: this.file.name, base64Data: encodeURIComponent(this.fileContents) }) .then((result) => { this.showPopSpinner = false; if (result.result == 'Success') { this.closePop(); window.location.reload(); } else { console.log('Error:' + result.errorMsg); this.showMyToast('上传失败', result.errorMsg, 'error'); } }) .catch((error) => { this.showPopSpinner = false; this.showMyToast('上传失败', error, 'error'); }); } //删除附件 deleteAtt(event) { this.showSpinner = true; var recordId = event.target.getAttribute('data-fileid'); console.log('attid:' + recordId); deleteAtt({ contentVersionId: recordId, cocId: this.esetId }) .then((result) => { this.showSpinner = false; if (result.result == 'Success') { window.location.reload(); } else { console.log('Error:' + result.errorMsg); this.showMyToast('删除失败', result.errorMsg, 'error'); } }) .catch((error) => { this.showSpinner = false; console.log('Error:' + error); this.showMyToast('删除失败', JSON.stringify(error), 'error'); }); } //预览附件 previweAtt(event) { var recordId = event.target.getAttribute('data-fileid'); console.log(recordId); this[NavigationMixin.Navigate]({ type: 'standard__namedPage', attributes: { pageName: 'filePreview' }, state: { recordIds: recordId, selectedRecordId: recordId } }); } //打开搜索弹窗,并初始化弹窗 showSearchHos(event) { initHospital() .then((result) => { if (result.result == 'Success') { this.showAttHosPop = true; this.hospitalList = result.attList; for (var i in this.hospitalList) { if (this.hospitalList[i].State_Master__c) { this.hospitalList[i]['StateMaster'] = this.hospitalList[i].State_Master__r.Name; } } } else { console.log('Error:' + result.errorMsg); this.showMyToast( '初始化检索医院页面失败', result.errorMsg, 'error' ); } }) .catch((error) => { console.log('Error:' + error); this.showMyToast('初始化检索医院页面失败', error, 'error'); }); } //检索医院 searchHos(event) { searchHospital({ searchName: this.searchNameHos, accountId: this.accountid }) .then((result) => { if (result.result == 'Success') { this.hospitalList = result.attList; for (var i in this.hospitalList) { if (this.hospitalList[i].State_Master__c) { this.hospitalList[i]['StateMaster'] = this.hospitalList[i].State_Master__r.Name; } } } else { console.log('Error:' + result.errorMsg); this.showMyToast('搜索失败', result.errorMsg, 'error'); } }) .catch((error) => { console.log('Error:' + error); this.showMyToast('搜索失败', error, 'error'); }); } //医院名称change searchNameHosChange(event) { this.searchNameHos = event.detail.value; } //关闭弹窗 closeHospitalPop() { this.showAttHosPop = false; this.chooseHospital = ''; this.chooseHospitalId = ''; } // //选择医院 // chooseHos(event){ // var hosName = event.target.getAttribute("data-name"); // var hosid = event.target.getAttribute("data-hosid"); // console.log('hos:'+hosName+'---'+hosid); // this.chooseHospital = hosName; // this.chooseHospitalId = hosid; // } changeHos(event) { this.hospitalName = event.detail.value; } changeCon(event) { this.contractName = event.detail.value; } chooseHos(event) { const row = event.detail.row; this.chooseHospitalId = row.Id; this.chooseHospital = row.Name; console.log('row.Id:' + row.Id); console.log('row.Name:' + row.Name); this.confirmHospital(); } //确认选择医院 confirmHospital() { if (this.chooseHospital != '' && this.chooseHospital != null) { this.hospitalId = this.chooseHospitalId; this.tempidHp = this.chooseHospitalId; this.hospitalName = this.chooseHospital; this.closeHospitalPop(); //消除警告 var arr = []; for (var i in this.warningMsgs) { if (this.warningMsgs[i] != '请选择医院') { arr.push(this.warningMsgs[i]); } } this.warningMsgs = arr; if (this.tempidHp != 'tempId' && this.tempidHp != '') { searchorderdetails({ methodTypeStr: this.pageType, accountIdStr: this.accountid, hospitalIdStr: this.hospitalId, contractIdStr: this.contractId, userWorkLocationStr: this.userWorkLocation, accountNameStr: this.accountName, proLimitAndDateList: this.proLimitAndDate, editAbleStr: this.editAble }) .then((result) => { if (result.result == 'Success') { this.consumableorderdetailsRecordsview = result.consumableorderdetailsRecordsview; this.currentPage = 1; this.currentRecord = []; this.showCurrentReocrd(); this.getAllChecked(); this.showMyToast( '搜索成功', result.errorMsg, 'success' ); } else { console.log('Error:' + result.errorMsg); if (result.errorMsg == '没有搜索到相关数据') { this.showMyToast(result.errorMsg, '', 'error'); } else { this.showMyToast( '搜索产品失败', result.errorMsg, 'error' ); } } }) .catch((error) => { console.log('Error:' + error); this.showMyToast('搜索产品失败', error, 'error'); }); this.tempidHp = 'tempId'; } } else { this.showMyToast('请选择医院', '', 'error'); } } //打开合同检索弹窗并初始化 showSearchCon() { initContract({ ctype: this.agencyProType1 }) .then((result) => { if (result.result == 'Success') { this.showConPop = true; this.contractList = result.attList; for (var i in this.contractList) { if (this.contractList[i].State_Master__c) { this.contractList[i]['StateMaster'] = this.contractList[i].State_Master__r.Name; } } } else { console.log('Error:' + result.errorMsg); this.showMyToast( '初始化检索合同页面失败', result.errorMsg, 'error' ); } }) .catch((error) => { console.log('Error:' + error); this.showMyToast('初始化检索合同页面失败', error, 'error'); }); } //检索合同 searchCon() { searchContract({ searchName: this.searchNameCon, accountId: this.accountid, ctype: this.agencyProType1, OSHFLGStr: this.OSHFLG }) .then((result) => { if (result.result == 'Success') { this.contractList = result.attList; for (var i in this.contractList) { if (this.contractList[i].State_Master__c) { this.contractList[i]['StateMaster'] = this.contractList[i].State_Master__r.Name; } } } else { console.log('Error:' + result.errorMsg); this.showMyToast('搜索失败', result.errorMsg, 'error'); } }) .catch((error) => { console.log('Error:' + error); this.showMyToast('搜索失败', error, 'error'); }); } searchNameConChange(event) { this.searchNameCon = event.detail.value; } //关闭弹窗 closeContractPop() { this.showConPop = false; this.chooseContract = ''; this.chooseContractId = ''; } //选择合同 // chooseCon(event){ // var conName = event.target.getAttribute("data-name"); // var conid = event.target.getAttribute("data-hosid"); // console.log('hos:'+conName+'---'+conid); // this.chooseContract = conName; // this.chooseContractId = conid; // } chooseCon(event) { const row = event.detail.row; this.chooseContractId = row.Id; this.chooseContract = row.Name; console.log('row.Id:' + row.Id); console.log('row.Name:' + row.Name); this.confirmContract(); } //确认选择合同 confirmContract() { if (this.chooseContract != '' && this.chooseContract != null) { this.contractId = this.chooseContractId; this.tempidPp = this.chooseContractId; this.contractName = this.chooseContract; this.closeContractPop(); if ( this.tempidPp != 'tempId' && this.tempidPp != '' && this.contractId != '' && this.pageType == 'promotionorder' ) { searchorderdetails({ methodTypeStr: this.pageType, accountIdStr: this.accountid, hospitalIdStr: this.hospitalId, contractIdStr: this.contractId, userWorkLocationStr: this.userWorkLocation, accountNameStr: this.accountName, proLimitAndDateList: this.proLimitAndDate, editAbleStr: this.editAble }) .then((result) => { if (result.result == 'Success') { this.consumableorderdetailsRecordsview = result.consumableorderdetailsRecordsview; this.currentPage = 1; this.currentRecord = []; this.showCurrentReocrd(); this.getAllChecked(); this.showMyToast( '搜索成功', result.errorMsg, 'success' ); } else { console.log('Error:' + result.errorMsg); if (result.errorMsg == '没有搜索到相关数据') { this.showMyToast(result.errorMsg, '', 'error'); } else { this.showMyToast( '搜索产品失败', result.errorMsg, 'error' ); } } }) .catch((error) => { console.log('Error:' + error); this.showMyToast('搜索产品失败', error, 'error'); }); this.tempidPp = 'tempId'; } } else { this.showMyToast('请选择合同', '', 'error'); } } showMyToast(title, message, variant) { console.log('show custom message'); var iconName = ''; var content = ''; if (variant == 'success') { iconName = 'utility:check'; } else { iconName = 'utility:error'; } if (message != '') { content = '