From d5dff36d38fc7a211b34916796bbc37f17e7a2d0 Mon Sep 17 00:00:00 2001
From: 朱桂飞 <zhuguifei@zhuguifeideMacBook-Air.local>
Date: 星期三, 15 一月 2025 16:33:15 +0800
Subject: [PATCH] 完成设备管理部分功能

---
 eims-ui/apps/web-antd/src/views/eims/equ/index.vue |   65 +++++++++++++++++---------------
 1 files changed, 35 insertions(+), 30 deletions(-)

diff --git a/eims-ui/apps/web-antd/src/views/eims/equ/index.vue b/eims-ui/apps/web-antd/src/views/eims/equ/index.vue
index 5a5a5ea..71f4108 100644
--- a/eims-ui/apps/web-antd/src/views/eims/equ/index.vue
+++ b/eims-ui/apps/web-antd/src/views/eims/equ/index.vue
@@ -7,9 +7,9 @@
 import { Page, useVbenDrawer, type VbenFormProps } from '@vben/common-ui';
 import { getVxePopupContainer } from '@vben/utils';
 
-import { Dropdown, Menu, MenuItem, Modal, Popconfirm, Space } from 'ant-design-vue';
+import { Modal, Popconfirm, Space } from 'ant-design-vue';
 
-import { useVbenVxeGrid, vxeCheckboxChecked, type VxeGridProps } from '#/adapter/vxe-table';
+import { useVbenVxeGrid, vxeCheckboxChecked, type VxeGridProps, vxeSortEvent } from '#/adapter/vxe-table';
 import { delEqu, equExport, listEqu } from '#/api/eims/equ';
 import { commonDownloadExcel } from '#/utils/file/download';
 
@@ -76,19 +76,26 @@
     isHover: true,
     keyField: 'equId'
   },
+  sortConfig: {
+    // 杩滅▼鎺掑簭
+    remote: true,
+    // 鏀寔澶氬瓧娈垫帓搴� 榛樿鍏抽棴
+    multiple: true,
+  },
   id: 'eims-equ-index'
 };
 
 const [BasicTable, tableApi] = useVbenVxeGrid({
   formOptions,
-  gridOptions
+  gridOptions,
+  gridEvents: {
+    sortChange: (sortParams) => vxeSortEvent(tableApi, sortParams),
+  },
 });
 
 const [EquDrawer, equDrawerApi] = useVbenDrawer({
   connectedComponent: equDrawer
 });
-
-
 
 function handleAdd() {
   equDrawerApi.setData({});
@@ -125,7 +132,15 @@
   });
 }
 
+function getImportStatus(row: any) {
+  const importStatus = row.importStatus === null || row.importStatus;
+  return importStatus ? '鏈鍏�' : '宸插鍏�';
+}
 
+function getInventoryFlag(row: any) {
+  const inventoryFlag = row.inventoryFlag === null || row.inventoryFlag;
+  return inventoryFlag ? '鏈洏鐐�' : '宸茬洏鐐�';
+}
 
 const router = useRouter();
 function handleDetail(record: Recordable<any>) {
@@ -136,25 +151,14 @@
 <template>
   <Page :auto-content-height="true">
     <div class="flex h-full gap-[8px]">
-      <EquTypeTree
-        v-model:select-dept-id="selectDeptId"
-        class="w-[260px]"
-        @reload="() => tableApi.reload()"
-        @select="() => tableApi.reload()"
-      />
+      <EquTypeTree v-model:select-dept-id="selectDeptId" class="w-[260px]" @reload="() => tableApi.reload()" @select="() => tableApi.reload()" />
       <BasicTable class="flex-1 overflow-hidden" table-title="璁惧鍒楄〃">
         <template #toolbar-tools>
           <Space>
             <a-button v-access:code="['eims:equ:export']" @click="handleDownloadExcel">
               {{ $t('pages.common.export') }}
             </a-button>
-            <a-button
-              :disabled="!vxeCheckboxChecked(tableApi)"
-              danger
-              type="primary"
-              v-access:code="['eims:equ:remove']"
-              @click="handleMultiDelete"
-            >
+            <a-button :disabled="!vxeCheckboxChecked(tableApi)" danger type="primary" v-access:code="['eims:equ:remove']" @click="handleMultiDelete">
               {{ $t('pages.common.delete') }}
             </a-button>
             <a-button type="primary" v-access:code="['eims:equ:add']" @click="handleAdd">
@@ -171,25 +175,26 @@
 
         <template #action="{ row }">
           <Space>
-            <ghost-button v-access:code="['system:role:edit']" @click.stop="handleEdit(row)">
+            <ghost-button v-access:code="['eims:equ:edit']" @click.stop="handleEdit(row)">
               {{ $t('pages.common.edit') }}
             </ghost-button>
+            <ghost-button v-if="row.menuType !== 'F'" class="btn-success" v-access:code="['eims:equ:list']" @click="handleDetail(row)">
+              {{ $t('pages.common.info') }}
+            </ghost-button>
             <Popconfirm :get-popup-container="getVxePopupContainer" placement="left" title="纭鍒犻櫎锛�" @confirm="handleDelete(row)">
-              <ghost-button danger v-access:code="['system:role:remove']" @click.stop="">
+              <ghost-button danger v-access:code="['eims:equ:remove']" @click.stop="">
                 {{ $t('pages.common.delete') }}
               </ghost-button>
             </Popconfirm>
           </Space>
-          <Dropdown :get-popup-container="getVxePopupContainer" placement="bottomRight">
-            <template #overlay>
-              <Menu>
-                <MenuItem key="1" @click="handleDetail(row)"> 璇︽儏 </MenuItem>
-              </Menu>
-            </template>
-            <a-button size="small" type="link">
-              {{ $t('pages.common.more') }}
-            </a-button>
-          </Dropdown>
+        </template>
+
+        <template #importStatus="{ row }">
+          <span>{{ getImportStatus(row) }}</span>
+        </template>
+
+        <template #inventoryFlag="{ row }">
+          <span>{{ getInventoryFlag(row) }}</span>
         </template>
       </BasicTable>
     </div>

--
Gitblit v1.9.3