From c3c585edd4d3cf269a307ba48ac2abb11bf0b640 Mon Sep 17 00:00:00 2001
From: zhuguifei <zhuguifei@zhuguifeideiMac.local>
Date: 星期二, 25 二月 2025 14:13:06 +0800
Subject: [PATCH] 故障报修添加工具类型选择,初步完成故障报修模块

---
 eims-ui/apps/web-antd/src/views/eims/repair-req/repair-req-drawer.vue |   69 +++++++++++++++++++++++++++++++---
 1 files changed, 63 insertions(+), 6 deletions(-)

diff --git a/eims-ui/apps/web-antd/src/views/eims/repair-req/repair-req-drawer.vue b/eims-ui/apps/web-antd/src/views/eims/repair-req/repair-req-drawer.vue
index 314c0c8..5314997 100644
--- a/eims-ui/apps/web-antd/src/views/eims/repair-req/repair-req-drawer.vue
+++ b/eims-ui/apps/web-antd/src/views/eims/repair-req/repair-req-drawer.vue
@@ -1,5 +1,5 @@
 <script setup lang="ts">
-import { computed, onMounted, ref } from 'vue';
+import { computed, ref } from 'vue';
 
 import { useVbenDrawer, useVbenModal } from '@vben/common-ui';
 import { DictEnum } from '@vben/constants';
@@ -15,6 +15,7 @@
 import { getDictOptions } from '#/utils/dict';
 import CodeInput from '#/views/eims/components/code-input.vue';
 import equModal from '#/views/eims/components/equ-modal.vue';
+import fixtureModal from '#/views/eims/components/fixture-modal.vue';
 
 import { drawerSchema } from './data';
 
@@ -60,6 +61,13 @@
                   triggerFields: ['']
                 },
                 fieldName: 'equName'
+              },
+              {
+                dependencies: {
+                  show: () => reqType === '2',
+                  triggerFields: ['']
+                },
+                fieldName: 'fixtureName'
               }
             ]);
           }
@@ -72,14 +80,28 @@
           triggerFields: ['']
         },
         fieldName: 'equName'
+      },
+      {
+        dependencies: {
+          show: () => false,
+          triggerFields: ['']
+        },
+        fieldName: 'fixtureName'
       }
     ]);
     drawerApi.drawerLoading(true);
     const { id } = drawerApi.getData() as { id?: number | string };
+    const { reqUser } = drawerApi.getData() as { reqUser?: number | string };
+    const { reqDept } = drawerApi.getData() as { reqDept?: number | string };
     isUpdate.value = !!id;
     // 鍒濆鍖�
     await setupDeptSelect();
     await setupEquTypeSelect();
+    // 鏂板鏃堕粯璁ゅ~鍏呯櫥褰曚汉涓烘姤淇汉
+    if (!isUpdate.value && reqUser !== null && reqDept !== null) {
+      await formApi.setValues({ 'reqUser': reqUser, 'reqDept': reqDept });
+      await setupUserOptions(reqDept);
+    }
     // 鏇存柊 && 璧嬪��
     if (isUpdate.value && id) {
       const record = await getRepairReq(id);
@@ -96,10 +118,16 @@
             triggerFields: ['']
           },
           fieldName: 'equName'
+        },
+        {
+          dependencies: {
+            show: () => reqType === '2',
+            triggerFields: ['']
+          },
+          fieldName: 'fixtureName'
         }
       ]);
     }
-
 
     drawerApi.drawerLoading(false);
   }
@@ -111,9 +139,20 @@
   title: '閫夋嫨璁惧'
 });
 
-function handleOpenModal() {
+const [FixtureModal, fixtureModalApi] = useVbenModal({
+  connectedComponent: fixtureModal,
+  draggable: true,
+  title: '閫夋嫨宸ュ叿'
+});
+
+function handleEquModal() {
   equModalApi.setData({});
   equModalApi.open();
+}
+
+function handleFixtureModal() {
+  fixtureModalApi.setData({});
+  fixtureModalApi.open();
 }
 
 /**
@@ -215,6 +254,7 @@
       return;
     }
     const data = cloneDeep(await formApi.getValues());
+    // todo 鍒犻櫎澶氫綑瀛楁  Reflect.deleteProperty(formValues, 'equId');
     await (isUpdate.value ? updateRepairReq(data) : addRepairReq(data));
     emit('reload');
     await handleCancel();
@@ -234,7 +274,14 @@
  * 鎵撳紑鏌ヨ璁惧
  */
 function onSearchEqu() {
-  handleOpenModal();
+  handleEquModal();
+}
+
+/**
+ * 鎵撳紑鏌ヨ宸ュ叿
+ */
+function onSearchFixture() {
+  handleFixtureModal();
 }
 
 /**
@@ -243,6 +290,13 @@
  */
 async function updateEqu(equ: any) {
   await formApi.setValues({ 'equId': equ.equId, 'equName': equ.equName });
+}
+/**
+ * 鏇存柊閫夋嫨鐨勫伐鍏�
+ * @param fixture
+ */
+async function updateFixture(fixture: any) {
+  await formApi.setValues({ 'fixtureId': fixture.id, 'fixtureName': fixture.fixtureName });
 }
 </script>
 
@@ -253,10 +307,13 @@
         <CodeInput v-bind="slotProps" :disabled="isUpdate" prefix="BXD" />
       </template>
       <template #equName="slotProps">
-        <InputSearch :enter-button="true" placeholder="璇烽�夋嫨璁惧" @search="onSearchEqu" v-bind="slotProps"
-                     :disabled="isUpdate" />
+        <InputSearch :enter-button="true" placeholder="璇烽�夋嫨璁惧" @search="onSearchEqu" v-bind="slotProps" :disabled="isUpdate" />
+      </template>
+      <template #fixtureName="slotProps">
+        <InputSearch :enter-button="true" placeholder="璇烽�夋嫨宸ュ叿" @search="onSearchFixture" v-bind="slotProps" :disabled="isUpdate" />
       </template>
     </BasicForm>
     <EquModal class="w-[1200px]" @update-equ="updateEqu" />
+    <FixtureModal class="w-[1200px]" @update-select="updateFixture" />
   </BasicDrawer>
 </template>

--
Gitblit v1.9.3