From 35910c355f74e736e2068a0ffb7f39ae9615d8e1 Mon Sep 17 00:00:00 2001
From: chenjingwu <chenjingwu@prec-tech.com>
Date: 星期五, 24 五月 2024 16:29:00 +0800
Subject: [PATCH] 1

---
 force-app/main/default/lwc/lexCancelReport/lexCancelReport.js |  113 ++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 76 insertions(+), 37 deletions(-)

diff --git a/force-app/main/default/lwc/lexCancelReport/lexCancelReport.js b/force-app/main/default/lwc/lexCancelReport/lexCancelReport.js
index 0032022..7adca35 100644
--- a/force-app/main/default/lwc/lexCancelReport/lexCancelReport.js
+++ b/force-app/main/default/lwc/lexCancelReport/lexCancelReport.js
@@ -5,7 +5,12 @@
 import queryForCancelReportButton  from '@salesforce/apex/OpportunityLightingButtonController.queryForCancelReportButton';
 import { updateRecord } from 'lightning/uiRecordApi';
 import { ShowToastEvent } from 'lightning/platformShowToastEvent';
-export default class LexCancelReport extends LightningElement {
+import { NavigationMixin } from 'lightning/navigation';
+import { encodeDefaultFieldValues } from 'lightning/pageReferenceUtils';
+import lwcCSS from '@salesforce/resourceUrl/lwcCSS';
+import {loadStyle} from 'lightning/platformResourceLoader';
+import queryCancelReport  from '@salesforce/apex/OpportunityLightingButtonController.queryCancelReport';
+export default class LexCancelReport extends NavigationMixin(LightningElement) {
     @api recordId;
     stageName;
     sapSendOK;
@@ -20,6 +25,8 @@
     salesManagerDepartmentID;
     salesOwnerBuchang;
     salesOwnerBuchangID;
+    recordTypeId;
+    haveLostReport;
     IsLoading = true;
     @wire(CurrentPageReference)
     getStateParameters(currentPageReference) {
@@ -37,32 +44,57 @@
         }
     }
     connectedCallback(){
+        Promise.all([
+            loadStyle(this, lwcCSS)
+           ]);
+           
         init({
             recordId: this.recordId
         }).then(result=>{
-            this.stageName = result.stageName;
-            this.sapSendOK = result.sapSendOK;
-            this.cntLostCancelDraft = result.cntLostCancelDraft;
-            this.cntLostCancelReport = result.cntLostCancelReport;
-            this.jobCategory = result.jobCategory;
-            this.biddingProjectNameBid = result.biddingProjectNameBid;
-            this.name = result.name;
-            this.salesAssistantID = result.salesAssistantID;
-            this.salesAssistantName = result.salesAssistantName;
-            this.managerName = result.managerName;
-            this.salesManagerDepartmentID = result.salesManagerDepartmentID;
-            this.salesOwnerBuchang = result.salesOwnerBuchang;
-            this.salesOwnerBuchangID = result.salesOwnerBuchangID;
-            this.cancelReport();
-        })
+            console.log(result);
+            this.stageName = result.stageName == undefined ? '' : result.stageName;
+            this.sapSendOK = result.sapSendOK == undefined ? '' : result.sapSendOK;
+            this.cntLostCancelDraft = result.cntLostCancelDraft == undefined ? '' : result.cntLostCancelDraft;
+            this.cntLostCancelReport = result.cntLostCancelReport == undefined ? '' : result.cntLostCancelReport;
+            this.jobCategory = result.jobCategory == undefined ? '' : result.jobCategory;
+            this.biddingProjectNameBid = result.biddingProjectNameBid == undefined ? '' : result.biddingProjectNameBid;
+            this.name = result.name == undefined ? '' : result.name;
+            this.salesAssistantID = result.salesAssistantID == undefined ? '' : result.salesAssistantID;
+            this.salesAssistantName = result.salesAssistantName == undefined ? '' : result.salesAssistantName;
+            this.managerName = result.managerName == undefined ? '' : result.managerName;
+            this.salesManagerDepartmentID = result.salesManagerDepartmentID == undefined ? '' : result.salesManagerDepartmentID;
+            this.salesOwnerBuchang = result.salesOwnerBuchang == undefined ? '' : result.salesOwnerBuchang;
+            this.salesOwnerBuchangID = result.salesOwnerBuchangID == undefined ? '' : result.salesOwnerBuchangID;
+            this.recordTypeId = result.recordTypeId;
+            queryCancelReport({
+                recordId: this.recordId
+            }).then(result=>{
+                this.haveLostReport = result;
+                this.cancelReport();
+            });
+            
+        }).catch(error=>{
+            console.log("error");
+            console.log(error);
+        });
     }
     showToast(msg,type) {
-        const event = new ShowToastEvent({
-            title: '',
-            message: msg,
-            variant: type
-        });
-        this.dispatchEvent(event);
+        if(type == 'success'){
+            const event = new ShowToastEvent({
+                message: msg,
+                variant: type,
+            });
+            this.dispatchEvent(event);
+            this.dispatchEvent(new CloseActionScreenEvent());
+        }else{
+            const event = new ShowToastEvent({
+                message: msg,
+                variant: type,
+                mode: 'sticky'
+            });
+            this.dispatchEvent(event);
+            this.dispatchEvent(new CloseActionScreenEvent());
+        }   
     }
     updateRecordView(recordId) {
         updateRecord({fields: { Id: recordId }});
@@ -83,32 +115,39 @@
                 
             }
             else if (this.sapSendOK == '1') {
-                this.showToast("宸茬粡涓婁紶SAP銆佷笉鑳藉仛 鍙栨秷 浜嗭紒","");
+                this.showToast("宸茬粡涓婁紶SAP銆佷笉鑳藉仛 鍙栨秷 浜嗭紒","error");
             }
-            else if (this.cntLostCancelReport - this.cntLostCancelDraft > 0) {
+            else if (this.haveLostReport) {
                 this.showToast("璇环宸茬粡鏈� 鍙栨秷锛忓け鍗曟姤鍛� 浜嗭紒","error");
             }
             else if (this.jobCategory == '鏀彺') {
-                this.showToast("璇环鎵�鏈変汉鏄姪鐞嗙殑锛屽厛璇蜂慨鏀瑰埌閿�鍞媴褰擄紒","");
+                this.showToast("璇环鎵�鏈変汉鏄姪鐞嗙殑锛屽厛璇蜂慨鏀瑰埌閿�鍞媴褰擄紒","error");
             }
             //XLIU-CG98L5 銆愬鎵樸�戙�愯瘎浼般�戞柊闇�姹�-鎷涙爣椤圭洰/璇环瀵瑰簲娴佹爣銆佸簾鏍囨敼鍠� start
             //else if({!NOT(ISBLANK(Opportunity.Bidding_Project_Name_Bid__c))}&& '{!Opportunity.subInfoType__c}' != '3-1锛氬簾鏍囧叕鍛�' &&'{!Opportunity.subInfoType__c}' != '3-2锛氭祦鏍囧叕鍛�'){
-            else if(this.biddingProjectNameBid != undefined && sqlResult.size == 0){
+            else if(this.biddingProjectNameBid != '' && sqlResult.length == 0){
                 this.showToast("鏈夋嫑鎶曟爣椤圭洰鏃跺彧鑳藉仛澶卞崟鎴栭儴鍒嗗け鍗曟姤鍛婏紒","error");
             }
             //XLIU-CG98L5 銆愬鎵樸�戙�愯瘎浼般�戞柊闇�姹�-鎷涙爣椤圭洰/璇环瀵瑰簲娴佹爣銆佸簾鏍囨敼鍠� end
             else {
-            location.href = '/a1U/e?retURL=%2F'+ this.recordId +
-            '&RecordType=01210000000R4hH' +
-            '&CF00N10000004lbGT=' + this.name +
-            '&CF00N10000004lbGT_lkid=' + this.recordId +
-            '&CF00N10000006QShg=' + this.salesAssistantName +
-            '&CF00N10000006QShg_lkid=' + this.salesAssistantID +
-            '&CF00N10000006QShq='+ this.managerName +
-            '&CF00N10000006QShq_lkid=' + this.salesManagerDepartmentID +
-            '&CF00N10000006QShb=' + this.salesOwnerBuchang +
-            '&CF00N10000006QShb_lkid=' + this.salesOwnerBuchangID +
-            '';
+                const defaultValues = encodeDefaultFieldValues({
+                    Opportunity__c: this.recordId, // 鍏宠仈涓昏褰� ID
+                    Sales_assistant__c: this.salesAssistantID,
+                    Manager_sales__c: this.salesManagerDepartmentID,
+                    Buchang_sales__c: this.salesOwnerBuchangID
+                });
+                this[NavigationMixin.Navigate]({
+                    type: 'standard__objectPage',
+                    attributes: {
+                        objectApiName: 'Lost_cancel_report__c',
+                        actionName: 'new'
+                    },
+                    state: {
+                        nooverride: '1',
+                        defaultFieldValues: defaultValues,
+                        recordTypeId: this.recordTypeId,
+                    }
+                });
         }
         this.dispatchEvent(new CloseActionScreenEvent());
         });  

--
Gitblit v1.9.1