From 34feb4908ec7b7e5b51adf6355603978c67bd3a4 Mon Sep 17 00:00:00 2001
From: cuijian <cuijian@xalxzn.com>
Date: 星期四, 05 六月 2025 09:53:14 +0800
Subject: [PATCH] 申请单入库

---
 src/views/eam/equipment/modules/EamEquipmentModal.vue |  244 +++++++++++++++++++++++++++---------------------
 1 files changed, 139 insertions(+), 105 deletions(-)

diff --git a/src/views/eam/equipment/modules/EamEquipmentModal.vue b/src/views/eam/equipment/modules/EamEquipmentModal.vue
index a91f44e..2e3b087 100644
--- a/src/views/eam/equipment/modules/EamEquipmentModal.vue
+++ b/src/views/eam/equipment/modules/EamEquipmentModal.vue
@@ -5,13 +5,14 @@
     :visible="visible"
     centered
     :confirmLoading="confirmLoading"
+    :okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
     switchFullscreen
     @ok="handleOk"
     @cancel="handleCancel"
     cancelText="鍏抽棴">
     <a-spin :spinning="confirmLoading">
       <a-form-model ref="form" :model="model" :rules="validatorRules" :labelCol="labelCol" :wrapperCol="wrapperCol">
-        <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;"> 璁惧鍩虹淇℃伅
+        <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;"> 鍩虹淇℃伅
         </a-divider>
 
         <a-row :gutter="24">
@@ -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,70 +39,91 @@
               <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"/>
+                                   label="璁惧绫诲埆">
+                  <j-dict-select-tag dict-code="equipment_category" placeholder="璇烽�夋嫨璁惧绫诲埆"
+                                     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-form-model-item prop="equipmentType"
+                                   label="璁惧绉嶇被">
+                  <j-tree-dict placeholder="璇烽�夋嫨璁惧绉嶇被" v-model="model.equipmentType" parent-code="equipment_category" field="code" :async="true" :disabled="disableSubmit"></j-tree-dict>
                 </a-form-model-item>
               </a-col>
             </a-row>
             <a-row>
               <a-col :span="8">
                 <a-form-model-item prop="equipmentImportance"
-                                   label="鍏抽敭璁惧鏍囪瘑">
-                  <lx-switch
-                    checked-children='鏄�'
-                    un-checked-children='鍚�'
-                    v-model="model.equipmentImportance"
-                  />
+                                   label="绠$悊鍒嗙被">
+                  <j-dict-select-tag dict-code="equipment_abc_flag" placeholder="璇烽�夋嫨绠$悊鍒嗙被"
+                                     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-form-model-item prop="originalValue" label="鍘熷��(鍏�)">
+                  <a-input :placeholder="disableSubmit?'':'璇疯緭鍏ュ師鍊�'" v-model="model.originalValue" :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-form-model-item prop="fundingSource" label="璧勯噾鏉ユ簮">
+                  <a-input :placeholder="disableSubmit?'':'璇疯緭鍏ヨ祫閲戞潵婧�'" v-model="model.fundingSource" :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="motorsNumber"
+                               label="鐢垫満鍙版暟">
+              <a-input-number :placeholder="disableSubmit?'':'璇疯緭鍏ョ數鏈哄彴鏁�'" v-model="model.motorsNumber" :disabled="disableSubmit" style="width: 100%" />
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="6">
+            <a-form-model-item prop="equipmentPower" label="鎬诲姛鐜�(KW)">
+              <a-input :placeholder="disableSubmit?'':'璇疯緭鍏ユ�诲姛鐜�'" v-model="model.equipmentPower" :disabled="disableSubmit"/>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="6">
+            <a-form-model-item prop="equipmentWeight" label="閲嶉噺(鍚�)">
+              <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="overallDimensions" label="澶栧舰灏哄">
+              <a-input :placeholder="disableSubmit?'':'璇疯緭鍏ュ褰㈠昂瀵�'" v-model="model.overallDimensions" :disabled="disableSubmit"/>
+            </a-form-model-item>
           </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-form-model-item prop="technologyStatus" label="鎶�鏈姸鎬�">
+              <j-dict-select-tag dict-code="technology_status" placeholder="璇烽�夋嫨鎶�鏈姸鎬�"
+                                 v-model="model.technologyStatus" :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-form-model-item prop="functionUse" label="鍔熻兘鐢ㄩ��">
+              <a-input :placeholder="disableSubmit?'':'璇疯緭鍏ュ姛鑳界敤閫�'" v-model="model.functionUse" :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-form-model-item prop="performanceIndicators" label="鎬ц兘鎸囨爣">
+              <a-input :placeholder="disableSubmit?'':'璇疯緭鍏ユ�ц兘鎸囨爣'" v-model="model.performanceIndicators" :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,45 +135,45 @@
         <a-row :gutter="24">
           <a-col :span="6">
             <a-form-model-item prop="factoryNumber" label="鍑哄巶缂栧彿">
-              <a-input placeholder="璇疯緭鍏ュ嚭鍘傜紪鍙�" v-model="model.factoryNumber"/>
-            </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-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-form-model-item>
-          </a-col>
-          <a-col :span="6">
-            <a-form-model-item prop="installationPosition" label="瀹夎浣嶇疆">
-              <a-input placeholder="璇疯緭鍏ュ畨瑁呬綅缃�" v-model="model.installationPosition"/>
-            </a-form-model-item>
-          </a-col>
-        </a-row>
-
-        <a-row :gutter="24">
-          <a-col :span="6">
-            <a-form-model-item prop="spindleConnectDimension" label="涓昏酱杩炴帴灏哄">
-              <a-input placeholder="璇疯緭鍏ヤ富杞磋繛鎺ュ昂瀵�" v-model="model.spindleConnectDimension"/>
-            </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"/>
-            </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.factoryNumber" :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-col :span="6">
+            <a-form-model-item prop="supplier" label="璁惧渚涘簲鍟�">
+              <a-input :placeholder="disableSubmit?'':'璇疯緭鍏ヨ澶囦緵搴斿晢'" v-model="model.supplier" :disabled="disableSubmit"/>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="6">
+            <a-form-model-item prop="manufacturingEnterprise" label="鏈哄簥鍘傚">
+              <a-input :placeholder="disableSubmit?'':'璇疯緭鍏ユ満搴婂巶瀹�'" v-model="model.manufacturingEnterprise" :disabled="disableSubmit"/>
+            </a-form-model-item>
+          </a-col>
+
+        </a-row>
+        <a-row :gutter="24">
+          <a-col :span="6">
+            <a-form-model-item prop="leaveFactoryDate" label="鍑哄巶鏃ユ湡">
+              <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" :disabled="disableSubmit"/>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="6">
+            <a-form-model-item prop="bookingTime" label="鍏ヨ处鏃堕棿">
+              <a-date-picker placeholder="璇烽�夋嫨鍏ヨ处鏃堕棿" v-model="model.bookingTime" :disabled="disableSubmit"/>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="6">
+            <a-form-model-item prop="installationPosition" label="瀹夎浣嶇疆">
+              <a-input :placeholder="disableSubmit?'':'璇疯緭鍏ュ畨瑁呬綅缃�'" v-model="model.installationPosition" :disabled="disableSubmit"/>
             </a-form-model-item>
           </a-col>
         </a-row>
@@ -161,55 +183,39 @@
 
         <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"/>
-            </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"/>
-            </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"/>
-            </a-form-model-item>
-          </a-col>
-        </a-row>
-
-        <a-row :gutter="24">
-          <a-col :span="6">
-            <a-form-model-item prop="warrantyStartDate" label="璐ㄤ繚寮�濮嬫棩鏈�">
-              <a-date-picker placeholder="璇烽�夋嫨寮�濮嬫棩鏈�" v-model="model.warrantyStartDate"/>
-            </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"/>
+              <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="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>
-
         <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 +225,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 },
@@ -255,32 +268,44 @@
           { required: true, message: '璇疯緭鍏ヨ澶囧悕绉�' }
         ],
         equipmentCategory: [
-          { required: true, message: '璇烽�夋嫨璁惧鍒嗙被' }
+          { required: true, message: '璇烽�夋嫨璁惧绫诲埆' }
         ],
         leaveFactoryDate: [
           { 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 +347,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