| | |
| | | * @Author: chen jing wu |
| | | * @Date: 2023-04-20 15:04:03 |
| | | * @LastEditors: chen jing wu |
| | | * @LastEditTime: 2023-05-16 11:43:27 |
| | | * @LastEditTime: 2023-09-07 14:46:02 |
| | | */ |
| | | const columns2=[ |
| | | let columns2=[ |
| | | { label: '--无--', value: '' }, |
| | | { label: '无信息,跟进不及时', value: '无信息,跟进不及时' }, |
| | | { label: '价格', value: '价格' }, |
| | |
| | | { label: '某种产品缺失', value: '某种产品缺失' }, |
| | | { label: '采购平衡', value: '采购平衡' } |
| | | ]; |
| | | let columns22=[ |
| | | { label: '--无--', value: '' }, |
| | | { label: '无信息,跟进不及时', value: '无信息,跟进不及时' }, |
| | | { label: '价格', value: '价格' }, |
| | | { label: '医生偏好', value: '医生偏好' }, |
| | | { label: '服务不到位', value: '服务不到位' }, |
| | | { label: '竞品原有基础上增添设备', value: '竞品原有基础上增添设备' }, |
| | | { label: '渠道因素', value: '渠道因素' }, |
| | | { label: '某种产品缺失', value: '某种产品缺失' }, |
| | | { label: '采购平衡', value: '采购平衡' } |
| | | ]; |
| | | const productClassOptions = [ |
| | | { label: '--无--', value: '' }, |
| | | { label: '主机', value: '主机' }, |
| | | { label: '镜子', value: '镜子' }, |
| | | { label: '小镜种', value: '小镜种' }, |
| | | { label: '能量', value: '能量' }, |
| | | { label: '其他', value: '其他' } |
| | | ]; |
| | | const productCategoryOptions = [ |
| | | { label: '--无--', value: '' } |
| | | ]; |
| | | const columns3 = [ |
| | | {label : "失单品牌",fieldName : "LostBrandName__c"}, |
| | | {label : "失单对手型号",fieldName : "productName"}, |
| | | {label : "失单数量",fieldName : "Quantity__c",type : "number"}, |
| | | {label : "失单对手型号(手动)",fieldName : "LostProductMannual__c"}, |
| | | {label : "失单产品类别",fieldName : "ProductClass__c"}, |
| | | {label : "失单产品区分",fieldName : "ProductCategory__c"} |
| | | ]; |
| | | const RecordTypeOptions = [ |
| | | { label: '--无--', value: '' }, |
| | | { label: '失单', value: '失单' }, |
| | | { label: '部分失单', value: '部分失单' } |
| | | ]; |
| | | |
| | | import { api, wire,track,LightningElement } from 'lwc'; |
| | | 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 getNewLostProduct from '@salesforce/apex/lexPCLLostReportLwcController.getNewLostProduct'; |
| | | import getPickList from '@salesforce/apex/lexPCLLostReportLwcController.getPickList'; |
| | | import { NavigationMixin } from 'lightning/navigation'; |
| | | import {CloseActionScreenEvent} from 'lightning/actions'; |
| | | import submit from '@salesforce/apex/lexPCLLostReportLwcController.submit'; |
| | | import searchBatchIfForProduct from '@salesforce/apex/lexPCLLostReportLwcController.searchBatchIfForProduct'; |
| | | import {CloseActionScreenEvent} from 'lightning/actions'; |
| | | import lexLookupLwc from 'c/lexLookupLwc'; |
| | | import searchProduct from '@salesforce/apex/lexPCLLostReportLwcController.searchProduct'; |
| | | import { updateRecord } from 'lightning/uiRecordApi'; |
| | | export default class LexPCLLostReportPage extends NavigationMixin(LightningElement) { |
| | | |
| | | |
| | | @track records; |
| | | @api recordJson; |
| | | @track columns2=columns2; |
| | | @api reasonValue; |
| | | @track visible = false; |
| | | @wire(CurrentPageReference) pageRef; |
| | | @api oppId; |
| | | lostReportId = ''; |
| | | pageStatus = 'Create'; |
| | | lostType = '失单'; |
| | | submitFlag = ''; |
| | | flag; |
| | | @track columns2s=columns22; |
| | | @track status = { |
| | | pageStatus: 'Create' |
| | | } |
| | | @track message; |
| | | @track isSuccess; |
| | | @track LostReport = { |
| | | LostBrands: [ |
| | | ], |
| | | lostReport: {} |
| | | }; |
| | | } |
| | | @track brandOptions = []; |
| | | columns=[ |
| | | { "label" : "失单品牌", "apiName" : "LostBrandName__c" ,"fieldType":"picklist","objectName":"PCLLostProduct__c", "readOnly":true,"value":"--无--","required":false}, |
| | | { "label" : "失单对手型号", "apiName" : "LostProduct__c" ,"fieldType":"lookup","objectName":"PCLLostProduct__c","disable":"false","searchfield":"'无'","required":false}, |
| | | { "label" : "失单数量", "apiName" : "Quantity__c","fieldType":"number","objectName":"PCLLostProduct__c" ,"required":true}, |
| | | { "label" : "失单对手型号(手动)", "apiName" : "LostProductMannual__c","fieldType":"text","objectName":"PCLLostProduct__c" ,"required":false}, |
| | | { "label" : "失单产品类别", "apiName" : "ProductClass__c","fieldType":"picklist","objectName":"PCLLostProduct__c" ,"required":true}, |
| | | { "label" : "失单产品区分", "apiName" : "ProductCategory__c","fieldType":"picklist","objectName":"PCLLostProduct__c","required":true} |
| | | ]; |
| | | @track isInit = false; |
| | | lostType = '失单'; |
| | | submitFlag = ''; |
| | | flag; |
| | | tableflag = 0; |
| | | @api reportId; |
| | | @api pageStatus; |
| | | newProduct; |
| | | productOptionsList; |
| | | productClassOptions = productClassOptions; |
| | | productCategoryOptions = productCategoryOptions; |
| | | columns3 = columns3; |
| | | //失单类型 |
| | | RecordTypeOptions = RecordTypeOptions; |
| | | isSubmit = false; |
| | | deleteBrandIdList = []; |
| | | deleteProductIdList = []; |
| | | IsLoading; |
| | | newApprovalHistorys; |
| | | handleCustomButtonClick(event) { |
| | | try { |
| | | var index1 = event.target.title; |
| | | var index2 = event.target.name; |
| | | var elements1 = this.template.querySelectorAll('.ProductClass[data-id="' + index1 + '"]'); |
| | | var elements2 = this.template.querySelectorAll('.ProductCategory[data-id="' + index1 + '"]'); |
| | | this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.LostProduct__c = null; |
| | | elements1[index2].readOnly = false; |
| | | elements2[index2].readOnly = false; |
| | | this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.ProductClass__c=null; |
| | | this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.ProductCategory__c=null; |
| | | this.LostReport.LostBrands[index1].LostProducts[index2].bool=false; |
| | | elements2[index2].readOnly = true; |
| | | } catch (error) { |
| | | console.log('error'); |
| | | } |
| | | } |
| | | |
| | | connectedCallback(){ |
| | | this.status.pageStatus = this.pageStatus; |
| | | init({ |
| | | oppId1: this.oppId, |
| | | lostReportId1: this.lostReportId, |
| | | pageStatus1: this.pageStatus, |
| | | lostReportId1: this.reportId, |
| | | pageStatus1: this.status.pageStatus, |
| | | lostType1: this.lostType, |
| | | submitFlag1: this.submitFlag |
| | | }).then(result=>{ |
| | | console.log(result); |
| | | if(result.message != null){ |
| | | if(result.message == '提交成功!'){ |
| | | this.showToast(result.message,"success"); |
| | |
| | | this.showToast(result.message,"error"); |
| | | } |
| | | }else{ |
| | | this.LostReport = result.LostReport; |
| | | var report = result.LostReport; |
| | | this.LostReport = report; |
| | | this.LostReport.lostReport.LostTotalAmount__c = 0.0; |
| | | this.LostReport.LostBrands[0].columns = JSON.parse(JSON.stringify(this.columns)); |
| | | this.LostReport.lostReport.InclusionUltrasound__c = '0'; |
| | | |
| | | this.newProduct = JSON.parse(JSON.stringify(this.LostReport.LostBrands[0].LostProducts[0])); |
| | | this.newApprovalHistorys = JSON.parse(JSON.stringify(this.LostReport.approvalHistorys)); |
| | | console.log(this.LostReport); |
| | | console.log(this.LostReport.approvalHistorys.length); |
| | | if(this.LostReport.approvalHistorys.length > 0){ |
| | | for(var i=0;i < this.LostReport.approvalHistorys.length;i++){ |
| | | console.log('123'); |
| | | var date = new Date(this.LostReport.approvalHistorys[i].CreatedDate); |
| | | this.LostReport.approvalHistorys[i].CreatedDate = date.toLocaleString(); |
| | | if(this.LostReport.approvalHistorys[i].StepStatus == 'Approved'){ |
| | | this.LostReport.approvalHistorys[i].StepStatus = '已批准'; |
| | | }else if(this.LostReport.approvalHistorys[i].StepStatus == 'Fault'){ |
| | | |
| | | }else if(this.LostReport.approvalHistorys[i].StepStatus == 'Pending'){ |
| | | this.LostReport.approvalHistorys[i].StepStatus = '待处理'; |
| | | }else if(this.LostReport.approvalHistorys[i].StepStatus == 'Held'){ |
| | | |
| | | }else if(this.LostReport.approvalHistorys[i].StepStatus == 'NoResponse'){ |
| | | |
| | | }else if(this.LostReport.approvalHistorys[i].StepStatus == 'Reassigned'){ |
| | | |
| | | }else if(this.LostReport.approvalHistorys[i].StepStatus == 'Rejected'){ |
| | | resthis.LostReportult.approvalHistorys[i].StepStatus = '已拒绝'; |
| | | }else if(this.LostReport.approvalHistorys[i].StepStatus == 'Removed'){ |
| | | |
| | | }else if(this.LostReport.approvalHistorys[i].StepStatus == 'Started'){ |
| | | this.LostReport.approvalHistorys[i].StepStatus = '已提交'; |
| | | } |
| | | // this.LostReport.approvalHistorys.push(JSON.parse(JSON.stringify(result.approvalHistorys[i]))); |
| | | console.log('321'); |
| | | } |
| | | this.submitFlag = true; |
| | | } |
| | | this.isInit = true; |
| | | } |
| | | }).catch(error=>{ |
| | | console.log("error"); |
| | |
| | | console.log("error"); |
| | | console.log(error); |
| | | }); |
| | | getPickList({ |
| | | objectName: 'PCLLostProduct__c', |
| | | fieldName: 'ProductCategory__c' |
| | | }).then(result=>{ |
| | | this.productOptionsList = JSON.parse(result); |
| | | }).catch(error=>{ |
| | | console.log('error'); |
| | | console.log(error); |
| | | }); |
| | | |
| | | } |
| | | renderedCallback(){ |
| | | const sections = this.template.querySelectorAll('lightning-accordion-section'); |
| | | sections.forEach(section=>{ |
| | | console.log(section); |
| | | section.active = true; |
| | | }); |
| | | } |
| | | |
| | | get isInit(){ |
| | | if(this.LostReport.LostBrands[0].columns == undefined){ |
| | | return false; |
| | | }else{ |
| | | return true; |
| | | } |
| | | } |
| | | |
| | | //失单类型 |
| | | RecordTypeOptions = [{ label: '--无--', value: '' }, |
| | | { label: '失单', value: '失单' }, |
| | | { label: '部分失单', value: '部分失单' }]; |
| | | @wire(CurrentPageReference) |
| | | getStateParameters(currentPageReference) { |
| | | console.log(111); |
| | |
| | | } |
| | | } |
| | | } |
| | | getBrandLabel(index){ |
| | | return "失单品牌" + (this.LostReport.LostBrands[index].lineno + 1); |
| | | } |
| | | getParamValue(paramName) { |
| | | // Use the URLSearchParams API to get the value of a query parameter |
| | | const params = new URLSearchParams(window.location.search); |
| | | return params.get(paramName); |
| | | } |
| | | addBrandJs() { |
| | | getNewLostBrand({ |
| | | lineNo: this.LostReport.LostBrands.length |
| | | }).then(result=>{ |
| | | this.LostReport.LostBrands.push(result); |
| | | this.LostReport.LostBrands[this.LostReport.LostBrands.length - 1].columns = JSON.parse(JSON.stringify(this.columns)); |
| | | }); |
| | | } |
| | | submitJS() { |
| | | submit().then(result=>{ |
| | | if(result.get('error')){ |
| | | this.showToast(result.get('error'),"error"); |
| | | |
| | | showToast(msg,type) { |
| | | try { |
| | | if(type == 'success'){ |
| | | this.isSuccess = true; |
| | | }else{ |
| | | this[NavigationMixin.Navigate]({ |
| | | type: 'standard__recordPage', |
| | | attributes: { |
| | | uri: result.get('uri'), |
| | | Id: result.get('Id'), |
| | | pageStatus: result.get('pageStatus'), |
| | | submitFlag: result.get('submitFlag') |
| | | } |
| | | }); |
| | | this.isSuccess = false; |
| | | } |
| | | }); |
| | | this.message = msg; |
| | | this.visible = true; |
| | | let delay = 5000; |
| | | console.log(this.message); |
| | | console.log('1'); |
| | | setTimeout(() => { |
| | | this.visible = false; |
| | | }, delay ); |
| | | } catch (error) { |
| | | console.log(error); |
| | | } |
| | | |
| | | // const event = new ShowToastEvent({ |
| | | // title: '', |
| | | // message: msg, |
| | | // variant: type |
| | | // }); |
| | | // this.dispatchEvent(event); |
| | | } |
| | | get pageStatusIsCreateOrEdit() { |
| | | return this.pageStatus === 'Create' || this.pageStatus === 'Edit'; |
| | | updateRecordView(recordId) { |
| | | updateRecord({fields: { Id: recordId }}); |
| | | } |
| | | |
| | | // get isInit(){ |
| | | // if(this.LostReport.LostBrands[0].LostProducts[0].productOptions == undefined){ |
| | | // return false; |
| | | // }else{ |
| | | // return true; |
| | | // } |
| | | // } |
| | | |
| | | get getData(){ |
| | | var newLostReport = JSON.parse(JSON.stringify(this.LostReport)); |
| | | var products = newLostReport.LostBrands[this.tableflag].LostProducts; |
| | | var productList = []; |
| | | products.forEach(product=>{ |
| | | var newProduct = product; |
| | | newProduct.LostProductss.productName = newProduct.productName; |
| | | productList.push(newProduct.LostProductss); |
| | | }); |
| | | this.tableflag++; |
| | | return productList; |
| | | } |
| | | |
| | | get isBrandCount2(){ |
| | |
| | | return flag; |
| | | } |
| | | |
| | | get isView(){ |
| | | if(this.status.pageStatus == 'View'){ |
| | | return true; |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | get isCreateOrEdit(){ |
| | | if(this.status.pageStatus == 'Create' || this.status.pageStatus == 'Edit'){ |
| | | return true; |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | get isEdit(){ |
| | | if(this.status.pageStatus == 'Edit'){ |
| | | return true; |
| | | } |
| | | return false; |
| | | } |
| | | get isSubmit(){ |
| | | if(this.submitFlag){ |
| | | return true; |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | addBrandJs() { |
| | | getNewLostBrand({ |
| | | lineNo: this.LostReport.LostBrands.length |
| | | }).then(result=>{ |
| | | this.LostReport.LostBrands.push(result); |
| | | }); |
| | | } |
| | | addRow(event){ |
| | | var index = event.target.name; |
| | | getNewLostProduct({ |
| | | lineNo2: this.LostReport.LostBrands[index].LostProducts.length |
| | | }).then(result=>{ |
| | | result.LostProductss.LostBrandName__c = this.LostReport.LostBrands[index].lostBrand.Lost_By_Company__c; |
| | | this.LostReport.LostBrands[index].LostProducts.push(result); |
| | | }); |
| | | } |
| | | submitJs() { |
| | | console.log('1'); |
| | | this.IsLoading = true; |
| | | submit({ |
| | | report1: JSON.stringify(this.LostReport), |
| | | reportId: this.reportId |
| | | }).then(result=>{ |
| | | if(result.error){ |
| | | this.showToast(result.error,"error"); |
| | | }else{ |
| | | console.log(result); |
| | | console.log(this.LostReport); |
| | | for(var i=0;i < result.approvalHistorys.length;i++){ |
| | | console.log('123'); |
| | | var date = new Date(result.approvalHistorys[i].CreatedDate); |
| | | result.approvalHistorys[i].CreatedDate = date.toLocaleString(); |
| | | if(result.approvalHistorys[i].StepStatus == 'Approved'){ |
| | | result.approvalHistorys[i].StepStatus = '已批准'; |
| | | }else if(result.approvalHistorys[i].StepStatus == 'Fault'){ |
| | | |
| | | }else if(result.approvalHistorys[i].StepStatus == 'Pending'){ |
| | | result.approvalHistorys[i].StepStatus = '待处理'; |
| | | }else if(result.approvalHistorys[i].StepStatus == 'Held'){ |
| | | |
| | | }else if(result.approvalHistorys[i].StepStatus == 'NoResponse'){ |
| | | |
| | | }else if(result.approvalHistorys[i].StepStatus == 'Reassigned'){ |
| | | |
| | | }else if(result.approvalHistorys[i].StepStatus == 'Rejected'){ |
| | | result.approvalHistorys[i].StepStatus = '已拒绝'; |
| | | }else if(result.approvalHistorys[i].StepStatus == 'Removed'){ |
| | | |
| | | }else if(result.approvalHistorys[i].StepStatus == 'Started'){ |
| | | result.approvalHistorys[i].StepStatus = '已提交'; |
| | | } |
| | | this.LostReport.approvalHistorys.push(JSON.parse(JSON.stringify(result.approvalHistorys[i]))); |
| | | console.log('321'); |
| | | } |
| | | this.submitFlag = JSON.parse(JSON.stringify(result.submitFlag)); |
| | | console.log(this.LostReport); |
| | | this.updateRecordView(this.reportId); |
| | | this.LostReport.lostReport.Report_Status__c = '申请中'; |
| | | } |
| | | this.IsLoading = false; |
| | | }).catch(error=>{ |
| | | console.log("error"); |
| | | console.log(error); |
| | | }); |
| | | } |
| | | onApproveChange(event){ |
| | | window.open('/lightning/r/ProcessInstanceStep/'+ this.LostReport.approvalHistorys[0].Id + '/view?0.source=alohaHeader'); |
| | | // this[NavigationMixin.Navigate]({ |
| | | // type: 'standard__recordPage', |
| | | // attributes: { |
| | | // recordId: this.LostReport.approvalHistorys[0].Id, |
| | | // actionName: 'view' |
| | | // } |
| | | // }); |
| | | } |
| | | |
| | | |
| | | 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 => { |
| | | console.log(element.value); |
| | | 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; |
| | | } |
| | | setBrandName(brandNumber) { |
| | | setbrand().then(()=>{ |
| | | this.clearBrandMannualName(); |
| | | }); |
| | | } |
| | | |
| | | setBrandMannualName(event) { |
| | | var index = event.target.name; |
| | | const payload = event.detail.payload; |
| | | const payloadType = event.detail.payloadType; |
| | | this.LostReport.LostBrands[index].lostBrand.Lost_By_Company__c = payload.value; |
| | | if(payloadType === 'multi-select'){ |
| | | this.setDefaultBrand(payload.value,index); |
| | | this.clearBrandMannualName(payload.value,index); |
| | | 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; |
| | | this.LostReport.LostBrands[index].lostBrand.Lost_reason_main__c = ''; |
| | | this.LostReport.LostBrands[index].lostBrand.Lost_Reason_Sub__c = ''; |
| | | searchBatchIfForProduct({ |
| | | productName: this.LostReport.LostBrands[index].lostBrand.Lost_By_Company__c |
| | | }).then(result=>{ |
| | | console.log(result); |
| | | if(result == '进口'){ |
| | | this.columns2s = columns2; |
| | | }else{ |
| | | this.columns2s = columns22; |
| | | } |
| | | if(payloadType === 'multi-select'){ |
| | | |
| | | this.clearProducts(payload.value,index); |
| | | this.setDefaultBrand(payload.value,index); |
| | | this.clearBrandMannualName(payload.value,index); |
| | | } |
| | | }); |
| | | |
| | | } |
| | | setDefaultBrand(value,index){ |
| | | this.LostReport.LostBrands[index].columns[0].value = value; |
| | | var newProducts = []; |
| | | this.LostReport.LostBrands[index].LostProducts.forEach(product=>{ |
| | | this.newProduct.LostProductss.LostBrandName__c = value; |
| | | newProducts.push(JSON.parse(JSON.stringify(this.newProduct))); |
| | | }); |
| | | this.LostReport.LostBrands[index].LostProducts = newProducts; |
| | | } |
| | | clearProducts(value,index){ |
| | | var newProducts = []; |
| | | this.LostReport.LostBrands[index].LostProducts.forEach(product=>{ |
| | | this.newProduct.LostProductss.LostBrandName__c = value; |
| | | newProducts.push(JSON.parse(JSON.stringify(this.newProduct))); |
| | | }); |
| | | var elements1 = this.template.querySelectorAll('.ProductClass[data-id="' + index + '"]'); |
| | | elements1.forEach(element=>{ |
| | | element.readOnly = false; |
| | | }); |
| | | var elements2 = this.template.querySelectorAll('.Product[data-id="' + index + '"]'); |
| | | elements2.forEach(element=>{ |
| | | element.clearSelection(); |
| | | }); |
| | | this.LostReport.LostBrands[index].LostProducts = newProducts; |
| | | } |
| | | |
| | | |
| | |
| | | if (value == '其他') { |
| | | var elements = this.template.querySelectorAll('[data-id="Lost_By_Company_Mannual"]'); |
| | | elements[index].disabled = false; |
| | | this.LostReport.LostBrands[index].columns[1].disable = true; |
| | | elements[index].required = true; |
| | | var elements1 = this.template.querySelectorAll('.Product[data-id="' + index + '"]'); |
| | | elements1.forEach(element=>{ |
| | | element.letDisabledTrue(); |
| | | }); |
| | | } else { |
| | | var elements = this.template.querySelectorAll('[data-id="Lost_By_Company_Mannual"]'); |
| | | this.brandFlag = false; |
| | | elements[index].value = ''; |
| | | elements[index].disabled = true; |
| | | this.LostReport.LostBrands[index].columns[1].disable = false; |
| | | elements[index].required = false; |
| | | var elements1 = this.template.querySelectorAll('.Product[data-id="' + index + '"]'); |
| | | elements1.forEach(element=>{ |
| | | element.letDisabledFalse(); |
| | | }); |
| | | } |
| | | } |
| | | cancel() { |
| | | // Navigate to the specified opportunity page using the NavigationMixin |
| | | this[NavigationMixin.Navigate]({ |
| | | type: 'standard__recordPage', |
| | | attributes: { |
| | | recordId: this.oppId, |
| | | actionName: 'view' |
| | | } |
| | | }); |
| | | // this[NavigationMixin.Navigate]({ |
| | | // type: 'standard__recordPage', |
| | | // attributes: { |
| | | // recordId: this.oppId, |
| | | // actionName: 'view' |
| | | // } |
| | | // }); |
| | | window.location = '/' +this.oppId; |
| | | } |
| | | |
| | | } |
| | | showToast(msg,type) { |
| | | const event = new ShowToastEvent({ |
| | | title: '', |
| | | message: msg, |
| | | variant: type |
| | | }); |
| | | this.dispatchEvent(event); |
| | | this.dispatchEvent(new CloseActionScreenEvent()); |
| | | } |
| | | saveBrandJs(event) { |
| | | var index = event.target.name; |
| | | var tables = this.template.querySelectorAll("c-lex-dynamic-table"); |
| | | if(tables.length > 1){ |
| | | if(index == "save"){ |
| | | for(let i=0;i < table.length;i++){ |
| | | var products = this.LostReport.LostBrands[i].LostProducts; |
| | | var table = tables[i]; |
| | | if(table!=undefined){ |
| | | var records = table.retrieveRecords(); |
| | | for(let j=0;j<records.length - 1;j++){ |
| | | products.push(JSON.parse(JSON.stringify(products[0]))); |
| | | } |
| | | for(let j=0;j<records.length;j++){ |
| | | products[j].LostProductss.LostBrandName__c = records[j].LostBrandName__c; |
| | | products[j].LostProductss.Quantity__c = records[j].Quantity__c; |
| | | products[j].LostProductss.LostProductMannual__c = records[j].LostProductMannual__c; |
| | | products[j].LostProductss.ProductClass__c = records[j].ProductClass__c; |
| | | products[j].LostProductss.ProductCategory__c = records[j].ProductCategory__c; |
| | | products[j].LostProductss.LostProduct__c = records[j].LostProduct__c; |
| | | } |
| | | } |
| | | } |
| | | }else{ |
| | | var products = this.LostReport.LostBrands[index].LostProducts; |
| | | var table = tables[index]; |
| | | if(table!=undefined){ |
| | | var records = table.retrieveRecords(); |
| | | for(let i=0;i<records.length - 1;i++){ |
| | | products.push(JSON.parse(JSON.stringify(products[0]))); |
| | | } |
| | | for(let i=0;i<records.length;i++){ |
| | | products[i].LostProductss.LostBrandName__c = records[i].LostBrandName__c; |
| | | products[i].LostProductss.Quantity__c = records[i].Quantity__c; |
| | | products[i].LostProductss.LostProductMannual__c = records[i].LostProductMannual__c; |
| | | products[i].LostProductss.ProductClass__c = records[i].ProductClass__c; |
| | | products[i].LostProductss.ProductCategory__c = records[i].ProductCategory__c; |
| | | products[i].LostProductss.LostProduct__c = records[i].LostProduct__c; |
| | | } |
| | | } |
| | | } |
| | | }else{ |
| | | var products = this.LostReport.LostBrands[0].LostProducts; |
| | | var table = tables[0]; |
| | | if(table!=undefined){ |
| | | var records = table.retrieveRecords(); |
| | | console.log(JSON.stringify(records)); |
| | | if(records.length > 1){ |
| | | for(let i=0;i<records.length - 1;i++){ |
| | | products.push(JSON.parse(JSON.stringify(products[0]))); |
| | | } |
| | | } |
| | | for(let i=0;i<records.length;i++){ |
| | | products[i].LostProductss.LostBrandName__c = records[i].LostBrandName__c; |
| | | products[i].LostProductss.Quantity__c = records[i].Quantity__c; |
| | | products[i].LostProductss.LostProductMannual__c = records[i].LostProductMannual__c; |
| | | products[i].LostProductss.ProductClass__c = records[i].ProductClass__c; |
| | | products[i].LostProductss.ProductCategory__c = records[i].ProductCategory__c; |
| | | products[i].LostProductss.LostProduct__c = records[i].LostProduct__c; |
| | | } |
| | | } |
| | | } |
| | | this.IsLoading = true; |
| | | this.dataCheck(); |
| | | if(!this.flag){ |
| | | this.IsLoading = false; |
| | | return; |
| | | } |
| | | console.log(this.LostReport); |
| | | var newLostReport = JSON.parse(JSON.stringify(this.LostReport)); |
| | | newLostReport.approvalHistorys = this.newApprovalHistorys; |
| | | dataEntry({ |
| | | report1 : JSON.stringify(this.LostReport) |
| | | report1 : JSON.stringify(newLostReport), |
| | | deleteBrandIdList: this.deleteBrandIdList, |
| | | deleteProductIdList: this.deleteProductIdList |
| | | }).then(result=>{ |
| | | if(result){ |
| | | this.showToast(result,"error") |
| | | 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++; |
| | | // }); |
| | | // index1++; |
| | | // }); |
| | | var newLostReport = JSON.parse(result.LostReport); |
| | | |
| | | if(newLostReport.approvalHistorys.length > 0){ |
| | | for(var i=0;i < newLostReport.approvalHistorys.length;i++){ |
| | | console.log('123'); |
| | | var date = new Date(newLostReport.approvalHistorys[i].CreatedDate); |
| | | newLostReport.approvalHistorys[i].CreatedDate = date.toLocaleString(); |
| | | if(newLostReport.approvalHistorys[i].StepStatus == 'Approved'){ |
| | | newLostReport.approvalHistorys[i].StepStatus = '已批准'; |
| | | }else if(newLostReport.approvalHistorys[i].StepStatus == 'Fault'){ |
| | | |
| | | }else if(newLostReport.approvalHistorys[i].StepStatus == 'Pending'){ |
| | | newLostReport.approvalHistorys[i].StepStatus = '待处理'; |
| | | }else if(newLostReport.approvalHistorys[i].StepStatus == 'Held'){ |
| | | |
| | | }else if(newLostReport.approvalHistorys[i].StepStatus == 'NoResponse'){ |
| | | |
| | | }else if(newLostReport.approvalHistorys[i].StepStatus == 'Reassigned'){ |
| | | |
| | | }else if(newLostReport.approvalHistorys[i].StepStatus == 'Rejected'){ |
| | | newLostReport.approvalHistorys[i].StepStatus = '已拒绝'; |
| | | }else if(newLostReport.approvalHistorys[i].StepStatus == 'Removed'){ |
| | | |
| | | }else if(newLostReport.approvalHistorys[i].StepStatus == 'Started'){ |
| | | newLostReport.approvalHistorys[i].StepStatus = '已提交'; |
| | | } |
| | | } |
| | | } |
| | | |
| | | this.LostReport = newLostReport; |
| | | this.reportId = result.reportId; |
| | | // this.LostReport.lostReport.Id = result.reportId; |
| | | // console.log(this.LostReport); |
| | | this.status.pageStatus = 'View'; |
| | | this.tableflag = 0; |
| | | this.showToast('保存成功','success'); |
| | | console.log(this.LostReport); |
| | | } |
| | | this.IsLoading = false; |
| | | }).catch(error=>{ |
| | | console.log("error"); |
| | | console.log(error); |
| | | }); |
| | | |
| | | }); |
| | | } |
| | | handleLostTypeChange(event){ |
| | | var value = event.target.value; |
| | | this.LostReport.lostReport.LostType__c = value; |
| | | editJs(){ |
| | | this.status.pageStatus = 'Edit'; |
| | | } |
| | | |
| | | handleLostReasonMainChange(event){ |
| | | var index = event.target.name; |
| | | var value = event.target.value; |
| | | this.LostReport.LostBrands[index].lostBrand.Lost_reason_main__c = value; |
| | | } |
| | | |
| | | handleLostReasonSubChange(event){ |
| | | var index = event.target.name; |
| | | var value = event.target.value; |
| | | this.LostReport.LostBrands[index].lostBrand.Lost_Reason_Sub__c = value; |
| | | } |
| | | |
| | | handleLostByCompanyMannualChange(event){ |
| | | var index = event.target.name; |
| | | var value = event.target.value; |
| | | this.LostReport.LostBrands[index].lostBrand.Lost_By_Company_Mannual__c = value; |
| | | } |
| | | |
| | | handleLostPriceOutChange(event){ |
| | | var index = event.target.name; |
| | | var value = event.target.value; |
| | | this.LostReport.LostBrands[index].lostBrand.LostPrice__c = value; |
| | | this.setLostTotalAmount(); |
| | | } |
| | | handleAgencyOutChange(event){ |
| | | var index = event.target.name; |
| | | var value = event.target.value; |
| | | this.LostReport.LostBrands[index].lostBrand.Agency__c = value; |
| | | } |
| | | handleAgencyMannualOutChange(event){ |
| | | var index = event.target.name; |
| | | var value = event.target.value; |
| | | this.LostReport.LostBrands[index].lostBrand.AgencyMannual__c = value; |
| | | } |
| | | |
| | | dataCheck(){ |
| | | this.flag = true; |
| | | if(this.LostReport.lostReport.LostType__c == undefined || this.isBlank(this.LostReport.lostReport.LostType__c)) |
| | |
| | | isBlank(str) { |
| | | return /^\s*$/.test(str); |
| | | } |
| | | removeRow(event){ |
| | | var index1 = event.target.name; |
| | | var index2 = event.target.value; |
| | | var deleteButtons = this.template.querySelectorAll('.deleteButton[data-id="' + index1 + '"]'); |
| | | 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('12345'); |
| | | 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) { |
| | | 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; |
| | | this.LostReport.LostBrands[topNum].LostProducts[secondNum].bool=false; |
| | | // elements1[secondNum].readOnly = true; |
| | | // elements2[secondNum].readOnly = true; |
| | | |
| | | }else { |
| | | searchProduct({ |
| | | lostProduct : this.LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.LostProduct__c |
| | | }).then(result=>{ |
| | | console.log(result); |
| | | var prd = JSON.parse(result); |
| | | this.LostReport.LostBrands[topNum].LostProducts[secondNum].productOptions = this.productOptionsList[prd.ProductClass__c]; |
| | | if (prd.ProductCategory__c!=null) { |
| | | 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; |
| | | }else { |
| | | 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; |
| | | } |
| | | }).catch(error=>{ |
| | | console.log("error"); |
| | | console.log(error); |
| | | }); |
| | | |
| | | } |
| | | } |
| | | |
| | | handleClear(event){ |
| | | console.log('ssss'); |
| | | } |
| | | |
| | | handleSelected(event) { |
| | | console.log('54321'); |
| | | var index1 = event.target.title; |
| | | var index2 = event.target.name; |
| | | 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); |
| | | } |
| | | |
| | | handleLostTypeChange(event){ |
| | | var value = event.target.value; |
| | | this.LostReport.lostReport.LostType__c = value; |
| | | } |
| | | |
| | | handleLostReasonMainChange(event){ |
| | | var index = event.target.name; |
| | | var value = event.target.value; |
| | | this.LostReport.LostBrands[index].lostBrand.Lost_reason_main__c = value; |
| | | } |
| | | |
| | | handleLostReasonSubChange(event){ |
| | | var index = event.target.name; |
| | | var value = event.target.value; |
| | | this.LostReport.LostBrands[index].lostBrand.Lost_Reason_Sub__c = value; |
| | | } |
| | | |
| | | handleLostByCompanyMannualChange(event){ |
| | | var index = event.target.name; |
| | | var value = event.target.value; |
| | | this.LostReport.LostBrands[index].lostBrand.Lost_By_Company_Mannual__c = value; |
| | | this.setDefaultBrand(value,index); |
| | | var elements = this.template.querySelectorAll('.Product[data-id="' + index + '"]'); |
| | | if(value == '' || value == null){ |
| | | elements.forEach(element=>{ |
| | | element.letDisabledTrue(); |
| | | }); |
| | | }else{ |
| | | elements.forEach(element=>{ |
| | | element.letDisabledFalse(); |
| | | }); |
| | | } |
| | | } |
| | | |
| | | handleLostPriceOutChange(event){ |
| | | var index = event.target.name; |
| | | var value = event.target.value; |
| | | this.LostReport.LostBrands[index].lostBrand.LostPrice__c = value; |
| | | this.setLostTotalAmount(); |
| | | } |
| | | handleAgencyOutChange(event){ |
| | | var index = event.target.name; |
| | | var value = event.target.value; |
| | | this.LostReport.LostBrands[index].lostBrand.Agency__c = value; |
| | | } |
| | | handleAgencyMannualOutChange(event){ |
| | | var index = event.target.name; |
| | | var value = event.target.value; |
| | | this.LostReport.LostBrands[index].lostBrand.AgencyMannual__c = value; |
| | | } |
| | | handleLostBrandNameChange(event){ |
| | | var index1 = event.target.title; |
| | | var index2 = event.target.name; |
| | | this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.LostBrandName__c = event.target.value; |
| | | } |
| | | handleLostProductChange(event){ |
| | | var index1 = event.target.title; |
| | | var index2 = event.target.name; |
| | | this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.LostProduct__c = event.target.value; |
| | | } |
| | | handleQuantityChange(event){ |
| | | var index1 = event.target.title; |
| | | var index2 = event.target.name; |
| | | this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.Quantity__c = event.target.value; |
| | | } |
| | | handleLostProductMannualChange(event){ |
| | | var index1 = event.target.title; |
| | | var index2 = event.target.name; |
| | | this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.LostProductMannual__c = event.target.value; |
| | | } |
| | | handleProductClassChange(event){ |
| | | var index1 = event.target.title; |
| | | var index2 = event.target.name; |
| | | this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.ProductClass__c = event.target.value; |
| | | var val = event.target.value; |
| | | if(val == ''){ |
| | | var temps1 =this.template.querySelectorAll('.ProductCategory[data-id="'+ index1 +'"]'); |
| | | temps1[index2].readOnly = true; |
| | | temps1[index2].value = ''; |
| | | }else{ |
| | | var temps1 =this.template.querySelectorAll('.ProductCategory[data-id="'+ index1 +'"]'); |
| | | temps1[index2].readOnly = false; |
| | | this.LostReport.LostBrands[index1].LostProducts[index2].productOptions = this.productOptionsList[val]; |
| | | } |
| | | |
| | | } |
| | | |
| | | handleProductCategoryChange(event){ |
| | | var index1 = event.target.title; |
| | | var index2 = event.target.name; |
| | | var val = event.target.value; |
| | | var categorys = this.template.querySelectorAll('.ProductCategory'); |
| | | var flag = false; |
| | | categorys.forEach(category=>{ |
| | | if(category.value == '超声主机'){ |
| | | flag = true; |
| | | } |
| | | }); |
| | | if(flag){ |
| | | this.LostReport.lostReport.InclusionUltrasound__c = '1'; |
| | | }else{ |
| | | this.LostReport.lostReport.InclusionUltrasound__c = '0'; |
| | | } |
| | | this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.ProductCategory__c = val; |
| | | } |
| | | |
| | | } |