From ff1f734e5f37cdd004f6c8bf88a2917737e1ff08 Mon Sep 17 00:00:00 2001
From: hyingbo <1363390067@qq.com>
Date: 星期四, 11 九月 2025 11:10:56 +0800
Subject: [PATCH] 故障报修列表超期标记红色

---
 src/views/eam/dispose/modules/EamEquipmentTransferModal.vue |  123 +++++++++++++++++++++++++++++-----------
 1 files changed, 88 insertions(+), 35 deletions(-)

diff --git a/src/views/eam/dispose/modules/EamEquipmentTransferModal.vue b/src/views/eam/dispose/modules/EamEquipmentTransferModal.vue
index 6bd5226..0771067 100644
--- a/src/views/eam/dispose/modules/EamEquipmentTransferModal.vue
+++ b/src/views/eam/dispose/modules/EamEquipmentTransferModal.vue
@@ -3,63 +3,53 @@
     :title="title"
     :width="800"
     :visible="visible"
+    :okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
     :confirmLoading="confirmLoading"
     switchFullscreen
     @ok="handleOk"
     @cancel="handleCancel"
     cancelText="鍏抽棴">
-    
+
     <a-spin :spinning="confirmLoading">
       <a-form-model ref="form" :model="model" :rules="validatorRules">
-      
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="delFlag" label="鍒犻櫎鏍囪">
-          <a-input-number v-model="model.delFlag"/>
-        </a-form-model-item>
         <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="code" label="鍗曟嵁鍙�">
-          <a-input placeholder="璇疯緭鍏ュ崟鎹彿" v-model="model.code" />
+          <a-input placeholder="缂栫爜绯荤粺鑷姩鐢熸垚" v-model="model.code"  disabled/>
         </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentId" label="璁惧ID">
-          <a-input placeholder="璇疯緭鍏ヨ澶嘔D" v-model="model.equipmentId" />
+        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentId" label="璋冨嚭璁惧">
+          <lx-search-equipment-select placeholder="璇疯緭鍏ヨ澶囩紪鍙锋垨鍚嶇О鎼滅储"
+                                      v-model="model.equipmentId"  :disabled="disableSubmit"></lx-search-equipment-select>
         </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="oldDepartId" label="璋冨嚭閮ㄩ棬">
-          <a-input placeholder="璇疯緭鍏ヨ皟鍑洪儴闂�" v-model="model.oldDepartId" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="newDepartId" label="璋冨叆閮ㄩ棬">
-          <a-input placeholder="璇疯緭鍏ヨ皟鍏ラ儴闂�" v-model="model.newDepartId" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="reportUser" label="鐢宠浜�">
-          <a-input placeholder="璇疯緭鍏ョ敵璇蜂汉" v-model="model.reportUser" />
-        </a-form-model-item>
+          <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="newDepartId" label="璋冨叆杞﹂棿">
+            <a-tree-select v-model="model.newDepartId"
+                           style="width: 100%"
+                           :tree-data="treeDataAlias"
+                           :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }"
+                           placeholder="璇烽�夋嫨璋冨叆杞﹂棿"
+                           allow-clear
+                           tree-default-expand-all
+                           :disabled="disableSubmit"
+            >
+            </a-tree-select>
+          </a-form-model-item>
         <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="transferReason" label="鍙樺姩鍘熷洜">
-          <a-input placeholder="璇疯緭鍏ュ彉鍔ㄥ師鍥�" v-model="model.transferReason" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="transferStatus" label="鍙樺姩鐘舵��">
-          <a-input placeholder="璇疯緭鍏ュ彉鍔ㄧ姸鎬�" v-model="model.transferStatus" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="transferTime" label="鍙樺姩鏃ユ湡">
-          <a-input placeholder="璇疯緭鍏ュ彉鍔ㄦ棩鏈�" v-model="model.transferTime" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="approvalUser" label="瀹℃牳浜�">
-          <a-input placeholder="璇疯緭鍏ュ鏍镐汉" v-model="model.approvalUser" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="approvalTime" label="瀹℃牳鏃堕棿">
-          <a-input placeholder="璇疯緭鍏ュ鏍告椂闂�" v-model="model.approvalTime" />
+          <a-input placeholder="璇疯緭鍏ュ彉鍔ㄥ師鍥�" v-model="model.transferReason"  :disabled="disableSubmit"/>
         </a-form-model-item>
         <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="remark" label="澶囨敞">
-          <a-input placeholder="璇疯緭鍏ュ娉�" v-model="model.remark" />
+          <a-textarea placeholder="璇疯緭鍏ュ娉�" v-model="model.remark"  :disabled="disableSubmit"/>
         </a-form-model-item>
-		
+
       </a-form-model>
     </a-spin>
   </j-modal>
 </template>
 
 <script>
-  import { httpAction } from '@/api/manage'
-  import moment from "moment"
+  import { httpAction,getAction } from '@/api/manage'
+  import LxSearchEquipmentSelect from '@views/eam/equipment/modules/LxSearchEquipmentSelect.vue'
 
   export default {
     name: "EamEquipmentTransferModal",
+    components: { LxSearchEquipmentSelect },
     data () {
       return {
         title:"鎿嶄綔",
@@ -73,22 +63,55 @@
           xs: { span: 24 },
           sm: { span: 16 },
         },
-
+        labelColLong: {
+          xs: { span: 24 },
+          sm: { span: 4 }
+        },
+        wrapperColLong: {
+          xs: { span: 24 },
+          sm: { span: 18 }
+        },
+        disableSubmit: false,
+        treeData: [],
+        treeDataAlias: [],
         confirmLoading: false,
         validatorRules:{
+          newDepartId: [
+            { required: true, message: '璇烽�夋嫨璋冨叆杞﹂棿' }
+          ],
+          equipmentId: [
+            { required: true, message: '璇烽�夋嫨璁惧锛�' }
+          ],
+          transferReason: [
+            { required: true, message: '璇疯緭鍏ュ彉鍔ㄥ師鍥狅紒' }
+          ],
         },
         url: {
           add: "/eam/eamEquipmentTransfer/add",
           edit: "/eam/eamEquipmentTransfer/edit",
+          loadProductionOptions:'/mdc/mdcProduction/loadProductionTreeOptions',
         },
       }
     },
     created () {
+      this.loadAllProductionTree();
     },
     methods: {
+      loadAllProductionTree() {
+        //鍔犺浇杞﹂棿閫夋嫨鏍�
+        getAction(this.url.loadProductionOptions).then(res => {
+          if (res.success) {
+            this.treeData = [...res.result]
+            this.treeDataAlias = this.deepCopyAndModify(res.result)
+          }else {
+            that.$message.warning(res.message)
+          }
+        })
+      },
       add () {
         //鍒濆鍖栭粯璁ゅ��
         this.edit({});
+        this.visible = true;
       },
       edit (record) {
         this.model = Object.assign({}, record);
@@ -133,7 +156,37 @@
       handleCancel () {
         this.close()
       },
+      deepCopyAndModify(arr) {
+        // 濡傛灉褰撳墠鍏冪礌涓嶆槸鏁扮粍鎴栧璞★紝鐩存帴杩斿洖
+        if (!Array.isArray(arr) && typeof arr !== 'object' || arr === null || arr.length === 0) {
+          return arr;
+        }
 
+        // 濡傛灉鏄暟缁勶紝鍒涘缓涓�涓柊鏁扮粍骞堕�掑綊澶勭悊姣忎釜鍏冪礌
+        if (Array.isArray(arr)) {
+          const newArray = [];
+          for (let i = 0; i < arr.length; i++) {
+            newArray.push(this.deepCopyAndModify(arr[i]));
+          }
+          return newArray;
+        }
+
+        // 濡傛灉鏄璞★紝鍒涘缓涓�涓柊瀵硅薄骞堕�掑綊澶勭悊姣忎釜灞炴��
+        const newObj = {};
+        for (const key in arr) {
+          if (arr.hasOwnProperty(key)) {
+            if(key === 'selectable') {
+              newObj[key] = true;
+            } else if(key === 'children') {
+              newObj[key] = this.deepCopyAndModify(arr[key]);
+            }else {
+              newObj[key] = arr[key];
+            }
+
+          }
+        }
+        return newObj;
+      }
 
     }
   }

--
Gitblit v1.9.3