From dbb3445dc720a8f36b3424e73f2e02a6b0f9deb6 Mon Sep 17 00:00:00 2001
From: zhangherong <571457620@qq.com>
Date: 星期日, 27 四月 2025 11:31:57 +0800
Subject: [PATCH] art: 从沃克项目迁移设备管理代码到航宇

---
 src/views/eam/equipment/modules/EamEquipmentModal.vue |  123 ++++++++++++++++++++++++++++------------
 1 files changed, 85 insertions(+), 38 deletions(-)

diff --git a/src/views/eam/equipment/modules/EamEquipmentModal.vue b/src/views/eam/equipment/modules/EamEquipmentModal.vue
index a91f44e..63a550d 100644
--- a/src/views/eam/equipment/modules/EamEquipmentModal.vue
+++ b/src/views/eam/equipment/modules/EamEquipmentModal.vue
@@ -5,6 +5,7 @@
     :visible="visible"
     centered
     :confirmLoading="confirmLoading"
+    :okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
     switchFullscreen
     @ok="handleOk"
     @cancel="handleCancel"
@@ -19,17 +20,17 @@
             <a-row>
               <a-col :span="8">
                 <a-form-model-item prop="equipmentCode" label="璁惧缂栧彿">
-                  <a-input placeholder="璇疯緭鍏ヨ澶囩紪鍙�" v-model="model.equipmentCode"/>
+                  <a-input placeholder="璇疯緭鍏ヨ澶囩紪鍙�" v-model="model.equipmentCode" :disabled="editable || disableSubmit" />
                 </a-form-model-item>
               </a-col>
               <a-col :span="8">
                 <a-form-model-item prop="equipmentName" label="璁惧鍚嶇О">
-                  <a-input placeholder="璇疯緭鍏ヨ澶囧悕绉�" v-model="model.equipmentName"/>
+                  <a-input placeholder="璇疯緭鍏ヨ澶囧悕绉�" v-model="model.equipmentName"  :disabled="disableSubmit" />
                 </a-form-model-item>
               </a-col>
               <a-col :span="8">
                 <a-form-model-item prop="equipmentModel" label="璁惧鍨嬪彿">
-                  <a-input placeholder="璇疯緭鍏ヨ澶囧瀷鍙�" v-model="model.equipmentModel"/>
+                  <a-input :placeholder="disableSubmit?'':'璇疯緭鍏ヨ澶囧瀷鍙�'" v-model="model.equipmentModel" :disabled="disableSubmit"/>
                 </a-form-model-item>
               </a-col>
             </a-row>
@@ -38,20 +39,20 @@
               <a-col :span="8">
                 <a-form-model-item prop="equipmentSpecification"
                                    label="璁惧瑙勬牸">
-                  <a-input placeholder="璇疯緭鍏ヨ澶囪鏍�" v-model="model.equipmentSpecification"/>
+                  <a-input :placeholder="disableSubmit?'':'璇疯緭鍏ヨ澶囪鏍�'" v-model="model.equipmentSpecification" :disabled="disableSubmit"/>
                 </a-form-model-item>
               </a-col>
               <a-col :span="8">
                 <a-form-model-item prop="equipmentCategory"
                                    label="璁惧鍒嗙被">
                   <j-dict-select-tag dict-code="equipment_category" placeholder="璇烽�夋嫨璁惧鍒嗙被"
-                                     v-model="model.equipmentCategory"/>
+                                     v-model="model.equipmentCategory" :disabled="disableSubmit" />
                 </a-form-model-item>
               </a-col>
               <a-col :span="8">
                 <a-form-model-item prop="operationSystem"
                                    label="鎿嶄綔绯荤粺">
-                  <a-input placeholder="璇疯緭鍏ユ搷浣滅郴缁�" v-model="model.operationSystem"/>
+                  <a-input :placeholder="disableSubmit?'':'璇疯緭鍏ユ搷浣滅郴缁�'" v-model="model.operationSystem" :disabled="disableSubmit" />
                 </a-form-model-item>
               </a-col>
             </a-row>
@@ -63,45 +64,46 @@
                     checked-children='鏄�'
                     un-checked-children='鍚�'
                     v-model="model.equipmentImportance"
+                    :disabled="disableSubmit"
                   />
                 </a-form-model-item>
               </a-col>
               <a-col :span="8">
                 <a-form-model-item prop="equipmentPower" label="鎬诲姛鐜�">
-                  <a-input placeholder="璇疯緭鍏ユ�诲姛鐜�" v-model="model.equipmentPower"/>
+                  <a-input :placeholder="disableSubmit?'':'璇疯緭鍏ユ�诲姛鐜�'" v-model="model.equipmentPower" :disabled="disableSubmit"/>
                 </a-form-model-item>
               </a-col>
               <a-col :span="8">
                 <a-form-model-item prop="cardNumber" label="绔嬮」鍗″彿">
-                  <a-input placeholder="璇疯緭鍏ョ珛椤瑰崱鍙�" v-model="model.cardNumber"/>
+                  <a-input :placeholder="disableSubmit?'':'璇疯緭鍏ョ珛椤瑰崱鍙�'" v-model="model.cardNumber" :disabled="disableSubmit"/>
                 </a-form-model-item>
               </a-col>
             </a-row>
           </a-col>
           <a-col :span="6">
-            <j-image-upload></j-image-upload>
+            <j-image-upload text="璁惧鍥剧墖" bizPath="eam_equipment_image" v-model="model.equipmentImage"></j-image-upload>
           </a-col>
         </a-row>
 
         <a-row :gutter="24">
           <a-col :span="6">
             <a-form-model-item prop="equipmentWeight" label="閲嶉噺">
-              <a-input placeholder="璇疯緭鍏ラ噸閲�" v-model="model.equipmentWeight"/>
+              <a-input :placeholder="disableSubmit?'':'璇疯緭鍏ラ噸閲�'" v-model="model.equipmentWeight" :disabled="disableSubmit"/>
             </a-form-model-item>
           </a-col>
           <a-col :span="6">
             <a-form-model-item prop="equipmentPort" label="璁惧绔彛">
-              <a-input placeholder="璇疯緭鍏ヨ澶囩鍙�" v-model="model.equipmentPort"/>
+              <a-input :placeholder="disableSubmit?'':'璇疯緭鍏ヨ澶囩鍙�'" v-model="model.equipmentPort" :disabled="disableSubmit"/>
             </a-form-model-item>
           </a-col>
           <a-col :span="6">
             <a-form-model-item prop="coordinateNum" label="鍧愭爣鏁伴噺">
-              <a-input-number v-model="model.coordinateNum" style="width: 100%"/>
+              <a-input-number :placeholder="disableSubmit?'':'璇疯緭鍏ュ潗鏍囨暟閲�'" v-model="model.coordinateNum" style="width: 100%" :disabled="disableSubmit"/>
             </a-form-model-item>
           </a-col>
           <a-col :span="6">
             <a-form-model-item prop="assetStatus" label="璧勪骇鐘舵��">
-              <j-dict-select-tag dict-code="asset_status" placeholder="璇烽�夋嫨璧勪骇鐘舵��" v-model="model.assetStatus"
+              <j-dict-select-tag dict-code="asset_status" v-model="model.assetStatus"
                                  disabled/>
             </a-form-model-item>
           </a-col>
@@ -113,22 +115,22 @@
         <a-row :gutter="24">
           <a-col :span="6">
             <a-form-model-item prop="factoryNumber" label="鍑哄巶缂栧彿">
-              <a-input placeholder="璇疯緭鍏ュ嚭鍘傜紪鍙�" v-model="model.factoryNumber"/>
+              <a-input :placeholder="disableSubmit?'':'璇疯緭鍏ュ嚭鍘傜紪鍙�'" v-model="model.factoryNumber" :disabled="disableSubmit"/>
             </a-form-model-item>
           </a-col>
           <a-col :span="6">
             <a-form-model-item prop="leaveFactoryDate" label="鍑哄巶鏃ユ湡">
-              <a-date-picker placeholder="璇烽�夋嫨鍑哄巶鏃ユ湡" v-model="model.leaveFactoryDate"/>
+              <a-date-picker placeholder="璇烽�夋嫨鍑哄巶鏃ユ湡" v-model="model.leaveFactoryDate" :disabled="disableSubmit"/>
             </a-form-model-item>
           </a-col>
           <a-col :span="6">
             <a-form-model-item prop="acceptanceCheckDate" label="楠屾敹鏃ユ湡">
-              <a-date-picker placeholder="璇烽�夋嫨楠屾敹鏃ユ湡" v-model="model.acceptanceCheckDate"/>
+              <a-date-picker placeholder="璇烽�夋嫨楠屾敹鏃ユ湡" v-model="model.acceptanceCheckDate" :disabled="disableSubmit"/>
             </a-form-model-item>
           </a-col>
           <a-col :span="6">
             <a-form-model-item prop="installationPosition" label="瀹夎浣嶇疆">
-              <a-input placeholder="璇疯緭鍏ュ畨瑁呬綅缃�" v-model="model.installationPosition"/>
+              <a-input :placeholder="disableSubmit?'':'璇疯緭鍏ュ畨瑁呬綅缃�'" v-model="model.installationPosition" :disabled="disableSubmit"/>
             </a-form-model-item>
           </a-col>
         </a-row>
@@ -136,22 +138,22 @@
         <a-row :gutter="24">
           <a-col :span="6">
             <a-form-model-item prop="spindleConnectDimension" label="涓昏酱杩炴帴灏哄">
-              <a-input placeholder="璇疯緭鍏ヤ富杞磋繛鎺ュ昂瀵�" v-model="model.spindleConnectDimension"/>
+              <a-input :placeholder="disableSubmit?'':'璇疯緭鍏ヤ富杞磋繛鎺ュ昂瀵�'" v-model="model.spindleConnectDimension" :disabled="disableSubmit"/>
             </a-form-model-item>
           </a-col>
           <a-col :span="6">
             <a-form-model-item prop="specialEquipment" label="鏄惁鐗圭璁惧">
-              <lx-switch checked-children='鏄�' un-checked-children='鍚�' v-model="model.specialEquipment"/>
+              <lx-switch checked-children='鏄�' un-checked-children='鍚�' v-model="model.specialEquipment" :disabled="disableSubmit"/>
             </a-form-model-item>
           </a-col>
           <a-col :span="6">
             <a-form-model-item prop="manufacturingEnterprise" label="鍒堕�犲巶瀹�">
-              <a-input placeholder="璇疯緭鍏ュ埗閫犲巶瀹�" v-model="model.manufacturingEnterprise"/>
+              <a-input :placeholder="disableSubmit?'':'璇疯緭鍏ュ埗閫犲巶瀹�'" v-model="model.manufacturingEnterprise" :disabled="disableSubmit"/>
             </a-form-model-item>
           </a-col>
           <a-col :span="6">
             <a-form-model-item prop="originCountry" label="鏉ユ簮鍥藉">
-              <a-input placeholder="璇疯緭鍏ユ潵婧愬浗瀹�" v-model="model.originCountry"/>
+              <a-input :placeholder="disableSubmit?'':'璇疯緭鍏ユ潵婧愬浗瀹�'" v-model="model.originCountry" :disabled="disableSubmit"/>
             </a-form-model-item>
           </a-col>
         </a-row>
@@ -161,24 +163,38 @@
 
         <a-row :gutter="24">
           <a-col :span="6">
-            <a-form-model-item prop="orgId" label="浣跨敤閮ㄩ棬">
-              <a-input placeholder="璇疯緭鍏ヤ娇鐢ㄩ儴闂�" v-model="model.orgId"/>
+            <a-form-model-item prop="orgId" label="浣跨敤杞﹂棿">
+              <a-tree-select v-model="model.orgId"
+                             style="width: 100%"
+                             :tree-data="treeData"
+                             :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }"
+                             placeholder="璇烽�夋嫨浣跨敤杞﹂棿"
+                             allow-clear
+                             tree-default-expand-all
+                             :disabled="editable || disableSubmit"
+                >
+              </a-tree-select>
             </a-form-model-item>
           </a-col>
           <a-col :span="6">
             <a-form-model-item prop="equipmentManager" label="璁惧绠$悊鍛�">
-              <a-input placeholder="璇疯緭鍏ヨ澶囩鐞嗗憳" v-model="model.equipmentManager"/>
+              <j-search-select-tag  placeholder="璇烽�夋嫨璁惧绠$悊鍛�" v-model="model.equipmentManager" dict="sys_user,realname, username, del_flag=0 and post='PCR0004' and status=1" :disabled="disableSubmit"/>
             </a-form-model-item>
           </a-col>
           <a-col :span="6">
             <a-form-model-item prop="technologyStatus" label="鎶�鏈姸鎬�">
               <j-dict-select-tag dict-code="technology_status" placeholder="璇烽�夋嫨鎶�鏈姸鎬�"
-                                 v-model="model.technologyStatus"/>
+                                 v-model="model.technologyStatus" :disabled="disableSubmit"/>
             </a-form-model-item>
           </a-col>
           <a-col :span="6">
             <a-form-model-item prop="mdcFlag" label="鏄惁瀹炴柦MDC">
-              <lx-switch checked-children='鏄�' un-checked-children='鍚�' v-model="model.mdcFlag"/>
+              <lx-switch checked-children='鏄�' un-checked-children='鍚�' v-model="model.mdcFlag" :disabled="disableSubmit"/>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="6" v-if="model.mdcFlag === '1'">
+            <a-form-model-item prop="deviceType" label="MDC璁惧绫诲瀷">
+              <j-search-select-tag placeholder="璇烽�夋嫨璁惧绫诲瀷" v-model="model.deviceType" dict="mdc_equipment_type,equipment_type_name, equipment_type_name, equipment_type_states='Y'" :disabled="disableSubmit" />
             </a-form-model-item>
           </a-col>
         </a-row>
@@ -186,22 +202,22 @@
         <a-row :gutter="24">
           <a-col :span="6">
             <a-form-model-item prop="warrantyStartDate" label="璐ㄤ繚寮�濮嬫棩鏈�">
-              <a-date-picker placeholder="璇烽�夋嫨寮�濮嬫棩鏈�" v-model="model.warrantyStartDate"/>
+              <a-date-picker :placeholder="disableSubmit?'':'璇烽�夋嫨寮�濮嬫棩鏈�'" v-model="model.warrantyStartDate" :disabled="disableSubmit"/>
             </a-form-model-item>
           </a-col>
           <a-col :span="6">
             <a-form-model-item prop="warrantyEndDate" label="璐ㄤ繚缁撴潫鏃ユ湡">
-              <a-date-picker placeholder="璇烽�夋嫨缁撴潫鏃ユ湡" v-model="model.warrantyEndDate"/>
+              <a-date-picker :placeholder="disableSubmit?'':'璇烽�夋嫨缁撴潫鏃ユ湡'" v-model="model.warrantyEndDate" :disabled="disableSubmit"/>
             </a-form-model-item>
           </a-col>
           <a-col :span="6">
             <a-form-model-item prop="processParametersFlag" label="鏈夋棤宸ヨ壓鍙傛暟">
-              <lx-switch checked-children='鏈�' un-checked-children='鏃�' v-model="model.processParametersFlag"/>
+              <lx-switch checked-children='鏈�' un-checked-children='鏃�' v-model="model.processParametersFlag" :disabled="disableSubmit"/>
             </a-form-model-item>
           </a-col>
           <a-col :span="6">
             <a-form-model-item prop="precisionParametersFlag" label="鏈夋棤绮惧害鍙傛暟">
-              <lx-switch checked-children='鏈�' un-checked-children='鏃�' v-model="model.precisionParametersFlag"/>
+              <lx-switch checked-children='鏈�' un-checked-children='鏃�' v-model="model.precisionParametersFlag" :disabled="disableSubmit"/>
             </a-form-model-item>
           </a-col>
         </a-row>
@@ -209,7 +225,7 @@
         <a-row :gutter="24">
           <a-col :span="24">
             <a-form-model-item :labelCol="labelColLong" :wrapperCol="wrapperColLong" prop="remark" label="澶囨敞">
-              <a-textarea placeholder="璇疯緭鍏ュ娉�" v-model="model.remark"/>
+              <a-textarea :placeholder="disableSubmit?'':'璇疯緭鍏ュ娉�'" v-model="model.remark" :disabled="disableSubmit"/>
             </a-form-model-item>
           </a-col>
         </a-row>
@@ -219,15 +235,22 @@
 </template>
 
 <script>
-import { httpAction } from '@/api/manage'
+import { getAction, httpAction } from '@/api/manage'
 import { validateDuplicateValueInDelFlag } from '@/utils/util'
+import JSelectProduction from '@comp/jeecgbiz/JSelectProduction.vue'
+import { getSystemConfigValue } from '@api/api'
 
 export default {
   name: 'EamEquipmentModal',
+  components: { JSelectProduction },
   data() {
     return {
       title: '鎿嶄綔',
       visible: false,
+      //鎺у埗缂栬緫
+      editable: false,
+      //璇︽儏鎺у埗
+      disableSubmit: false,
       model: {},
       labelCol: {
         xs: { span: 24 },
@@ -261,26 +284,41 @@
           { required: true, message: '璇烽�夋嫨鍑哄巶鏃ユ湡' }
         ],
         acceptanceCheckDate: [
-          { required: true, message: '璇烽�夋嫨楠屾敹鏃ユ湡' }
+          { required: false, message: '璇烽�夋嫨楠屾敹鏃ユ湡' }
         ],
         technologyStatus: [
           { required: true, message: '璇烽�夋嫨鎶�鏈姸鎬�' }
+        ],
+        orgId: [
+          { required: true, message: '璇烽�夋嫨浣跨敤杞﹂棿' }
+        ],
+        equipmentManager: [
+          { required: true, message: '璇烽�夋嫨璁惧绠$悊鍛�' }
+        ],
+        deviceType: [
+          { required: false, message: '璇烽�夋嫨璁惧绫诲瀷' }
         ]
       },
       url: {
         add: '/eam/equipment/add',
-        edit: '/eam/equipment/edit'
-      }
+        edit: '/eam/equipment/edit',
+        loadProductionOptions:'/mdc/mdcProduction/loadProductionTreeOptions'
+      },
+      treeData: [],
     }
   },
   created() {
+    this.loadAllProductionTree();
   },
   methods: {
     add() {
+      this.editable = false;
       //鍒濆鍖栭粯璁ゅ��
-      this.edit({})
+      this.model = {};
+      this.visible = true
     },
     edit(record) {
+      this.editable = true;
       this.model = Object.assign({}, record)
       this.visible = true
     },
@@ -322,8 +360,17 @@
     },
     handleCancel() {
       this.close()
-    }
-
+    },
+    loadAllProductionTree() {
+      //鍔犺浇杞﹂棿閫夋嫨鏍�
+      getAction(this.url.loadProductionOptions).then(res => {
+        if (res.success) {
+          this.treeData = [...res.result]
+        }else {
+          that.$message.warning(res.message)
+        }
+      })
+    },
   }
 }
 </script>

--
Gitblit v1.9.3