| | |
| | | * @Author: chen jing wu |
| | | * @Date: 2023-04-20 15:04:03 |
| | | * @LastEditors: chen jing wu |
| | | * @LastEditTime: 2023-05-31 11:42:30 |
| | | * @LastEditTime: 2023-06-06 10:51:30 |
| | | */ |
| | | const columns2=[ |
| | | { label: '--无--', value: '' }, |
| | |
| | | import { CurrentPageReference } from "lightning/navigation"; |
| | | import dataEntry from '@salesforce/apex/lexPCLLostReportLwcController.dataEntry'; |
| | | import { ShowToastEvent } from 'lightning/platformShowToastEvent'; |
| | | import setbrand from '@salesforce/apex/lexPCLLostReportLwcController.setBrand'; |
| | | import init from '@salesforce/apex/lexPCLLostReportLwcController.init'; |
| | | import multiSelectCombobox from 'c/multiSelectCombobox' |
| | | import lexMultiSelectCombobox from 'c/lexmultiSelectCombobox'; |
| | | import searchBrands from '@salesforce/apex/lexPCLLostReportLwcController.searchBrands'; |
| | | import getNewLostBrand from '@salesforce/apex/lexPCLLostReportLwcController.getNewLostBrand'; |
| | | import getPickList from '@salesforce/apex/lexPCLLostReportLwcController.getPickList'; |
| | |
| | | |
| | | @api oppId; |
| | | @track columns2=columns2; |
| | | @api pageStatus = 'Create'; |
| | | @track status = { |
| | | pageStatus: 'Create' |
| | | } |
| | | @track LostReport = { |
| | | LostBrands: [ |
| | | ], |
| | |
| | | //失单类型 |
| | | RecordTypeOptions = RecordTypeOptions; |
| | | isSubmit = false; |
| | | deleteBrandIdList = []; |
| | | deleteProductIdList = []; |
| | | connectedCallback(){ |
| | | init({ |
| | | oppId1: this.oppId, |
| | | lostReportId1: this.reportId, |
| | | pageStatus1: this.pageStatus, |
| | | pageStatus1: this.status.pageStatus, |
| | | lostType1: this.lostType, |
| | | submitFlag1: this.submitFlag |
| | | }).then(result=>{ |
| | |
| | | } |
| | | |
| | | get isView(){ |
| | | if(this.pageStatus == 'View'){ |
| | | if(this.status.pageStatus == 'View'){ |
| | | return true; |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | get isCreateOrEdit(){ |
| | | if(this.pageStatus == 'Create' || this.pageStatus == 'Edit'){ |
| | | if(this.status.pageStatus == 'Create' || this.status.pageStatus == 'Edit'){ |
| | | return true; |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | get isEdit(){ |
| | | if(this.pageStatus == 'Edit'){ |
| | | if(this.status.pageStatus == 'Edit'){ |
| | | return true; |
| | | } |
| | | return false; |
| | |
| | | this.showToast(result.error,"error"); |
| | | }else{ |
| | | this.submitFlag = result.submitFlag; |
| | | init({ |
| | | oppId1: this.oppId, |
| | | lostReportId1: this.reportId, |
| | | pageStatus1: result.pageStatus, |
| | | lostType1: this.lostType, |
| | | submitFlag1: this.submitFlag |
| | | }).then(result=>{ |
| | | var report = result.LostReport; |
| | | if(result.message != null){ |
| | | if(result.message == '提交成功!'){ |
| | | this.LostReport = report; |
| | | this.isSubmit = true; |
| | | this.pageStatus = 'View'; |
| | | console.log(this.LostReport); |
| | | this.showToast(result.message,"success"); |
| | | this.updateRecordView(this.reportId); |
| | | |
| | | }else{ |
| | | this.showToast(result.message,"error"); |
| | | } |
| | | }else{ |
| | | this.LostReport = report; |
| | | } |
| | | }).catch(error=>{ |
| | | console.log("error"); |
| | | console.log(error); |
| | | }); |
| | | this.updateRecordView(this.reportId); |
| | | } |
| | | }).catch(error=>{ |
| | | console.log("error"); |
| | |
| | | |
| | | deleteBrandJs(event){ |
| | | var str = event.target.name; |
| | | this.columnsArrIndex = 0; |
| | | if(this.LostReport.LostBrands[str].lostBrand.Id){ |
| | | this.deleteBrandIdList.push(this.LostReport.LostBrands[str].lostBrand.Id); |
| | | } |
| | | this.LostReport.LostBrands.splice(str,1); |
| | | console.log(this.LostReport); |
| | | this.deleteBrandIdList.forEach(brandId=>{ |
| | | console.log(brandId); |
| | | }); |
| | | this.setLostTotalAmount(); |
| | | } |
| | | // add tcm 20211118 end |
| | | setLostTotalAmount() { |
| | | var elements = this.template.querySelectorAll('[data-id="TotalAmount"]'); |
| | | var tempLostAmount = 0.0; |
| | | elements.forEach(element => { |
| | | if(element.value != 0){ |
| | | tempLostAmount = tempLostAmount + parseFloat(element.value); |
| | | } |
| | | this.LostReport.LostBrands.forEach(brand=>{ |
| | | tempLostAmount = tempLostAmount + parseFloat(brand.lostBrand.LostPrice__c); |
| | | }); |
| | | this.LostReport.lostReport.LostTotalAmount__c = tempLostAmount; |
| | | } |
| | |
| | | var index = event.target.name; |
| | | const payload = event.detail.payload; |
| | | const payloadType = event.detail.payloadType; |
| | | if(this.LostReport.LostBrands[index].lostBrand.Id){ |
| | | this.LostReport.LostBrands[index].LostProducts.forEach(product=>{ |
| | | if(product.LostProductss.Id){ |
| | | var productId = product.LostProductss.Id |
| | | this.deleteProductIdList.push(productId); |
| | | } |
| | | }); |
| | | console.log(this.deleteProductIdList); |
| | | } |
| | | this.LostReport.LostBrands[index].lostBrand.Lost_By_Company__c = payload.value; |
| | | if(payloadType === 'multi-select'){ |
| | | this.clearProducts(payload.value,index); |
| | |
| | | } |
| | | } |
| | | setDefaultBrand(value,index){ |
| | | console.log('22222'); |
| | | // this.LostReport.LostBrands[index].LostProducts.forEach(product => { |
| | | // product.LostProductss.LostBrandName__c = value; |
| | | // }); |
| | | var newProducts = []; |
| | | this.LostReport.LostBrands[index].LostProducts.forEach(product=>{ |
| | | this.newProduct.LostProductss.LostBrandName__c = value; |
| | |
| | | this.LostReport.LostBrands[index].LostProducts = newProducts; |
| | | } |
| | | clearProducts(value,index){ |
| | | console.log('111111'); |
| | | var newProducts = []; |
| | | this.LostReport.LostBrands[index].LostProducts.forEach(product=>{ |
| | | this.newProduct.LostProductss.LostBrandName__c = value; |
| | |
| | | if(!this.flag){ |
| | | return; |
| | | } |
| | | console.log(this.pageStatus); |
| | | if(this.pageStatus == 'Edit'){ |
| | | this.pageStatus = 'View'; |
| | | }else{ |
| | | dataEntry({ |
| | | report1 : JSON.stringify(this.LostReport) |
| | | }).then(result=>{ |
| | | console.log(result); |
| | | if(result.error){ |
| | | this.showToast(result.error,"error"); |
| | | }else{ |
| | | this.LostReport = JSON.parse(result.LostReport); |
| | | this.reportId = result.reportId; |
| | | console.log(this.LostReport); |
| | | Promise.resolve().then(() => { |
| | | this.pageStatus = 'View'; |
| | | this.template.querySelectorAll('lightning-card').forEach(elem => { |
| | | elem.classList.toggle('View'); |
| | | }); |
| | | console.log(this.LostReport); |
| | | dataEntry({ |
| | | report1 : JSON.stringify(this.LostReport), |
| | | deleteBrandIdList: this.deleteBrandIdList, |
| | | deleteProductIdList: this.deleteProductIdList |
| | | }).then(result=>{ |
| | | console.log(result); |
| | | this.deleteBrandIdList.splice(0,this.deleteBrandIdList.length); |
| | | this.deleteProductIdList.splice(0,this.deleteProductIdList.length); |
| | | if(result.error){ |
| | | this.showToast(result.error,"error"); |
| | | }else{ |
| | | var report = JSON.parse(result.LostReport); |
| | | var index1 = 0; |
| | | this.LostReport.LostBrands.forEach(brand=>{ |
| | | brand.lostBrand.Id = report.LostBrands[index1].lostBrand.Id; |
| | | var index2 = 0; |
| | | brand.LostProducts.forEach(product=>{ |
| | | product.LostProductss.Id = report.LostBrands[index1].LostProducts[index2].LostProductss.Id; |
| | | index2++; |
| | | }); |
| | | } |
| | | }).catch(error=>{ |
| | | console.log("error"); |
| | | console.log(error); |
| | | }); |
| | | } |
| | | |
| | | index1++; |
| | | }); |
| | | this.reportId = result.reportId; |
| | | this.LostReport.lostReport.Id = result.reportId; |
| | | console.log(this.LostReport); |
| | | this.status.pageStatus = 'View'; |
| | | this.tableflag = 0; |
| | | } |
| | | }).catch(error=>{ |
| | | console.log("error"); |
| | | console.log(error); |
| | | }); |
| | | } |
| | | saveBrandToEditJs(event) { |
| | | Promise.resolve().then(() => { |
| | | this.pageStatus = 'View'; |
| | | this.template.querySelectorAll('lightning-card').forEach(elem => { |
| | | elem.classList.toggle('View'); |
| | | }); |
| | | }); |
| | | } |
| | | |
| | | editJs(){ |
| | | Promise.resolve().then(() => { |
| | | this.pageStatus = 'Edit'; |
| | | this.template.querySelectorAll('lightning-card').forEach(elem => { |
| | | elem.classList.toggle('Edit'); |
| | | }); |
| | | }); |
| | | // var elements = this.template.querySelectorAll('.Product'); |
| | | // console.log(elements.length); |
| | | // elements.forEach(element=>{ |
| | | // var name = null; |
| | | // this.productNameList.forEach(product=>{ |
| | | // if(product.index1 == element.title && product.index2 == element.name){ |
| | | // name = product.name; |
| | | // } |
| | | // }); |
| | | // element.editLookup(name); |
| | | // }); |
| | | this.status.pageStatus = 'Edit'; |
| | | } |
| | | |
| | | dataCheck(){ |
| | |
| | | if(deleteButtons.length == 1){ |
| | | return; |
| | | } |
| | | if(this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.Id){ |
| | | var productId = this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.Id; |
| | | this.deleteProductIdList.push(productId); |
| | | } |
| | | this.LostReport.LostBrands[index1].LostProducts.splice(index2,1); |
| | | console.log(this.deleteProductIdList); |
| | | } |
| | | search(topNum,secondNum){ |
| | | console.log("sb"); |
| | | var elements1 = this.template.querySelectorAll('.ProductClass[data-id="' + topNum + '"]'); |
| | | var elements2 = this.template.querySelectorAll('.ProductCategory[data-id="' + topNum + '"]'); |
| | | if (this.LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.LostProduct__c==null) { |
| | |
| | | elements2[secondNum].readOnly = true; |
| | | |
| | | }else { |
| | | console.log("a"); |
| | | searchProduct({ |
| | | lostProduct : this.LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.LostProduct__c |
| | | }).then(result=>{ |
| | |
| | | var prd = JSON.parse(result); |
| | | this.LostReport.LostBrands[topNum].LostProducts[secondNum].productOptions = this.productOptionsList[prd.ProductClass__c]; |
| | | if (prd.ProductCategory__c!=null) { |
| | | console.log("c"); |
| | | elements1[secondNum].readOnly = false; |
| | | elements2[secondNum].readOnly = false; |
| | | this.LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.ProductClass__c=prd.ProductClass__c; |
| | | this.LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.ProductCategory__c=prd.ProductCategory__c; |
| | | elements1[secondNum].readOnly = true; |
| | | elements2[secondNum].readOnly = true; |
| | | console.log("e"); |
| | | // this.LostReport.LostBrands[topNum].LostProducts[secondNum].bool=true; |
| | | }else { |
| | | console.log("d"); |
| | | elements1[secondNum].readOnly = false; |
| | | elements2[secondNum].readOnly = false; |
| | | this.LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.ProductClass__c=null; |
| | | this.LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.ProductCategory__c=null; |
| | | elements1[secondNum].readOnly = true; |
| | | elements2[secondNum].readOnly = true; |
| | | // this.LostReport.LostBrands[topNum].LostProducts[secondNum].bool=false; |
| | | } |
| | | }).catch(error=>{ |
| | | console.log("error"); |
| | |
| | | } |
| | | } |
| | | handleSelected(event) { |
| | | console.log('......'); |
| | | var index1 = event.target.title; |
| | | var index2 = event.target.name; |
| | | // var objectname = event.detail.ObjectName; |
| | | this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.LostProduct__c = event.detail.Id; |
| | | this.LostReport.LostBrands[index1].LostProducts[index2].productName = event.detail.Name; |
| | | this.search(index1,index2); |
| | | console.log(this.LostReport); |
| | | // this.account = {Name : event.detail.Name, Id: event.detail.Id} |
| | | |
| | | } |
| | | |
| | | handleLostTypeChange(event){ |
| | |
| | | this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.LostProductMannual__c = event.target.value; |
| | | } |
| | | handleProductClassChange(event){ |
| | | console.log("qwer"); |
| | | var index1 = event.target.title; |
| | | var index2 = event.target.name; |
| | | this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.ProductClass__c = event.target.value; |