From d85cb9da90d1dd24f6ecfa187aa8c4198394c29a Mon Sep 17 00:00:00 2001
From: zhuguifei <zhuguifei@zhuguifeideiMac.local>
Date: 星期三, 26 二月 2025 15:41:05 +0800
Subject: [PATCH] 开发维修工单

---
 eims-ui/apps/web-antd/src/views/eims/repair-req/index.vue |   41 +++++++++++++++++++++++++++++++++++------
 1 files changed, 35 insertions(+), 6 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 d248376..fae59d3 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
@@ -5,6 +5,7 @@
 
 import { Page, useVbenDrawer, type VbenFormProps } from '@vben/common-ui';
 import { $t } from '@vben/locales';
+import { useUserStore } from '@vben/stores';
 import { addFullName, getPopupContainer, getVxePopupContainer } from '@vben/utils';
 
 import { Modal, Popconfirm, Space } from 'ant-design-vue';
@@ -13,10 +14,26 @@
 import { delRepairReq, listRepairReq, repairReqExport } from '#/api/eims/repair-req';
 import { getDeptTree, userList } from '#/api/system/user';
 import { commonDownloadExcel } from '#/utils/file/download';
-import { useRoleBaseFilters } from '#/views/eims/repair-req/use-role-base-filters';
 
 import { columns, querySchema } from './data';
 import repairReqDrawer from './repair-req-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;
+const deptId = userStore.userInfo?.deptId;
+
+defineExpose({
+  tableSelect
+});
+
 
 const formOptions: VbenFormProps = {
   commonConfig: {
@@ -41,18 +58,26 @@
     // 鐐瑰嚮琛岄�変腑
     // trigger: 'row'
   },
-  columns,
+  columns: columns?.filter((item) => (props.filterFlag ? item.field !== 'action' : item.field !== '-1')),
   height: 'auto',
   keepSource: true,
   pagerConfig: {},
+  toolbarConfig: {
+    enabled: !props.filterFlag
+  },
   proxyConfig: {
     ajax: {
       query: async ({ page }, formValues = {}) => {
+        // 濡傛灉浼犲叆浜唀quId鍒欏彧鏌ヨ褰撳墠id鏁版嵁
+        if (props.filterFlag && props.status) {
+          const params = { status: props.status };
+          Object.assign(formValues, params);
+        }
         return await listRepairReq({
           pageNum: page.currentPage,
           pageSize: page.pageSize,
-          ...formValues,
-          ...useRoleBaseFilters()
+          ...formValues
+          // ...useRoleBaseFilters()
         });
       }
     }
@@ -83,7 +108,7 @@
 });
 
 function handleAdd() {
-  repairReqDrawerApi.setData({});
+  repairReqDrawerApi.setData({ reqUser: userId, reqDept: deptId });
   repairReqDrawerApi.open();
 }
 
@@ -187,12 +212,16 @@
     }
   ]);
 }
+// 閫変腑鏁版嵁
+function tableSelect() {
+  return tableApi.grid.getCheckboxRecords();
+}
 </script>
 
 <template>
   <Page :auto-content-height="true">
     <div class="flex h-full gap-[8px]">
-      <BasicTable class="flex-1 overflow-hidden" table-title="璁惧鐩樼偣鍒楄〃">
+      <BasicTable class="flex-1 overflow-hidden" table-title="鏁呴殰鎶ヤ慨鍒楄〃">
         <template #toolbar-tools>
           <Space>
             <a-button v-access:code="['eims:repairReq:export']" @click="handleDownloadExcel">

--
Gitblit v1.9.3