From 3baaad59171ded6aca17340fcc907acbeeb45b7b Mon Sep 17 00:00:00 2001
From: zhuguifei <zhuguifei@zhuguifeideiMac.local>
Date: 星期二, 08 四月 2025 08:14:43 +0800
Subject: [PATCH] Merge branch 'main' of http://lanpucloud.cn:1111/r/eims-master
---
eims-ui/apps/web-antd/src/views/eims/equ/index.vue | 73 +++++++++++++++++++++---------------
1 files changed, 43 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..febbba8 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
@@ -4,21 +4,27 @@
import { ref } from 'vue';
import { useRouter } from 'vue-router';
-import { Page, useVbenDrawer, type VbenFormProps } from '@vben/common-ui';
+import { Page, useVbenDrawer, useVbenModal, type VbenFormProps } from '@vben/common-ui';
+import { $t } from '@vben/locales';
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';
import { columns, querySchema } from './data';
import equDrawer from './equ-drawer.vue';
+import equImportModal from './equ-import-modal.vue';
import EquTypeTree from './equ-type-tree.vue';
// 宸﹁竟閮ㄩ棬鐢�
const selectDeptId = ref<string[]>([]);
+
+defineExpose({
+ tableSelect
+});
const formOptions: VbenFormProps = {
commonConfig: {
@@ -76,19 +82,37 @@
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
});
+/**
+ * 瀵煎叆
+ */
+const [EquImportModal, equImportModalApi] = useVbenModal({
+ connectedComponent: equImportModal
+});
+function handleImport() {
+ equImportModalApi.open();
+}
function handleAdd() {
equDrawerApi.setData({});
@@ -126,35 +150,30 @@
}
-
const router = useRouter();
function handleDetail(record: Recordable<any>) {
router.push(`/equ/detail/${record.equId}`);
+}
+// 閫変腑鏁版嵁
+function tableSelect() {
+ return tableApi.grid.getCheckboxRecords();
}
</script>
<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 v-access:code="['eims:equ:import']" @click="handleImport">
+ {{ $t('pages.common.import') }}
+ </a-button>
+ <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,28 +190,22 @@
<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>
</BasicTable>
</div>
<EquDrawer @reload="tableApi.query()" />
+ <EquImportModal @reload="tableApi.query()" />
</Page>
</template>
--
Gitblit v1.9.3