123
chenjingwu
2024-04-19 01ce9b5788c4369c150e57577cc4ea03b4fc5ee1
force-app/main/default/lwc/lexPCLLostReportPage/lexPCLLostReportPage.js
@@ -4,9 +4,9 @@
 * @Author: chen jing wu
 * @Date: 2023-04-20 15:04:03
 * @LastEditors: chen jing wu
 * @LastEditTime: 2023-08-01 16:22:17
 * @LastEditTime: 2023-10-31 15:19:17
 */
const columns2=[
let columns2=[
    { label: '--无--', value: '' },
    { label: '无信息,跟进不及时', value: '无信息,跟进不及时' },
    { label: '价格', value: '价格' },
@@ -18,12 +18,261 @@
    { 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: '无信息,跟进不及时' },
    { 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: '能量' },
    { label: '光源', value: '光源' },
    { label: '其他', value: '其他' }
];
const productCategoryOptions = [
@@ -37,6 +286,16 @@
    {label : "失单产品类别",fieldName : "ProductClass__c"},
    {label : "失单产品区分",fieldName : "ProductCategory__c"}
];
const reasonOptions = [
    { label: '--无--', value: '' },
    { label: '特约与客户关系不好', value: '特约与客户关系不好' },
    { label: '特约与二级合作问题', value: '特约与二级合作问题' },
    { label: '特约覆盖不足', value: '特约覆盖不足' },
    { label: '特约推广活动不力', value: '特约推广活动不力' },
    { label: '二级选择问题', value: '二级选择问题' },
    { label: '二级价格高', value: '二级价格高' },
    { label: '医院指定二级', value: '医院指定二级' }
];
const RecordTypeOptions = [
    { label: '--无--', value: '' },
    { label: '失单', value: '失单' },
@@ -46,7 +305,6 @@
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';
@@ -55,29 +313,149 @@
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';
import { updateRecord,getRecord } from 'lightning/uiRecordApi';
import { refreshApex } from '@salesforce/apex';
import submitForApproval from '@salesforce/apex/lexPCLLostReportLwcController.submitForApproval';
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;
    @track columns2=columns2;
    @track columns2s=columns22;
    @track status = {
        pageStatus: 'Create'
      }
    @track newActorId = null;
    newReport;
    action;
    isLookup;
    modalsubmitLabel;
    @track isPop;
    @track message;
    @track isSuccess;
    @track LostReport = {
        LostBrands: [
        ],
        lostReport: {}
    }
    editStatus;
    reasonOptions = reasonOptions;
    @track brandOptions = [];
    @track isInit = false;
    lostType = '失单';
    submitFlag = '';
    flag;
    tableflag = 0;
    reportId = '';
    @api reportId;
    @api pageStatus;
    newProduct;
    productOptionsList;
    productClassOptions = productClassOptions;
@@ -90,7 +468,58 @@
    deleteProductIdList = [];
    IsLoading;
    newApprovalHistorys;
    userProfileId;
    userId;
    allowUserId;
    submitUserId;
    specProFlg;
    loadingFlg;
    @track isSubmitUser = false;
    @track isAllowUser = false;
    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');
        }
    }
    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,
            lostReportId1: this.reportId,
@@ -104,17 +533,119 @@
                    this.LostReport = result.LostReport;
                }else{
                    this.showToast(result.message,"error");
                    setTimeout(() => {
                        // 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');
                }else if(result.LostReport.lostReport.Report_Status__c == '批准'){
                    this.editStatus = '批准';
                    console.log('pizhun');
                }
                var report = result.LostReport;
                this.LostReport = report;
                this.LostReport.lostReport.LostTotalAmount__c = 0.0;
                this.LostReport.lostReport.InclusionUltrasound__c = '0';
                // 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;
                }
                if(!this.LostReport.lostReport.InclusionUltrasound__c){
                    this.LostReport.lostReport.InclusionUltrasound__c = '0';
                }
                this.newProduct = JSON.parse(JSON.stringify(this.LostReport.LostBrands[0].LostProducts[0]));
                if(this.newProduct.LostProductss.Id){
                    delete this.newProduct.LostProductss.Id;
                }
                this.newProduct.LostProductss.LostBrandName__c = '';
                this.newProduct.LostProductss.LostProduct__r = '';
                this.newProduct.LostProductss.Quantity__c = '';
                this.newProduct.LostProductss.LostProductMannual__c = '';
                this.newProduct.LostProductss.ProductClass__c = '';
                this.newProduct.LostProductss.ProductCategory__c = '';
                // this.newProduct.LostProductss.Id = '';
                this.newApprovalHistorys = JSON.parse(JSON.stringify(this.LostReport.approvalHistorys));
                console.log(this.LostReport);
                this.isInit = true;
                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 = '已批准';
                            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 = '已提交';
                        }
                        // this.LostReport.approvalHistorys.push(JSON.parse(JSON.stringify(result.approvalHistorys[i])));
                        console.log('321');
                    }
                    this.submitFlag = true;
                    if(this.LostReport.lostReport.Report_Status__c == '批准'){
                        this.submitFlag = false;
                    }
                }
                console.log(PCLReportProfileId.includes(this.userProfileId));
                console.log(PCLReportProfileId);
                console.log(this.userProfileId);
                getUserProfileId().then(result1=>{
                    this.userProfileId = result1;
                    if(this.pageStatus == 'Edit' && !(this.LostReport.lostReport.Report_Status__c == '草案' || this.userProfileId == '00e10000000Y3o5AAC' || (this.LostReport.lostReport.Report_Status__c == '批准' && PCLReportProfileId.includes(this.userProfileId)))){
                        this.status.pageStatus = 'View';
                    }
                    this.isInit = true;
                });
            }
            }).catch(error=>{
                console.log("error");
@@ -135,36 +666,154 @@
            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=>{
            console.log('error');
            console.log(error);
        });
    }
    isqita(){
    }
    renderedCallback(){
        const sections = this.template.querySelectorAll('lightning-accordion-section');
        sections.forEach(section=>{
            section.active = true;
        });
        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');
        if(this.LostReport.approvalHistorys.length > 1){
            return true;
        }else{
            return false;
        }
    }
    get isCanSubmit(){
        if(this.LostReport.lostReport.Report_Status__c == '草案' || this.LostReport.lostReport.Report_Status__c == '批准'){
            return true;
        }else{
            return false;
        }
    }
    get isCanEdit(){
        if(this.LostReport.lostReport.Report_Status__c == '草案' || this.userProfileId == '00e10000000Y3o5AAC' || (this.LostReport.lostReport.Report_Status__c == '批准' && PCLReportProfileId.includes(this.userProfileId))){
            return true;
        }else{
            return false;
        }
    }
    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 }});
@@ -212,6 +861,13 @@
        }
        return false;
    }
    get isCaoAn(){
        if(this.LostReport.lostReport.Report_Status__c == '草案' || this.LostReport.lostReport.Report_Status__c == '批准'){
            return true;
        }else{
            return false;
        }
    }
    get isEdit(){
        if(this.status.pageStatus == 'Edit'){
@@ -219,6 +875,7 @@
        }
        return false;
    }
    get isSubmit(){
        if(this.submitFlag){
            return true;
@@ -231,6 +888,14 @@
            lineNo: this.LostReport.LostBrands.length
        }).then(result=>{
            this.LostReport.LostBrands.push(result);
            // 获取 lightning-accordion 的 DOM 元素
            setTimeout(() => {
                const accordion = this.template.querySelector('.example-accordion');
            console.log(accordion);
            console.log('1');
            accordion.activeSectionName = this.brandTitle;
            }, 200);
        });
    }
    addRow(event){
@@ -238,16 +903,24 @@
        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() {
        console.log('1');
        this.IsLoading = true;
        submit({
            report1: JSON.stringify(this.LostReport),
            reportId: this.reportId
            reportStatus: this.LostReport.lostReport.Report_Status__c,
            modifyAfterApproval: this.LostReport.lostReport.ModifyAfterApproval__c,
            reportId: this.LostReport.lostReport.Id
        }).then(result=>{
            if(result.error){
                this.showToast(result.error,"error");
@@ -260,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 = '已提交';
                    }
@@ -282,8 +959,12 @@
                }
                this.submitFlag = JSON.parse(JSON.stringify(result.submitFlag));
                console.log(this.LostReport);
                this.updateRecordView(this.reportId);
                this.LostReport.lostReport.Report_Status__c = '申请中';
                // this.updateRecordView(this.reportId);
                this.showToast('提交成功!','success');
                setTimeout(() => {
                    this.remoteUrl();
                }, 2000);
            }
            this.IsLoading = false;
        }).catch(error=>{
@@ -291,14 +972,33 @@
            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){
        this[NavigationMixin.Navigate]({
            type: 'standard__recordPage',
            attributes: {
                recordId: this.LostReport.approvalHistorys[0].Id,
                actionName: 'view'
            }
        });
        // var approvalId;
        // for(var i=0;i < this.LostReport.approvalHistorys.length;i++){
        //     if(this.LostReport.approvalHistorys[i].StepStatus == '待处理'){
        //         approvalId = this.LostReport.approvalHistorys[i].Id;
        //     }
        // }
        // window.open('/lightning/r/ProcessInstanceStep/'+ approvalId + '/view?0.source=alohaHeader');
        this.isPop = true;
    }
    onApproveChange1(){
        window.open('/lightning/r/' + this.LostReport.lostReport.Id + '/related/ProcessSteps/view?0.source=alohaHeader');
    }
    
@@ -337,35 +1037,94 @@
            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 = '';
        // 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 == '进口'){
                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 = this.columns2s = columns2RandomList[Math.floor(Math.random() * 10)];
            }
            if(payloadType === 'multi-select'){
                this.clearProducts(payload.value,index);
                // this.setDefaultBrand(payload.value,index);
                this.clearBrandMannualName(payload.value,index);
            }
        });
    }
    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;
    }
   
@@ -393,14 +1152,37 @@
    }
    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 = '/lightning/r/Opportunity/' + this.LostReport.lostReport.Opportunity__c + '/view';
    }
    removeFieldsWithR(obj) {
        if (Array.isArray(obj)) {
            // 如果属性是数组,遍历数组元素
            for (var i = 0; i < obj.length; i++) {
                // 递归调用函数处理数组元素
                this.removeFieldsWithR(obj[i]);
            }
        } else if (typeof obj === 'object' && obj !== null) {
            // 如果属性是对象,则遍历对象属性
            for (var key in obj) {
                if (key.includes('__r') || key === 'approvalHistorys') {
                    // 如果属性名以 '__r' 结尾,删除它
                    console.log(key);
                    delete obj[key];
                }else if (typeof obj[key] === 'object' && obj[key] !== null) {
                    // 如果属性是对象,则递归调用该函数
                    this.removeFieldsWithR(obj[key]);
                }
            }
        }
    }
    
    saveBrandJs(event) {
        this.IsLoading = true;
@@ -410,10 +1192,13 @@
            return;
        }
        console.log(this.LostReport);
        var newLostReport = JSON.parse(JSON.stringify(this.LostReport));
        newLostReport.approvalHistorys = this.newApprovalHistorys;
        this.newReport = JSON.parse(JSON.stringify(this.LostReport));
        this.newReport.approvalHistorys = this.newApprovalHistorys;
        console.log(JSON.stringify(this.newReport));
        this.removeFieldsWithR(this.newReport);
        console.log(JSON.stringify(this.newReport));
        dataEntry({
            report1 : JSON.stringify(newLostReport),
            report1 : JSON.stringify(this.newReport),
            deleteBrandIdList: this.deleteBrandIdList,
            deleteProductIdList: this.deleteProductIdList
        }).then(result=>{
@@ -443,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=>{
@@ -479,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(){
@@ -570,7 +1373,8 @@
    removeRow(event){
        var index1 = event.target.name;
        var index2 = event.target.value;
        var deleteButtons = this.template.querySelectorAll('.deleteButton[data-id="' + index1 + '"]');
        var deleteButtons = this.template.querySelectorAll('.iconButton[data-id="' + index1 + '"]');
        console.log(deleteButtons.length + ' chen1');
        if(deleteButtons.length == 1){
            return;
        }
@@ -582,16 +1386,20 @@
        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) {
            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;
         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({
@@ -601,18 +1409,33 @@
                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;
                    this.LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.ProductCategory__c=prd.ProductCategory__c;
                    elements1[secondNum].readOnly = true;
                    console.log(prd.ProductClass__c + '  ' + prd.ProductCategory__c);
                    if(prd.ProductClass__c == '其他' && (prd.ProductCategory__c == '' || prd.ProductCategory__c == null || prd.ProductCategory__c == undefined)){
                        this.LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.ProductCategory__c = '其他';
                    }else{
                        this.LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.ProductCategory__c=prd.ProductCategory__c;
                    }
                    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;
                    elements1[secondNum].readOnly = true;
                    // elements1[secondNum].readOnly = true;
                    elements2[secondNum].readOnly = true;
                }
            }).catch(error=>{
@@ -622,7 +1445,113 @@
         
      }
    }
    handleModalCancel(){
        this.isPop = false;
    }
    handleModalSubmit(){
        this.IsLoading = true;
        const comment = this.template.querySelector('.textAreaBody');
        console.log(this.isLookup == true && this.newActorId == null);
        if(this.isLookup == true && this.newActorId == null){
            this.showToast('请填入新分配人','error');
            this.IsLoading = false;
            return;
        }
        this.isPop = false;
        if(this.newActorId){
            reassignStep({
                recordId: this.LostReport.lostReport.Id,
                newActorId: this.newActorId
            }).then(result=>{
                if(result){
                    this.showToast('您无权重新分配','error');
                    this.IsLoading = false;
                }else{
                    // 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');
                    }else if(this.action == 'Reject'){
                        this.showToast('您无权拒绝','error');
                    }else if(this.action == 'Removed'){
                        this.showToast('您无权撤回','error');
                    }
                    this.IsLoading = false;
                }else{
                    // window.location = '/' + this.LostReport.lostReport.Id;
                    this.remoteUrl();
                }
            }).catch(error=>{
                console.log('error');
                console.log(error);
            });
        }
    }
    handleSubmitApp(){
        this.modalsubmitLabel = '批准';
        this.isPop = true;
        this.action = 'Approve';
        this.isLookup = false;
        this.newActorId = null;
    }
    handleReStartApp(){
        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 = '拒绝';
        this.isPop = true;
        this.action = 'Reject';
        this.isLookup = false;
        this.newActorId = null;
    }
    handleCancelApp(){
        this.modalsubmitLabel = '撤回';
        this.isPop = true;
        this.action = 'Removed';
        this.isLookup = false;
        this.newActorId = null;
    }
    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;
@@ -634,34 +1563,61 @@
        var value = event.target.value;
        this.LostReport.lostReport.LostType__c = value;
    }
    handleChannelSpecificReasonChange(event){
        var value = event.target.value;
        var index = event.target.name;
        this.LostReport.LostBrands[index].lostBrand.ChannelSpecificReasons__c = value;
    }
    
    handleLostReasonMainChange(event){
        var index = event.target.name;
        var value = event.target.value;
        this.LostReport.LostBrands[index].lostBrand.Lost_reason_main__c = value;
        if(value == '渠道因素'){
            this.LostReport.LostBrands[index].reasonFlag = true;
        }else if(this.LostReport.LostBrands[index].lostBrand.Lost_reason_main__c != '渠道因素' && this.LostReport.LostBrands[index].lostBrand.Lost_Reason_Sub__c != '渠道因素'){
            this.LostReport.LostBrands[index].reasonFlag = false;
            this.LostReport.LostBrands[index].lostBrand.ChannelSpecificReasons__c = '';
        }
    }
    handleLostReasonSubChange(event){
        var index = event.target.name;
        var value = event.target.value;
        this.LostReport.LostBrands[index].lostBrand.Lost_Reason_Sub__c = value;
        if(value == '渠道因素'){
            this.LostReport.LostBrands[index].reasonFlag = true;
        }else if(this.LostReport.LostBrands[index].lostBrand.Lost_reason_main__c != '渠道因素' && this.LostReport.LostBrands[index].lostBrand.Lost_Reason_Sub__c != '渠道因素'){
            this.LostReport.LostBrands[index].reasonFlag = false;
            this.LostReport.LostBrands[index].lostBrand.ChannelSpecificReasons__c = '';
        }
    }
    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){
@@ -705,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;
@@ -712,10 +1685,24 @@
        }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;
                    }
                });
            }
        }
       
    }
    handleActorChange(event){
        this.newActorId = event.target.value;
    }
    handleProductCategoryChange(event){
        var index1 = event.target.title;