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/data.tsx | 27 +++++++++++-- eims-ui/apps/web-antd/src/views/eims/repair-req/index.vue | 7 +++ eims-ui/apps/web-antd/src/constants/dict/index.ts | 19 ++++++--- eims-ui/packages/@core/base/typings/src/basic.d.ts | 5 ++ eims-ui/apps/web-antd/src/views/eims/repair-req/repair-req-drawer.vue | 45 ++++++++++++++++++++-- eims-ui/apps/web-antd/src/views/eims/equ-statu/data.tsx | 2 eims-ui/apps/web-antd/src/store/auth.ts | 3 + eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsRepairReqServiceImpl.java | 1 8 files changed, 90 insertions(+), 19 deletions(-) diff --git a/eims-ui/apps/web-antd/src/constants/dict/index.ts b/eims-ui/apps/web-antd/src/constants/dict/index.ts index 47501d8..e43f742 100644 --- a/eims-ui/apps/web-antd/src/constants/dict/index.ts +++ b/eims-ui/apps/web-antd/src/constants/dict/index.ts @@ -2,16 +2,23 @@ * 鎿嶄綔绫诲瀷 */ export enum SYS_OPER_TYPE { - ADD = '1', - EDIT = '2' + ADD = '1', // 鏂板 + EDIT = '2' // 缂栬緫 } - /** * 宸ュ叿鍊熺敤璁板綍琛ㄤ腑鍊熺敤璁板綍鐘舵�� */ -export enum FIXTURE_BORROW_RECORD_STATUS{ - BORROW = '0', - RERURN = '1' +export enum FIXTURE_BORROW_RECORD_STATUS { + BORROW = '0', // 鍊熷嚭 + RERURN = '1' // 褰掕繕 +} +/** + * 鎶ヤ慨绫诲瀷 + */ +export enum REPAIR_REQ_TYPE { + EQU = '1', // 璁惧鏁呴殰 + FIXTURE = '2', // 宸ュ叿鏁呴殰 + OTHER = '3' // 鍏朵粬鏁呴殰 } diff --git a/eims-ui/apps/web-antd/src/store/auth.ts b/eims-ui/apps/web-antd/src/store/auth.ts index 7f678e5..b3aa537 100644 --- a/eims-ui/apps/web-antd/src/store/auth.ts +++ b/eims-ui/apps/web-antd/src/store/auth.ts @@ -114,7 +114,8 @@ realName: user.nickName, roles, userId: user.userId, - username: user.userName, + deptId: user.deptId, + username: user.userName }; userStore.setUserInfo(userInfo); /** diff --git a/eims-ui/apps/web-antd/src/views/eims/equ-statu/data.tsx b/eims-ui/apps/web-antd/src/views/eims/equ-statu/data.tsx index 8bb9259..d858d78 100644 --- a/eims-ui/apps/web-antd/src/views/eims/equ-statu/data.tsx +++ b/eims-ui/apps/web-antd/src/views/eims/equ-statu/data.tsx @@ -116,7 +116,7 @@ { component: 'DatePicker', componentProps: { - format: 'YYYY-MM-DD', + format: 'YYYY-MM-DD HH:mm:ss', showTime: false, valueFormat: 'YYYY-MM-DD HH:mm:ss', getPopupContainer diff --git a/eims-ui/apps/web-antd/src/views/eims/repair-req/data.tsx b/eims-ui/apps/web-antd/src/views/eims/repair-req/data.tsx index 329226a..fd16d8a 100644 --- a/eims-ui/apps/web-antd/src/views/eims/repair-req/data.tsx +++ b/eims-ui/apps/web-antd/src/views/eims/repair-req/data.tsx @@ -3,9 +3,14 @@ import { DictEnum } from '@vben/constants'; import { getPopupContainer } from '@vben/utils'; +import dayjs from 'dayjs'; + import { type FormSchemaGetter } from '#/adapter/form'; +import { REPAIR_REQ_TYPE } from '#/constants/dict'; import { getDictOptions } from '#/utils/dict'; import { renderDict } from '#/utils/render'; + +const curDateTime = dayjs().format('YYYY-MM-DD HH:mm:ss'); export const querySchema: FormSchemaGetter = () => [ { @@ -27,7 +32,7 @@ // 鍦╠rawer閲屾洿鏂� 杩欓噷涓嶉渶瑕侀粯璁ょ殑componentProps defaultValue: undefined, fieldName: 'reqDept', - label: '鎶ヤ慨閮ㄩ棬', + label: '鎶ヤ慨閮ㄩ棬' // rules: 'selectRequired', }, { @@ -108,10 +113,20 @@ minWidth: 200 }, { - title: '璁惧鍚嶇О', - field: 'equName', + title: '璁惧(宸ュ叿)鍚嶇О', sortable: true, - minWidth: 120 + minWidth: 150, + slots: { + default: ({ row }) => { + if (row.reqType === REPAIR_REQ_TYPE.EQU) { + return row.equName; + } else if (row.reqType === REPAIR_REQ_TYPE.FIXTURE) { + return row.fixtureName; + } else { + return ''; + } + } + } }, { title: '鏁呴殰绫诲埆', @@ -159,7 +174,7 @@ { component: 'Select', componentProps: { - getPopupContainer, + getPopupContainer }, fieldName: 'reqType', label: '鎶ヤ慨绫诲瀷', @@ -213,6 +228,7 @@ options: getDictOptions(DictEnum.REPAIR_REQ_STATUS) }, fieldName: 'status', + defaultValue: '0', label: '澶勭悊鐘舵��' }, { @@ -223,6 +239,7 @@ valueFormat: 'YYYY-MM-DD HH:mm:ss', getPopupContainer }, + defaultValue: curDateTime, fieldName: 'reqTime', label: '鎶ヤ慨鏃堕棿' }, diff --git a/eims-ui/apps/web-antd/src/views/eims/repair-req/index.vue b/eims-ui/apps/web-antd/src/views/eims/repair-req/index.vue index 52487f2..92d996d 100644 --- a/eims-ui/apps/web-antd/src/views/eims/repair-req/index.vue +++ b/eims-ui/apps/web-antd/src/views/eims/repair-req/index.vue @@ -16,6 +16,11 @@ import { columns, querySchema } from './data'; import repairReqDrawer from './repair-req-drawer.vue'; +import { useUserStore } from '@vben/stores'; + +const userStore = useUserStore(); +const userId = userStore.userInfo?.userId; +const deptId = userStore.userInfo?.deptId; const formOptions: VbenFormProps = { commonConfig: { @@ -82,7 +87,7 @@ }); function handleAdd() { - repairReqDrawerApi.setData({}); + repairReqDrawerApi.setData({ reqUser: userId, reqDept: deptId }); repairReqDrawerApi.open(); } 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> diff --git a/eims-ui/packages/@core/base/typings/src/basic.d.ts b/eims-ui/packages/@core/base/typings/src/basic.d.ts index bbe1eb0..56c3a7a 100644 --- a/eims-ui/packages/@core/base/typings/src/basic.d.ts +++ b/eims-ui/packages/@core/base/typings/src/basic.d.ts @@ -13,6 +13,10 @@ */ avatar: string; /** + * 閮ㄩ棬id + */ + deptId: number; + /** * 鐢ㄦ埛鏉冮檺 */ permissions: string[]; @@ -28,6 +32,7 @@ * 鐢ㄦ埛id */ userId: number | string; + /** * 鐢ㄦ埛鍚� */ diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsRepairReqServiceImpl.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsRepairReqServiceImpl.java index b191443..55d1561 100644 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsRepairReqServiceImpl.java +++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsRepairReqServiceImpl.java @@ -94,6 +94,7 @@ qw.eq(bo.getCreateBy()!=null, "a.create_by", bo.getCreateBy()); qw.eq(StringUtils.isNotEmpty(bo.getStatus()), "a.status", bo.getStatus()); + qw.orderByDesc("a.create_time"); /** * 鏌ヨ閮ㄩ棬涓嬫墍鏈夊瓙閮ㄩ棬 -- Gitblit v1.9.3