From fc76b6c4a7ccd2d875b0fb998a868fe4bea188f7 Mon Sep 17 00:00:00 2001 From: 朱桂飞 <zhuguifei@zhuguifeideMacBook-Air.local> Date: 星期五, 14 二月 2025 09:19:18 +0800 Subject: [PATCH] 新增设备台账导入 --- eims-ui/apps/web-antd/src/views/eims/equ/equ-drawer.vue | 66 +++++++++++++++++++++++++++------ 1 files changed, 54 insertions(+), 12 deletions(-) diff --git a/eims-ui/apps/web-antd/src/views/eims/equ/equ-drawer.vue b/eims-ui/apps/web-antd/src/views/eims/equ/equ-drawer.vue index eafef4a..8533537 100644 --- a/eims-ui/apps/web-antd/src/views/eims/equ/equ-drawer.vue +++ b/eims-ui/apps/web-antd/src/views/eims/equ/equ-drawer.vue @@ -1,14 +1,17 @@ <script setup lang="ts"> import { computed, ref } from 'vue'; -import { useVbenDrawer } from '@vben/common-ui'; +import { useVbenDrawer, useVbenModal } from '@vben/common-ui'; import { $t } from '@vben/locales'; import { addFullName, cloneDeep, getPopupContainer, listToTree } from '@vben/utils'; + +import { InputSearch } from 'ant-design-vue'; import { useVbenForm } from '#/adapter/form'; import { addEqu, getEqu, updateEqu } from '#/api/eims/equ'; import { getEquType, listEquType } from '#/api/eims/equ-type'; import { getDeptTree, userList } from '#/api/system/user'; +import userModal from '#/views/eims/components/user-modal.vue'; import { drawerSchema } from './data'; @@ -51,10 +54,9 @@ if (isUpdate.value && id) { const record = await getEqu(id); await formApi.setValues(record); - if(isUpdate.value && record.deptUsed){ - await setupUserOptions(record.deptUsed) + if (isUpdate.value && record.deptUsed) { + await setupUserOptions(record.deptUsed); } - } // 鍔犺浇璁惧绫诲瀷鏍戦�夋嫨 @@ -70,6 +72,38 @@ } }); +// user modal +const [UserModal, userModalApi] = useVbenModal({ + connectedComponent: userModal, + draggable: true, + title: '閫夋嫨鎴愬憳' +}); + +function handleOpenModal() { + userModalApi.setData({}); + userModalApi.open(); +} + +/** + * 鎵撳紑閫夋嫨鎴愬憳 + */ +const column = ref<string>(); +function onOpenSelectUser(type: any) { + column.value = type; + handleOpenModal(); +} + +/** + * 鏇存柊閫夋嫨鐨勬垚鍛� + * @param user + */ +async function selectUser(user: any) { + if (column.value === 'purchaseUser') { + await formApi.setValues({ 'purchaseUser': user.userId, 'purchaseUserName': user.nickName }); + } else if (column.value === 'handleUserName') { + await formApi.setValues({ 'handleUser': user.userId, 'handleUserName': user.nickName }); + } +} async function setupEquTypeSelect() { // status-0 鍙煡璇㈡湭鍋滅敤璁惧 @@ -83,8 +117,8 @@ { equTypeId: 0, typeName: $t('menu.root'), - children: equTree, - }, + children: equTree + } ]; addFullName(fullEquTree, 'typeName', ' / '); formApi.updateSchema([ @@ -92,7 +126,7 @@ componentProps: { fieldNames: { label: 'typeName', - value: 'equTypeId', + value: 'equTypeId' }, getPopupContainer, // 璁剧疆寮圭獥婊氬姩楂樺害 榛樿256 @@ -106,10 +140,10 @@ treeLine: { showLeafIcon: false }, // 绛涢�夌殑瀛楁 treeNodeFilterProp: 'typeName', - treeNodeLabelProp: 'fullName', + treeNodeLabelProp: 'fullName' }, - fieldName: 'equTypeId', - }, + fieldName: 'equTypeId' + } ]); } @@ -135,7 +169,7 @@ const placeholder = options.length > 0 ? '璇烽�夋嫨' : '璇ラ儴闂ㄤ笅鏆傛棤鐢ㄦ埛'; formApi.updateSchema([ { - componentProps: { options, placeholder ,filterOption }, + componentProps: { options, placeholder, filterOption }, fieldName: 'respPerson' } ]); @@ -206,6 +240,14 @@ <template> <BasicDrawer :close-on-click-modal="false" :title="title" class="w-[600px]"> - <BasicForm /> + <BasicForm> + <template #purchaseUserName="slotProps"> + <InputSearch :enter-button="true" placeholder="璇烽�夋嫨" @search="onOpenSelectUser('purchaseUser')" v-bind="slotProps" /> + </template> + <template #handleUserName="slotProps"> + <InputSearch :enter-button="true" placeholder="璇烽�夋嫨" @search="onOpenSelectUser('handleUserName')" v-bind="slotProps" /> + </template> + </BasicForm> + <UserModal class="w-[1200px]" @select-user="selectUser" /> </BasicDrawer> </template> -- Gitblit v1.9.3