19626
2023-10-09 25f056535350a0b80bad50d2cc45311998e5d1cd
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-09 16:36:54
 */
let columns2=[
    { label: '--无--', value: '' },
@@ -87,6 +87,10 @@
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';
export default class LexPCLLostReportPage extends NavigationMixin(LightningElement) {
    @track visible = false;
    @wire(CurrentPageReference) pageRef;
@@ -95,7 +99,7 @@
    @track status = {
        pageStatus: 'Create'
      }
    newActorId = null;
    @track newActorId = null;
    newReport;
    action;
    isLookup;
@@ -131,15 +135,11 @@
    IsLoading;
    newApprovalHistorys;
    userProfileId;
    @wire(getUserProfileId)
    wiredUserProfileId({ error, data }) {
        if (data) {
            this.userProfileId = data;
            console.log(this.userProfileId + 'user');
        } else if (error) {
            // 处理错误
        }
    }
    userId;
    allowUserId;
    submitUserId;
    @track isSubmitUser = false;
    @track isAllowUser = false;
    handleCustomButtonClick(event) {
        try {
            var index1 = event.target.title;
@@ -157,8 +157,31 @@
            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.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,
@@ -178,6 +201,21 @@
                    }, 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');
@@ -217,20 +255,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 +283,7 @@
                    if(this.LostReport.lostReport.Report_Status__c == '批准'){
                        this.submitFlag = false;
                    }
                }
                console.log(PCLReportProfileId.includes(this.userProfileId));
                console.log(PCLReportProfileId);
@@ -293,25 +336,24 @@
        // 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 +452,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;
@@ -474,20 +516,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 = '已提交';
                    }
@@ -561,10 +607,10 @@
            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=>{
@@ -577,7 +623,7 @@
            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));
@@ -586,27 +632,49 @@
    }
    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;
        if (value == '其他' && (cc != null || cc != '' || cc != undefined)) {
            return;
        }
        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=>{
            this.LostReport.LostBrands[index].LostProducts.forEach(product=>{
                result.LostProductss.LostBrandName__c = value;
                newProducts.push(result);
            });
            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;
        });
        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,20 +778,24 @@
                        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 = '已提交';
                        }
@@ -956,11 +1028,20 @@
        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 = '拒绝';
        this.isPop = true;