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