| | |
| | | * @Author: chen jing wu |
| | | * @Date: 2023-04-20 15:04:03 |
| | | * @LastEditors: chen jing wu |
| | | * @LastEditTime: 2023-08-01 16:22:17 |
| | | * @LastEditTime: 2023-09-07 14:46:02 |
| | | */ |
| | | const columns2=[ |
| | | let columns2=[ |
| | | { label: '--无--', value: '' }, |
| | | { label: '无信息,跟进不及时', value: '无信息,跟进不及时' }, |
| | | { label: '价格', value: '价格' }, |
| | | { label: '医生偏好', value: '医生偏好' }, |
| | | { label: '服务不到位', value: '服务不到位' }, |
| | | { 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: '某种产品缺失' }, |
| | |
| | | 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 init from '@salesforce/apex/lexPCLLostReportLwcController.init'; |
| | | import multiSelectCombobox from 'c/multiSelectCombobox' |
| | | import searchBrands from '@salesforce/apex/lexPCLLostReportLwcController.searchBrands'; |
| | |
| | | import getPickList from '@salesforce/apex/lexPCLLostReportLwcController.getPickList'; |
| | | import { NavigationMixin } from 'lightning/navigation'; |
| | | 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 visible = false; |
| | | @wire(CurrentPageReference) pageRef; |
| | | @api oppId; |
| | | @track columns2=columns2; |
| | | @track columns2s=columns22; |
| | | @track status = { |
| | | pageStatus: 'Create' |
| | | } |
| | | @track message; |
| | | @track isSuccess; |
| | | @track LostReport = { |
| | | LostBrands: [ |
| | | ], |
| | |
| | | submitFlag = ''; |
| | | flag; |
| | | tableflag = 0; |
| | | reportId = ''; |
| | | @api reportId; |
| | | @api pageStatus; |
| | | newProduct; |
| | | productOptionsList; |
| | | productClassOptions = productClassOptions; |
| | |
| | | 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.reportId, |
| | |
| | | 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=>{ |
| | |
| | | }); |
| | | |
| | | } |
| | | renderedCallback(){ |
| | | const sections = this.template.querySelectorAll('lightning-accordion-section'); |
| | | sections.forEach(section=>{ |
| | | console.log(section); |
| | | section.active = true; |
| | | }); |
| | | } |
| | | |
| | | @wire(CurrentPageReference) |
| | | getStateParameters(currentPageReference) { |
| | |
| | | } |
| | | |
| | | showToast(msg,type) { |
| | | const event = new ShowToastEvent({ |
| | | title: '', |
| | | message: msg, |
| | | variant: type |
| | | }); |
| | | this.dispatchEvent(event); |
| | | try { |
| | | if(type == 'success'){ |
| | | this.isSuccess = true; |
| | | }else{ |
| | | 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); |
| | | } |
| | | updateRecordView(recordId) { |
| | | updateRecord({fields: { Id: recordId }}); |
| | |
| | | }); |
| | | } |
| | | onApproveChange(event){ |
| | | this[NavigationMixin.Navigate]({ |
| | | type: 'standard__recordPage', |
| | | attributes: { |
| | | recordId: this.LostReport.approvalHistorys[0].Id, |
| | | actionName: 'view' |
| | | } |
| | | }); |
| | | 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' |
| | | // } |
| | | // }); |
| | | } |
| | | |
| | | |
| | |
| | | console.log(this.deleteProductIdList); |
| | | } |
| | | this.LostReport.LostBrands[index].lostBrand.Lost_By_Company__c = payload.value; |
| | | if(payloadType === 'multi-select'){ |
| | | this.clearProducts(payload.value,index); |
| | | this.setDefaultBrand(payload.value,index); |
| | | this.clearBrandMannualName(payload.value,index); |
| | | } |
| | | 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){ |
| | | var newProducts = []; |
| | |
| | | } |
| | | 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; |
| | | } |
| | | |
| | | saveBrandJs(event) { |
| | |
| | | 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) { |
| | |
| | | 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; |
| | | // elements1[secondNum].readOnly = true; |
| | | // elements2[secondNum].readOnly = true; |
| | | |
| | | }else { |
| | | searchProduct({ |
| | |
| | | |
| | | } |
| | | } |
| | | |
| | | 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; |