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

---
 force-app/main/default/lwc/lexNewOpportunityAgency/lexNewOpportunityAgency.js |  123 ++++++++++++++++++++++++++++++-----------
 1 files changed, 90 insertions(+), 33 deletions(-)

diff --git a/force-app/main/default/lwc/lexNewOpportunityAgency/lexNewOpportunityAgency.js b/force-app/main/default/lwc/lexNewOpportunityAgency/lexNewOpportunityAgency.js
index c5dbd36..41650dc 100644
--- a/force-app/main/default/lwc/lexNewOpportunityAgency/lexNewOpportunityAgency.js
+++ b/force-app/main/default/lwc/lexNewOpportunityAgency/lexNewOpportunityAgency.js
@@ -7,7 +7,12 @@
 import queryForRecords from '@salesforce/apex/OpportunityLightingButtonController.queryForNewOpportunityAgencyButtonToRecords';
 import queryForRecTypeList from '@salesforce/apex/OpportunityLightingButtonController.queryForNewOpportunityAgencyButtonToRecTypeList';
 import queryForRecords2 from '@salesforce/apex/OpportunityLightingButtonController.queryForNewOpportunityAgencyButtonToRecords2';
-export default class LexNewOpportunityAgency extends LightningElement {
+import { NavigationMixin } from 'lightning/navigation';
+import { encodeDefaultFieldValues } from 'lightning/pageReferenceUtils';
+import lwcCSS from '@salesforce/resourceUrl/lwcCSS';
+import {loadStyle} from 'lightning/platformResourceLoader';
+
+export default class LexNewOpportunityAgency extends NavigationMixin(LightningElement) {
     @api recordId;
     agency1Id;
     agencyOpportunity;
@@ -39,6 +44,10 @@
         }
     }
     connectedCallback(){
+        Promise.all([
+            loadStyle(this, lwcCSS)
+           ]);
+           
         init({
             recordId: this.recordId
         }).then(result=>{
@@ -178,32 +187,70 @@
                                         var ahl = records[0];
                                         
                                         try {
-                                            var url = "/a2Y/e?retURL=%2F" 
-                                            + this.recordId 
-                                            + "&Name='(OLYMPUS)'"  
-                                            + encodeURIComponent(this.name)
-                                            + "&RecordType=" + recTypeId  + "&" + fId_Close_Forecasted_Date__c + "=" 
-                                            + encodeURIComponent(this.closeForecastedDate)
-                                            + "&" + fId_Bid_Planned_Date__c + "=" 
-                                            + encodeURIComponent(this.bidPlannedDate)
-                                            + "&" + fId_OCM_Change_To_Opportunity_Flg__c + "=1" + "&CF" + fId_Agency_Hospital__c + "_lkid=" + ahl.Id + "&CF" + fId_Agency_Hospital__c + "=" + encodeURIComponent(ahl.Name) + "&" + fId_Amount__c + "=" 
-                                            + encodeURIComponent(this.dealerFinalPrice)
-                                            + "&" + fId_OCMSale_Price__c + "=" 
-                                            + encodeURIComponent(this.wholesalePrice)
-                                            + "&CF" + fId_Agency__c + "_lkid=" 
-                                            + encodeURIComponent(this.agency1Id) 
-                                            + "&CF" + fId_Agency__c + "=" 
-                                            + encodeURIComponent(this.agency1Name)
-                                            + "&" + fId_StageName__c + "=" 
-                                            + encodeURIComponent(this.opportunityStage) 
-                                            + "&CF" + fId_Change_To_Opportunity__c + "_lkid=" 
-                                            + encodeURIComponent(this.recordId )
-                                            + "&CF" + fId_Change_To_Opportunity__c + "=" 
-                                            + encodeURIComponent(this.name )
-                                            + "&" + fId_Department_Cateogy__c + "=" 
-                                            + encodeURIComponent(this.opportunityCategory);
-                                            console.log(url);
-                                            window.open(url);
+                                            // var url = "/a2Y/e?retURL=%2F" 
+                                            // + this.recordId 
+                                            // + "&Name='(OLYMPUS)'"  
+                                            // + encodeURIComponent(this.name)
+                                            // + "&RecordType=" + recTypeId  + "&" + fId_Close_Forecasted_Date__c + "=" 
+                                            // + encodeURIComponent(this.closeForecastedDate)
+                                            // + "&" + fId_Bid_Planned_Date__c + "=" 
+                                            // + encodeURIComponent(this.bidPlannedDate)
+                                            // + "&" + fId_OCM_Change_To_Opportunity_Flg__c + "=1" + "&CF" + fId_Agency_Hospital__c + "_lkid=" + ahl.Id + "&CF" + fId_Agency_Hospital__c + "=" + encodeURIComponent(ahl.Name) + "&" + fId_Amount__c + "=" 
+                                            // + encodeURIComponent(this.dealerFinalPrice)
+                                            // + "&" + fId_OCMSale_Price__c + "=" 
+                                            // + encodeURIComponent(this.wholesalePrice)
+                                            // + "&CF" + fId_Agency__c + "_lkid=" 
+                                            // + encodeURIComponent(this.agency1Id) 
+                                            // + "&CF" + fId_Agency__c + "=" 
+                                            // + encodeURIComponent(this.agency1Name)
+                                            // + "&" + fId_StageName__c + "=" 
+                                            // + encodeURIComponent(this.opportunityStage) 
+                                            // + "&CF" + fId_Change_To_Opportunity__c + "_lkid=" 
+                                            // + encodeURIComponent(this.recordId )
+                                            // + "&CF" + fId_Change_To_Opportunity__c + "=" 
+                                            // + encodeURIComponent(this.name )
+                                            // + "&" + fId_Department_Cateogy__c + "=" 
+                                            // + encodeURIComponent(this.opportunityCategory);
+                                            // console.log(url);
+                                            // window.open(url);
+                                            if(this.closeForecastedDate){
+                                                if(!this.closeForecastedDate.includes(' ')){
+                                                    this.closeForecastedDate += ' 00:00:00'
+                                                }
+                                                this.closeForecastedDate = this.closeForecastedDate.replace(' ','T').replaceAll('/','-') + '.000Z';
+                                                console.log(this.closeForecastedDate);
+                                            }
+                                            if(this.bidPlannedDate){
+                                                if(!this.bidPlannedDate.includes(' ')){
+                                                    this.bidPlannedDate += ' 00:00:00'
+                                                }
+                                                this.bidPlannedDate = this.bidPlannedDate.replace(' ','T').replaceAll('/','-') + '.000Z';
+                                            }
+                                            const defaultValues = encodeDefaultFieldValues({
+                                                Name: '(OLYMPUS)' + this.name,
+                                                Close_Forecasted_Date__c: this.closeForecastedDate,
+                                                Bid_Planned_Date__c: this.bidPlannedDate,
+                                                OCM_Change_To_Opportunity_Flg__c: '1',
+                                                Agency_Hospital__c: ahl.Id,
+                                                Amount__c: this.dealerFinalPrice,
+                                                OCMSale_Price__c: this.wholesalePrice,
+                                                Agency__c: this.agency1Id,
+                                                StageName__c: this.opportunityStage,
+                                                Change_To_Opportunity__c: this.recordId,
+                                                Department_Cateogy__c: this.opportunityCategory
+                                            });
+                                            this[NavigationMixin.Navigate]({
+                                                type: 'standard__objectPage',
+                                                attributes: {
+                                                    objectApiName: 'Agency_Opportunity__c',
+                                                    actionName: 'new'
+                                                },
+                                                state: {
+                                                    nooverride: '1',
+                                                    defaultFieldValues: defaultValues,
+                                                    recordTypeId: recTypeId
+                                                }
+                                            });
                                             this.dispatchEvent(new CloseActionScreenEvent());
                                         } catch (error) {
                                             console.log(error)
@@ -217,12 +264,22 @@
         this.IsLoading = false;
     }
     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 }});

--
Gitblit v1.9.1