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