123
chenjingwu
2024-04-15 5d4f265aab8e9813eaa2a9d6eb6247955218f8ef
force-app/main/default/lwc/lexPCLLostReportPage/lexPCLLostReportPage.js
@@ -4,7 +4,7 @@
 * @Author: chen jing wu
 * @Date: 2023-04-20 15:04:03
 * @LastEditors: chen jing wu
 * @LastEditTime: 2023-10-03 11:54:18
 * @LastEditTime: 2023-10-31 15:19:17
 */
let columns2=[
    { label: '--无--', value: '' },
@@ -18,6 +18,242 @@
    { 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: '无信息,跟进不及时' },
@@ -87,7 +323,109 @@
import reassignStep from '@salesforce/apex/lexPCLLostReportLwcController.reassignStep';
import getUserProfileId from '@salesforce/apex/lexPCLLostReportLwcController.getUserProfileId';
import PCLReportProfileId from '@salesforce/label/c.PCLReportProfileId';
import lwcCSS from '@salesforce/resourceUrl/lwcCSS';
import lexButtonCss from '@salesforce/resourceUrl/lexButtonCss';
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;
@@ -95,7 +433,7 @@
    @track status = {
        pageStatus: 'Create'
      }
    newActorId = null;
    @track newActorId = null;
    newReport;
    action;
    isLookup;
@@ -131,15 +469,13 @@
    IsLoading;
    newApprovalHistorys;
    userProfileId;
    @wire(getUserProfileId)
    wiredUserProfileId({ error, data }) {
        if (data) {
            this.userProfileId = data;
            console.log(this.userProfileId + 'user');
        } else if (error) {
            // 处理错误
        }
    }
    userId;
    allowUserId;
    submitUserId;
    specProFlg;
    loadingFlg;
    @track isSubmitUser = false;
    @track isAllowUser = false;
    handleCustomButtonClick(event) {
        try {
            var index1 = event.target.title;
@@ -157,8 +493,32 @@
            console.log('error');
        }
    }
    getQueryVariable(variable,location) { //id字符串
        debugger
        var query = window.location.search.substring(1);
        if(!query){
            query = location;
        }
        var vars = query.split("&");
        for (var i = 0; i < vars.length; i++) {
            var pair = vars[i].split("=");
            if (pair[0] == variable) {
                return pair[1];
            }
        }
        return '';
    }
    
    connectedCallback(){
        Promise.all([
            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);
        this.lostType = decodeURI(this.getQueryVariable('lostType',this.location));
        this.status.pageStatus = this.pageStatus;
        init({
            oppId1: this.oppId,
@@ -174,10 +534,26 @@
                }else{
                    this.showToast(result.message,"error");
                    setTimeout(() => {
                        window.location = '/lightning/r/Opportunity/' + this.oppId + '/view';
                        // window.location = '/lightning/r/Opportunity/' + this.oppId + '/view';
                        this.remoteUrl();
                    }, 2000);
                }  
            }else{
                this.allowUserId = result.allowUserId;
                this.userId = result.userId;
                this.submitUserId = result.submitUserId;
                this.userProfileId = result.userProfileId;
                console.log('allowUserId' + this.allowUserId);
                console.log('userId' + this.userId);
                console.log('submitUserId' + this.submitUserId);
                console.log('userProfileId' + this.userProfileId);
                console.log('systemProfileId' + systemProfileId);
                if(this.userId == this.submitUserId || this.userProfileId == systemProfileId){
                    this.isSubmitUser = true;
                }
                if(this.userId == this.allowUserId  || this.userProfileId == systemProfileId){
                    this.isAllowUser = true;
                }
                if(result.LostReport.lostReport.Report_Status__c == '申请中'){
                    this.editStatus = '申请中';
                    console.log('shenqingzhong');
@@ -188,6 +564,18 @@
                
                var report = result.LostReport;
                this.LostReport = report;
                // this.LostReport.LostBrands.forEach(brand=>{
                //     if(brand.lostBrand.Lost_Reason_Sub__c == '行政决策' || brand.lostBrand.Lost_reason_main__c == '行政决策'){
                //         this.template.querySelectorAll();
                //     }
                // });
                // for(var i=0;i < this.LostReport.LostBrands.length;i++){
                //     if(this.LostReport.LostBrands[i].lostBrand.Lost_Reason_Sub__c == '行政决策' || this.LostReport.LostBrands[i].lostBrand.Lost_reason_main__c == '行政决策'){
                //     }
                // }
                
                if(!this.LostReport.lostReport.LostTotalAmount__c){
                    this.LostReport.lostReport.LostTotalAmount__c = 0.0;
@@ -217,20 +605,24 @@
                        this.LostReport.approvalHistorys[i].CreatedDate = date.toLocaleString();
                        if(this.LostReport.approvalHistorys[i].StepStatus == 'Approved'){
                            this.LostReport.approvalHistorys[i].StepStatus = '已批准';
                            this.LostReport.approvalHistorys[i].isApproved = true;
                        }else if(this.LostReport.approvalHistorys[i].StepStatus == 'Fault'){
    
                        }else if(this.LostReport.approvalHistorys[i].StepStatus == 'Pending'){
                            this.LostReport.approvalHistorys[i].StepStatus = '待处理';
                            this.LostReport.approvalHistorys[i].isPending = true;
                        }else if(this.LostReport.approvalHistorys[i].StepStatus == 'Held'){
    
                        }else if(this.LostReport.approvalHistorys[i].StepStatus == 'NoResponse'){
    
                        }else if(this.LostReport.approvalHistorys[i].StepStatus == 'Reassigned'){
                            this.LostReport.approvalHistorys[i].StepStatus = '已重新分配';
                        }else if(this.LostReport.approvalHistorys[i].StepStatus == 'Rejected'){
                                this.LostReport.approvalHistorys[i].StepStatus = '已拒绝';
                                this.LostReport.approvalHistorys[i].isRejected = true;
                        }else if(this.LostReport.approvalHistorys[i].StepStatus == 'Removed'){
                            this.LostReport.approvalHistorys[i].StepStatus = '已撤回';
                            this.LostReport.approvalHistorys[i].isRemoved = true;
                        }else if(this.LostReport.approvalHistorys[i].StepStatus == 'Started'){
                            this.LostReport.approvalHistorys[i].StepStatus = '已提交';
                        }
@@ -241,6 +633,7 @@
                    if(this.LostReport.lostReport.Report_Status__c == '批准'){
                        this.submitFlag = false;
                    }
                }
                console.log(PCLReportProfileId.includes(this.userProfileId));
                console.log(PCLReportProfileId);
@@ -273,6 +666,11 @@
            fieldName: 'ProductCategory__c'
        }).then(result=>{
            this.productOptionsList = JSON.parse(result);
            this.LostReport.LostBrands.forEach(brand=>{
                brand.LostProducts.forEach(product=>{
                    product.productOptions = this.productOptionsList['全部'];
                });
            });
            this.LostReport = JSON.parse(JSON.stringify(this.LostReport));
            console.log(this.LostReport.approvalHistorys.length + 'size');
        }).catch(error=>{
@@ -281,37 +679,91 @@
        });
        
    }
    isqita(){
    }
    renderedCallback(){
        const sections = this.template.querySelectorAll('lightning-accordion-section');
        sections.forEach(section=>{
            console.log(section);
            section.active = true;    
        });
        console.log('1');
        console.log(this.LostReport.lostReport.LostTotalAmount__c);
        this.LostReport.lostReport.LostTotalAmount__c = this.LostReport.lostReport.LostTotalAmount__c;
        var elements = this.template.querySelectorAll('lightning-combobox');
                elements.forEach(element=>{
                    if(element.value == '行政决策'){
                        element.options = columns2RandomList[Math.floor(Math.random() * 10)];
                    }
                });
        var elements1 = this.template.querySelectorAll('[data-id="Lost_By_Company_Mannual"]');
        var i = 0;
        console.log('elements1=> ' + elements1[i]);
        this.LostReport.LostBrands.forEach(brand=>{
            if(brand.lostBrand.Lost_By_Company__c == '其他' && elements1.length > 0 ){
                console.log('val=> ' + elements1[i].value);
                if(elements1[i].value){
                    elements1[i].disabled = false;
                    elements1[i].required = true;
                }
            }
        });
        // if(this.pageStatus = 'Edit' && this.loadingFlg == false){
        //     var elements1 = this.template.querySelectorAll('.ProductClass[data-id="' + 0 + '"]');
        //     var elements2 = this.template.querySelectorAll('.ProductCategory[data-id="' + 0 + '"]');
        //         console.log('lnm');
        //                     console.log(elements1);
        //                     console.log(elements2);
        //         console.log('lnm');
        //     console.log('in=>');
        //     this.loadingFlg = true;
        //     var j = 0;
        //     var i = 0;
        //     this.LostReport.LostBrands.forEach(brand=>{
        //         brand.LostProducts.forEach(product=>{
        //             if(product.LostProductss.LostProduct__r !=undefined){
        //                 if(product.LostProductss.LostProduct__r.ProductClass__c ==undefined && product.LostProductss.LostProduct__r.ProductCategory__c ==undefined){
        //                     console.log('cnm');
        //                     console.log(elements1[i]);
        //                     console.log(elements2[i]);
        //                     console.log('cnm');
        //                     elements1[i].readOnly = false;
        //                     elements2[i].readOnly = false;
        //                 }
        //             }
        //             i++;
        //         });
        //         j++;
        //     });
        // }else if(this.pageStatus = 'View'){
        //     this.loadingFlg = false;
        // }
        // if((value == '' || value == null) && this.LostReport.LostBrands[index].lostBrand.Lost_By_Company__c == '其他'){
        //     var elements =
        //     elements[index].disabled = false;
        // }
        // this.LostReport = JSON.parse(JSON.stringify(this.LostReport));
    }
    brandTitle = ['失单品牌1','失单品牌2','失单品牌3','失单品牌4','失单品牌5','失单品牌6'];
    location;
    @wire(CurrentPageReference)
    getStateParameters(currentPageReference) {
            console.log(111);
            console.log(currentPageReference);
        if (currentPageReference) {
            const urlValue = currentPageReference.state.recordId;
            const urlValue = currentPageReference.state.fragment;
            if (urlValue) {
            let str = `${urlValue}`;
            console.log("str");
            console.log(str);
            this.oppId = str;
              this.location = urlValue;
            }
        }
    }
    closeAction(){
        this.visible = false;
    }
    get haveApprovalHistorys(){
        console.log(this.LostReport.approvalHistorys.length + 'size');
@@ -410,7 +862,7 @@
        return false;
    }
    get isCaoAn(){
        if(this.LostReport.lostReport.Report_Status__c == '草案'){
        if(this.LostReport.lostReport.Report_Status__c == '草案' || this.LostReport.lostReport.Report_Status__c == '批准'){
            return true;
        }else{
            return false;
@@ -451,8 +903,15 @@
        getNewLostProduct({
            lineNo2: this.LostReport.LostBrands[index].LostProducts.length
        }).then(result=>{
            result.LostProductss.LostBrandName__c = this.LostReport.LostBrands[index].lostBrand.Lost_By_Company__c;
            if(this.LostReport.LostBrands[index].lostBrand.Lost_By_Company__c == '其他' && (this.LostReport.LostBrands[index].lostBrand.Lost_By_Company_Mannual__c != null && this.LostReport.LostBrands[index].lostBrand.Lost_By_Company_Mannual__c != undefined && this.LostReport.LostBrands[index].lostBrand.Lost_By_Company_Mannual__c != '')){
                result.LostProductss.LostBrandName__c = this.LostReport.LostBrands[index].lostBrand.Lost_By_Company_Mannual__c;
            }else{
                result.LostProductss.LostBrandName__c = this.LostReport.LostBrands[index].lostBrand.Lost_By_Company__c;
            }
            this.LostReport.LostBrands[index].LostProducts.push(result);
            console.log('***');
            console.log(this.LostReport);
        });
    }
    submitJs() {
@@ -474,20 +933,24 @@
                    result.approvalHistorys[i].CreatedDate = date.toLocaleString();
                    if(result.approvalHistorys[i].StepStatus == 'Approved'){
                        result.approvalHistorys[i].StepStatus = '已批准';
                        result.approvalHistorys[i].isApproved = true;
                    }else if(result.approvalHistorys[i].StepStatus == 'Fault'){
                    }else if(result.approvalHistorys[i].StepStatus == 'Pending'){
                        result.approvalHistorys[i].StepStatus = '待处理';
                        result.approvalHistorys[i].isPending = true;
                    }else if(result.approvalHistorys[i].StepStatus == 'Held'){
                    }else if(result.approvalHistorys[i].StepStatus == 'NoResponse'){
                    }else if(result.approvalHistorys[i].StepStatus == 'Reassigned'){
                        result.approvalHistorys[i].StepStatus = '已重新分配';
                    }else if(result.approvalHistorys[i].StepStatus == 'Rejected'){
                        result.approvalHistorys[i].StepStatus = '已拒绝';
                        result.approvalHistorys[i].isRejected = '已拒绝';
                        result.approvalHistorys[i].isApproved = true;
                    }else if(result.approvalHistorys[i].StepStatus == 'Removed'){
                        result.approvalHistorys[i].isRemoved = '已撤回';
                        result.approvalHistorys[i].isApproved = true;
                    }else if(result.approvalHistorys[i].StepStatus == 'Started'){
                        result.approvalHistorys[i].StepStatus = '已提交';
                    }
@@ -500,7 +963,7 @@
                this.showToast('提交成功!','success');
                setTimeout(() => {
                    
                    window.location = '/' + this.LostReport.lostReport.Id;
                    this.remoteUrl();
                }, 2000);
            }
            this.IsLoading = false;
@@ -508,6 +971,19 @@
            console.log("error");
            console.log(error);
        });
    }
    remoteUrl(){
        var url = '/lightning/n/PCLLostReportPageLwc#pageStatus=View&reportId=' + this.LostReport.lostReport.Id;
                    var urlStatus = this.getQueryVariable('pageStatus',this.location);
                    if(urlStatus == 'View'){
                        console.log('viewpage');
                        window.location.reload();
                    }else{
                        console.log('editpage');
                        window.location = url;
                        window.location.reload();
                    }
    }
    onApproveChange(event){
        // var approvalId;
@@ -561,52 +1037,94 @@
            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 = '';
        this.LostReport.LostBrands[index].lostBrand.ChannelSpecificReasons__c = '';
        this.LostReport.LostBrands[index].reasonFlag = false;
        // this.LostReport.LostBrands[index].lostBrand.Lost_reason_main__c = '';
        // this.LostReport.LostBrands[index].lostBrand.Lost_Reason_Sub__c = '';
        // this.LostReport.LostBrands[index].lostBrand.ChannelSpecificReasons__c = '';
        // this.LostReport.LostBrands[index].reasonFlag = false;
        searchBatchIfForProduct({
            productName: this.LostReport.LostBrands[index].lostBrand.Lost_By_Company__c
        }).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'){
            
                this.clearProducts(payload.value,index);
                this.setDefaultBrand(payload.value,index);
                // this.setDefaultBrand(payload.value,index);
                this.clearBrandMannualName(payload.value,index);
            }
            console.log('cnm:' + JSON.stringify(this.LostReport));
        });
        
    }
    setDefaultBrand(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)));
        getNewLostProduct({
            lineNo2: this.LostReport.LostBrands[index].LostProducts.length
        }).then(result=>{
            this.LostReport.LostBrands[index].LostProducts.forEach(product=>{
                result.LostProductss.LostBrandName__c = value;
                newProducts.push(result);
                this.LostReport.LostBrands[index].LostProducts = newProducts;
            });
        });
        this.LostReport.LostBrands[index].LostProducts = 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 cc = this.LostReport.LostBrands[index].lostBrand.Lost_By_Company_Mannual__c;
        console.log('cc=' + cc)
        if (value == '其他' && (cc != null && cc != '' && cc != undefined)) {
            return;
        }else if(value != '其他'){
            this.LostReport.LostBrands[index].lostBrand.Lost_By_Company_Mannual__c = null;
            console.log('wqeer1');
        }
        var newProducts = [];
        this.LostReport.LostBrands[index].LostProducts.forEach(product=>{
            this.newProduct.LostProductss.LostBrandName__c = value;
            newProducts.push(JSON.parse(JSON.stringify(this.newProduct)));
        console.log(this.newProduct);
        getNewLostProduct({
            lineNo2: this.LostReport.LostBrands[index].LostProducts.length
        }).then(result=>{
            console.log('wqeer2');
            this.LostReport.LostBrands[index].LostProducts.forEach(product=>{
                result.LostProductss.LostBrandName__c = value;
                newProducts.push(result);
            });
            console.log('wqeer3');
            var elements1 = this.template.querySelectorAll('.ProductClass[data-id="' + index + '"]');
            elements1.forEach(element=>{
                element.readOnly = false;
            });
            console.log('wqeer4');
            var elements2 = this.template.querySelectorAll('.Product[data-id="' + index + '"]');
            elements2.forEach(element=>{
                element.clearSelection();
            });
            console.log('wqeer5');
            this.LostReport.LostBrands[index].LostProducts = newProducts;
            console.log('wqeer');
            console.log(this.LostReport);
        }).catch(error=>{
            console.log('error');
            console.log(error);
        });
        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;
    }
   
@@ -710,34 +1228,44 @@
                        newLostReport.approvalHistorys[i].CreatedDate = date.toLocaleString();
                        if(newLostReport.approvalHistorys[i].StepStatus == 'Approved'){
                            newLostReport.approvalHistorys[i].StepStatus = '已批准';
                            newLostReport.approvalHistorys[i].isApproved = true;
                        }else if(newLostReport.approvalHistorys[i].StepStatus == 'Fault'){
                            
                        }else if(newLostReport.approvalHistorys[i].StepStatus == 'Pending'){
                            newLostReport.approvalHistorys[i].StepStatus = '待处理';
                            newLostReport.approvalHistorys[i].isPending = true;
                        }else if(newLostReport.approvalHistorys[i].StepStatus == 'Held'){
    
                        }else if(newLostReport.approvalHistorys[i].StepStatus == 'NoResponse'){
    
                        }else if(newLostReport.approvalHistorys[i].StepStatus == 'Reassigned'){
                            newLostReport.approvalHistorys[i].StepStatus = '已重新分配';
                        }else if(newLostReport.approvalHistorys[i].StepStatus == 'Rejected'){
                            newLostReport.approvalHistorys[i].StepStatus = '已拒绝';
                            newLostReport.approvalHistorys[i].isRejected = true;
                        }else if(newLostReport.approvalHistorys[i].StepStatus == 'Removed'){
                            newLostReport.approvalHistorys[i].StepStatus = '已撤回';
                            newLostReport.approvalHistorys[i].isRemoved = true;
                        }else if(newLostReport.approvalHistorys[i].StepStatus == 'Started'){
                            newLostReport.approvalHistorys[i].StepStatus = '已提交';
                        }
                    }
                }
                this.status.pageStatus = 'View';
                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.LostReport.LostBrands.forEach(brand=>{
                    if(brand.lostBrand.Id){
                        this.updateRecordView(brand.lostBrand.Id);
                    }
                });
            }
            this.IsLoading = false;
        }).catch(error=>{
@@ -746,7 +1274,15 @@
        });   
    }
    editJs(){
        this.status.pageStatus = 'Edit';
        var elements = this.template.querySelectorAll('lightning-combobox');
                console.log('elements=>' + elements.length);
                elements.forEach(element=>{
                    if(element.value == '行政决策'){
                        element.options = columns2RandomList[Math.floor(Math.random() * 10)];
                    }
                });
    }
   
    dataCheck(){
@@ -853,7 +1389,10 @@
        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) {
            console.log('element1' + elements1[secondNum]);
            console.log('element2' + elements2[secondNum]);
            elements1[secondNum].readOnly = false;
            elements2[secondNum].readOnly = false;
         this.LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.ProductClass__c=null;
@@ -870,7 +1409,12 @@
                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;
                    console.log('element1' + elements1[secondNum]);
                    console.log('element2' + elements2[secondNum]);
                    if(elements1[secondNum]!=undefined){
                        elements1[secondNum].readOnly = false;
                    }
                    elements2[secondNum].readOnly = false;
                    this.LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.ProductClass__c=prd.ProductClass__c;
                    console.log(prd.ProductClass__c + '  ' + prd.ProductCategory__c);
@@ -880,10 +1424,14 @@
                        this.LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.ProductCategory__c=prd.ProductCategory__c;
                    }
                    
                    elements1[secondNum].readOnly = true;
                    if(elements1[secondNum]!=undefined){
                        elements1[secondNum].readOnly = true;
                    }
                    elements2[secondNum].readOnly = true;
                }else {
                    elements1[secondNum].readOnly = false;
                    if(elements1[secondNum]!=undefined){
                        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;
@@ -903,7 +1451,7 @@
    handleModalSubmit(){
        
        this.IsLoading = true;
        const comment = this.template.querySelector('.comment');
        const comment = this.template.querySelector('.textAreaBody');
        console.log(this.isLookup == true && this.newActorId == null);
        if(this.isLookup == true && this.newActorId == null){
            this.showToast('请填入新分配人','error');
@@ -920,16 +1468,24 @@
                    this.showToast('您无权重新分配','error');
                    this.IsLoading = false;
                }else{
                    window.location = '/' + this.LostReport.lostReport.Id;
                    // window.location = '/' + this.LostReport.lostReport.Id;
                    this.remoteUrl();
                }
                
            });
        }else{
            console.log('1nm');
            console.log(this.LostReport.lostReport.Id);
            console.log(comment.value);
            console.log(this.action);
            console.log('1nm');
            submitForApproval({
                recordId: this.LostReport.lostReport.Id,
                comments: comment.value,
                action: this.action
            }).then(result=>{
                console.log('sb');
                console.log(result);
                if(result){
                    if(this.action == 'Approve'){
                        this.showToast('您无权批准','error');
@@ -941,8 +1497,13 @@
                    
                    this.IsLoading = false;
                }else{
                    window.location = '/' + this.LostReport.lostReport.Id;
                    // window.location = '/' + this.LostReport.lostReport.Id;
                    this.remoteUrl();
                } 
            }).catch(error=>{
                console.log('error');
                console.log(error);
            });
        }
        
@@ -956,10 +1517,19 @@
        this.newActorId = null;
    }
    handleReStartApp(){
        this.modalsubmitLabel = '重新分配';
        this.modalsubmitLabel = '分配';
        for(var i=0;i < this.LostReport.approvalHistorys.length;i++){
            if(this.LostReport.approvalHistorys[i].StepStatus == '待处理'){
                console.log('xqc');
                this.newActorId = this.LostReport.approvalHistorys[i].Actor.Id;
            }
        }
        this.isPop = true;
        this.isLookup = true;
    }
    ser(userId){
        return '/lightning/r/User/' + userId + '/view';
    }
    handleNoApp(){
        this.modalsubmitLabel = '拒绝';
@@ -1024,20 +1594,30 @@
    }
    handleLostByCompanyMannualChange(event){
        try {
        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();
                });
            }
        // if((value == '' || value == null) && this.LostReport.LostBrands[index].lostBrand.Lost_By_Company__c == '其他'){
        //     var elements = this.template.querySelectorAll('[data-id="Lost_By_Company_Mannual"]');
        //     elements[index].disabled = false;
        // }
        } catch (error) {
            console.log('error');
            console.log(error);
        }
        // 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){
@@ -1081,6 +1661,23 @@
        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;
@@ -1088,7 +1685,18 @@
        }else{
            var temps1 =this.template.querySelectorAll('.ProductCategory[data-id="'+ index1 +'"]');
            temps1[index2].readOnly = false;
            this.LostReport.LostBrands[index1].LostProducts[index2].productOptions = this.productOptionsList[val];
            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;
                    }
                });
            }
        }
       
    }