From 3528fcf8330187ef7476d13392d778f7b48734b6 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@prec-tech.com>
Date: 星期三, 17 五月 2023 13:47:50 +0800
Subject: [PATCH] 遗失报告 提交待审核

---
 force-app/main/default/lwc/lexLostSubmitApproval/lexLostSubmitApproval.html        |    5 +
 force-app/main/default/classes/LexLostSubmitApprovalController.cls-meta.xml        |    5 +
 force-app/main/default/lwc/lexLostSubmitApproval/lexLostSubmitApproval.js          |   98 ++++++++++++++++++++++++++++++++
 force-app/main/default/classes/LexLostSubmitApprovalController.cls                 |   45 +++++++++++++++
 force-app/main/default/lwc/lexLostSubmitApproval/lexLostSubmitApproval.js-meta.xml |   11 +++
 5 files changed, 164 insertions(+), 0 deletions(-)

diff --git a/force-app/main/default/classes/LexLostSubmitApprovalController.cls b/force-app/main/default/classes/LexLostSubmitApprovalController.cls
new file mode 100644
index 0000000..2902ba8
--- /dev/null
+++ b/force-app/main/default/classes/LexLostSubmitApprovalController.cls
@@ -0,0 +1,45 @@
+public with sharing class LexLostSubmitApprovalController {
+
+    // 閬楀け鎶ュ憡 鎻愪氦寰呭鏍�
+    @AuraEnabled
+    public static InitData LexLostSubmitApprovalController(String recordId) {
+        InitData res = new initData();
+        try{
+            List<LostReport_Detail__c> reportDetail = new List<LostReport_Detail__c>();
+            LostReport__c report = [SELECT Id,Status__c FROM LostReport__c WHERE Id = :recordId LIMIT 1];
+            res.Id = report.Id;
+            res.statusTf = report.Status__c;
+    	    reportDetail = [SELECT Rental_Apply_Equipment_Set_Detail__r.Lost_item_check_day__c FROM LostReport_Detail__c WHERE id = :recordId AND Rental_Apply_Equipment_Set_Detail__r.Lost_item_check_day__c != null];
+            res.reportDetailList = reportDetail;
+            System.debug(LoggingLevel.INFO, '*** zq: ' + res);
+        }catch(Exception e){
+            System.debug(LoggingLevel.INFO, '*** zq: ' + e);
+        }
+        return res;
+    }
+
+    public class InitData{
+        @AuraEnabled
+        public String Id;
+        @AuraEnabled
+        public String statusTf;
+        @AuraEnabled
+        public List<LostReport_Detail__c> reportDetailList;
+    }
+
+    //鎻愪氦鎸夐挳
+    @AuraEnabled
+    public static String submit(String recordId) {
+       try {
+        LostReport__c rac = [SELECT Id,Status__c FROM LostReport__c WHERE Id = :recordId LIMIT 1];
+        rac.Id = rac.Id;
+        rac.Status__c = '濉啓瀹屾瘯';
+        update rac;
+        return '1';
+       } catch (Exception ex) {
+        System.debug(LoggingLevel.INFO, '*** zq: ' + ex);
+        // return errMsg;
+        return ex.getMessage();
+       }
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/classes/LexLostSubmitApprovalController.cls-meta.xml b/force-app/main/default/classes/LexLostSubmitApprovalController.cls-meta.xml
new file mode 100644
index 0000000..9bbf7b4
--- /dev/null
+++ b/force-app/main/default/classes/LexLostSubmitApprovalController.cls-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>56.0</apiVersion>
+    <status>Active</status>
+</ApexClass>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexLostSubmitApproval/lexLostSubmitApproval.html b/force-app/main/default/lwc/lexLostSubmitApproval/lexLostSubmitApproval.html
new file mode 100644
index 0000000..d044dbb
--- /dev/null
+++ b/force-app/main/default/lwc/lexLostSubmitApproval/lexLostSubmitApproval.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="exampleHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexLostSubmitApproval/lexLostSubmitApproval.js b/force-app/main/default/lwc/lexLostSubmitApproval/lexLostSubmitApproval.js
new file mode 100644
index 0000000..d87684e
--- /dev/null
+++ b/force-app/main/default/lwc/lexLostSubmitApproval/lexLostSubmitApproval.js
@@ -0,0 +1,98 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import updateForSubmitButton  from '@salesforce/apex/ReportController.updateForSubmitButton';
+import { updateRecord } from 'lightning/uiRecordApi';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import init from '@salesforce/apex/LexLostSubmitApprovalController.LexLostSubmitApprovalController';
+import submit from '@salesforce/apex/LexLostSubmitApprovalController.submit';
+
+// 閬楀け鎶ュ憡 鎻愪氦寰呭鏍�
+export default class LexLostSubmitApproval extends LightningElement {
+    @api recordId;
+    IsLoading = true;
+    @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.recordId = str;
+           }
+         }
+     }
+
+     connectedCallback(){
+        this.IsLoading = false;
+        // this.submit();
+        init({recordId:this.recordId})
+        .then(result=>{
+            console.log("LexConsumablesLost------>>>",result)
+
+            if (result.statusTf == "濉啓瀹屾瘯" ||  result.statusTf == "鐢宠涓�" || result.statusTf == "宸叉壒鍑�") {
+              this.showToast('璇风‘璁ら仐澶辨姤鍛婄姸鎬侊紝宸茬粡鎻愪氦杩囩殑鐢宠锛屼笉鑳介噸澶嶆彁浜�','warning')
+              return;
+            }
+
+            if (!confirm("涓�鏃︽彁浜ゆ璁板綍浠ュ緟鎵瑰噯锛屾牴鎹偍鐨勮缃偍鍙兘涓嶅啀鑳藉缂栬緫姝よ褰曟垨灏嗕粬浠庢壒鍑嗚繃绋嬩腑璋冨洖銆傛槸鍚︾户缁紵")) {
+                return;
+            }
+
+            // -----------------------------------------------------------------------------------------------------
+            if (result.reportDetailList.length > 0) {
+              var qianpinDate = new Date(result.reportDetailList[0].Rental_Apply_Equipment_Set_Detail__r.Lost_item_check_day__c);
+              for (var i = 1; i < result.reportDetailList.length; i++) {
+                var d = new Date(result.reportDetailList[i].Rental_Apply_Equipment_Set_Detail__r.Lost_item_check_day__c);
+                if(d < qianpinDate){
+                  qianpinDate = d;
+                }
+              }
+              qianpinDate.setDate(qianpinDate.getDate() + 90);
+              var d = '' + qianpinDate.getFullYear()+'/' + (qianpinDate.getMonth()+1) + '/' + qianpinDate.getDate();
+              this.showToast('璇锋偍鐨勪笂绾ч瀵间簬' + d + '鍓嶅畬鎴愰仐澶辨姤鍛婂鎵癸紝鍚﹀垯澶囧搧鑷姩鏂康锛岄仐澶辨姤鍛婅嚜鍔ㄥ彇娑堛��','warning');
+            }
+            // -----------------------------------------------------------------------------------------------------
+
+            this.submitApproval()
+        })
+        .catch(e=>{console.log(e)})
+        .finally(()=>{
+            this.dispatchEvent(new CloseActionScreenEvent());
+        })
+     }
+
+
+     showToast(msg,type) {
+      const event = new ShowToastEvent({
+          title: '',
+          message: msg,
+          variant: type
+      });
+      this.dispatchEvent(event);
+      this.dispatchEvent(new CloseActionScreenEvent());
+    }
+
+
+     updateRecordView(recordId) {
+        updateRecord({fields: { Id: recordId }});
+    }
+
+    submitApproval(){
+      submit({
+        recordId: this.recordId
+      }).then(result=>{
+        if(result != '1'){
+          this.showToast(result,"error");
+          return
+        }
+        this.updateRecordView(this.recordId);
+        // this.showToast("鎻愪氦鎴愬姛","success");
+        this.dispatchEvent(new CloseActionScreenEvent());
+      })
+   }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexLostSubmitApproval/lexLostSubmitApproval.js-meta.xml b/force-app/main/default/lwc/lexLostSubmitApproval/lexLostSubmitApproval.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexLostSubmitApproval/lexLostSubmitApproval.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file

--
Gitblit v1.9.1