From f8bd322b4f93f8a04743078bccf89e08e01bf51f Mon Sep 17 00:00:00 2001
From: liwentao <1376563863@qq.com>
Date: 星期三, 19 七月 2023 10:51:51 +0800
Subject: [PATCH] 营业 任务按钮: 询价失单

---
 force-app/main/default/lwc/oppLoseButton/oppLoseButton.js         |  191 +++++++++++++++++++++++++------------
 force-app/main/default/classes/LexInvalidDelegationController.cls |   12 +-
 force-app/main/default/classes/OppLoseController.cls              |   52 +++++++++-
 3 files changed, 182 insertions(+), 73 deletions(-)

diff --git a/force-app/main/default/classes/LexInvalidDelegationController.cls b/force-app/main/default/classes/LexInvalidDelegationController.cls
index d1c8147..ce4c341 100644
--- a/force-app/main/default/classes/LexInvalidDelegationController.cls
+++ b/force-app/main/default/classes/LexInvalidDelegationController.cls
@@ -1,6 +1,6 @@
 public with sharing class LexInvalidDelegationController {
     public LexInvalidDelegationController() {
-        
+
     }
     @AuraEnabled
     public static InitData init(String recordId){
@@ -33,9 +33,9 @@
     }
 
 
-    
+
     @AuraEnabled
-    public static UpdateResult updateTask(       
+    public static UpdateResult updateTask(
         String recordId,
         String Status
     ) {
@@ -65,7 +65,7 @@
         return result;
     }
     @AuraEnabled
-    public static UpdateResult updateLead(       
+    public static UpdateResult updateLead(
         String recordId,
         String LatestQuotationEntrustmentC
     ) {
@@ -93,7 +93,7 @@
         return result;
     }
     @AuraEnabled
-    public static UpdateResult updateQuoteIraiC(       
+    public static UpdateResult updateQuoteIraiC(
         String recordId,
         String QuoteIraiStatusC
     ) {
@@ -140,4 +140,4 @@
     	@AuraEnabled
     	public String AnswerC{get;set;}
     }
-}
\ No newline at end of file
+}
diff --git a/force-app/main/default/classes/OppLoseController.cls b/force-app/main/default/classes/OppLoseController.cls
index fb78bab..60155b9 100644
--- a/force-app/main/default/classes/OppLoseController.cls
+++ b/force-app/main/default/classes/OppLoseController.cls
@@ -4,12 +4,13 @@
     public static InitData init(String taskId){
         InitData res = new initData();
         try{
-            task__c task = [SELECT id, OpportunityId__c 
+            task__c task = [SELECT id, OpportunityId__c , taskStatus__c
                             FROM task__c
                             WHERE Id =: taskId 
                             LIMIT 1];
 
             res.task = task;
+            res.taskStatus = task.taskStatus__c;
             res.OpportunityId = task.OpportunityId__c;
 
             Opportunity opp =  [SELECT Sales_owner_buchangID__c,Manager_name__c,Sales_owner_buchang__c,
@@ -32,24 +33,61 @@
             res.Sales_manager_departmentID = opp.Sales_manager_departmentID__c;
             res.Sales_owner_buchang = opp.Sales_owner_buchang__c;
             res.Sales_owner_buchangID = opp.Sales_owner_buchangID__c;
+            RecordType re=[select Id from recordType where name='璇环澶卞崟鎶ュ憡'];
+            res.reId=re.Id;
             res.opp = opp;
             System.debug(LoggingLevel.INFO, '*** res: ' + res);
         }catch(Exception e){
             System.debug(LoggingLevel.INFO, '*** e: ' + e);
         }
         return res;
-    }    
-
+    }  
+  
     public class ReturnData{
 
     }
-
+    //OLY涓爣
+    @AuraEnabled
+    public static String taskOLYwinBid(String recordId) {
+        String messageText = '';
+       try {
+        Opportunity opp = [SELECT Id,ConfirmationofAward__c FROM Opportunity WHERE Id = :recordId LIMIT 1];
+        opp.Id = recordId;
+        opp.ConfirmationofAward__c = LightingButtonConstant.STATUS_OLYwinBid;
+        messageText = '1';
+        update opp;
+        System.debug(LoggingLevel.INFO, '*** winBid: ' + opp);
+        return messageText;
+       } catch (Exception ex) {
+        System.debug(LoggingLevel.INFO, '*** winBidXu: ' + ex);
+        messageText = ex.getMessage();
+        return messageText;
+       }
+    }
+    //绔炰簤瀵规墜涓爣
+    @AuraEnabled
+    public static String taskLoseBid(String recordId) {
+        String messageText = '';
+        try {
+        Opportunity opp = [SELECT Id,ConfirmationofAward__c FROM Opportunity WHERE Id = :recordId LIMIT 1];
+        opp.Id = recordId;
+        opp.ConfirmationofAward__c = LightingButtonConstant.STATUS_Bid_LoseBid;
+        messageText = '1';
+        update opp;
+        System.debug(LoggingLevel.INFO, '*** winBid: ' + opp);
+        return messageText;
+        } catch (Exception ex) {
+        System.debug(LoggingLevel.INFO, '*** winBidXu: ' + ex);
+        messageText = ex.getMessage();
+        return messageText;
+        }
+    }
     public class InitData{
         //璇环鏁版嵁
         @AuraEnabled
         public Opportunity opp;
         @AuraEnabled
-        public String stageName;
+        public String StageName;
         @AuraEnabled
         public Boolean SAP_Send_OK;
         @AuraEnabled
@@ -73,7 +111,11 @@
         @AuraEnabled
         public String OpportunityId;
         @AuraEnabled
+        public String taskStatus;
+        @AuraEnabled
         public task__c task;
+        @AuraEnabled
+        public String reId;
     }
 
 }
\ No newline at end of file
diff --git a/force-app/main/default/lwc/oppLoseButton/oppLoseButton.js b/force-app/main/default/lwc/oppLoseButton/oppLoseButton.js
index b7100e8..aa70bd2 100644
--- a/force-app/main/default/lwc/oppLoseButton/oppLoseButton.js
+++ b/force-app/main/default/lwc/oppLoseButton/oppLoseButton.js
@@ -3,84 +3,151 @@
 import { CloseActionScreenEvent } from 'lightning/actions';
 import { NavigationMixin } from 'lightning/navigation';
 import  init  from '@salesforce/apex/OppLoseController.init';
-
-export default class OppLoseButton extends LightningElement {
-    @api
-    taskId;
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import { encodeDefaultFieldValues } from 'lightning/pageReferenceUtils';
+export default class OppLoseButton extends NavigationMixin(LightningElement) {
+    @api recordId;
     opp;
-    stageName;
-    SAP_Send_OK;
-    Cnt_Lost_cancel_report;
-    Name;
-    Sales_assistant_name;
-    Sales_assistant_ID;
-    Manager_name;
-    Sales_manager_departmentID;
-    Sales_owner_buchang;
-    Sales_owner_buchangID;
-    OpportunityId;
+    StageName; //闃舵
+    SAP_Send_OK;//SAP涓婁紶(WIN)
+    Cnt_Lost_cancel_report;//绱姹囨�� (COUNT 璇环澶卞崟/鍙栨秷鎶ュ憡)
+    Name;//	涓氬姟鏈轰細鍚�
+    Sales_assistant_name;//璇环鍔╃悊
+    Sales_assistant_ID;//璇环鍔╃悊ID
+    Manager_name;//璇环鎵�鏈変汉鐨凜L6 缁忕悊绾�
+    Sales_manager_departmentID;//璇环鎵�鏈変汉鐨凜L6 缁忕悊绾D
+    Sales_owner_buchang;//璇环鎵�鏈変汉鐨� CL5 鎬荤洃绾�
+    Sales_owner_buchangID;//璇环鎵�鏈変汉鐨凜L5 缁忕悊绾D
+    OpportunityId; //浠诲姟 璇环
     task;
-
+    taskStatusOne;
+    reId;
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference){
+        if(currentPageReference){
+            const urlValue=currentPageReference.state.recordId;
+            if(urlValue){
+                let str=`${urlValue}`;
+                this.recordId=str;
+            }
+        }
+    }
     connectedCallback(){
-        console.log(this.taskId);
+        console.log(this.recordId);
         init({
-            taskId: this.taskId
+            taskId: this.recordId
         }).then(result => {
             console.log(result);
-            if (result != null) {
-                
-                this.IsLoading = false;
-                this.opp = result.opp;
-                this.stageName = result.stageName;
-                this.SAP_Send_OK = result.SAP_Send_OK;
-                this.Cnt_Lost_cancel_report = result.Cnt_Lost_cancel_report;
-                this.Name = result.Name;
-                this.Sales_assistant_name = result.Sales_assistant_name;
-                this.Sales_assistant_ID = result.Sales_assistant_ID;
-                this.Manager_name = result.Manager_name;
-                this.Sales_manager_departmentID = result.Sales_manager_departmentID;
-                this.Sales_owner_buchang = result.Sales_owner_buchang;
-                this.Sales_owner_buchangID = result.Sales_owner_buchangID;
-                this.OpportunityId = result.OpportunityId;
-                this.task = result.task;
-
-                this.changeContractType();
-                this.dispatchEvent(new CloseActionScreenEvent());
-                // window.location.reload();
-            }
-        }).catch(error => {
-            console.log("error");
-            console.log(error);
-        }).finally(() => {
-            
-        });        
+            this.IsLoading = false;
+            this.opp = result.opp;
+            this.StageName = result.StageName;
+            this.SAP_Send_OK = result.SAP_Send_OK;
+            this.Cnt_Lost_cancel_report = result.Cnt_Lost_cancel_report;
+            this.Name = result.Name;
+            this.Sales_assistant_name = result.Sales_assistant_name;
+            this.Sales_assistant_ID = result.Sales_assistant_ID;
+            this.Manager_name = result.Manager_name;
+            this.Sales_manager_departmentID = result.Sales_manager_departmentID;
+            this.Sales_owner_buchang = result.Sales_owner_buchang;
+            this.Sales_owner_buchangID = result.Sales_owner_buchangID;
+            this.OpportunityId = result.OpportunityId;
+            this.taskStatusOne = result.taskStatusOne;
+            this.task = result.task;
+            this.reId=result.reId;
+            this.changeContractType();
+        })      
     }
 
     changeContractType(){
         if(this.StageName != '寮曞悎' && this.StageName != '璇环'){
-            alert('鐘舵��1: '+ this.StageName + '銆佷笉鑳藉仛 澶卞崟 浜嗭紒');
+            // alert('鐘舵��1: '+ this.StageName + '銆佷笉鑳藉仛 澶卞崟 浜嗭紒');
+            this.showToast("鐘舵��1:" + this.StageName + "銆佷笉鑳藉仛 澶卞崟 浜嗭紒","error");
+            return;
         }
         else if(this.SAP_Send_OK == '1'){
-            alert('宸茬粡涓婁紶SAP銆佷笉鑳藉仛 澶卞崟 浜嗭紒');
+            // alert('宸茬粡涓婁紶SAP銆佷笉鑳藉仛 澶卞崟 浜嗭紒');
+            this.showToast("宸茬粡涓婁紶SAP銆佷笉鑳藉仛 澶卞崟 浜嗭紒","error");
+            return;
         }
-        else if(this.Cnt_Lost_cancel_report__c > 0){
-            alert('璇环宸茬粡鏈� 鍙栨秷锛忓け鍗曟姤鍛� 浜嗭紒');
+        else if(this.Cnt_Lost_cancel_report > 0){
+            // alert('璇环宸茬粡鏈� 鍙栨秷锛忓け鍗曟姤鍛� 浜嗭紒');
+            this.showToast("璇环宸茬粡鏈� 鍙栨秷锛忓け鍗曟姤鍛� 浜嗭紒","error");
+            return;
              // window.location.reload();
         }else{
-            location.href =
-            '/a1U/e?retURL=%2F' + this.OpportunityId + 
-            '&RecordType=01210000000R4hM' +
-            '&CF00N10000004lbGT={!URLENCODE('+this.Name+')}' +
-            '&CF00N10000004lbGT_lkid=' + this.OpportunityId + 
+            const defaultValues = encodeDefaultFieldValues({
+                Opportunity__c:this.OpportunityId,
+                Sales_assistant__c:this.Sales_assistant_ID,
+                Manager_sales__c:this.Sales_manager_departmentID,
+                Buchang_sales__c:this.Sales_owner_buchangID
+            });
+            this[NavigationMixin.Navigate]({
+                type: 'standard__objectPage',
+                attributes: {
+                    objectApiName: 'Lost_cancel_report__c',
+                    actionName: 'new'
+                },
+                state: {
+                    nooverride: '1',
+                    defaultFieldValues: defaultValues
+                }
+            });
 
-            '&CF00N10000006QShg={!URLENCODE('+this.Sales_assistant_name+')}' +
-            '&CF00N10000006QShg_lkid={!URLENCODE('+this.Sales_assistant_ID+')}' +
-            '&CF00N10000006QShq={!URLENCODE('+this.Manager_name+')}' +
-            '&CF00N10000006QShq_lkid={!URLENCODE('+this.Sales_manager_departmentID+')}' +
-            '&CF00N10000006QShb={!URLENCODE('+this.Sales_owner_buchang+')}' +
-            '&CF00N10000006QShb_lkid={!URLENCODE('+this.Sales_owner_buchangID+')}' +
-            '';
+            // location.href =
+            // '/a1U/e?retURL=%2F' + this.OpportunityId + 
+            // '&RecordType=' + this.reId+
+            // // '&CF00N10000004lbGT='+ this.Name +
+            // '&Opportunity__c=' + this.OpportunityId + 
+            // // '&CF00N10000006QShg='+this.Sales_assistant_name+
+            // '&Sales_assistant__c='+this.Sales_assistant_ID +
+            // // '&CF00N10000006QShq='+this.Manager_name +
+            // '&Manager_sales__c='+this.Sales_manager_departmentID +
+            // // '&CF00N10000006QShb='+this.Sales_owner_buchang +
+            // '&Buchang_sales__c='+this.Sales_owner_buchangID +
+            // '';
+            this.dispatchEvent(new CloseActionScreenEvent());
         }
     }
+    showToast(msg,type) {
+        const event = new ShowToastEvent({
+            message: msg,
+            variant: type
+        });
+        this.dispatchEvent(event);
+        this.dispatchEvent(new CloseActionScreenEvent());
+    }
+}
 
-}
\ No newline at end of file
+
+
+// var sql = "select Sales_owner_buchangID__c,Manager_name__c,Sales_owner_buchang__c,Sales_manager_departmentID__c,name,Sales_assistant_name__c,Sales_assistant_ID__c,id,StageName,SAP_Send_OK__c,Cnt_Lost_cancel_report__c,Bidding_Project_Name_Bid__c from Opportunity where id = '{!task__c.OpportunityIdId__c}'";
+// var opp_recourd = sforce.connection.query(sql);
+// var opp = opp_recourd.getArray("records")[0];
+// if (opp.StageName != '寮曞悎'
+// && opp.StageName != '璇环'
+// ) {
+// alert("鐘舵��1:" + opp.StageName + "銆佷笉鑳藉仛 澶卞崟 浜嗭紒");
+// }
+// else if (opp.SAP_Send_OK__c == '1') {
+// alert("宸茬粡涓婁紶SAP銆佷笉鑳藉仛 澶卞崟 浜嗭紒");
+// }
+// else if (opp.Cnt_Lost_cancel_report__c > 0) {
+// alert("璇环宸茬粡鏈� 鍙栨秷锛忓け鍗曟姤鍛� 浜嗭紒");
+// }
+
+
+// else {
+// location.href =
+// '/a1U/e?retURL=%2F{!task__c.OpportunityIdId__c}' +
+// '&RecordType=01210000000R4hM' +
+// '&CF00N10000004lbGT={!URLENCODE('+opp.name+')}' +
+// '&CF00N10000004lbGT_lkid={!task__c.OpportunityIdId__c}' +
+
+// '&CF00N10000006QShg={!URLENCODE('+opp.Sales_assistant_name__c+')}' +
+// '&CF00N10000006QShg_lkid={!URLENCODE('+opp.Sales_assistant_ID__c+')}' +
+// '&CF00N10000006QShq={!URLENCODE('+opp.Manager_name__c+')}' +
+// '&CF00N10000006QShq_lkid={!URLENCODE('+opp.Sales_manager_departmentID__c+')}' +
+// '&CF00N10000006QShb={!URLENCODE('+opp.Sales_owner_buchang__c+')}' +
+// '&CF00N10000006QShb_lkid={!URLENCODE('+opp.Sales_owner_buchangID__c+')}' +
+// '';
+// }
\ No newline at end of file

--
Gitblit v1.9.1