diff --git a/apps/web-antd/src/adapter/vxe-table.ts b/apps/web-antd/src/adapter/vxe-table.ts index b6e2aa25..74629b3d 100644 --- a/apps/web-antd/src/adapter/vxe-table.ts +++ b/apps/web-antd/src/adapter/vxe-table.ts @@ -100,7 +100,6 @@ export { useVbenVxeGrid }; export type * from '@vben/plugins/vxe-table'; /** - * 暂时没用上,先保留 * 通用的表格复选框是否选中事件 * @param checked 是否选中 * @returns function diff --git a/apps/web-antd/src/views/demo/demo/index.vue b/apps/web-antd/src/views/demo/demo/index.vue index 44ad7bc6..ad6dd79a 100644 --- a/apps/web-antd/src/views/demo/demo/index.vue +++ b/apps/web-antd/src/views/demo/demo/index.vue @@ -9,7 +9,11 @@ import { getPopupContainer } from '@vben/utils'; import { Modal, Popconfirm, Space } from 'ant-design-vue'; import dayjs from 'dayjs'; -import { useVbenVxeGrid, type VxeGridProps } from '#/adapter/vxe-table'; +import { + tableCheckboxEvent, + useVbenVxeGrid, + type VxeGridProps, +} from '#/adapter/vxe-table'; import { downloadExcel } from '#/utils/file/download'; import { demoExport, demoList, demoRemove } from './api'; @@ -74,12 +78,8 @@ const [BasicTable, tableApi] = useVbenVxeGrid({ formOptions, gridOptions, gridEvents: { - checkboxChange: (e: any) => { - checked.value = e.records.length > 0; - }, - checkboxAll: (e: any) => { - checked.value = e.records.length > 0; - }, + checkboxChange: tableCheckboxEvent(checked), + checkboxAll: tableCheckboxEvent(checked), }, }); diff --git a/apps/web-antd/src/views/monitor/logininfor/index.vue b/apps/web-antd/src/views/monitor/logininfor/index.vue index 31229e8d..34139ec7 100644 --- a/apps/web-antd/src/views/monitor/logininfor/index.vue +++ b/apps/web-antd/src/views/monitor/logininfor/index.vue @@ -9,7 +9,12 @@ import { getPopupContainer } from '@vben/utils'; import { Modal, Popconfirm, Space } from 'ant-design-vue'; import dayjs from 'dayjs'; -import { useVbenVxeGrid, type VxeGridProps } from '#/adapter/vxe-table'; +import { + tableCheckboxEvent, + useVbenVxeGrid, + type VxeGridDefines, + type VxeGridProps, +} from '#/adapter/vxe-table'; import { loginInfoClean, loginInfoExport, @@ -82,13 +87,12 @@ const [BasicTable, tableApi] = useVbenVxeGrid({ formOptions, gridOptions, gridEvents: { - checkboxChange: (e: any) => { - checked.value = e.records.length > 0; - canUnlock.value = e.records.length === 1 && e.records[0]?.status === '1'; - }, - checkboxAll: (e: any) => { - checked.value = e.records.length > 0; + checkboxChange: (e: VxeGridDefines.CheckboxChangeEventParams) => { + const records = e.$table.getCheckboxRecords(); + checked.value = records.length > 0; + canUnlock.value = records.length === 1 && records[0]?.status === '1'; }, + checkboxAll: tableCheckboxEvent(checked), }, }); diff --git a/apps/web-antd/src/views/monitor/operlog/index.vue b/apps/web-antd/src/views/monitor/operlog/index.vue index 6721bf1f..c975ad74 100644 --- a/apps/web-antd/src/views/monitor/operlog/index.vue +++ b/apps/web-antd/src/views/monitor/operlog/index.vue @@ -12,7 +12,11 @@ import { Modal, Space } from 'ant-design-vue'; import dayjs from 'dayjs'; import { isEmpty } from 'lodash-es'; -import { useVbenVxeGrid, type VxeGridProps } from '#/adapter/vxe-table'; +import { + tableCheckboxEvent, + useVbenVxeGrid, + type VxeGridProps, +} from '#/adapter/vxe-table'; import { operLogClean, operLogDelete, @@ -98,12 +102,8 @@ const [BasicTable, tableApi] = useVbenVxeGrid({ sortChange: () => { tableApi.query(); }, - checkboxChange: (e: any) => { - checked.value = e.records.length > 0; - }, - checkboxAll: (e: any) => { - checked.value = e.records.length > 0; - }, + checkboxChange: tableCheckboxEvent(checked), + checkboxAll: tableCheckboxEvent(checked), }, }); diff --git a/apps/web-antd/src/views/system/client/index.vue b/apps/web-antd/src/views/system/client/index.vue index 72766398..2bdbec9e 100644 --- a/apps/web-antd/src/views/system/client/index.vue +++ b/apps/web-antd/src/views/system/client/index.vue @@ -9,7 +9,11 @@ import { getPopupContainer } from '@vben/utils'; import { Modal, Popconfirm, Space } from 'ant-design-vue'; -import { useVbenVxeGrid, type VxeGridProps } from '#/adapter/vxe-table'; +import { + tableCheckboxEvent, + useVbenVxeGrid, + type VxeGridProps, +} from '#/adapter/vxe-table'; import { clientChangeStatus, clientExport, @@ -68,12 +72,8 @@ const [BasicTable, tableApi] = useVbenVxeGrid({ formOptions, gridOptions, gridEvents: { - checkboxChange: (e: any) => { - checked.value = e.records.length > 0; - }, - checkboxAll: (e: any) => { - checked.value = e.records.length > 0; - }, + checkboxChange: tableCheckboxEvent(checked), + checkboxAll: tableCheckboxEvent(checked), }, }); diff --git a/apps/web-antd/src/views/system/config/index.vue b/apps/web-antd/src/views/system/config/index.vue index 2ecfb7d7..ab9ed6d7 100644 --- a/apps/web-antd/src/views/system/config/index.vue +++ b/apps/web-antd/src/views/system/config/index.vue @@ -9,7 +9,11 @@ import { getPopupContainer } from '@vben/utils'; import { Modal, Popconfirm, Space } from 'ant-design-vue'; import dayjs from 'dayjs'; -import { useVbenVxeGrid, type VxeGridProps } from '#/adapter/vxe-table'; +import { + tableCheckboxEvent, + useVbenVxeGrid, + type VxeGridProps, +} from '#/adapter/vxe-table'; import { configExport, configList, @@ -78,12 +82,8 @@ const [BasicTable, tableApi] = useVbenVxeGrid({ formOptions, gridOptions, gridEvents: { - checkboxChange: (e: any) => { - checked.value = e.records.length > 0; - }, - checkboxAll: (e: any) => { - checked.value = e.records.length > 0; - }, + checkboxChange: tableCheckboxEvent(checked), + checkboxAll: tableCheckboxEvent(checked), }, }); const [ConfigModal, modalApi] = useVbenModal({ diff --git a/apps/web-antd/src/views/system/dict/data/index.vue b/apps/web-antd/src/views/system/dict/data/index.vue index 37708b8c..74d93229 100644 --- a/apps/web-antd/src/views/system/dict/data/index.vue +++ b/apps/web-antd/src/views/system/dict/data/index.vue @@ -9,7 +9,11 @@ import { getPopupContainer } from '@vben/utils'; import { Modal, Popconfirm, Space } from 'ant-design-vue'; import dayjs from 'dayjs'; -import { useVbenVxeGrid, type VxeGridProps } from '#/adapter/vxe-table'; +import { + tableCheckboxEvent, + useVbenVxeGrid, + type VxeGridProps, +} from '#/adapter/vxe-table'; import { dictDataExport, dictDataList, @@ -87,12 +91,8 @@ const [BasicTable, tableApi] = useVbenVxeGrid({ formOptions, gridOptions, gridEvents: { - checkboxChange: (e: any) => { - checked.value = e.records.length > 0; - }, - checkboxAll: (e: any) => { - checked.value = e.records.length > 0; - }, + checkboxChange: tableCheckboxEvent(checked), + checkboxAll: tableCheckboxEvent(checked), }, }); diff --git a/apps/web-antd/src/views/system/dict/type/index.vue b/apps/web-antd/src/views/system/dict/type/index.vue index 755cc017..c0667cb4 100644 --- a/apps/web-antd/src/views/system/dict/type/index.vue +++ b/apps/web-antd/src/views/system/dict/type/index.vue @@ -18,7 +18,11 @@ import { } from 'ant-design-vue'; import dayjs from 'dayjs'; -import { useVbenVxeGrid, type VxeGridProps } from '#/adapter/vxe-table'; +import { + tableCheckboxEvent, + useVbenVxeGrid, + type VxeGridProps, +} from '#/adapter/vxe-table'; import { dictTypeExport, dictTypeList, @@ -102,12 +106,8 @@ const [BasicTable, tableApi] = useVbenVxeGrid({ emitter.emit('rowClick', row.dictType); lastDictType.value = row.dictType; }, - checkboxChange: (e: any) => { - checked.value = e.records.length > 0; - }, - checkboxAll: (e: any) => { - checked.value = e.records.length > 0; - }, + checkboxChange: tableCheckboxEvent(checked), + checkboxAll: tableCheckboxEvent(checked), }, }); const [DictTypeModal, modalApi] = useVbenModal({ diff --git a/apps/web-antd/src/views/system/notice/index.vue b/apps/web-antd/src/views/system/notice/index.vue index dd035ece..23181082 100644 --- a/apps/web-antd/src/views/system/notice/index.vue +++ b/apps/web-antd/src/views/system/notice/index.vue @@ -9,7 +9,11 @@ import { getPopupContainer } from '@vben/utils'; import { Modal, Popconfirm, Space } from 'ant-design-vue'; import dayjs from 'dayjs'; -import { useVbenVxeGrid, type VxeGridProps } from '#/adapter/vxe-table'; +import { + tableCheckboxEvent, + useVbenVxeGrid, + type VxeGridProps, +} from '#/adapter/vxe-table'; import { noticeList, noticeRemove } from '#/api/system/notice'; import { columns, querySchema } from './data'; @@ -74,12 +78,8 @@ const [BasicTable, tableApi] = useVbenVxeGrid({ formOptions, gridOptions, gridEvents: { - checkboxChange: (e: any) => { - checked.value = e.records.length > 0; - }, - checkboxAll: (e: any) => { - checked.value = e.records.length > 0; - }, + checkboxChange: tableCheckboxEvent(checked), + checkboxAll: tableCheckboxEvent(checked), }, }); diff --git a/apps/web-antd/src/views/system/oss-config/index.vue b/apps/web-antd/src/views/system/oss-config/index.vue index d4f529bb..b8b4fc35 100644 --- a/apps/web-antd/src/views/system/oss-config/index.vue +++ b/apps/web-antd/src/views/system/oss-config/index.vue @@ -10,7 +10,11 @@ import { getPopupContainer } from '@vben/utils'; import { Modal, Popconfirm, Space } from 'ant-design-vue'; import dayjs from 'dayjs'; -import { useVbenVxeGrid, type VxeGridProps } from '#/adapter/vxe-table'; +import { + tableCheckboxEvent, + useVbenVxeGrid, + type VxeGridProps, +} from '#/adapter/vxe-table'; import { ossConfigChangeStatus, ossConfigList, @@ -77,12 +81,8 @@ const [BasicTable, tableApi] = useVbenVxeGrid({ formOptions, gridOptions, gridEvents: { - checkboxChange: (e: any) => { - checked.value = e.records.length > 0; - }, - checkboxAll: (e: any) => { - checked.value = e.records.length > 0; - }, + checkboxChange: tableCheckboxEvent(checked), + checkboxAll: tableCheckboxEvent(checked), }, }); diff --git a/apps/web-antd/src/views/system/oss/index.vue b/apps/web-antd/src/views/system/oss/index.vue index 3b522bf8..d9251e73 100644 --- a/apps/web-antd/src/views/system/oss/index.vue +++ b/apps/web-antd/src/views/system/oss/index.vue @@ -20,7 +20,11 @@ import { import dayjs from 'dayjs'; import { isEmpty } from 'lodash-es'; -import { useVbenVxeGrid, type VxeGridProps } from '#/adapter/vxe-table'; +import { + tableCheckboxEvent, + useVbenVxeGrid, + type VxeGridProps, +} from '#/adapter/vxe-table'; import { configInfoByKey } from '#/api/system/config'; import { ossDownload, ossList, ossRemove } from '#/api/system/oss'; import { downloadByData } from '#/utils/file/download'; @@ -100,12 +104,8 @@ const [BasicTable, tableApi] = useVbenVxeGrid({ sortChange: () => { tableApi.query(); }, - checkboxChange: (e: any) => { - checked.value = e.records.length > 0; - }, - checkboxAll: (e: any) => { - checked.value = e.records.length > 0; - }, + checkboxChange: tableCheckboxEvent(checked), + checkboxAll: tableCheckboxEvent(checked), }, }); diff --git a/apps/web-antd/src/views/system/post/index.vue b/apps/web-antd/src/views/system/post/index.vue index 962e57d4..3e802147 100644 --- a/apps/web-antd/src/views/system/post/index.vue +++ b/apps/web-antd/src/views/system/post/index.vue @@ -9,7 +9,11 @@ import { getPopupContainer } from '@vben/utils'; import { Modal, Popconfirm, Space } from 'ant-design-vue'; import dayjs from 'dayjs'; -import { useVbenVxeGrid, type VxeGridProps } from '#/adapter/vxe-table'; +import { + tableCheckboxEvent, + useVbenVxeGrid, + type VxeGridProps, +} from '#/adapter/vxe-table'; import { postExport, postList, postRemove } from '#/api/system/post'; import { downloadExcel } from '#/utils/file/download'; import DeptTree from '#/views/system/user/dept-tree.vue'; @@ -91,12 +95,8 @@ const [BasicTable, tableApi] = useVbenVxeGrid({ formOptions, gridOptions, gridEvents: { - checkboxChange: (e: any) => { - checked.value = e.records.length > 0; - }, - checkboxAll: (e: any) => { - checked.value = e.records.length > 0; - }, + checkboxChange: tableCheckboxEvent(checked), + checkboxAll: tableCheckboxEvent(checked), }, }); diff --git a/apps/web-antd/src/views/system/role-assign/index.vue b/apps/web-antd/src/views/system/role-assign/index.vue index e6ab3ca9..7a8c61f1 100644 --- a/apps/web-antd/src/views/system/role-assign/index.vue +++ b/apps/web-antd/src/views/system/role-assign/index.vue @@ -9,7 +9,11 @@ import { getPopupContainer } from '@vben/utils'; import { Modal, Popconfirm, Space } from 'ant-design-vue'; -import { useVbenVxeGrid, type VxeGridProps } from '#/adapter/vxe-table'; +import { + tableCheckboxEvent, + useVbenVxeGrid, + type VxeGridProps, +} from '#/adapter/vxe-table'; import { roleAllocatedList, roleAuthCancel, @@ -67,12 +71,8 @@ const [BasicTable, tableApi] = useVbenVxeGrid({ formOptions, gridOptions, gridEvents: { - checkboxChange: (e: any) => { - checked.value = e.records.length > 0; - }, - checkboxAll: (e: any) => { - checked.value = e.records.length > 0; - }, + checkboxChange: tableCheckboxEvent(checked), + checkboxAll: tableCheckboxEvent(checked), }, }); diff --git a/apps/web-antd/src/views/system/role-assign/role-assign-drawer.vue b/apps/web-antd/src/views/system/role-assign/role-assign-drawer.vue index e3300c73..6e2dded5 100644 --- a/apps/web-antd/src/views/system/role-assign/role-assign-drawer.vue +++ b/apps/web-antd/src/views/system/role-assign/role-assign-drawer.vue @@ -4,7 +4,11 @@ import { useRoute } from 'vue-router'; import { useVbenDrawer, type VbenFormProps } from '@vben/common-ui'; -import { useVbenVxeGrid, type VxeGridProps } from '#/adapter/vxe-table'; +import { + tableCheckboxEvent, + useVbenVxeGrid, + type VxeGridProps, +} from '#/adapter/vxe-table'; import { roleSelectAll, roleUnallocatedList } from '#/api/system/role'; import { columns, querySchema } from './data'; @@ -63,12 +67,8 @@ const [BasicTable, tableApi] = useVbenVxeGrid({ formOptions, gridOptions, gridEvents: { - checkboxChange: (e: any) => { - checked.value = e.records.length > 0; - }, - checkboxAll: (e: any) => { - checked.value = e.records.length > 0; - }, + checkboxChange: tableCheckboxEvent(checked), + checkboxAll: tableCheckboxEvent(checked), }, }); diff --git a/apps/web-antd/src/views/system/role/index.vue b/apps/web-antd/src/views/system/role/index.vue index a6882753..7210d391 100644 --- a/apps/web-antd/src/views/system/role/index.vue +++ b/apps/web-antd/src/views/system/role/index.vue @@ -23,7 +23,11 @@ import { } from 'ant-design-vue'; import dayjs from 'dayjs'; -import { useVbenVxeGrid, type VxeGridProps } from '#/adapter/vxe-table'; +import { + tableCheckboxEvent, + useVbenVxeGrid, + type VxeGridProps, +} from '#/adapter/vxe-table'; import { roleChangeStatus, roleExport, @@ -97,12 +101,8 @@ const [BasicTable, tableApi] = useVbenVxeGrid({ formOptions, gridOptions, gridEvents: { - checkboxChange: (e: any) => { - checked.value = e.records.length > 0; - }, - checkboxAll: (e: any) => { - checked.value = e.records.length > 0; - }, + checkboxChange: tableCheckboxEvent(checked), + checkboxAll: tableCheckboxEvent(checked), }, }); const [RoleDrawer, drawerApi] = useVbenDrawer({ diff --git a/apps/web-antd/src/views/system/tenant/index.vue b/apps/web-antd/src/views/system/tenant/index.vue index e5da6e7b..157e6216 100644 --- a/apps/web-antd/src/views/system/tenant/index.vue +++ b/apps/web-antd/src/views/system/tenant/index.vue @@ -11,7 +11,11 @@ import { getPopupContainer } from '@vben/utils'; import { Modal, Popconfirm, Space } from 'ant-design-vue'; import dayjs from 'dayjs'; -import { useVbenVxeGrid, type VxeGridProps } from '#/adapter/vxe-table'; +import { + tableCheckboxEvent, + useVbenVxeGrid, + type VxeGridProps, +} from '#/adapter/vxe-table'; import { tenantExport, tenantList, @@ -86,12 +90,8 @@ const [BasicTable, tableApi] = useVbenVxeGrid({ formOptions, gridOptions, gridEvents: { - checkboxChange: (e: any) => { - checked.value = e.records.length > 0; - }, - checkboxAll: (e: any) => { - checked.value = e.records.length > 0; - }, + checkboxChange: tableCheckboxEvent(checked), + checkboxAll: tableCheckboxEvent(checked), }, }); diff --git a/apps/web-antd/src/views/system/tenantPackage/index.vue b/apps/web-antd/src/views/system/tenantPackage/index.vue index 7e9246db..ed3e7b53 100644 --- a/apps/web-antd/src/views/system/tenantPackage/index.vue +++ b/apps/web-antd/src/views/system/tenantPackage/index.vue @@ -11,7 +11,11 @@ import { getPopupContainer } from '@vben/utils'; import { Modal, Popconfirm, Space } from 'ant-design-vue'; import dayjs from 'dayjs'; -import { useVbenVxeGrid, type VxeGridProps } from '#/adapter/vxe-table'; +import { + tableCheckboxEvent, + useVbenVxeGrid, + type VxeGridProps, +} from '#/adapter/vxe-table'; import { packageChangeStatus, packageExport, @@ -83,12 +87,8 @@ const [BasicTable, tableApi] = useVbenVxeGrid({ formOptions, gridOptions, gridEvents: { - checkboxChange: (e: any) => { - checked.value = e.records.length > 0; - }, - checkboxAll: (e: any) => { - checked.value = e.records.length > 0; - }, + checkboxChange: tableCheckboxEvent(checked), + checkboxAll: tableCheckboxEvent(checked), }, }); diff --git a/apps/web-antd/src/views/system/user/index.vue b/apps/web-antd/src/views/system/user/index.vue index 9a46107a..9afd3128 100644 --- a/apps/web-antd/src/views/system/user/index.vue +++ b/apps/web-antd/src/views/system/user/index.vue @@ -24,7 +24,11 @@ import { } from 'ant-design-vue'; import dayjs from 'dayjs'; -import { useVbenVxeGrid, type VxeGridProps } from '#/adapter/vxe-table'; +import { + tableCheckboxEvent, + useVbenVxeGrid, + type VxeGridProps, +} from '#/adapter/vxe-table'; import { userExport, userList, @@ -128,12 +132,8 @@ const [BasicTable, tableApi] = useVbenVxeGrid({ formOptions, gridOptions, gridEvents: { - checkboxChange: (e: any) => { - checked.value = e.records.length > 0; - }, - checkboxAll: (e: any) => { - checked.value = e.records.length > 0; - }, + checkboxChange: tableCheckboxEvent(checked), + checkboxAll: tableCheckboxEvent(checked), }, }); diff --git a/apps/web-antd/src/views/tool/gen/index.vue b/apps/web-antd/src/views/tool/gen/index.vue index c7df3093..420c4e8e 100644 --- a/apps/web-antd/src/views/tool/gen/index.vue +++ b/apps/web-antd/src/views/tool/gen/index.vue @@ -9,7 +9,11 @@ import { Page, useVbenModal, type VbenFormProps } from '@vben/common-ui'; import { message, Modal, Popconfirm, Space } from 'ant-design-vue'; import dayjs from 'dayjs'; -import { useVbenVxeGrid, type VxeGridProps } from '#/adapter/vxe-table'; +import { + tableCheckboxEvent, + useVbenVxeGrid, + type VxeGridProps, +} from '#/adapter/vxe-table'; import { batchGenCode, generatedList, @@ -79,12 +83,8 @@ const [BasicTable, tableApi] = useVbenVxeGrid({ formOptions, gridOptions, gridEvents: { - checkboxChange: (e: any) => { - checked.value = e.records.length > 0; - }, - checkboxAll: (e: any) => { - checked.value = e.records.length > 0; - }, + checkboxChange: tableCheckboxEvent(checked), + checkboxAll: tableCheckboxEvent(checked), }, });