From 31d62d0ac0bf6fdcb200ffeaa7b4e15aaf2d4946 Mon Sep 17 00:00:00 2001
From: zhaowei <zhaowei>
Date: 星期五, 25 七月 2025 16:40:47 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/views/eam/equipment/modules/EamEquipmentModal.vue |  188 ++++++++++++++++++++++++++++++++---------------
 1 files changed, 128 insertions(+), 60 deletions(-)

diff --git a/src/views/eam/equipment/modules/EamEquipmentModal.vue b/src/views/eam/equipment/modules/EamEquipmentModal.vue
index f1ebd75..456c389 100644
--- a/src/views/eam/equipment/modules/EamEquipmentModal.vue
+++ b/src/views/eam/equipment/modules/EamEquipmentModal.vue
@@ -1,15 +1,8 @@
 <template>
-  <j-modal
-    :title="title"
-    fullscreen
-    :visible="visible"
-    centered
-    :confirmLoading="confirmLoading"
-    :okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
-    @ok="handleOk"
-    @cancel="handleCancel"
-    cancelText="鍏抽棴">
-    <a-tabs tab-position="left">
+  <j-modal :title="title" fullscreen :visible="visible" centered :confirmLoading="confirmLoading"
+           :okButtonProps="{ class:{'jee-hidden': disableSubmit} }" @ok="handleOk" @cancel="handleCancel"
+           cancelText="鍏抽棴">
+    <a-tabs tab-position="left" @change="handleTabChange">
       <a-tab-pane tab="鍩虹淇℃伅" :key="1">
         <a-spin :spinning="confirmLoading">
           <j-form-container :disabled="disableSubmit">
@@ -33,6 +26,14 @@
                   </a-form-model-item>
                 </a-col>
                 <a-col :span="customSpan">
+                  <a-form-model-item label="鍨嬪彿">
+                    <a-input placeholder="璇疯緭鍏ュ瀷鍙�" v-model="model.equipmentModel"/>
+                  </a-form-model-item>
+                </a-col>
+              </a-row>
+
+              <a-row>
+                <a-col :span="customSpan">
                   <a-form-model-item prop="factoryOrgCode" label="浣跨敤閮ㄩ棬">
                     <a-tree-select v-model="model.factoryOrgCode" style="width: 100%" show-search
                                    :tree-data="productionTreeData" :disabled="!editable"
@@ -42,9 +43,6 @@
                                    searchPlaceholder="璇疯緭鍏ュ叧閿瓧鎼滅储" tree-default-expand-all/>
                   </a-form-model-item>
                 </a-col>
-              </a-row>
-
-              <a-row>
                 <a-col :span="customSpan">
                   <a-form-model-item prop="equipmentCategory" label="鎵�灞炲垎绫�">
                     <j-dict-select-tag dict-code="equipment_category" placeholder="璇烽�夋嫨鎵�灞炲垎绫�" :disabled="!editable"
@@ -65,14 +63,14 @@
                                    allow-clear tree-default-expand-all/>
                   </a-form-model-item>
                 </a-col>
+              </a-row>
+
+              <a-row>
                 <a-col :span="customSpan">
                   <a-form-model-item label="瀹夊叏閰嶇疆">
                     <a-input placeholder="璇疯緭鍏ュ畨鍏ㄩ厤缃�" v-model="model.securityConfiguration"/>
                   </a-form-model-item>
                 </a-col>
-              </a-row>
-
-              <a-row>
                 <a-col :span="customSpan">
                   <a-form-model-item label="鍐峰嵈绯荤粺">
                     <j-dict-select-tag dict-code="cooling_system" placeholder="璇烽�夋嫨鍐峰嵈绯荤粺" v-model="model.coolSystem"/>
@@ -80,7 +78,8 @@
                 </a-col>
                 <a-col :span="customSpan">
                   <a-form-model-item label="鐏伀鍣�">
-                    <j-dict-select-tag dict-code="yn" type="radio" v-model="model.fireExtinguisher"/>
+                    <j-dict-select-tag dict-code="yn" type="radio" v-model="model.fireExtinguisher"
+                                       @change="handleRadioChange($event,'fireExtinguisherExpirationDate')"/>
                   </a-form-model-item>
                 </a-col>
                 <a-col :span="customSpan">
@@ -89,17 +88,24 @@
                              v-model="model.fireExtinguisherExpirationDate" placeholder="璇疯緭鍏ョ伃鐏櫒鏈夋晥鏈�"/>
                   </a-form-model-item>
                 </a-col>
-                <a-col :span="customSpan">
-                  <a-form-model-item label="鎿嶄綔绯荤粺">
-                    <j-dict-select-tag dict-code="yn " type="radio" v-model="model.operationSystem"/>
-                  </a-form-model-item>
-                </a-col>
+
               </a-row>
 
               <a-row>
                 <a-col :span="customSpan">
+                  <a-form-model-item label="鎿嶄綔绯荤粺">
+                    <j-dict-select-tag dict-code="yn " type="radio" v-model="model.operationSystem"
+                                       @change="handleRadioChange($event,'system')"/>
+                  </a-form-model-item>
+                </a-col>
+                <a-col :span="customSpan">
                   <a-form-model-item label="绯荤粺">
                     <a-input placeholder="璇疯緭鍏ョ郴缁�" :disabled="!Boolean(+model.operationSystem)" v-model="model.system"/>
+                  </a-form-model-item>
+                </a-col>
+                <a-col :span="customSpan">
+                  <a-form-model-item label="鐪熺┖鐑鐞嗙倝">
+                    <j-dict-select-tag dict-code="yn " type="radio" v-model="model.trueHeatTreatment"/>
                   </a-form-model-item>
                 </a-col>
                 <a-col :span="customSpan">
@@ -107,6 +113,9 @@
                     <a-input placeholder="璇疯緭鍏ヨ澶囩鍙�" v-model="model.equipmentPort"/>
                   </a-form-model-item>
                 </a-col>
+              </a-row>
+
+              <a-row>
                 <a-col :span="customSpan">
                   <a-form-model-item label="鍧愭爣鏁伴噺">
                     <a-input-number placeholder="璇疯緭鍏ュ潗鏍囨暟閲�" v-model="model.coordinateNum" :min="0" :max="12"
@@ -118,9 +127,6 @@
                     <a-input-number placeholder="璇疯緭鍏ラ噸閲�" v-model="model.equipmentWeight" :min="0" style="width: 100%"/>
                   </a-form-model-item>
                 </a-col>
-              </a-row>
-
-              <a-row>
                 <a-col :span="customSpan">
                   <a-form-model-item label="閲嶉噺璁¢噺鍗曚綅">
                     <a-input placeholder="璇疯緭鍏ラ噸閲忚閲忓崟浣�" v-model="model.weightUnit"/>
@@ -131,6 +137,10 @@
                     <a-input placeholder="璇疯緭鍏ュ姛鑳戒綅缃�" v-model="model.functionalLocation"/>
                   </a-form-model-item>
                 </a-col>
+
+              </a-row>
+
+              <a-row>
                 <a-col :span="customSpan">
                   <a-form-model-item label="瀹夎浣嶇疆">
                     <a-input placeholder="璇疯緭鍏ュ畨瑁呬綅缃�" v-model="model.installationPosition"/>
@@ -141,9 +151,6 @@
                     <a-date-picker v-model="model.leaveFactoryDate" value-format="YYYY-MM-DD" style="width:100%"/>
                   </a-form-model-item>
                 </a-col>
-              </a-row>
-
-              <a-row>
                 <a-col :span="customSpan">
                   <a-form-model-item label="绔嬮」鍗″彿">
                     <a-input placeholder="璇疯緭鍏ョ珛椤瑰崱鍙�" v-model="model.cardNumber"/>
@@ -154,6 +161,10 @@
                     <a-input placeholder="璇疯緭鍏ヨ祫閲戞潵婧�" v-model="model.fundingSource"/>
                   </a-form-model-item>
                 </a-col>
+
+              </a-row>
+
+              <a-row>
                 <a-col :span="customSpan">
                   <a-form-model-item label="楠屾敹鏃ユ湡">
                     <a-date-picker v-model="model.acceptanceCheckDate" value-format="YYYY-MM-DD" style="width:100%"/>
@@ -164,9 +175,6 @@
                     <a-input placeholder="璇疯緭鍏ュ嚭鍘傜紪鍙�" v-model="model.factoryNumber"/>
                   </a-form-model-item>
                 </a-col>
-              </a-row>
-
-              <a-row>
                 <a-col :span="customSpan">
                   <a-form-model-item label="璧勪骇鍒堕�犲晢">
                     <a-input placeholder="璇疯緭鍏ヨ祫浜у埗閫犲晢" v-model="model.manufacturingEnterprise"/>
@@ -177,19 +185,15 @@
                     <a-input placeholder="璇疯緭鍏ヨ祫浜ф潵婧愬浗瀹�" v-model="model.originCountry"/>
                   </a-form-model-item>
                 </a-col>
-                <a-col :span="customSpan">
-                  <a-form-model-item label="鍨嬪彿">
-                    <a-input placeholder="璇疯緭鍏ュ瀷鍙�" v-model="model.equipmentModel"/>
-                  </a-form-model-item>
-                </a-col>
+
+              </a-row>
+
+              <a-row>
                 <a-col :span="customSpan">
                   <a-form-model-item label="璁惧瑙勬牸">
                     <a-input placeholder="璇疯緭鍏ヨ澶囪鏍�" v-model="model.equipmentSpecification"/>
                   </a-form-model-item>
                 </a-col>
-              </a-row>
-
-              <a-row>
                 <a-col :span="customSpan">
                   <a-form-model-item label="鎬诲姛鐜�(KW)">
                     <a-input-number placeholder="璇疯緭鍏ユ�诲姛鐜�(KW)" v-model="model.equipmentPower" :min="0"
@@ -206,14 +210,15 @@
                     <a-date-picker v-model="model.warrantyEndDate" value-format="YYYY-MM-DD" style="width:100%"/>
                   </a-form-model-item>
                 </a-col>
+
+              </a-row>
+
+              <a-row>
                 <a-col :span="customSpan">
                   <a-form-model-item label="璧勪骇鐘舵��">
                     <j-dict-select-tag dict-code="asset_status" placeholder="璇烽�夋嫨璧勪骇鐘舵��" v-model="model.assetStatus"/>
                   </a-form-model-item>
                 </a-col>
-              </a-row>
-
-              <a-row>
                 <a-col :span="customSpan">
                   <a-form-model-item label="鏈涓変繚鏃ユ湡">
                     <a-date-picker v-model="model.latestThirdMaintenance" value-format="YYYY-MM-DD"
@@ -231,15 +236,22 @@
                                     style="width: 100%"/>
                   </a-form-model-item>
                 </a-col>
+
+              </a-row>
+
+              <a-row>
+                <a-col :span="customSpan">
+                  <a-form-model-item label="鎶�鏈姸鎬�">
+                    <j-dict-select-tag placeholder="璇烽�夋嫨鎶�鏈姸鎬�" dict-code="equipment_technology_status"
+                                       v-model="model.technologyStatus"/>
+                  </a-form-model-item>
+                </a-col>
                 <a-col :span="customSpan">
                   <a-form-model-item label="鏈鎶�鏈壌瀹氭棩鏈�">
                     <a-date-picker v-model="model.latestTechnologyCheck" value-format="YYYY-MM-DD"
                                    :disabled="!editable" style="width:100%"/>
                   </a-form-model-item>
                 </a-col>
-              </a-row>
-
-              <a-row>
                 <a-col :span="customSpan">
                   <a-form-model-item label="涓嬫鎶�鏈壌瀹氭棩鏈�">
                     <a-date-picker v-model="model.nextTechnologyCheck" value-format="YYYY-MM-DD" style="width:100%"/>
@@ -258,29 +270,46 @@
       </a-tab-pane>
 
       <template v-if="disableSubmit">
-        <a-tab-pane tab="璁惧鏂囨。" :key="2">
+        <a-tab-pane tab="鐐规宸ュ崟" :key="2" forceRender>
+          <a-button type="primary" @click="navigateToPage('/eam/maintenance/EamInspectionOrderList')" icon="right"
+                    style="margin-left: 24px">璺宠浆鑷冲搴旈〉闈�
+          </a-button>
+          <eam-inspection-order-list ref="tabPane2" :isDisplayOperation="false"/>
         </a-tab-pane>
 
-        <a-tab-pane tab="鐐规宸ュ崟" :key="3">
+        <a-tab-pane tab="浜屼繚宸ュ崟" :key="3" forceRender>
+          <a-button type="primary" @click="navigateToPage('/eam/maintenance/EamSecondMaintenanceOrderList')" icon="right"
+                    style="margin-left: 24px">璺宠浆鑷冲搴旈〉闈�
+          </a-button>
+          <eam-second-maintenance-order-list ref="tabPane3" :isDisplayOperation="false"/>
         </a-tab-pane>
 
-        <a-tab-pane tab="浜屼繚宸ュ崟" :key="4">
+        <a-tab-pane tab="涓変繚宸ュ崟" :key="4" forceRender>
+          <a-button type="primary" @click="navigateToPage('/eam/maintenance/EamThirdMaintenanceOrderList')" icon="right"
+                    style="margin-left: 24px">璺宠浆鑷冲搴旈〉闈�
+          </a-button>
+          <eam-third-maintenance-order-list ref="tabPane4" :isDisplayOperation="false"/>
         </a-tab-pane>
 
-        <a-tab-pane tab="涓変繚宸ュ崟" :key="5">
+        <a-tab-pane tab="缁翠慨宸ュ崟" :key="5" forceRender>
+          <a-button type="primary" @click="navigateToPage('/eam/repair/EamRepairOrderList')" icon="right"
+                    style="margin-left: 24px">璺宠浆鑷冲搴旈〉闈�
+          </a-button>
+          <eam-repair-order-list ref="tabPane5" :isDisplayOperation="false"/>
         </a-tab-pane>
 
-        <a-tab-pane tab="缁翠慨宸ュ崟" :key="6">
+        <a-tab-pane tab="淇濆吇瑙勮寖" :key="6" forceRender>
+          <a-button type="primary" @click="navigateToPage('/eam/base/EamMaintenanceStandardList')" icon="right"
+                    style="margin-left: 24px">璺宠浆鑷冲搴旈〉闈�
+          </a-button>
+          <eam-maintenance-standard-list ref="tabPane6" :isDisplayOperation="false"/>
         </a-tab-pane>
 
-        <a-tab-pane tab="淇濆吇鏍囧噯" :key="7">
-        </a-tab-pane>
-
-        <a-tab-pane tab="宸ヨ壓鍙傛暟" :key="8">
-        </a-tab-pane>
-
-        <a-tab-pane tab="璁惧绮惧害" :key="9">
-
+        <a-tab-pane tab="鎶�鏈姸鎬侀壌瀹氬伐鍗�" :key="7" forceRender>
+          <a-button type="primary" @click="navigateToPage('/eam/technical/order')" icon="right"
+                    style="margin-left: 24px">璺宠浆鑷冲搴旈〉闈�
+          </a-button>
+          <eam-technical-status-evaluation-order-list ref="tabPane7" :isDisplayOperation="false"/>
         </a-tab-pane>
       </template>
     </a-tabs>
@@ -290,9 +319,23 @@
 <script>
   import { getAction, httpAction } from '@/api/manage'
   import { validateDuplicateValueInDelFlag } from '@/utils/util'
+  import EamInspectionOrderList from '../../maintenance/EamInspectionOrderList'
+  import EamSecondMaintenanceOrderList from '../../maintenance/EamSecondMaintenanceOrderList'
+  import EamThirdMaintenanceOrderList from '../../maintenance/EamThirdMaintenanceOrderList'
+  import EamRepairOrderList from '../../repair/EamRepairOrderList'
+  import EamMaintenanceStandardList from '../../base/EamMaintenanceStandardList'
+  import EamTechnicalStatusEvaluationOrderList from '../../technical/EamTechnicalStatusEvaluationOrderList'
 
   export default {
     name: 'EamEquipmentModal',
+    components: {
+      EamTechnicalStatusEvaluationOrderList,
+      EamMaintenanceStandardList,
+      EamRepairOrderList,
+      EamThirdMaintenanceOrderList,
+      EamSecondMaintenanceOrderList,
+      EamInspectionOrderList
+    },
     props: {
       productionTreeData: {
         type: Array
@@ -358,7 +401,8 @@
         //鍒濆鍖栭粯璁ゅ��
         this.model = {
           operationSystem: 1,
-          fireExtinguisher: 0
+          fireExtinguisher: 0,
+          trueHeatTreatment: 0
         }
         this.visible = true
       },
@@ -367,6 +411,26 @@
         this.editable = false
         this.model = Object.assign({}, record)
         this.visible = true
+      },
+
+      /**\
+       * 鍗曢�夋鍊煎彂鐢熸敼鍙樻椂瑙﹀彂
+       * @param value 鍗曢�夋鍊�
+       * @param key 鍗曢�夋鍏宠仈瀛楁
+       */
+      handleRadioChange(value, key) {
+        if (value === '0') delete this.model[key]
+      },
+
+      /**
+       * 鏍囩鏍忓彂鐢熸敼鍙樻椂瑙﹀彂
+       * @param tabKey 鍒囨崲鍚庣殑tabKey
+       */
+      handleTabChange(tabKey) {
+        if (tabKey !== 1 && this.$refs['tabPane' + tabKey]) {
+          this.$refs['tabPane' + tabKey].queryParam.equipmentId = this.model.id
+          this.$refs['tabPane' + tabKey].loadData(1)
+        }
       },
 
       handleOk() {
@@ -409,6 +473,10 @@
         })
       },
 
+      navigateToPage(href) {
+        this.$router.push(href)
+      },
+
       handleCancel() {
         this.close()
       },

--
Gitblit v1.9.3