From e6a0a7f9ffb463c5ce78d6770b09eac739f88b15 Mon Sep 17 00:00:00 2001
From: 19626 <1962676589@qq.com>
Date: 星期三, 24 五月 2023 16:57:53 +0800
Subject: [PATCH] 优化确认框以及修改页面

---
 force-app/main/default/lwc/lexPCLLostReportPage/lexPCLLostReportPage.js |  621 ++++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 508 insertions(+), 113 deletions(-)

diff --git a/force-app/main/default/lwc/lexPCLLostReportPage/lexPCLLostReportPage.js b/force-app/main/default/lwc/lexPCLLostReportPage/lexPCLLostReportPage.js
index 0452b39..969f72e 100644
--- a/force-app/main/default/lwc/lexPCLLostReportPage/lexPCLLostReportPage.js
+++ b/force-app/main/default/lwc/lexPCLLostReportPage/lexPCLLostReportPage.js
@@ -4,146 +4,541 @@
  * @Author: chen jing wu
  * @Date: 2023-04-20 15:04:03
  * @LastEditors: chen jing wu
- * @LastEditTime: 2023-04-23 16:57:18
+ * @LastEditTime: 2023-05-24 15:48:07
  */
-/*
- * @Description: 
- * @version: 
- * @Author: chen jing wu
- * @Date: 2023-04-20 15:04:03
- * @LastEditors: chen jing wu
- * @LastEditTime: 2023-04-20 17:11:01
- */
-import { api, wire,LightningElement } from 'lwc';
-import save from '@salesforce/apex/lexPCLLostReportLwcController.save';
-import jquery from '@salesforce/resourceUrl/jquery183minjs';
-import blockUIcss from '@salesforce/resourceUrl/blockUIcss';
+const columns2=[
+    { label: '--鏃�--', value: '' },
+    { 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: '鍏朵粬' }
+];
+const productCategoryOptions = [
+    { label: '--鏃�--', value: '' }
+];
+const columns3 = [
+    {label : "澶卞崟鍝佺墝",fieldName : "LostBrandName__c"},
+    {label : "澶卞崟瀵规墜鍨嬪彿",fieldName : "LostProduct__c"},
+    {label : "澶卞崟鏁伴噺",fieldName : "Quantity__c",type : "number"},
+    {label : "澶卞崟瀵规墜鍨嬪彿(鎵嬪姩)",fieldName : "LostProductMannual__c"},
+    {label : "澶卞崟浜у搧绫诲埆",fieldName : "ProductClass__c"},
+    {label : "澶卞崟浜у搧鍖哄垎",fieldName : "ProductCategory__c"}
+];
+const RecordTypeOptions = [
+    { label: '--鏃�--', value: '' },
+    { label: '澶卞崟', value: '澶卞崟' },
+    { label: '閮ㄥ垎澶卞崟', value: '閮ㄥ垎澶卞崟' }
+];
+
+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 { loadStyle, loadScript } from 'lightning/platformResourceLoader';
-import setBrand from '@salesforce/apex/lexPCLLostReportLwcController.setBrand';
-import PleaseWaitDialog from '@salesforce/resourceUrl/PleaseWaitDialog';
-import initForApex from '@salesforce/apex/lexPCLLostReportLwcController.initForApex';
-export default class LexPCLLostReportPage extends LightningElement {
+import setbrand from '@salesforce/apex/lexPCLLostReportLwcController.setBrand';
+import init from '@salesforce/apex/lexPCLLostReportLwcController.init';
+import multiSelectCombobox from 'c/multiSelectCombobox'
+import lexMultiSelectCombobox from 'c/lexmultiSelectCombobox';
+import searchBrands from '@salesforce/apex/lexPCLLostReportLwcController.searchBrands';
+import getNewLostBrand from '@salesforce/apex/lexPCLLostReportLwcController.getNewLostBrand';
+import getPickList from '@salesforce/apex/lexPCLLostReportLwcController.getPickList';
+import { NavigationMixin } from 'lightning/navigation';
+import submit from '@salesforce/apex/lexPCLLostReportLwcController.submit';
+import {CloseActionScreenEvent} from 'lightning/actions'; 
+export default class LexPCLLostReportPage extends NavigationMixin(LightningElement) {
+
     @api oppId;
-    @api lostReportId;
-    @api pageStatus;
-    @api lostType;
-    @api submitFlag;
-    brandCount;
-    constructor() {
-        super();
-
-        // Set the default values for properties using ternary operators
-        this.oppId = this.getParamValue('oppId') || '';
-        this.lostReportId = this.getParamValue('Id') || '';
-        this.pageStatus = this.getParamValue('pageStatus') || '';
-        this.lostType = this.getParamValue('lostType') || '';
-        this.submitFlag = this.getParamValue('submitFlag') || '';
+    @track columns2=columns2;
+    @track pageStatus = 'Create';
+    @track LostReport = {
+        LostBrands: [
+        ],
+        lostReport: {}
     }
+    @track brandOptions = [];
+    lostType = '澶卞崟';
+    submitFlag = '';
+    flag;
+    tableflag = 0;
+    reportId = '';
+    newProduct;
+    productOptionsList;
+    productClassOptions = productClassOptions;
+    productCategoryOptions = productCategoryOptions;
+    columns3 = columns3;
+    //澶卞崟绫诲瀷
+    RecordTypeOptions = RecordTypeOptions;
     connectedCallback(){
-        
+        init({
+            oppId1: this.oppId,
+            lostReportId1: this.reportId,
+            pageStatus1: this.pageStatus,
+            lostType1: this.lostType,
+            submitFlag1: this.submitFlag
+        }).then(result=>{
+            if(result.message != null){
+                if(result.message == '鎻愪氦鎴愬姛锛�'){
+                    this.showToast(result.message,"success");
+                    this.LostReport = result.LostReport;
+                }else{
+                    this.showToast(result.message,"error");
+                }  
+            }else{
+                var report = result.LostReport;
+                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]));
+            }
+            }).catch(error=>{
+                console.log("error");
+                console.log(error);
+            });
+        searchBrands().then(result=>{
+            this.brandOptions = JSON.parse(result);
+            const multiComboboxs = this.template.querySelectorAll('c-multi-select-combobox');
+            multiComboboxs.forEach(multiCombobox=>{
+                multiCombobox.refreshOptions(this.brandOptions);
+            });
+        }).catch(error=>{
+            console.log("error");
+            console.log(error);
+        });
+        getPickList({
+            objectName: 'PCLLostProduct__c',
+            fieldName: 'ProductCategory__c'
+        }).then(result=>{
+            this.productOptionsList = JSON.parse(result);
+        });
+
     }
 
-    getParamValue(paramName) {
-        // Use the URLSearchParams API to get the value of a query parameter
-        const params = new URLSearchParams(window.location.search);
-        return params.get(paramName);
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+            console.log(111);
+            console.log(currentPageReference);
+
+        if (currentPageReference) {
+            const urlValue = currentPageReference.state.recordId;
+            if (urlValue) {
+            let str = `${urlValue}`;
+            console.log("str");
+            console.log(str);
+            this.oppId = str;
+            }
+        }
     }
-    saveJs() {
-        this.blockMyself();
-        save();
+
+    showToast(msg,type) {
+        const event = new ShowToastEvent({
+            title: '',
+            message: msg,
+            variant: type
+        });
+        this.dispatchEvent(event);
     }
+
+    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 productList = [];
+        products.forEach(product=>{
+            productList.push(product.LostProductss);
+        });
+        this.tableflag++;
+        return productList;
+    }
+
+    get isBrandCount2(){
+        var flag = true;
+        if(this.LostReport.LostBrands.length > 1){
+            flag = false;
+        }
+        return flag;
+    }
+
+    get isView(){
+        if(this.pageStatus == 'View'){
+            return true;
+        }
+        return false;
+    }
+
+    get isEdit(){
+        if(this.pageStatus == 'Create' || this.pageStatus == 'Edit'){
+            return true;
+        }
+        return false;
+    }
+    
     addBrandJs() {
-        this.blockMyself();
-        addBrand();
+        getNewLostBrand({
+            lineNo: this.LostReport.LostBrands.length
+        }).then(result=>{
+            this.LostReport.LostBrands.push(result);
+        });
     }
-    submitJS() {
-        this.blockMyself();
-        submit();
-    }
-    addProductJs(number) {
-        this.blockMyself();
-        addProduct(number);
-    }
-    RemoveJs(number) {
-        this.blockMyself();
-        Remove(number);
-    }
-    // add tcm 20211118 start
-    searchJs(topNum, secondNum) {
-        this.blockMyself();
-        search(topNum, secondNum);
-    }
-    blockMyself(){
-        Promise.all([
-            loadScript(this,PleaseWaitDialog),
-            loadStyle(this,blockUIcss),
-            loadScript(this, jquery)
-            //loadScript(this, jq + "/dist/jquery.min.js")
-        ]).then(() =>{
-            blockme();
-        }).catch(error => {
-            console.log("321");
-            console.log('Failed to load the JQuery : ' +error);
+    submitJs() {
+        console.log('1');
+        submit({
+            report1: JSON.stringify(this.LostReport),
+            reportId: this.reportId
+        }).then(result=>{
+            console.log(result);
+            if(result.error){
+                this.showToast(result.error,"error");
+            }else{
+                this.submitFlag = result.submitFlag;
+                init({
+                    oppId1: this.oppId,
+                    lostReportId1: this.reportId,
+                    pageStatus1: result.pageStatus,
+                    lostType1: this.lostType,
+                    submitFlag1: this.submitFlag
+                }).then(result=>{
+                    var report = result.LostReport;
+                    if(result.message != null){
+                        if(result.message == '鎻愪氦鎴愬姛锛�'){
+                            this.LostReport = report;
+                            this.pageStatus = 'View';
+                            this.showToast(result.message,"success");
+                        }else{
+                            this.showToast(result.message,"error");
+                        }  
+                    }else{
+                        this.LostReport = report;
+                    }
+                }).catch(error=>{
+                    console.log("error");
+                    console.log(error);
+                });
+            }
+        }).catch(error=>{
+            console.log("error");
+            console.log(error);
         });
     }
     
+
+    deleteBrandJs(event){
+        var str = event.target.name;
+        this.columnsArrIndex = 0;
+        this.LostReport.LostBrands.splice(str,1);
+    }
     // add tcm 20211118 end
     setLostTotalAmount() {
-        //console.log('setLostTotalAmount start:');
-        var totalAmount = this.template.querySelector('[data-id="LostTotalAmount"]');
-        var totalAmountHidden = this.template.querySelector('[data-id="LostTotalAmountHidden"]');
-        var brandAmountObjects = this.template.querySelectorAll('[data-id^="BrandContent:LostPriceOut"]');
-        var brandCompanyObjects = this.template.querySelectorAll('[data-id^="BrandContent:Lost_By_CompanyOut"]');
-        if (!!totalAmount && !!totalAmountHidden) {
-            var tempLostAmount = 0.0;
-            var brandCount = parseInt(this.brandCount);
-            //console.log(brandCount);
-
-            for (var i = 0; i < brandCount; i++) {
-                var brandAmountObject = brandAmountObjects[i];
-                var brandCompanyObject = brandCompanyObjects[i];
-    
-                if (!!brandAmountObject && !!brandCompanyObject) {
-                    var brandCompanyText = brandCompanyObject.innerText;
-                    var brandCompanyValue = brandCompanyObject.value;
-    
-                    if (!!brandCompanyText && brandCompanyText !== '--鏃�--' && !!brandCompanyValue) {
-                        var brandAmount = parseFloat(brandAmountObject.value);
-                        tempLostAmount = tempLostAmount + brandAmount;
-                    }
-                }
+        var elements = this.template.querySelectorAll('[data-id="TotalAmount"]');
+        var tempLostAmount = 0.0;
+        elements.forEach(element => {
+            if(element.value != 0){
+                tempLostAmount = tempLostAmount + parseFloat(element.value);
             }
-            totalAmount.innerHTML = toNumComma(tempLostAmount);
-            totalAmountHidden.value = tempLostAmount;
+        });
+        this.LostReport.lostReport.LostTotalAmount__c = tempLostAmount;
+    }
+    
+    setBrandMannualName(event) {
+        var index = event.target.name;
+        const payload = event.detail.payload;
+        const payloadType = event.detail.payloadType;
+        this.LostReport.LostBrands[index].lostBrand.Lost_By_Company__c = payload.value;
+        if(payloadType === 'multi-select'){
+            this.setDefaultBrand(payload.value,index);
+            this.clearBrandMannualName(payload.value,index);
         }
-        //console.log('setLostTotalAmount end');
     }
-    setBrandName(brandNumber) {
-        this.blockMyself();
-        setbrand(brandNumber);
+    setDefaultBrand(value,index){
+        this.LostReport.LostBrands[index].LostProducts.forEach(product => {
+            product.LostProductss.LostBrandName__c = value;
+        });
     }
-    setBrandMannualName(brandNumber) {
-        this.blockMyself();
-        setbrandmannual(brandNumber);
-    }
+
+   
     // 澶卞崟鍝佺墝涓嶇瓑浜庡叾浠栨椂,澶卞崟鍝佺墝锛堟墜鍔級娓呯┖骞朵笖涓嶅厑璁稿~鍐�,澶卞崟鍝佺墝绛変簬鍏朵粬鏃�,澶卞崟瀵规墜鍨嬪彿涓嶅彲鐢�  thh 2022-01-13 start
-    clearBrandMannualName(){
-        if (this.template.querySelector('[id$="Lost_By_CompanyOut"]').value === '鍏朵粬') {
-            this.template.querySelector('[id$="LostProduct"]').setAttribute('disabled', true);
+    clearBrandMannualName(value,index){
+        if (value == '鍏朵粬') {
+            var elements = this.template.querySelectorAll('[data-id="Lost_By_Company_Mannual"]');
+            elements[index].disabled = false;
+            elements[index].required = true;
+            var elements1 = this.template.querySelectorAll('.LostProduct[data-id="' + index + '"]');
+                    elements1.forEach(element=>{
+                        element.value = '';
+                        element.disabled = true;
+                    });
         } else {
-            this.template.querySelector('[id$="Lost_By_Company_MannualOut:Lost_By_Company_Mannual"]').value = '';
-            this.template.querySelector('[id$="Lost_By_Company_MannualOut:Lost_By_Company_Mannual"]').setAttribute('disabled', true);
+            var elements = this.template.querySelectorAll('[data-id="Lost_By_Company_Mannual"]');
+            this.brandFlag = false;
+            elements[index].value = '';
+            elements[index].disabled = true;
+            elements[index].required = false;
+            elements1.forEach(element=>{
+                element.disabled = false;
+            });
         }
     }
     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.dataCheck();
+        if(!this.flag){
+            return;
+        }
+        dataEntry({
+                report1 : JSON.stringify(this.LostReport)
+            }).then(result=>{
+                if(result.error){
+                    this.showToast(result.error,"error");
+                }else{
+                    this.reportId = result.reportId;
+                    console.log(this.LostReport);
+                    this.pageStatus = 'View';
+                }
+            }).catch(error=>{
+                console.log("error");
+                console.log(error);
+            });
+    }
+
+    editJs(){
+        this.pageStatus = 'Edit';
+    }
+    
+    dataCheck(){
+        this.flag = true;
+        if(this.LostReport.lostReport.LostType__c == undefined || this.isBlank(this.LostReport.lostReport.LostType__c))
+		{
+            this.flag = false;
+            this.showToast('蹇呴』濉啓澶卞崟绫诲瀷锛�','error');
+			
+		}
+        this.LostReport.LostBrands.forEach(tempLostBrand=>{
+			if(tempLostBrand.lostBrand.Lost_By_Company__c == undefined || this.isBlank(tempLostBrand.lostBrand.Lost_By_Company__c)) {
+                this.flag = false;
+                this.showToast('璇峰~鍐欏け鍗曞搧鐗岋紒','error');
+				
+			}// fy SWAG-CCC6F6 start
+			else if(tempLostBrand.lostBrand.Lost_By_Company__c == '鍏朵粬' && (tempLostBrand.lostBrand.Lost_By_Company_Mannual__c == undefined || this.isBlank(tempLostBrand.lostBrand.Lost_By_Company_Mannual__c))){
+                this.flag = false;
+                this.showToast('璇峰~鍐欏け鍗曞搧鐗岋紙鎵嬪姩锛夛紒','error');
+				
+			}// fy SWAG-CCC6F6 end
+			if(tempLostBrand.lostBrand.LostPrice__c == undefined || this.isBlank(tempLostBrand.lostBrand.LostPrice__c)) {
+                this.flag = false;
+                this.showToast('澶卞崟閲戦蹇呭~锛�','error');
+				
+			}
+			if(tempLostBrand.lostBrand.Lost_reason_main__c == undefined || this.isBlank(tempLostBrand.lostBrand.Lost_reason_main__c)) {
+                this.flag = false;
+                this.showToast('澶卞崟鐞嗙敱(涓�)蹇呭~锛�','error');
+				
+			}
+			if(tempLostBrand.lostBrand.Agency__c == undefined || this.isBlank(tempLostBrand.lostBrand.Agency__c)) {
+                this.flag= false;
+                this.showToast('涓爣缁忛攢鍟嗗繀濉紒','error');
+				
+			}
+			// 妫�鏌ユ槸鍚︽湁瓒呰繃1涓湁鏁扮殑浜у搧
+			var productCount = 0;
+            tempLostBrand.LostProducts.forEach(temlostProduct=>{
+                if ((temlostProduct.LostProductss.LostProduct__c != undefined && !this.isBlank(temlostProduct.LostProductss.LostProduct__c)) || (temlostProduct.LostProductss.LostProductMannual__c != undefined && !this.isBlank(temlostProduct.LostProductss.LostProductMannual__c))) {
+					productCount ++;
+				}
+				// update tcm 20211123 start
+				if(((temlostProduct.LostProductss.LostProduct__c!= undefined && !this.isBlank(temlostProduct.LostProductss.LostProduct__c)) || (temlostProduct.LostProductss.LostProductMannual__c!=undefined && !this.isBlank(temlostProduct.LostProductss.LostProductMannual__c)))&&(temlostProduct.LostProductss.Quantity__c==undefined || this.isBlank(temlostProduct.LostProductss.Quantity__c) || temlostProduct.LostProductss.Quantity__c ==0)) {
+                    this.flag = false;
+                    this.showToast('璇峰~鍐欏け鍗曟暟閲忥紒','error');
+					
+				}
+				if(((temlostProduct.LostProductss.LostProduct__c!=undefined && !this.isBlank(temlostProduct.LostProductss.LostProduct__c)) || (temlostProduct.LostProductss.LostProductMannual__c!=undefined && !this.isBlank(temlostProduct.LostProductss.LostProductMannual__c)))&&(temlostProduct.LostProductss.ProductCategory__c==undefined || this.isBlank(temlostProduct.LostProductss.ProductCategory__c))) {
+                    this.flag = false;
+					if (temlostProduct.LostProductss.ProductClass__c==undefined || this.isBlank(temlostProduct.LostProductss.ProductClass__c)) {
+                        this.showToast('澶卞崟浜у搧绫诲埆蹇呭~锛�','error');
+                        this.showToast('澶卞崟浜у搧蹇呭~锛�','error');
+					}else {
+                        this.showToast('澶卞崟浜у搧蹇呭~锛�','error');
+					}
+					
+				}
+				// 褰撳け鍗曞搧鐗屽悕涓哄叾浠栨椂,鎶ラ敊瀛楁涓哄け鍗曞鎵嬪瀷鍙凤紙鎵嬪姩锛� thh 2022-01-17 start
+				if (((temlostProduct.LostProductss.LostProduct__c==undefined || this.isBlank(temlostProduct.LostProductss.LostProduct__c)) && (temlostProduct.LostProductss.LostProductMannual__c==undefined || this.isBlank(temlostProduct.LostProductss.LostProductMannual__c)))&&((temlostProduct.LostProductss.ProductCategory__c!=undefined && !this.isBlank(temlostProduct.LostProductss.ProductCategory__c))||(temlostProduct.LostProductss.Quantity__c!=undefined && !this.isBlank(temlostProduct.LostProductss.Quantity__c)))) {
+                    this.flag = false;
+					if(tempLostBrand.lostBrand.Lost_By_Company__c != '鍏朵粬'){
+                        this.showToast('澶卞崟瀵规墜鍨嬪彿鎴栧け鍗曞鎵嬪瀷鍙凤紙鎵嬪姩锛夊繀濉紒','error');
+					} else{
+                        this.showToast('澶卞崟瀵规墜鍨嬪彿鎴栧け鍗曞鎵嬪瀷鍙凤紙鎵嬪姩锛夊繀濉紒','error');
+					}
+					
+				}
+				// 褰撳け鍗曞搧鐗屽悕涓哄叾浠栨椂,鎶ラ敊瀛楁涓哄け鍗曞鎵嬪瀷鍙凤紙鎵嬪姩锛� thh 2022-01-17 end
+				// update tcm 20211123 end
+			});
+			// 褰撳け鍗曞搧鐗屽悕涓哄叾浠栨椂,鎶ラ敊瀛楁涓哄け鍗曞鎵嬪瀷鍙凤紙鎵嬪姩锛� thh 2022-01-17 start
+			if (productCount == 0 && (tempLostBrand.LostProducts != undefined && !this.isBlank(tempLostBrand.LostProducts)) && tempLostBrand.LostProducts.length > 0) {
+                this.flag = false;
+				if(tempLostBrand.lostBrand.Lost_By_Company__c != '鍏朵粬'){
+                    this.showToast('鑷冲皯褰曞叆1鏉″け鍗曞鎵嬪瀷鍙蜂俊鎭紒','error');
+				}else{
+                    this.showToast('鑷冲皯褰曞叆1鏉″け鍗曞鎵嬪瀷鍙蜂俊鎭紒','error');
+				}
+				
             }
+				// 褰撳け鍗曞搧鐗屽悕涓哄叾浠栨椂,鎶ラ敊瀛楁涓哄け鍗曞鎵嬪瀷鍙凤紙鎵嬪姩锛� thh 2022-01-17 end
         });
     }
+    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;
+        var deleteButtons = this.template.querySelectorAll('.deleteButton[data-id="' + index1 + '"]');
+        if(deleteButtons.length == 1){
+            return;
+        }
+        this.LostReport.LostBrands[index1].LostProducts.splice(index2,1);
+    }
+
+    handleLostTypeChange(event){
+        var value = event.target.value;
+        this.LostReport.lostReport.LostType__c = value;
+    }
+    
+    handleLostReasonMainChange(event){
+        var index = event.target.name;
+        var value = event.target.value;
+        this.LostReport.LostBrands[index].lostBrand.Lost_reason_main__c = value;
+    }
+
+    handleLostReasonSubChange(event){
+        var index = event.target.name;
+        var value = event.target.value;
+        this.LostReport.LostBrands[index].lostBrand.Lost_Reason_Sub__c = value;
+    }
+
+    handleLostByCompanyMannualChange(event){
+        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('.LostProduct[data-id="' + index + '"]');
+            if(value == '' || value == null){
+                elements.forEach(element=>{
+                    element.value = '';
+                    element.disabled = true;
+                });
+            }else{
+                elements.forEach(element=>{
+                    element.disabled = false;
+                });
+            }
+    }
+
+    handleLostPriceOutChange(event){
+        var index = event.target.name;
+        var value = event.target.value;
+        this.LostReport.LostBrands[index].lostBrand.LostPrice__c = value;
+        this.setLostTotalAmount();
+    }
+    handleAgencyOutChange(event){
+        var index = event.target.name;
+        var value = event.target.value;
+        this.LostReport.LostBrands[index].lostBrand.Agency__c = value;
+    }
+    handleAgencyMannualOutChange(event){
+        var index = event.target.name;
+        var value = event.target.value;
+        this.LostReport.LostBrands[index].lostBrand.AgencyMannual__c = value;
+    }
+    handleLostBrandNameChange(event){
+        var index1 = event.target.title;
+        var index2 = event.target.name;
+        this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.LostBrandName__c = event.target.value;
+    }
+    handleLostProductChange(event){
+        var index1 = event.target.title;
+        var index2 = event.target.name;
+        this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.LostProduct__c = event.target.value;
+    }
+    handleQuantityChange(event){
+        var index1 = event.target.title;
+        var index2 = event.target.name;
+        this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.Quantity__c = event.target.value;
+    }
+    handleLostProductMannualChange(event){
+        var index1 = event.target.title;
+        var index2 = event.target.name;
+        this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.LostProductMannual__c = event.target.value;
+    }
+    handleProductClassChange(event){
+        var index1 = event.target.title;
+        var index2 = event.target.name;
+        this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.ProductClass__c = event.target.value;
+        var val = event.target.value;
+        if(val == ''){
+            var temps1 =this.template.querySelectorAll('.ProductCategory[data-id="'+ index1 +'"]');
+            temps1[index2].readOnly = true;
+            temps1[index2].value = '';
+        }else{
+            var temps1 =this.template.querySelectorAll('.ProductCategory[data-id="'+ index1 +'"]');
+            temps1[index2].readOnly = false;
+            this.LostReport.LostBrands[index1].LostProducts[index2].productOptions = this.productOptionsList[val];
+        }
+       
+    }
+
+    handleProductCategoryChange(event){
+        var index1 = event.target.title;
+        var index2 = event.target.name;
+        var val = event.target.value;
+        var categorys = this.template.querySelectorAll('.ProductCategory');
+        var flag = false;
+        categorys.forEach(category=>{
+            if(category.value == '瓒呭0涓绘満'){
+                flag = true;
+            }
+        });
+        if(flag){
+            this.LostReport.lostReport.InclusionUltrasound__c = '1';
+        }else{
+            this.LostReport.lostReport.InclusionUltrasound__c = '0';
+        }
+        this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.ProductCategory__c = val;
+    }
+    
 }
\ No newline at end of file

--
Gitblit v1.9.1