From ec4d16c8a630960a4671a60f4d1957fd3de9def3 Mon Sep 17 00:00:00 2001 From: zhuguifei <zhuguifei@zhuguifeideiMac.local> Date: 星期四, 27 二月 2025 16:53:59 +0800 Subject: [PATCH] 完成维修工单查看维修记录子表 --- eims-ui/apps/web-antd/src/views/eims/repair-req/index.vue | 34 ++++++++++++++++++++++++++++++---- 1 files changed, 30 insertions(+), 4 deletions(-) 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 fae59d3..3dff59f 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 @@ -8,23 +8,23 @@ import { useUserStore } from '@vben/stores'; import { addFullName, getPopupContainer, getVxePopupContainer } from '@vben/utils'; -import { Modal, Popconfirm, Space } from 'ant-design-vue'; +import { message, Modal, Popconfirm, Space } from 'ant-design-vue'; import { useVbenVxeGrid, vxeCheckboxChecked, type VxeGridProps, vxeSortEvent } from '#/adapter/vxe-table'; import { delRepairReq, listRepairReq, repairReqExport } from '#/api/eims/repair-req'; import { getDeptTree, userList } from '#/api/system/user'; +import { REPAIR_REQ_STATUS } from '#/constants/dict'; import { commonDownloadExcel } from '#/utils/file/download'; import { columns, querySchema } from './data'; import repairReqDrawer from './repair-req-drawer.vue'; - +import sendWorkDrawer from './send-work-drawer.vue'; interface Props { filterFlag?: boolean; status?: string; } const props = withDefaults(defineProps<Props>(), { filterFlag: false, status: undefined }); - const userStore = useUserStore(); const userId = userStore.userInfo?.userId; @@ -33,7 +33,6 @@ defineExpose({ tableSelect }); - const formOptions: VbenFormProps = { commonConfig: { @@ -107,6 +106,26 @@ connectedComponent: repairReqDrawer }); +const [SendWorkDrawer, drawerApi] = useVbenDrawer({ + connectedComponent: sendWorkDrawer, + title: '娲惧伐' +}); + +function openSendWork() { + const rows = tableApi.grid.getCheckboxRecords(); + const ids = rows.map((row: any) => row.id).join(','); + const filterData = rows.filter((item) => item.status === REPAIR_REQ_STATUS.WEIXIU || item.status === REPAIR_REQ_STATUS.WANCHENG); + if (rows.length === 0) { + message.warn('璇烽�夋嫨鎶ヤ慨鍗曞悗娲惧伐锛�'); + return; + } else if (filterData.length > 0) { + message.warn('璇烽�夋嫨鏈帴鍗曟姤淇崟鍚庢淳宸ワ紒'); + return; + } + drawerApi.setData({ batchReqIds: ids }); + drawerApi.open(); +} + function handleAdd() { repairReqDrawerApi.setData({ reqUser: userId, reqDept: deptId }); repairReqDrawerApi.open(); @@ -141,6 +160,11 @@ fieldMappingTime: formOptions.fieldMappingTime }); } + +/** + * 娲惧伐 + */ +function handleSendWork() {} onMounted(async () => { await setupDeptSelect(); @@ -224,6 +248,7 @@ <BasicTable class="flex-1 overflow-hidden" table-title="鏁呴殰鎶ヤ慨鍒楄〃"> <template #toolbar-tools> <Space> + <a-button v-access:code="['eims:repairReq:send']" @click="openSendWork"> 娲惧伐 </a-button> <a-button v-access:code="['eims:repairReq:export']" @click="handleDownloadExcel"> {{ $t('pages.common.export') }} </a-button> @@ -257,5 +282,6 @@ </BasicTable> </div> <RepairReqDrawer @reload="tableApi.query()" /> + <SendWorkDrawer @reload="tableApi.query()" /> </Page> </template> -- Gitblit v1.9.3