19626
2023-08-09 5363705f99dcbb7c270a619804beb4ac29b3faa0
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-06-06 13:27:33
 * @LastEditTime: 2023-08-01 16:22:17
 */
const columns2=[
    { label: '--无--', value: '' },
@@ -51,6 +51,7 @@
import multiSelectCombobox from 'c/multiSelectCombobox'
import searchBrands from '@salesforce/apex/lexPCLLostReportLwcController.searchBrands';
import getNewLostBrand from '@salesforce/apex/lexPCLLostReportLwcController.getNewLostBrand';
import getNewLostProduct from '@salesforce/apex/lexPCLLostReportLwcController.getNewLostProduct';
import getPickList from '@salesforce/apex/lexPCLLostReportLwcController.getPickList';
import { NavigationMixin } from 'lightning/navigation';
import submit from '@salesforce/apex/lexPCLLostReportLwcController.submit';
@@ -71,6 +72,7 @@
        lostReport: {}
    }
    @track brandOptions = [];
    @track isInit = false;
    lostType = '失单';
    submitFlag = '';
    flag;
@@ -86,6 +88,8 @@
    isSubmit = false;
    deleteBrandIdList = [];
    deleteProductIdList = [];
    IsLoading;
    newApprovalHistorys;
    connectedCallback(){
        init({
            oppId1: this.oppId,
@@ -106,7 +110,11 @@
                this.LostReport = report;
                this.LostReport.lostReport.LostTotalAmount__c = 0.0;
                this.LostReport.lostReport.InclusionUltrasound__c = '0';
                this.newProduct = JSON.parse(JSON.stringify(this.LostReport.LostBrands[0].LostProducts[0]));
                this.newApprovalHistorys = JSON.parse(JSON.stringify(this.LostReport.approvalHistorys));
                console.log(this.LostReport);
                this.isInit = true;
            }
            }).catch(error=>{
                console.log("error");
@@ -127,6 +135,9 @@
            fieldName: 'ProductCategory__c'
        }).then(result=>{
            this.productOptionsList = JSON.parse(result);
        }).catch(error=>{
            console.log('error');
            console.log(error);
        });
    }
@@ -159,19 +170,20 @@
        updateRecord({fields: { Id: recordId }});
    }
    get isInit(){
        if(this.LostReport.LostBrands[0].LostProducts[0].productOptions == undefined){
            return false;
        }else{
            return true;
        }
    }
    // get isInit(){
    //     if(this.LostReport.LostBrands[0].LostProducts[0].productOptions == undefined){
    //         return false;
    //     }else{
    //         return true;
    //     }
    // }
   
    get getData(){
        var products = this.LostReport.LostBrands[this.tableflag].LostProducts;
        var newLostReport = JSON.parse(JSON.stringify(this.LostReport));
        var products = newLostReport.LostBrands[this.tableflag].LostProducts;
        var productList = [];
        products.forEach(product=>{
            var newProduct = JSON.parse(JSON.stringify(product));
            var newProduct = product;
            newProduct.LostProductss.productName = newProduct.productName;
            productList.push(newProduct.LostProductss);
        });
@@ -213,7 +225,7 @@
        }
        return false;
    }
    addBrandJs() {
        getNewLostBrand({
            lineNo: this.LostReport.LostBrands.length
@@ -221,8 +233,18 @@
            this.LostReport.LostBrands.push(result);
        });
    }
    addRow(event){
        var index = event.target.name;
        getNewLostProduct({
            lineNo2: this.LostReport.LostBrands[index].LostProducts.length
        }).then(result=>{
            result.LostProductss.LostBrandName__c = this.LostReport.LostBrands[index].lostBrand.Lost_By_Company__c;
            this.LostReport.LostBrands[index].LostProducts.push(result);
        });
    }
    submitJs() {
        console.log('1');
        this.IsLoading = true;
        submit({
            report1: JSON.stringify(this.LostReport),
            reportId: this.reportId
@@ -230,12 +252,52 @@
            if(result.error){
                this.showToast(result.error,"error");
            }else{
                this.submitFlag = result.submitFlag;
                console.log(result);
                console.log(this.LostReport);
                for(var i=0;i < result.approvalHistorys.length;i++){
                    console.log('123');
                    var date = new Date(result.approvalHistorys[i].CreatedDate);
                    result.approvalHistorys[i].CreatedDate = date.toLocaleString();
                    if(result.approvalHistorys[i].StepStatus == 'Approved'){
                        result.approvalHistorys[i].StepStatus = '已批准';
                    }else if(result.approvalHistorys[i].StepStatus == 'Fault'){
                    }else if(result.approvalHistorys[i].StepStatus == 'Pending'){
                        result.approvalHistorys[i].StepStatus = '待处理';
                    }else if(result.approvalHistorys[i].StepStatus == 'Held'){
                    }else if(result.approvalHistorys[i].StepStatus == 'NoResponse'){
                    }else if(result.approvalHistorys[i].StepStatus == 'Reassigned'){
                    }else if(result.approvalHistorys[i].StepStatus == 'Rejected'){
                        result.approvalHistorys[i].StepStatus = '已拒绝';
                    }else if(result.approvalHistorys[i].StepStatus == 'Removed'){
                    }else if(result.approvalHistorys[i].StepStatus == 'Started'){
                        result.approvalHistorys[i].StepStatus = '已提交';
                    }
                    this.LostReport.approvalHistorys.push(JSON.parse(JSON.stringify(result.approvalHistorys[i])));
                    console.log('321');
                }
                this.submitFlag = JSON.parse(JSON.stringify(result.submitFlag));
                console.log(this.LostReport);
                this.updateRecordView(this.reportId);
                this.LostReport.lostReport.Report_Status__c = '申请中';
            }
            this.IsLoading = false;
        }).catch(error=>{
            console.log("error");
            console.log(error);
        });
    }
    onApproveChange(event){
        this[NavigationMixin.Navigate]({
            type: 'standard__recordPage',
            attributes: {
                recordId: this.LostReport.approvalHistorys[0].Id,
                actionName: 'view'
            }
        });
    }
    
@@ -331,23 +393,27 @@
    }
    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'
            }
        });
    }
    saveBrandJs(event) {
        this.IsLoading = true;
        this.dataCheck();
        if(!this.flag){
            this.IsLoading = false;
            return;
        }
        console.log(this.LostReport);
        var newLostReport = JSON.parse(JSON.stringify(this.LostReport));
        newLostReport.approvalHistorys = this.newApprovalHistorys;
        dataEntry({
            report1 : JSON.stringify(this.LostReport),
            report1 : JSON.stringify(newLostReport),
            deleteBrandIdList: this.deleteBrandIdList,
            deleteProductIdList: this.deleteProductIdList
        }).then(result=>{
@@ -368,14 +434,45 @@
                //     });
                //     index1++;
                // });
                this.LostReport = JSON.parse(result.LostReport);
                var newLostReport = JSON.parse(result.LostReport);
                if(newLostReport.approvalHistorys.length > 0){
                    for(var i=0;i < newLostReport.approvalHistorys.length;i++){
                        console.log('123');
                        var date = new Date(newLostReport.approvalHistorys[i].CreatedDate);
                        newLostReport.approvalHistorys[i].CreatedDate = date.toLocaleString();
                        if(newLostReport.approvalHistorys[i].StepStatus == 'Approved'){
                            newLostReport.approvalHistorys[i].StepStatus = '已批准';
                        }else if(newLostReport.approvalHistorys[i].StepStatus == 'Fault'){
                        }else if(newLostReport.approvalHistorys[i].StepStatus == 'Pending'){
                            newLostReport.approvalHistorys[i].StepStatus = '待处理';
                        }else if(newLostReport.approvalHistorys[i].StepStatus == 'Held'){
                        }else if(newLostReport.approvalHistorys[i].StepStatus == 'NoResponse'){
                        }else if(newLostReport.approvalHistorys[i].StepStatus == 'Reassigned'){
                        }else if(newLostReport.approvalHistorys[i].StepStatus == 'Rejected'){
                            newLostReport.approvalHistorys[i].StepStatus = '已拒绝';
                        }else if(newLostReport.approvalHistorys[i].StepStatus == 'Removed'){
                        }else if(newLostReport.approvalHistorys[i].StepStatus == 'Started'){
                            newLostReport.approvalHistorys[i].StepStatus = '已提交';
                        }
                    }
                }
                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.IsLoading = false;
        }).catch(error=>{
            console.log("error");
            console.log(error);
@@ -470,14 +567,6 @@
    isBlank(str) {
        return /^\s*$/.test(str);
      }
    addRow(event){
        var index = event.target.name;
        var product = JSON.parse(JSON.stringify(this.newProduct));
        if(this.LostReport.LostBrands[index].LostProducts[0].LostProductss.LostBrandName__c != undefined){
            product.LostProductss.LostBrandName__c =  JSON.parse(JSON.stringify(this.LostReport.LostBrands[index].LostProducts[0].LostProductss.LostBrandName__c));
        }
        this.LostReport.LostBrands[index].LostProducts.push(product);
    }
    removeRow(event){
        var index1 = event.target.name;
        var index2 = event.target.value;