19626
2023-10-11 7c7cb195462c2ded7bfe4105959ea36d1dd68ded
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-09 16:36:54
 * @LastEditTime: 2023-10-11 18:24:16
 */
let columns2=[
    { label: '--无--', value: '' },
@@ -91,6 +91,7 @@
import lexButtonCss from '@salesforce/resourceUrl/lexButtonCss';
import systemProfileId from '@salesforce/label/c.ProfileId_SystemAdmin';
import {loadStyle} from 'lightning/platformResourceLoader';
import { RefreshEvent } from "lightning/refresh";
export default class LexPCLLostReportPage extends NavigationMixin(LightningElement) {
    @track visible = false;
    @wire(CurrentPageReference) pageRef;
@@ -197,7 +198,8 @@
                }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{
@@ -226,6 +228,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;
@@ -316,6 +330,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=>{
@@ -324,15 +343,38 @@
        });
        
    }
    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 = columns2;
                    }
                });
        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((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'];
@@ -495,6 +537,8 @@
        }).then(result=>{
            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() {
@@ -546,7 +590,7 @@
                this.showToast('提交成功!','success');
                setTimeout(() => {
                    
                    window.location = '/' + this.LostReport.lostReport.Id;
                    this.remoteUrl();
                }, 2000);
            }
            this.IsLoading = false;
@@ -554,6 +598,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;
@@ -626,7 +683,6 @@
                // this.setDefaultBrand(payload.value,index);
                this.clearBrandMannualName(payload.value,index);
            }
            console.log('cnm:' + JSON.stringify(this.LostReport));
        });
        
    }
@@ -651,27 +707,40 @@
    }
    clearProducts(value,index){
        var cc = this.LostReport.LostBrands[index].lostBrand.Lost_By_Company_Mannual__c;
        if (value == '其他' && (cc != null || cc != '' || cc != undefined)) {
        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 = [];
        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);
        });
  
        
@@ -801,15 +870,21 @@
                        }
                    }
                }
                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=>{
@@ -818,7 +893,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 = columns2;
                    }
                });
    }
   
    dataCheck(){
@@ -925,7 +1008,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;
@@ -942,7 +1028,12 @@
                var prd = JSON.parse(result);
                this.LostReport.LostBrands[topNum].LostProducts[secondNum].productOptions = this.productOptionsList[prd.ProductClass__c];
                if (prd.ProductCategory__c!=null) {
                    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);
@@ -952,10 +1043,14 @@
                        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 {
                    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;
@@ -992,7 +1087,8 @@
                    this.showToast('您无权重新分配','error');
                    this.IsLoading = false;
                }else{
                    window.location = '/' + this.LostReport.lostReport.Id;
                    // window.location = '/' + this.LostReport.lostReport.Id;
                    this.remoteUrl();
                }
                
            });
@@ -1013,7 +1109,8 @@
                    
                    this.IsLoading = false;
                }else{
                    window.location = '/' + this.LostReport.lostReport.Id;
                    // window.location = '/' + this.LostReport.lostReport.Id;
                    this.remoteUrl();
                } 
            });
        }
@@ -1105,20 +1202,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){