From 8905bdd0a74c4bd6cabc206c36a299341488041e Mon Sep 17 00:00:00 2001
From: zhaowei <zhaowei>
Date: 星期四, 11 九月 2025 11:00:26 +0800
Subject: [PATCH] 合并设备借出与归还流程,增加借出归还列表详情功能

---
 src/views/flowable/workflow/leanOut/EquipmentLeanOutAndReturnApprovalModal.vue |   52 ++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 36 insertions(+), 16 deletions(-)

diff --git a/src/views/flowable/workflow/leanOut/EquipmentReturnApprovalModal.vue b/src/views/flowable/workflow/leanOut/EquipmentLeanOutAndReturnApprovalModal.vue
similarity index 84%
rename from src/views/flowable/workflow/leanOut/EquipmentReturnApprovalModal.vue
rename to src/views/flowable/workflow/leanOut/EquipmentLeanOutAndReturnApprovalModal.vue
index e837873..ceb7e8b 100644
--- a/src/views/flowable/workflow/leanOut/EquipmentReturnApprovalModal.vue
+++ b/src/views/flowable/workflow/leanOut/EquipmentLeanOutAndReturnApprovalModal.vue
@@ -53,38 +53,43 @@
           </a-col>
         </a-row>
 
-        <div>
+        <div v-if="leanOutApprovalDisable">
           <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;"> 浣跨敤杞﹂棿鍑哄巶瀹℃壒
           </a-divider>
           <a-row :gutter="24">
             <a-col :span="12">
-              <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="瀹℃壒绫诲瀷">
+              <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="瀹℃壒绫诲瀷" prop="useApprovalDealType">
                 <j-dict-select-tag type="radio" v-model="model.useApprovalDealType" dictCode="approved_rejected"
-                                   placeholder="璇烽�夋嫨澶勭悊绫诲瀷" disabled/>
+                                   placeholder="璇烽�夋嫨澶勭悊绫诲瀷"
+                                   :disabled="disableSubmit || model.leanStatus!=='WAIT_APPROVAL_OUT'"/>
               </a-form-model-item>
             </a-col>
             <a-col :span="12">
-              <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="纭鎰忚">
-                <a-textarea placeholder="璇疯緭鍏ョ‘璁ゆ剰瑙�" v-model="model.useApprovalComment" disabled/>
+              <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="纭鎰忚" prop="useApprovalComment">
+                <a-textarea placeholder="璇疯緭鍏ョ‘璁ゆ剰瑙�" v-model="model.useApprovalComment"
+                            :disabled="disableSubmit || model.leanStatus!=='WAIT_APPROVAL_OUT'"/>
               </a-form-model-item>
             </a-col>
           </a-row>
         </div>
 
-        <div>
+        <div v-if="leanInApprovalDisable">
           <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;"> 鍊熺敤杞﹂棿鍑哄巶瀹℃壒
           </a-divider>
           <a-row :gutter="24">
             <a-col :span="12">
-              <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="瀹℃壒绫诲瀷">
+              <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="leanOutApprovalDealType"
+                                 label="瀹℃壒绫诲瀷">
                 <j-dict-select-tag type="radio" v-model="model.leanOutApprovalDealType" dictCode="approved_rejected"
-                                   placeholder="璇烽�夋嫨澶勭悊绫诲瀷" disabled/>
+                                   placeholder="璇烽�夋嫨澶勭悊绫诲瀷"
+                                   :disabled="disableSubmit || model.leanStatus!=='WAIT_APPROVAL_IN'"/>
               </a-form-model-item>
             </a-col>
             <a-col :span="12">
-              <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol"
+              <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="leanOutApprovalComment"
                                  label="纭鎰忚">
-                <a-textarea placeholder="璇疯緭鍏ョ‘璁ゆ剰瑙�" v-model="model.leanOutApprovalComment" disabled/>
+                <a-textarea placeholder="璇疯緭鍏ョ‘璁ゆ剰瑙�" v-model="model.leanOutApprovalComment"
+                            :disabled="disableSubmit || model.leanStatus!=='WAIT_APPROVAL_IN'"/>
               </a-form-model-item>
             </a-col>
           </a-row>
@@ -143,7 +148,7 @@
   import LxSearchEquipmentSelect from '@views/eam/equipment/modules/LxSearchEquipmentSelect.vue'
 
   export default {
-    name: 'EquipmentLeanOutApprovalModal',
+    name: 'EquipmentLeanOutAndReturnApprovalModal',
     components: {
       LxSearchEquipmentSelect
     },
@@ -179,6 +184,18 @@
         spinning: false,
         imageSrc: null,
         validatorRules: {
+          useApprovalDealType: [
+            { required: true, message: '璇烽�夋嫨閫氳繃鎴栭┏鍥�!' }
+          ],
+          leanOutApprovalDealType: [
+            { required: true, message: '璇烽�夋嫨閫氳繃鎴栭┏鍥�!' }
+          ],
+          useApprovalComment: [
+            { required: true, message: '璇疯緭鍏ュ鎵规剰瑙�!' }
+          ],
+          leanOutApprovalComment: [
+            { required: true, message: '璇疯緭鍏ュ鎵规剰瑙�!' }
+          ],
           leanOutConfirmDealType: [
             { required: true, message: '璇烽�夋嫨閫氳繃鎴栭┏鍥�!' }
           ],
@@ -204,6 +221,12 @@
       this.loadAllProductionTree()
     },
     computed: {
+      leanOutApprovalDisable: function() {
+        return ['WAIT_APPROVAL_OUT', 'WAIT_APPROVAL_IN', 'WAIT_RETURN', 'WAIT_CONFIRM_RETURN', 'WAIT_CONFIRM_BORROW', 'COMPLETE'].includes(this.model.leanStatus)
+      },
+      leanInApprovalDisable: function() {
+        return ['WAIT_APPROVAL_IN', 'WAIT_RETURN', 'WAIT_CONFIRM_RETURN', 'WAIT_CONFIRM_BORROW', 'COMPLETE'].includes(this.model.leanStatus)
+      },
       returnConfirmApprovalDisable: function() {
         return ['WAIT_CONFIRM_RETURN', 'WAIT_CONFIRM_BORROW', 'COMPLETE'].includes(this.model.leanStatus)
       },
@@ -229,6 +252,7 @@
         console.log('record', record)
         this.initParams()
         this.model = Object.assign({}, record)
+        this.spinning = false
       },
 
       initParams() {
@@ -275,14 +299,10 @@
           if (res.success) {
             this.treeData = [...res.result]
           } else {
-            that.$message.warning(res.message)
+            this.$message.warning(res.message)
           }
         })
       }
     }
   }
 </script>
-
-<style lang="less" scoped>
-
-</style>
\ No newline at end of file

--
Gitblit v1.9.3