From e14d6d0619330cad423f06493e3aa2371faa2a8f Mon Sep 17 00:00:00 2001
From: 19626 <1962676589@qq.com>
Date: 星期六, 09 九月 2023 14:02:23 +0800
Subject: [PATCH] Sit期间修改

---
 force-app/main/default/lwc/lexPCLLostReportPage/lexPCLLostReportPage.js |  333 +++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 272 insertions(+), 61 deletions(-)

diff --git a/force-app/main/default/lwc/lexPCLLostReportPage/lexPCLLostReportPage.js b/force-app/main/default/lwc/lexPCLLostReportPage/lexPCLLostReportPage.js
index d3d0d93..aa15bbc 100644
--- a/force-app/main/default/lwc/lexPCLLostReportPage/lexPCLLostReportPage.js
+++ b/force-app/main/default/lwc/lexPCLLostReportPage/lexPCLLostReportPage.js
@@ -4,15 +4,26 @@
  * @Author: chen jing wu
  * @Date: 2023-04-20 15:04:03
  * @LastEditors: chen jing wu
- * @LastEditTime: 2023-06-06 10:51:30
+ * @LastEditTime: 2023-09-07 14:46:02
  */
-const columns2=[
+let columns2=[
     { 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: '鏌愮浜у搧缂哄け' },
@@ -31,7 +42,7 @@
 ];
 const columns3 = [
     {label : "澶卞崟鍝佺墝",fieldName : "LostBrandName__c"},
-    {label : "澶卞崟瀵规墜鍨嬪彿",fieldName : "LostProduct__c"},
+    {label : "澶卞崟瀵规墜鍨嬪彿",fieldName : "productName"},
     {label : "澶卞崟鏁伴噺",fieldName : "Quantity__c",type : "number"},
     {label : "澶卞崟瀵规墜鍨嬪彿(鎵嬪姩)",fieldName : "LostProductMannual__c"},
     {label : "澶卞崟浜у搧绫诲埆",fieldName : "ProductClass__c"},
@@ -46,36 +57,42 @@
 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';
 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';
+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';
 export default class LexPCLLostReportPage extends NavigationMixin(LightningElement) {
-
+    @track visible = false;
+    @wire(CurrentPageReference) pageRef;
     @api oppId;
-    @track columns2=columns2;
+    @track columns2s=columns22;
     @track status = {
         pageStatus: 'Create'
       }
+    @track message;
+    @track isSuccess;
     @track LostReport = {
         LostBrands: [
         ],
         lostReport: {}
     }
     @track brandOptions = [];
+    @track isInit = false;
     lostType = '澶卞崟';
     submitFlag = '';
     flag;
     tableflag = 0;
-    reportId = '';
+    @api reportId;
+    @api pageStatus;
     newProduct;
     productOptionsList;
     productClassOptions = productClassOptions;
@@ -86,7 +103,28 @@
     isSubmit = false;
     deleteBrandIdList = [];
     deleteProductIdList = [];
+    IsLoading;
+    newApprovalHistorys;
+    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');
+        }
+    }
+    
     connectedCallback(){
+        this.status.pageStatus = this.pageStatus;
         init({
             oppId1: this.oppId,
             lostReportId1: this.reportId,
@@ -106,7 +144,41 @@
                 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);
+                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 = '宸叉壒鍑�';
+                        }else if(this.LostReport.approvalHistorys[i].StepStatus == 'Fault'){
+    
+                        }else if(this.LostReport.approvalHistorys[i].StepStatus == 'Pending'){
+                            this.LostReport.approvalHistorys[i].StepStatus = '寰呭鐞�';
+                        }else if(this.LostReport.approvalHistorys[i].StepStatus == 'Held'){
+    
+                        }else if(this.LostReport.approvalHistorys[i].StepStatus == 'NoResponse'){
+    
+                        }else if(this.LostReport.approvalHistorys[i].StepStatus == 'Reassigned'){
+    
+                        }else if(this.LostReport.approvalHistorys[i].StepStatus == 'Rejected'){
+                            resthis.LostReportult.approvalHistorys[i].StepStatus = '宸叉嫆缁�';
+                        }else if(this.LostReport.approvalHistorys[i].StepStatus == 'Removed'){
+    
+                        }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;
+                }
+                this.isInit = true;
             }
             }).catch(error=>{
                 console.log("error");
@@ -127,8 +199,18 @@
             fieldName: 'ProductCategory__c'
         }).then(result=>{
             this.productOptionsList = JSON.parse(result);
+        }).catch(error=>{
+            console.log('error');
+            console.log(error);
         });
 
+    }
+    renderedCallback(){
+        const sections = this.template.querySelectorAll('lightning-accordion-section');
+        sections.forEach(section=>{
+            console.log(section);
+            section.active = true;    
+        });
     }
 
     @wire(CurrentPageReference)
@@ -148,30 +230,51 @@
     }
 
     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 }});
     }
 
-    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=>{
-            productList.push(product.LostProductss);
+            var newProduct = product;
+            newProduct.LostProductss.productName = newProduct.productName;
+            productList.push(newProduct.LostProductss);
         });
         this.tableflag++;
         return productList;
@@ -205,7 +308,13 @@
         }
         return false;
     }
-    
+    get isSubmit(){
+        if(this.submitFlag){
+            return true;
+        }
+        return false;
+    }
+
     addBrandJs() {
         getNewLostBrand({
             lineNo: this.LostReport.LostBrands.length
@@ -213,8 +322,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
@@ -222,13 +341,54 @@
             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){
+        window.open('/lightning/r/ProcessInstanceStep/'+ this.LostReport.approvalHistorys[0].Id + '/view?0.source=alohaHeader');
+        // this[NavigationMixin.Navigate]({
+        //     type: 'standard__recordPage',
+        //     attributes: {
+        //         recordId: this.LostReport.approvalHistorys[0].Id,
+        //         actionName: 'view'
+        //     }
+        // });
     }
     
 
@@ -267,11 +427,25 @@
             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 = '';
+        searchBatchIfForProduct({
+            productName: this.LostReport.LostBrands[index].lostBrand.Lost_By_Company__c
+        }).then(result=>{
+            console.log(result);
+            if(result == '杩涘彛'){
+                this.columns2s = columns2;
+            }else{
+                this.columns2s = columns22;
+            }
+            if(payloadType === 'multi-select'){
+            
+                this.clearProducts(payload.value,index);
+                this.setDefaultBrand(payload.value,index);
+                this.clearBrandMannualName(payload.value,index);
+            }
+        });
+        
     }
     setDefaultBrand(value,index){
         var newProducts = [];
@@ -323,23 +497,28 @@
     }
     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 = '/' +this.oppId;
     }
-   
+    
     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=>{
@@ -349,23 +528,56 @@
             if(result.error){
                 this.showToast(result.error,"error");
             }else{
-                var report = JSON.parse(result.LostReport);
-                var index1 = 0;
-                this.LostReport.LostBrands.forEach(brand=>{
-                    brand.lostBrand.Id = report.LostBrands[index1].lostBrand.Id;
-                    var index2 = 0;
-                    brand.LostProducts.forEach(product=>{
-                        product.LostProductss.Id = report.LostBrands[index1].LostProducts[index2].LostProductss.Id;
-                        index2++;
-                    });
-                    index1++;
-                });
+                // var report = JSON.parse(result.LostReport);
+                // var index1 = 0;
+                // this.LostReport.LostBrands.forEach(brand=>{
+                //     brand.lostBrand.Id = report.LostBrands[index1].lostBrand.Id;
+                //     var index2 = 0;
+                //     brand.LostProducts.forEach(product=>{
+                //         product.LostProductss.Id = report.LostBrands[index1].LostProducts[index2].LostProductss.Id;
+                //         index2++;
+                //     });
+                //     index1++;
+                // });
+                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.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);
@@ -460,14 +672,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;
@@ -483,6 +687,7 @@
         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) {
@@ -491,8 +696,8 @@
 			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({
@@ -523,7 +728,13 @@
 			
 		}
     }
+
+    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;

--
Gitblit v1.9.1