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 |   45 ++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 40 insertions(+), 5 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 a5ead90..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
@@ -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';
 
@@ -90,10 +91,17 @@
     ]);
     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);
@@ -121,7 +129,6 @@
       ]);
     }
 
-
     drawerApi.drawerLoading(false);
   }
 });
@@ -132,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();
 }
 
 /**
@@ -256,7 +274,14 @@
  * 鎵撳紑鏌ヨ璁惧
  */
 function onSearchEqu() {
-  handleOpenModal();
+  handleEquModal();
+}
+
+/**
+ * 鎵撳紑鏌ヨ宸ュ叿
+ */
+function onSearchFixture() {
+  handleFixtureModal();
 }
 
 /**
@@ -265,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>
 
@@ -275,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