From 50e96fd88845d033ab55eeb4034a17f74eee7b72 Mon Sep 17 00:00:00 2001
From: unknown <sunxia@prec-tech.com>
Date: 星期四, 06 七月 2023 11:20:30 +0800
Subject: [PATCH] 主体备品选择

---
 force-app/main/default/lwc/lexAddSubmitApprovalProcess/lexAddSubmitApprovalProcess.js |  171 ++++++++++++++++++++++++++------------------------------
 1 files changed, 80 insertions(+), 91 deletions(-)

diff --git a/force-app/main/default/lwc/lexAddSubmitApprovalProcess/lexAddSubmitApprovalProcess.js b/force-app/main/default/lwc/lexAddSubmitApprovalProcess/lexAddSubmitApprovalProcess.js
index 54e7d73..8df44b6 100644
--- a/force-app/main/default/lwc/lexAddSubmitApprovalProcess/lexAddSubmitApprovalProcess.js
+++ b/force-app/main/default/lwc/lexAddSubmitApprovalProcess/lexAddSubmitApprovalProcess.js
@@ -3,9 +3,12 @@
 import { ShowToastEvent } from 'lightning/platformShowToastEvent';
 import { CurrentPageReference,NavigationMixin } from 'lightning/navigation';
 import { updateRecord } from 'lightning/uiRecordApi';
-
+import LightningConfirm from 'lightning/confirm';
 import init from '@salesforce/apex/AddSubmitApprovalProcessController.init';
-import setSObjectShare from '@salesforce/apex/ControllerUtil.setSObjectShare'
+import submitApproval from '@salesforce/apex/AddSubmitApprovalProcessController.submitApproval';
+import setSObjectShare from '@salesforce/apex/ControllerUtil.setSObjectShare';
+import changeAddApprovalStatus from '@salesforce/apex/AddSubmitApprovalProcessController.changeAddApprovalStatus';
+
 export default class lexAddSubmitApprovalProcess extends LightningElement {
 	@api recordId;
 	IsLoading = true;
@@ -27,70 +30,83 @@
 			recordId: this.recordId
 		}).then(result=>{
 			if(result.addApprovalStatus != '鑽夋涓�' || result.detailSize == 0){
-				this.ToastShow('娌℃湁闇�瑕佸鎵圭殑杩藉姞闄勫睘鍝�');
+				this.ToastShow('娌℃湁闇�瑕佸鎵圭殑杩藉姞闄勫睘鍝�','warning');
                 return;
 			}
-			if (!confirm("涓�鏃︽彁浜ゆ璁板綍浠ュ緟鎵瑰噯锛屾牴鎹偍鐨勮缃偍鍙兘涓嶅啀鑳藉缂栬緫姝よ褰曟垨灏嗕粬浠庢壒鍑嗚繃绋嬩腑璋冨洖銆傛槸鍚︾户缁紵")) {
-				this.dispatchEvent(new CloseActionScreenEvent());
-				return;
-			}
+			// if (!confirm("涓�鏃︽彁浜ゆ璁板綍浠ュ緟鎵瑰噯锛屾牴鎹偍鐨勮缃偍鍙兘涓嶅啀鑳藉缂栬緫姝よ褰曟垨灏嗕粬浠庢壒鍑嗚繃绋嬩腑璋冨洖銆傛槸鍚︾户缁紵")) {
+			// 	this.dispatchEvent(new CloseActionScreenEvent());
+			// 	return;
+			// }
+			const SUBMIT = LightningConfirm.open({
+	            message: "涓�鏃︽彁浜ゆ璁板綍浠ュ緟鎵瑰噯锛屾牴鎹偍鐨勮缃偍鍙兘涓嶅啀鑳藉缂栬緫姝よ褰曟垨灏嗕粬浠庢壒鍑嗚繃绋嬩腑璋冨洖銆傛槸鍚︾户缁紵",
+	            variant: 'headerless',
+	            label: '鎻愮ず淇℃伅',
+	            // setting theme would have no effect
+	        });
+
+	        if(SUBMIT==false){
+	        	this.dispatchEvent(new CloseActionScreenEvent());
+	        	return;
+	        }
+
 			// 甯屾湜鍒拌揣鏃ヤ笉鑳芥棭浜庣敵璇锋彁浜ゆ棩-0418杩藉姞
 			//if ('{!Rental_Apply__c.Request_shipping_day__c}' < '{!TODAY()}') {
 			// alert('甯屾湜鍒拌揣鏃ヤ笉鑳芥棭浜庣敵璇锋彁浜ゆ棩');
 			// return;
 			// } 
+			console.log(JSON.stringify(result));
 			if(result.repairId != null){
 				if(result.demoPurpose1 == '缁翠慨浠g敤' && result.demoPurpose2 == '涓�鑸敤鎴�'){
 					if(result.repairEstimatedDateFormula == null){
-						this.ToastShow('涓�鑸淮淇棤鎶ヤ环鏃ワ紝涓嶅彲鍊熺敤澶囧搧');
+						this.ToastShow('涓�鑸淮淇棤鎶ヤ环鏃ワ紝涓嶅彲鍊熺敤澶囧搧','warning');
 	                	return;
 					}else if(result.repairEstimatedDateFormula <'2019-07-01' && result.agreedDate == null){
-						this.ToastShow('鎶ヤ环鏃ュ湪2019/7/1涔嬪墠涓旀埛鍚屾剰鏃ヤ负绌猴紝涓嶅彲鍊熺敤澶囧搧');
+						this.ToastShow('鎶ヤ环鏃ュ湪2019/7/1涔嬪墠涓旀埛鍚屾剰鏃ヤ负绌猴紝涓嶅彲鍊熺敤澶囧搧','warning');
 	                	return;
 					}
 				}
-
-				if(result.recordTypeId !='01210000000RHIn' && result.newProductGuaranteeObject=='2: 鏈嶅姟澶氬勾淇濅慨' && (result.assetModelNo=='CV-V1' ||result.assetModelNo=='CV-V1(A)'||result.assetModelNo=='CV-V1(B)'||result.assetModelNo=='GIF-LV1'||result.assetModelNo=='CF-LV1L'||result.assetModelNo=='CF-LV1I'||result.assetModelNo=='MAJ-1910') &&(result.demoPurpose2=='涓�鑸敤鎴�'||result.demoPurpose2=='鍐嶄慨鐞�')){
-					this.ToastShow('濂ヨ緣璁惧锛屼繚淇湡鍐呬笉鎻愪緵澶囧搧.');
+				//澶囧搧鐢宠 杩囧幓鍘嗗彶杞Щ
+				if(result.recordTypeId != result.demoRequestPastDataId && result.newProductGuaranteeObject=='2: 鏈嶅姟澶氬勾淇濅慨' && (result.assetModelNo=='CV-V1' ||result.assetModelNo=='CV-V1(A)'||result.assetModelNo=='CV-V1(B)'||result.assetModelNo=='GIF-LV1'||result.assetModelNo=='CF-LV1L'||result.assetModelNo=='CF-LV1I'||result.assetModelNo=='MAJ-1910') &&(result.demoPurpose2=='涓�鑸敤鎴�'||result.demoPurpose2=='鍐嶄慨鐞�')){
+					this.ToastShow('濂ヨ緣璁惧锛屼繚淇湡鍐呬笉鎻愪緵澶囧搧.','warning');
                 	return;
 				}
 			}
 
 			if(result.campaignId!=null || result.campaignId!=''){
-				if(result.rentalApplyFlag == '鑽夋涓�'){
-					this.ToastShow('瀛︿細鐘舵�佷负鑽夋涓紝涓嶈兘鎻愪氦');
+				if(result.campaignStatus == '鑽夋涓�'){
+					this.ToastShow('瀛︿細鐘舵�佷负鑽夋涓紝涓嶈兘鎻愪氦','warning');
 					return;
 				}
-				if(result.rentalApplyFlag == '鐢宠涓�'){
-					this.ToastShow('瀛︿細鐘舵�佷负鐢宠涓紝涓嶈兘鎻愪氦');
+				if(result.campaignStatus == '鐢宠涓�'){
+					this.ToastShow('瀛︿細鐘舵�佷负鐢宠涓紝涓嶈兘鎻愪氦','warning');
 					return;
 				}
-				if(result.rentalApplyFlag == '宸茬粨鏉�'){
-					this.ToastShow('瀛︿細鐘舵�佷负宸茬粨鏉燂紝涓嶈兘鎻愪氦');
+				if(result.campaignStatus == '宸茬粨鏉�'){
+					this.ToastShow('瀛︿細鐘舵�佷负宸茬粨鏉燂紝涓嶈兘鎻愪氦','warning');
 					return;
 				}
-				if(result.rentalApplyFlag == '宸叉彁浜ゆ姤鍛�'){
-					this.ToastShow('瀛︿細鐘舵�佷负宸叉彁浜ゆ姤鍛婏紝涓嶈兘鎻愪氦');
+				if(result.campaignStatus == '宸叉彁浜ゆ姤鍛�'){
+					this.ToastShow('瀛︿細鐘舵�佷负宸叉彁浜ゆ姤鍛婏紝涓嶈兘鎻愪氦','warning');
 					return;
 				}
-				if(result.rentalApplyFlag == '鍙栨秷鐢宠涓�'){
-					this.ToastShow('瀛︿細鐘舵�佷负鍙栨秷鐢宠涓紝涓嶈兘鎻愪氦');
+				if(result.campaignStatus == '鍙栨秷鐢宠涓�'){
+					this.ToastShow('瀛︿細鐘舵�佷负鍙栨秷鐢宠涓紝涓嶈兘鎻愪氦','warning');
 					return;
 				}
-				if(result.rentalApplyFlag == '鍙栨秷'){
-					this.ToastShow('瀛︿細鐘舵�佷负鍙栨秷锛屼笉鑳芥彁浜�');
+				if(result.campaignStatus == '鍙栨秷'){
+					this.ToastShow('瀛︿細鐘舵�佷负鍙栨秷锛屼笉鑳芥彁浜�','warning');
 					return;
 				}
 			}
 
 			if(result.qISNumber!=null || result.qISNumber!=''){
 				if(result.nextAction=='閫佸洖'){
-					this.ToastShow('QIS 宸查�佸洖锛屼笉鑳藉啀鐢宠澶囧搧浜�');
+					this.ToastShow('QIS 宸查�佸洖锛屼笉鑳藉啀鐢宠澶囧搧浜�','warning');
 					return;
 				}
 			}
 
-			// share
+			//share
 			var userAccess = new Array();
 			userAccess.push(result.applyUserId + '_Edit'); 
 
@@ -105,6 +121,7 @@
 			//userAccess.push('{!Rental_Apply__c.ZongjianApprovalManagerId__c}_Read');//20210727 ljh SFDC-C54C33 update 鍏变韩瑙﹀彂鍣ㄥ畬鎴�
 			//userAccess.push('{!Rental_Apply__c.Status__c}_Read');
 
+			console.log('鍙傛暟==='+result.rentalApplyId+' '+userAccess+' '+result.ownerId);
 			setSObjectShare({
 				sobjectName:'Rental_Apply__Share',
 				rowCause:'ApplyUserShare__c',
@@ -112,86 +129,58 @@
 				userAccess:userAccess,
 				ownerId:result.ownerId
 			}).then(res=>{
-				if(res!='OK'){
-					this.ToastShow(res);
+				
+				if(res!='OK'){			
+					this.ToastShow(res,'warning');
 					return;
+				}else{
+					console.log('setSObjectShareSuccess====OK');
+					//杩藉姞澶囧搧鐢宠鐘舵�佺‘璁わ紝宸茬粡鎻愪氦杩囩殑鐢宠锛屼笉鑳介噸澶嶆彁浜tatus__c
+					if (result.rentalApplyStatus != '宸叉壒鍑�' && result.rentalApplyStatus != '宸插嚭搴撴寚绀�') {
+						this.ToastShow('璇峰鍝佺敵璇风姸鎬佺‘璁わ紝鐢宠鐘舵�佸凡鎵瑰噯鍚庢墠鍙互鎻愪氦杩藉姞瀹℃壒','warning');
+						return;
+					}
+
+					changeAddApprovalStatus({
+						recordId: this.recordId,
+						status: '濉啓瀹屾瘯'
+					}).then(changeResult=>{
+						if(changeResult == '鏇存柊鎴愬姛'){
+							submitApproval({
+								recordId: this.recordId
+							}).then(submitApprovalRes=>{
+								if(submitApprovalRes == 'OK'){
+									this.ToastShow('鎻愪氦杩藉姞寰呭鎵�','success');
+									this.updateRecordView(this.recordId);
+								}else{
+									this.ToastShow('杩藉姞寰呭鎵瑰け璐�','ERROR');
+								}
+							})
+						}else{
+							this.ToastShow(changeResult,'error');
+						}	
+					})
 				}
 			}).catch(err=>{
-				console.log('setSObjectShareErr====',err);
+				console.log('setSObjectShareErr===='+err);
 			})
-
-
-			var request = new sforce.ProcessSubmitRequest();
-			request.objectId = "{!Rental_Apply__c.Id}";
-			var processResults = sforce.connection.process([request]); 
-
-
-			if (processResults[0].errors != null) {
-				var back = new sforce.SObject("Rental_Apply__c");
-				back.Id = "{!Rental_Apply__c.Id}";
-				back.Add_Approval_Status__c = "鑽夋涓�";
-				var backResult = sforce.connection.update([back]);
-				backMessages = this.getConnectDMLErrorMessages(backResult);
-				if (backMessages.length > 0) {
-				alert(backMessages.join("\n"));
-				return;
-				}
-
-				var errmsg = processResults[0].errors.message.toString();
-				alert(errmsg);
-				return;
-			}
-
-		    updateRecord({fields: { Id: this.recordId }});
 		    
 		}).catch(err=>{
-			console.log('sErr====',err);
+			console.log('====1111====',err);
 		})
 	}
 
-	ToastShow(msg){
+	ToastShow(msg,type){
 		const evt = new ShowToastEvent({
             title : msg,
             message: '',
-            variant: 'warning'
+            variant: type
         });
         this.dispatchEvent(evt);
         this.dispatchEvent(new CloseActionScreenEvent());
 	}
 
-	getConnectDMLErrorMessages(results){
-		var messages = [],
-		i = 0,
-		len = results.length,
-		r;
-		for (; i < len; i++) {
-			r = results[i];
-			if (!r.getBoolean("success")) {
-				messages = messages.concat(this.getConnectDMLMessagesOfAResult(r));
-			} 
-		}
-		return messages; 
-	}
-
-	getConnectDMLMessagesOfAResult(res){
-		var messages = [],
-		errors = res.getArray("errors"),
-		i = 0,
-		len = errors.length,
-		e;
-		for (; i < len; i++) {
-		e = errors[i];
-		messages.push(e.message + " " + this.getConnectDMLErrorFields(e));
-		}
-		return messages;
-	}
-
-	getConnectDMLErrorFields(error){
-		var fields = error.getArray('fields');
-		if (fields.length > 0) {
-		return "[" + fields.join(",") + "]"
-		} else {
-			return "";
-		}
-	}
+	updateRecordView(recordId) {
+        updateRecord({fields: { Id: recordId }});
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.1