| | |
| | | * @Author: chen jing wu |
| | | * @Date: 2023-04-20 15:04:03 |
| | | * @LastEditors: chen jing wu |
| | | * @LastEditTime: 2023-10-16 11:48:33 |
| | | * @LastEditTime: 2023-10-31 15:19:17 |
| | | */ |
| | | let columns2=[ |
| | | { label: '--无--', value: '' }, |
| | |
| | | { label: '某种产品缺失', value: '某种产品缺失' }, |
| | | { label: '采购平衡', value: '采购平衡' } |
| | | ]; |
| | | let columns2RandomList = [ |
| | | [ |
| | | { label: '--无--', value: '' }, |
| | | { label: '无信息,跟进不及时', value: '无信息,跟进不及时' }, |
| | | { label: '价格', value: '价格' }, |
| | | { label: '医生偏好', value: '医生偏好' }, |
| | | { label: '服务不到位', value: '服务不到位' }, |
| | | { label: '行政决策', value: '行政决策' }, |
| | | { label: '竞品原有基础上增添设备', value: '竞品原有基础上增添设备' }, |
| | | { label: '渠道因素', value: '渠道因素' }, |
| | | { label: '某种产品缺失', value: '某种产品缺失' }, |
| | | { label: '采购平衡', value: '采购平衡' } |
| | | ], |
| | | [ |
| | | { label: '--无--', value: '' }, |
| | | { label: '价格', value: '价格' }, |
| | | { label: '医生偏好', value: '医生偏好' }, |
| | | { label: '无信息,跟进不及时', value: '无信息,跟进不及时' }, |
| | | { label: '行政决策', value: '行政决策' }, |
| | | { label: '服务不到位', value: '服务不到位' }, |
| | | { label: '竞品原有基础上增添设备', value: '竞品原有基础上增添设备' }, |
| | | { label: '采购平衡', value: '采购平衡' }, |
| | | { label: '渠道因素', value: '渠道因素' }, |
| | | { label: '某种产品缺失', value: '某种产品缺失' }, |
| | | ], |
| | | [ |
| | | { label: '--无--', value: '' }, |
| | | { label: '服务不到位', value: '服务不到位' }, |
| | | { label: '无信息,跟进不及时', value: '无信息,跟进不及时' }, |
| | | { label: '竞品原有基础上增添设备', value: '竞品原有基础上增添设备' }, |
| | | { label: '医生偏好', value: '医生偏好' }, |
| | | { label: '行政决策', value: '行政决策' }, |
| | | { label: '渠道因素', value: '渠道因素' }, |
| | | { label: '价格', value: '价格' }, |
| | | { label: '某种产品缺失', value: '某种产品缺失' }, |
| | | { label: '采购平衡', value: '采购平衡' } |
| | | ], |
| | | [ |
| | | { label: '--无--', value: '' }, |
| | | { label: '采购平衡', value: '采购平衡' }, |
| | | { label: '某种产品缺失', value: '某种产品缺失' }, |
| | | { label: '无信息,跟进不及时', value: '无信息,跟进不及时' }, |
| | | { label: '价格', value: '价格' }, |
| | | { label: '医生偏好', value: '医生偏好' }, |
| | | { label: '服务不到位', value: '服务不到位' }, |
| | | { label: '行政决策', value: '行政决策' }, |
| | | { label: '竞品原有基础上增添设备', value: '竞品原有基础上增添设备' }, |
| | | { label: '渠道因素', value: '渠道因素' }, |
| | | ], |
| | | [ |
| | | { label: '--无--', value: '' }, |
| | | { label: '某种产品缺失', value: '某种产品缺失' }, |
| | | { label: '无信息,跟进不及时', value: '无信息,跟进不及时' }, |
| | | { label: '价格', value: '价格' }, |
| | | { label: '服务不到位', value: '服务不到位' }, |
| | | { label: '医生偏好', value: '医生偏好' }, |
| | | { label: '行政决策', value: '行政决策' }, |
| | | { label: '渠道因素', value: '渠道因素' }, |
| | | { label: '竞品原有基础上增添设备', value: '竞品原有基础上增添设备' }, |
| | | { label: '采购平衡', value: '采购平衡' } |
| | | ], |
| | | [ |
| | | { label: '--无--', value: '' }, |
| | | { label: '竞品原有基础上增添设备', value: '竞品原有基础上增添设备' }, |
| | | { label: '价格', value: '价格' }, |
| | | { label: '医生偏好', value: '医生偏好' }, |
| | | { label: '服务不到位', value: '服务不到位' }, |
| | | { label: '行政决策', value: '行政决策' }, |
| | | { label: '无信息,跟进不及时', value: '无信息,跟进不及时' }, |
| | | { label: '渠道因素', value: '渠道因素' }, |
| | | { label: '某种产品缺失', value: '某种产品缺失' }, |
| | | { label: '采购平衡', value: '采购平衡' } |
| | | ], |
| | | [ |
| | | { label: '--无--', value: '' }, |
| | | { label: '医生偏好', value: '医生偏好' }, |
| | | { label: '无信息,跟进不及时', value: '无信息,跟进不及时' }, |
| | | { label: '价格', value: '价格' }, |
| | | { label: '竞品原有基础上增添设备', value: '竞品原有基础上增添设备' }, |
| | | { label: '渠道因素', value: '渠道因素' }, |
| | | { label: '某种产品缺失', value: '某种产品缺失' }, |
| | | { label: '采购平衡', value: '采购平衡' }, |
| | | { label: '服务不到位', value: '服务不到位' }, |
| | | { label: '行政决策', value: '行政决策' } |
| | | ], |
| | | [ |
| | | { label: '--无--', value: '' }, |
| | | { label: '行政决策', value: '行政决策' }, |
| | | { label: '价格', value: '价格' }, |
| | | { label: '医生偏好', value: '医生偏好' }, |
| | | { label: '服务不到位', value: '服务不到位' }, |
| | | { label: '无信息,跟进不及时', value: '无信息,跟进不及时' }, |
| | | { label: '竞品原有基础上增添设备', value: '竞品原有基础上增添设备' }, |
| | | { label: '渠道因素', value: '渠道因素' }, |
| | | { label: '某种产品缺失', value: '某种产品缺失' }, |
| | | { label: '采购平衡', value: '采购平衡' } |
| | | ], |
| | | [ |
| | | { label: '--无--', value: '' }, |
| | | { label: '渠道因素', value: '渠道因素' }, |
| | | { label: '无信息,跟进不及时', value: '无信息,跟进不及时' }, |
| | | { label: '价格', value: '价格' }, |
| | | { label: '行政决策', value: '行政决策' }, |
| | | { label: '竞品原有基础上增添设备', value: '竞品原有基础上增添设备' }, |
| | | { label: '采购平衡', value: '采购平衡' }, |
| | | { label: '医生偏好', value: '医生偏好' }, |
| | | { label: '服务不到位', value: '服务不到位' }, |
| | | { label: '某种产品缺失', value: '某种产品缺失' } |
| | | ], |
| | | [ |
| | | { label: '--无--', value: '' }, |
| | | { label: '无信息,跟进不及时', value: '无信息,跟进不及时' }, |
| | | { label: '竞品原有基础上增添设备', value: '竞品原有基础上增添设备' }, |
| | | { label: '渠道因素', value: '渠道因素' }, |
| | | { label: '某种产品缺失', value: '某种产品缺失' }, |
| | | { label: '采购平衡', value: '采购平衡' }, |
| | | { label: '价格', value: '价格' }, |
| | | { label: '医生偏好', value: '医生偏好' }, |
| | | { label: '服务不到位', value: '服务不到位' }, |
| | | { label: '行政决策', value: '行政决策' }, |
| | | ], |
| | | ] |
| | | |
| | | let columns22RandomList = [ |
| | | [ |
| | | { label: '--无--', value: '' }, |
| | | { label: '无信息,跟进不及时', value: '无信息,跟进不及时' }, |
| | | { label: '价格', value: '价格' }, |
| | | { label: '医生偏好', value: '医生偏好' }, |
| | | { label: '服务不到位', value: '服务不到位' }, |
| | | { label: '竞品原有基础上增添设备', value: '竞品原有基础上增添设备' }, |
| | | { label: '渠道因素', value: '渠道因素' }, |
| | | { label: '某种产品缺失', value: '某种产品缺失' }, |
| | | { label: '采购平衡', value: '采购平衡' } |
| | | ], |
| | | [ |
| | | { label: '--无--', value: '' }, |
| | | { label: '价格', value: '价格' }, |
| | | { label: '医生偏好', value: '医生偏好' }, |
| | | { label: '无信息,跟进不及时', value: '无信息,跟进不及时' }, |
| | | { label: '服务不到位', value: '服务不到位' }, |
| | | { label: '竞品原有基础上增添设备', value: '竞品原有基础上增添设备' }, |
| | | { label: '采购平衡', value: '采购平衡' }, |
| | | { label: '渠道因素', value: '渠道因素' }, |
| | | { label: '某种产品缺失', value: '某种产品缺失' }, |
| | | ], |
| | | [ |
| | | { label: '--无--', value: '' }, |
| | | { label: '服务不到位', value: '服务不到位' }, |
| | | { label: '无信息,跟进不及时', value: '无信息,跟进不及时' }, |
| | | { label: '竞品原有基础上增添设备', value: '竞品原有基础上增添设备' }, |
| | | { label: '医生偏好', value: '医生偏好' }, |
| | | { label: '渠道因素', value: '渠道因素' }, |
| | | { label: '价格', value: '价格' }, |
| | | { label: '某种产品缺失', value: '某种产品缺失' }, |
| | | { label: '采购平衡', value: '采购平衡' } |
| | | ], |
| | | [ |
| | | { label: '--无--', value: '' }, |
| | | { label: '采购平衡', value: '采购平衡' }, |
| | | { label: '某种产品缺失', value: '某种产品缺失' }, |
| | | { label: '无信息,跟进不及时', value: '无信息,跟进不及时' }, |
| | | { label: '价格', value: '价格' }, |
| | | { label: '医生偏好', value: '医生偏好' }, |
| | | { label: '服务不到位', value: '服务不到位' }, |
| | | { label: '竞品原有基础上增添设备', value: '竞品原有基础上增添设备' }, |
| | | { label: '渠道因素', value: '渠道因素' }, |
| | | ], |
| | | [ |
| | | { label: '--无--', value: '' }, |
| | | { label: '某种产品缺失', value: '某种产品缺失' }, |
| | | { label: '无信息,跟进不及时', value: '无信息,跟进不及时' }, |
| | | { label: '价格', value: '价格' }, |
| | | { label: '服务不到位', value: '服务不到位' }, |
| | | { label: '医生偏好', value: '医生偏好' }, |
| | | { label: '渠道因素', value: '渠道因素' }, |
| | | { label: '竞品原有基础上增添设备', value: '竞品原有基础上增添设备' }, |
| | | { label: '采购平衡', value: '采购平衡' } |
| | | ], |
| | | [ |
| | | { label: '--无--', value: '' }, |
| | | { label: '竞品原有基础上增添设备', value: '竞品原有基础上增添设备' }, |
| | | { label: '价格', value: '价格' }, |
| | | { label: '医生偏好', value: '医生偏好' }, |
| | | { label: '服务不到位', value: '服务不到位' }, |
| | | { label: '无信息,跟进不及时', value: '无信息,跟进不及时' }, |
| | | { label: '渠道因素', value: '渠道因素' }, |
| | | { label: '某种产品缺失', value: '某种产品缺失' }, |
| | | { label: '采购平衡', value: '采购平衡' } |
| | | ], |
| | | [ |
| | | { label: '--无--', value: '' }, |
| | | { label: '医生偏好', value: '医生偏好' }, |
| | | { label: '无信息,跟进不及时', value: '无信息,跟进不及时' }, |
| | | { label: '价格', value: '价格' }, |
| | | { label: '竞品原有基础上增添设备', value: '竞品原有基础上增添设备' }, |
| | | { label: '渠道因素', value: '渠道因素' }, |
| | | { label: '某种产品缺失', value: '某种产品缺失' }, |
| | | { label: '采购平衡', value: '采购平衡' }, |
| | | { label: '服务不到位', value: '服务不到位' }, |
| | | ], |
| | | [ |
| | | { label: '--无--', value: '' }, |
| | | { label: '价格', value: '价格' }, |
| | | { label: '医生偏好', value: '医生偏好' }, |
| | | { label: '服务不到位', value: '服务不到位' }, |
| | | { label: '无信息,跟进不及时', value: '无信息,跟进不及时' }, |
| | | { label: '竞品原有基础上增添设备', value: '竞品原有基础上增添设备' }, |
| | | { label: '渠道因素', value: '渠道因素' }, |
| | | { label: '某种产品缺失', value: '某种产品缺失' }, |
| | | { label: '采购平衡', value: '采购平衡' } |
| | | ], |
| | | [ |
| | | { label: '--无--', value: '' }, |
| | | { label: '渠道因素', value: '渠道因素' }, |
| | | { label: '无信息,跟进不及时', value: '无信息,跟进不及时' }, |
| | | { label: '价格', value: '价格' }, |
| | | { label: '竞品原有基础上增添设备', value: '竞品原有基础上增添设备' }, |
| | | { label: '采购平衡', value: '采购平衡' }, |
| | | { label: '医生偏好', value: '医生偏好' }, |
| | | { label: '服务不到位', value: '服务不到位' }, |
| | | { 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: '无信息,跟进不及时' }, |
| | |
| | | import systemProfileId from '@salesforce/label/c.ProfileId_SystemAdmin'; |
| | | import {loadStyle} from 'lightning/platformResourceLoader'; |
| | | import { RefreshEvent } from "lightning/refresh"; |
| | | import { getObjectInfo } from 'lightning/uiObjectInfoApi'; |
| | | import LOSTPRODUCT from '@salesforce/schema/PCLLostProduct__c'; |
| | | import { getPicklistValuesByRecordType } from 'lightning/uiObjectInfoApi'; |
| | | export default class LexPCLLostReportPage extends NavigationMixin(LightningElement) { |
| | | |
| | | //***************************************************** */ |
| | | //存储controlling picklist的所有的值 |
| | | @track masterValues = []; |
| | | //存储dependent picklist的所有的值 |
| | | @track controllingValues = []; |
| | | //选择的controlling picklist 的值 |
| | | @track selectedMasterValue; |
| | | //选择的dependent picklist的值 |
| | | @track selectedControllingValue; |
| | | |
| | | @track error; |
| | | //用来记录master picklist中的 value -> valid for的列表集合 |
| | | master2ValidForValues; |
| | | //用来记录controlling picklist的value以及valid for等信息的列表集合 |
| | | controllingValuesWithValidFor = []; |
| | | |
| | | // 获取account 的schema info |
| | | @wire(getObjectInfo, { objectApiName: LOSTPRODUCT }) |
| | | objectInfo; |
| | | |
| | | // 获取 control picklist的值并且组装dependent picklist |
| | | @wire(getPicklistValuesByRecordType, { objectApiName: LOSTPRODUCT, recordTypeId: '$objectInfo.data.defaultRecordTypeId'}) |
| | | countryPicklistValues({error, data}) { |
| | | console.log('start'); |
| | | if(data) { |
| | | this.error = null; |
| | | let masterOptions = []; |
| | | |
| | | data.picklistFieldValues.ProductClass__c.values.forEach(key => { |
| | | masterOptions.push({ |
| | | label : key.label, |
| | | value: key.value |
| | | }) |
| | | }); |
| | | |
| | | this.masterValues = masterOptions; |
| | | console.log(this.masterValues); |
| | | |
| | | let controllingOptions = []; |
| | | |
| | | this.master2ValidForValues = data.picklistFieldValues.ProductCategory__c.controllerValues; |
| | | //用来记录controlling picklist的value以及valid for等信息的列表集合 Picklist values |
| | | this.controllingValuesWithValidFor = data.picklistFieldValues.ProductCategory__c.values; |
| | | this.controllingValuesWithValidFor.forEach(key => { |
| | | controllingOptions.push({ |
| | | label : key.label, |
| | | value: key.value |
| | | }) |
| | | }); |
| | | |
| | | this.controllingValues = controllingOptions; |
| | | console.log(this.controllingValues); |
| | | console.log('end'); |
| | | } |
| | | else if(error) { |
| | | this.error = JSON.stringify(error); |
| | | } |
| | | } |
| | | |
| | | handleMasterPicklistChange(event) { |
| | | //set selected master Value |
| | | this.selectedMasterValue = event.target.value; |
| | | this.selectedControllingValue = ''; |
| | | let controllingList = []; |
| | | |
| | | if(this.selectedMasterValue) { |
| | | //通过valid for进行mapping,匹配的放进controlling list中 |
| | | this.controllingValuesWithValidFor.forEach(conValues => { |
| | | if(conValues.validFor.some(item => item === this.master2ValidForValues[this.selectedMasterValue])) { |
| | | controllingList.push({ |
| | | label: conValues.label, |
| | | value: conValues.value |
| | | }) |
| | | } |
| | | }) |
| | | |
| | | this.controllingValues = controllingList; |
| | | } |
| | | } |
| | | //***************************************************** */ |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | @track visible = false; |
| | | @wire(CurrentPageReference) pageRef; |
| | | @api oppId; |
| | |
| | | loadStyle(this, lwcCSS), |
| | | loadStyle(this, lexButtonCss) |
| | | ]); |
| | | this.columns2s = columns2RandomList[Math.floor(Math.random() * 10)]; |
| | | this.pageStatus = this.getQueryVariable('pageStatus',this.location); |
| | | this.oppId = this.getQueryVariable('oppId',this.location); |
| | | this.reportId = this.getQueryVariable('reportId',this.location); |
| | |
| | | var elements = this.template.querySelectorAll('lightning-combobox'); |
| | | elements.forEach(element=>{ |
| | | if(element.value == '行政决策'){ |
| | | element.options = columns2; |
| | | element.options = columns2RandomList[Math.floor(Math.random() * 10)]; |
| | | } |
| | | }); |
| | | var elements1 = this.template.querySelectorAll('[data-id="Lost_By_Company_Mannual"]'); |
| | |
| | | }).then(result=>{ |
| | | console.log(result); |
| | | if(result == '进口'){ |
| | | this.columns2s = columns22; |
| | | if(this.LostReport.LostBrands[index].lostBrand.Lost_reason_main__c == '行政决策'){ |
| | | this.LostReport.LostBrands[index].lostBrand.Lost_reason_main__c = ''; |
| | | // this.LostReport.LostBrands[index].lostBrand.Lost_Reason_Sub__c = ''; |
| | | } |
| | | if(this.LostReport.LostBrands[index].lostBrand.Lost_Reason_Sub__c == '行政决策'){ |
| | | this.LostReport.LostBrands[index].lostBrand.Lost_Reason_Sub__c = ''; |
| | | // this.LostReport.LostBrands[index].lostBrand.Lost_Reason_Sub__c = ''; |
| | | } |
| | | this.columns2s = this.columns2s = columns22RandomList[Math.floor(Math.random() * 10)]; |
| | | }else{ |
| | | this.columns2s = columns2; |
| | | this.columns2s = this.columns2s = columns2RandomList[Math.floor(Math.random() * 10)]; |
| | | } |
| | | if(payloadType === 'multi-select'){ |
| | | |
| | |
| | | console.log('elements=>' + elements.length); |
| | | elements.forEach(element=>{ |
| | | if(element.value == '行政决策'){ |
| | | element.options = columns2; |
| | | element.options = columns2RandomList[Math.floor(Math.random() * 10)]; |
| | | } |
| | | }); |
| | | } |
| | |
| | | var index2 = event.target.name; |
| | | this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.ProductClass__c = event.target.value; |
| | | var val = event.target.value; |
| | | this.selectedMasterValue = event.target.value; |
| | | this.selectedControllingValue = ''; |
| | | let controllingList = []; |
| | | |
| | | if(this.selectedMasterValue) { |
| | | //通过valid for进行mapping,匹配的放进controlling list中 |
| | | this.controllingValuesWithValidFor.forEach(conValues => { |
| | | if(conValues.validFor.some(item => item === this.master2ValidForValues[this.selectedMasterValue])) { |
| | | controllingList.push({ |
| | | label: conValues.label, |
| | | value: conValues.value |
| | | }) |
| | | } |
| | | }) |
| | | |
| | | this.controllingValues = controllingList; |
| | | } |
| | | if(val == ''){ |
| | | var temps1 =this.template.querySelectorAll('.ProductCategory[data-id="'+ index1 +'"]'); |
| | | temps1[index2].readOnly = true; |
| | |
| | | }else{ |
| | | var temps1 =this.template.querySelectorAll('.ProductCategory[data-id="'+ index1 +'"]'); |
| | | temps1[index2].readOnly = false; |
| | | this.LostReport.LostBrands[index1].LostProducts[index2].productOptions = this.productOptionsList[val]; |
| | | searchProduct({ |
| | | lostProduct:this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.LostProduct__c |
| | | }).then(result=>{ |
| | | var prd = JSON.parse(result); |
| | | if(prd.ProductClass__c == undefined && prd.ProductCategory__c == undefined){ |
| | | this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.isSpec__c = true; |
| | | } |
| | | }); |
| | | this.LostReport.LostBrands[index1].LostProducts[index2].productOptions = this.controllingValues; |
| | | if(this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.LostProduct__c){ |
| | | searchProduct({ |
| | | lostProduct:this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.LostProduct__c |
| | | }).then(result=>{ |
| | | var prd = JSON.parse(result); |
| | | if(prd.ProductClass__c == undefined && prd.ProductCategory__c == undefined){ |
| | | this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.isSpec__c = true; |
| | | } |
| | | }); |
| | | } |
| | | |
| | | } |
| | | |
| | | } |