From b2411ea8f5f590f2d44760fcbd5059c4ea5a7776 Mon Sep 17 00:00:00 2001 From: puhui999 Date: Tue, 20 May 2025 17:55:04 +0800 Subject: [PATCH 1/4] =?UTF-8?q?feat:=20=E3=80=90ANTD=E3=80=91=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=20general=20=E6=A0=87=E5=87=86=E6=A8=A1=E5=BC=8F?= =?UTF-8?q?=E6=89=B9=E9=87=8F=E5=88=A0=E9=99=A4=E4=BB=A3=E7=A0=81=E7=A4=BA?= =?UTF-8?q?=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/api/infra/demo/demo01/index.ts | 2 +- .../src/api/infra/demo/demo03/erp/index.ts | 6 +- .../src/api/infra/demo/demo03/inner/index.ts | 2 +- .../src/api/infra/demo/demo03/normal/index.ts | 2 +- .../src/views/infra/demo/demo01/index.vue | 4 +- .../src/views/infra/demo/demo03/erp/index.vue | 4 +- .../demo03/erp/modules/demo03-course-list.vue | 4 +- .../demo03/erp/modules/demo03-grade-list.vue | 4 +- .../views/infra/demo/demo03/inner/index.vue | 4 +- .../views/infra/demo/demo03/normal/index.vue | 4 +- .../views/infra/demo/general/demo01/index.vue | 57 ++++++++++++++- .../infra/demo/general/demo03/erp/index.vue | 62 ++++++++++++----- .../demo03/erp/modules/demo03-course-list.vue | 61 +++++++++++++--- .../demo03/erp/modules/demo03-grade-list.vue | 61 +++++++++++++--- .../infra/demo/general/demo03/inner/index.vue | 69 ++++++++++++++----- .../demo/general/demo03/normal/index.vue | 69 ++++++++++++++----- 16 files changed, 328 insertions(+), 87 deletions(-) diff --git a/apps/web-antd/src/api/infra/demo/demo01/index.ts b/apps/web-antd/src/api/infra/demo/demo01/index.ts index 42352039..66b4e94f 100644 --- a/apps/web-antd/src/api/infra/demo/demo01/index.ts +++ b/apps/web-antd/src/api/infra/demo/demo01/index.ts @@ -47,7 +47,7 @@ export function deleteDemo01Contact(id: number) { } /** 批量删除示例联系人 */ -export function deleteDemo01ContactByIds(ids: number[]) { +export function deleteDemo01ContactListByIds(ids: number[]) { return requestClient.delete( `/infra/demo01-contact/delete-list?ids=${ids.join(',')}`, ); diff --git a/apps/web-antd/src/api/infra/demo/demo03/erp/index.ts b/apps/web-antd/src/api/infra/demo/demo03/erp/index.ts index e21c6f00..ec18150c 100644 --- a/apps/web-antd/src/api/infra/demo/demo03/erp/index.ts +++ b/apps/web-antd/src/api/infra/demo/demo03/erp/index.ts @@ -62,7 +62,7 @@ export function deleteDemo03Student(id: number) { } /** 批量删除学生 */ -export function deleteDemo03StudentByIds(ids: number[]) { +export function deleteDemo03StudentListByIds(ids: number[]) { return requestClient.delete( `/infra/demo03-student-erp/delete-list?ids=${ids.join(',')}`, ); @@ -109,7 +109,7 @@ export function deleteDemo03Course(id: number) { } /** 批量删除学生课程 */ -export function deleteDemo03CourseByIds(ids: number[]) { +export function deleteDemo03CourseListByIds(ids: number[]) { return requestClient.delete( `/infra/demo03-student-erp/demo03-course/delete-list?ids=${ids.join(',')}`, ); @@ -155,7 +155,7 @@ export function deleteDemo03Grade(id: number) { } /** 批量删除学生班级 */ -export function deleteDemo03GradeByIds(ids: number[]) { +export function deleteDemo03GradeListByIds(ids: number[]) { return requestClient.delete( `/infra/demo03-student-erp/demo03-grade/delete-list?ids=${ids.join(',')}`, ); diff --git a/apps/web-antd/src/api/infra/demo/demo03/inner/index.ts b/apps/web-antd/src/api/infra/demo/demo03/inner/index.ts index ce3dda32..1521923b 100644 --- a/apps/web-antd/src/api/infra/demo/demo03/inner/index.ts +++ b/apps/web-antd/src/api/infra/demo/demo03/inner/index.ts @@ -64,7 +64,7 @@ export function deleteDemo03Student(id: number) { } /** 批量删除学生 */ -export function deleteDemo03StudentByIds(ids: number[]) { +export function deleteDemo03StudentListByIds(ids: number[]) { return requestClient.delete( `/infra/demo03-student-inner/delete-list?ids=${ids.join(',')}`, ); diff --git a/apps/web-antd/src/api/infra/demo/demo03/normal/index.ts b/apps/web-antd/src/api/infra/demo/demo03/normal/index.ts index 0f5bfd2e..79143c82 100644 --- a/apps/web-antd/src/api/infra/demo/demo03/normal/index.ts +++ b/apps/web-antd/src/api/infra/demo/demo03/normal/index.ts @@ -64,7 +64,7 @@ export function deleteDemo03Student(id: number) { } /** 批量删除学生 */ -export function deleteDemo03StudentByIds(ids: number[]) { +export function deleteDemo03StudentListByIds(ids: number[]) { return requestClient.delete( `/infra/demo03-student-normal/delete-list?ids=${ids.join(',')}`, ); diff --git a/apps/web-antd/src/views/infra/demo/demo01/index.vue b/apps/web-antd/src/views/infra/demo/demo01/index.vue index fd311279..3d154e8d 100644 --- a/apps/web-antd/src/views/infra/demo/demo01/index.vue +++ b/apps/web-antd/src/views/infra/demo/demo01/index.vue @@ -16,7 +16,7 @@ import { Button, message } from 'ant-design-vue'; import { useVbenVxeGrid } from '#/adapter/vxe-table'; import { deleteDemo01Contact, - deleteDemo01ContactByIds, + deleteDemo01ContactListByIds, exportDemo01Contact, getDemo01ContactPage, } from '#/api/infra/demo/demo01'; @@ -69,7 +69,7 @@ async function onDeleteBatch() { key: 'action_process_msg', }); try { - await deleteDemo01ContactByIds(deleteIds.value); + await deleteDemo01ContactListByIds(deleteIds.value); message.success($t('ui.actionMessage.deleteSuccess')); onRefresh(); } finally { diff --git a/apps/web-antd/src/views/infra/demo/demo03/erp/index.vue b/apps/web-antd/src/views/infra/demo/demo03/erp/index.vue index ed2a2c56..d2f5da25 100644 --- a/apps/web-antd/src/views/infra/demo/demo03/erp/index.vue +++ b/apps/web-antd/src/views/infra/demo/demo03/erp/index.vue @@ -16,7 +16,7 @@ import { Button, message, Tabs } from 'ant-design-vue'; import { useVbenVxeGrid } from '#/adapter/vxe-table'; import { deleteDemo03Student, - deleteDemo03StudentByIds, + deleteDemo03StudentListByIds, exportDemo03Student, getDemo03StudentPage, } from '#/api/infra/demo/demo03/erp'; @@ -75,7 +75,7 @@ async function onDeleteBatch() { key: 'action_process_msg', }); try { - await deleteDemo03StudentByIds(deleteIds.value); + await deleteDemo03StudentListByIds(deleteIds.value); message.success($t('ui.actionMessage.deleteSuccess')); onRefresh(); } finally { diff --git a/apps/web-antd/src/views/infra/demo/demo03/erp/modules/demo03-course-list.vue b/apps/web-antd/src/views/infra/demo/demo03/erp/modules/demo03-course-list.vue index 1121d8ec..22afe3e3 100644 --- a/apps/web-antd/src/views/infra/demo/demo03/erp/modules/demo03-course-list.vue +++ b/apps/web-antd/src/views/infra/demo/demo03/erp/modules/demo03-course-list.vue @@ -16,7 +16,7 @@ import { Button, message } from 'ant-design-vue'; import { useVbenVxeGrid } from '#/adapter/vxe-table'; import { deleteDemo03Course, - deleteDemo03CourseByIds, + deleteDemo03CourseListByIds, getDemo03CoursePage, } from '#/api/infra/demo/demo03/erp'; import { $t } from '#/locales'; @@ -74,7 +74,7 @@ async function onDeleteBatch() { key: 'action_process_msg', }); try { - await deleteDemo03CourseByIds(deleteIds.value); + await deleteDemo03CourseListByIds(deleteIds.value); message.success($t('ui.actionMessage.deleteSuccess')); onRefresh(); } finally { diff --git a/apps/web-antd/src/views/infra/demo/demo03/erp/modules/demo03-grade-list.vue b/apps/web-antd/src/views/infra/demo/demo03/erp/modules/demo03-grade-list.vue index cd4fd142..5f774dcc 100644 --- a/apps/web-antd/src/views/infra/demo/demo03/erp/modules/demo03-grade-list.vue +++ b/apps/web-antd/src/views/infra/demo/demo03/erp/modules/demo03-grade-list.vue @@ -16,7 +16,7 @@ import { Button, message } from 'ant-design-vue'; import { useVbenVxeGrid } from '#/adapter/vxe-table'; import { deleteDemo03Grade, - deleteDemo03GradeByIds, + deleteDemo03GradeListByIds, getDemo03GradePage, } from '#/api/infra/demo/demo03/erp'; import { $t } from '#/locales'; @@ -74,7 +74,7 @@ async function onDeleteBatch() { key: 'action_process_msg', }); try { - await deleteDemo03GradeByIds(deleteIds.value); + await deleteDemo03GradeListByIds(deleteIds.value); message.success($t('ui.actionMessage.deleteSuccess')); onRefresh(); } finally { diff --git a/apps/web-antd/src/views/infra/demo/demo03/inner/index.vue b/apps/web-antd/src/views/infra/demo/demo03/inner/index.vue index 4e44b583..af4289b3 100644 --- a/apps/web-antd/src/views/infra/demo/demo03/inner/index.vue +++ b/apps/web-antd/src/views/infra/demo/demo03/inner/index.vue @@ -16,7 +16,7 @@ import { Button, message, Tabs } from 'ant-design-vue'; import { useVbenVxeGrid } from '#/adapter/vxe-table'; import { deleteDemo03Student, - deleteDemo03StudentByIds, + deleteDemo03StudentListByIds, exportDemo03Student, getDemo03StudentPage, } from '#/api/infra/demo/demo03/inner'; @@ -74,7 +74,7 @@ async function onDeleteBatch() { key: 'action_process_msg', }); try { - await deleteDemo03StudentByIds(deleteIds.value); + await deleteDemo03StudentListByIds(deleteIds.value); message.success($t('ui.actionMessage.deleteSuccess')); onRefresh(); } finally { diff --git a/apps/web-antd/src/views/infra/demo/demo03/normal/index.vue b/apps/web-antd/src/views/infra/demo/demo03/normal/index.vue index 4696bf30..e492af9c 100644 --- a/apps/web-antd/src/views/infra/demo/demo03/normal/index.vue +++ b/apps/web-antd/src/views/infra/demo/demo03/normal/index.vue @@ -16,7 +16,7 @@ import { Button, message } from 'ant-design-vue'; import { useVbenVxeGrid } from '#/adapter/vxe-table'; import { deleteDemo03Student, - deleteDemo03StudentByIds, + deleteDemo03StudentListByIds, exportDemo03Student, getDemo03StudentPage, } from '#/api/infra/demo/demo03/normal'; @@ -77,7 +77,7 @@ async function onDeleteBatch() { key: 'action_process_msg', }); try { - await deleteDemo03StudentByIds(deleteIds.value); + await deleteDemo03StudentListByIds(deleteIds.value); message.success($t('ui.actionMessage.deleteSuccess')); onRefresh(); } finally { diff --git a/apps/web-antd/src/views/infra/demo/general/demo01/index.vue b/apps/web-antd/src/views/infra/demo/general/demo01/index.vue index b9249f0e..cbc228fc 100644 --- a/apps/web-antd/src/views/infra/demo/general/demo01/index.vue +++ b/apps/web-antd/src/views/infra/demo/general/demo01/index.vue @@ -4,11 +4,12 @@ import type { Demo01ContactApi } from '#/api/infra/demo/demo01'; import { h, onMounted, reactive, ref } from 'vue'; import { Page, useVbenModal } from '@vben/common-ui'; -import { Download, Plus } from '@vben/icons'; +import { Download, Plus, Trash2 } from '@vben/icons'; import { cloneDeep, downloadFileFromBlobPart, formatDateTime, + isEmpty, } from '@vben/utils'; import { @@ -24,6 +25,7 @@ import { import { VxeColumn, VxeTable } from '#/adapter/vxe-table'; import { deleteDemo01Contact, + deleteDemo01ContactListByIds, exportDemo01Contact, getDemo01ContactPage, } from '#/api/infra/demo/demo01'; @@ -38,6 +40,7 @@ import Demo01ContactForm from './modules/form.vue'; const loading = ref(true); // 列表的加载中 const list = ref([]); // 列表的数据 + const total = ref(0); // 列表的总页数 const queryParams = reactive({ pageNo: 1, @@ -101,13 +104,41 @@ async function onDelete(row: Demo01ContactApi.Demo01Contact) { }); try { await deleteDemo01Contact(row.id as number); - message.success($t('ui.actionMessage.deleteSuccess', [row.id])); + message.success({ + content: $t('ui.actionMessage.deleteSuccess', [row.id]), + key: 'action_process_msg', + }); await getList(); } catch { hideLoading(); } } +/** 批量删除示例联系人 */ +async function onDeleteBatch() { + const hideLoading = message.loading({ + content: $t('ui.actionMessage.deleting'), + duration: 0, + key: 'action_process_msg', + }); + try { + await deleteDemo01ContactListByIds(deleteIds.value); + message.success($t('ui.actionMessage.deleteSuccess')); + await getList(); + } finally { + hideLoading(); + } +} + +const deleteIds = ref([]); // 待删除示例联系人 ID +function setDeleteIds({ + records, +}: { + records: Demo01ContactApi.Demo01Contact[]; +}) { + deleteIds.value = records.map((item) => item.id); +} + /** 导出表格 */ async function onExport() { try { @@ -205,9 +236,28 @@ onMounted(() => { > {{ $t('ui.actionTitle.export') }} + - + + @@ -240,6 +290,7 @@ onMounted(() => { + { }" show-overflow :loading="loading" + @checkbox-all="setDeleteIds" + @checkbox-change="setDeleteIds" > + diff --git a/apps/web-antd/src/views/infra/demo/general/demo03/erp/modules/demo03-course-list.vue b/apps/web-antd/src/views/infra/demo/general/demo03/erp/modules/demo03-course-list.vue index 346032d3..0c18f34b 100644 --- a/apps/web-antd/src/views/infra/demo/general/demo03/erp/modules/demo03-course-list.vue +++ b/apps/web-antd/src/views/infra/demo/general/demo03/erp/modules/demo03-course-list.vue @@ -4,8 +4,8 @@ import type { Demo03StudentApi } from '#/api/infra/demo/demo03/erp'; import { h, nextTick, onMounted, reactive, ref, watch } from 'vue'; import { useVbenModal } from '@vben/common-ui'; -import { Plus } from '@vben/icons'; -import { cloneDeep, formatDateTime } from '@vben/utils'; +import { Plus, Trash2 } from '@vben/icons'; +import { cloneDeep, formatDateTime, isEmpty } from '@vben/utils'; import { Button, @@ -19,6 +19,7 @@ import { import { VxeColumn, VxeTable } from '#/adapter/vxe-table'; import { deleteDemo03Course, + deleteDemo03CourseListByIds, getDemo03CoursePage, } from '#/api/infra/demo/demo03/erp'; import { ContentWrap } from '#/components/content-wrap'; @@ -61,13 +62,41 @@ async function onDelete(row: Demo03StudentApi.Demo03Course) { }); try { await deleteDemo03Course(row.id as number); - message.success($t('ui.actionMessage.deleteSuccess', [row.id])); - getList(); + message.success({ + content: $t('ui.actionMessage.deleteSuccess', [row.id]), + key: 'action_process_msg', + }); + await getList(); } catch { hideLoading(); } } +/** 批量删除学生课程 */ +async function onDeleteBatch() { + const hideLoading = message.loading({ + content: $t('ui.actionMessage.deleting'), + duration: 0, + key: 'action_process_msg', + }); + try { + await deleteDemo03CourseListByIds(deleteIds.value); + message.success($t('ui.actionMessage.deleteSuccess')); + await getList(); + } finally { + hideLoading(); + } +} + +const deleteIds = ref([]); // 待删除学生课程 ID +function setDeleteIds({ + records, +}: { + records: Demo03StudentApi.Demo03Course[]; +}) { + deleteIds.value = records.map((item) => item.id); +} + const loading = ref(true); // 列表的加载中 const list = ref([]); // 列表的数据 const total = ref(0); // 列表的总页数 @@ -100,9 +129,6 @@ const getList = async () => { return []; } const params = cloneDeep(queryParams) as any; - if (params.birthday && Array.isArray(params.birthday)) { - params.birthday = (params.birthday as string[]).join(','); - } if (params.createTime && Array.isArray(params.createTime)) { params.createTime = (params.createTime as string[]).join(','); } @@ -200,9 +226,28 @@ onMounted(() => { > {{ $t('ui.actionTitle.create', ['学生']) }} + - + + diff --git a/apps/web-antd/src/views/infra/demo/general/demo03/erp/modules/demo03-grade-list.vue b/apps/web-antd/src/views/infra/demo/general/demo03/erp/modules/demo03-grade-list.vue index 921d896d..82207e33 100644 --- a/apps/web-antd/src/views/infra/demo/general/demo03/erp/modules/demo03-grade-list.vue +++ b/apps/web-antd/src/views/infra/demo/general/demo03/erp/modules/demo03-grade-list.vue @@ -4,8 +4,8 @@ import type { Demo03StudentApi } from '#/api/infra/demo/demo03/erp'; import { h, nextTick, onMounted, reactive, ref, watch } from 'vue'; import { useVbenModal } from '@vben/common-ui'; -import { Plus } from '@vben/icons'; -import { cloneDeep, formatDateTime } from '@vben/utils'; +import { Plus, Trash2 } from '@vben/icons'; +import { cloneDeep, formatDateTime, isEmpty } from '@vben/utils'; import { Button, @@ -19,6 +19,7 @@ import { import { VxeColumn, VxeTable } from '#/adapter/vxe-table'; import { deleteDemo03Grade, + deleteDemo03GradeListByIds, getDemo03GradePage, } from '#/api/infra/demo/demo03/erp'; import { ContentWrap } from '#/components/content-wrap'; @@ -61,13 +62,41 @@ async function onDelete(row: Demo03StudentApi.Demo03Grade) { }); try { await deleteDemo03Grade(row.id as number); - message.success($t('ui.actionMessage.deleteSuccess', [row.id])); - getList(); + message.success({ + content: $t('ui.actionMessage.deleteSuccess', [row.id]), + key: 'action_process_msg', + }); + await getList(); } catch { hideLoading(); } } +/** 批量删除学生班级 */ +async function onDeleteBatch() { + const hideLoading = message.loading({ + content: $t('ui.actionMessage.deleting'), + duration: 0, + key: 'action_process_msg', + }); + try { + await deleteDemo03GradeListByIds(deleteIds.value); + message.success($t('ui.actionMessage.deleteSuccess')); + await getList(); + } finally { + hideLoading(); + } +} + +const deleteIds = ref([]); // 待删除学生班级 ID +function setDeleteIds({ + records, +}: { + records: Demo03StudentApi.Demo03Grade[]; +}) { + deleteIds.value = records.map((item) => item.id); +} + const loading = ref(true); // 列表的加载中 const list = ref([]); // 列表的数据 const total = ref(0); // 列表的总页数 @@ -100,9 +129,6 @@ const getList = async () => { return []; } const params = cloneDeep(queryParams) as any; - if (params.birthday && Array.isArray(params.birthday)) { - params.birthday = (params.birthday as string[]).join(','); - } if (params.createTime && Array.isArray(params.createTime)) { params.createTime = (params.createTime as string[]).join(','); } @@ -200,9 +226,28 @@ onMounted(() => { > {{ $t('ui.actionTitle.create', ['学生']) }} + - + + diff --git a/apps/web-antd/src/views/infra/demo/general/demo03/inner/index.vue b/apps/web-antd/src/views/infra/demo/general/demo03/inner/index.vue index 71f005b8..6ca0d5e3 100644 --- a/apps/web-antd/src/views/infra/demo/general/demo03/inner/index.vue +++ b/apps/web-antd/src/views/infra/demo/general/demo03/inner/index.vue @@ -4,16 +4,16 @@ import type { Demo03StudentApi } from '#/api/infra/demo/demo03/normal'; import { h, onMounted, reactive, ref } from 'vue'; import { Page, useVbenModal } from '@vben/common-ui'; -import { Download, Plus } from '@vben/icons'; +import { Download, Plus, Trash2 } from '@vben/icons'; import { cloneDeep, downloadFileFromBlobPart, formatDateTime, + isEmpty, } from '@vben/utils'; import { Button, - DatePicker, Form, Input, message, @@ -26,6 +26,7 @@ import { import { VxeColumn, VxeTable } from '#/adapter/vxe-table'; import { deleteDemo03Student, + deleteDemo03StudentListByIds, exportDemo03Student, getDemo03StudentPage, } from '#/api/infra/demo/demo03/normal'; @@ -52,7 +53,6 @@ const queryParams = reactive({ pageSize: 10, name: undefined, sex: undefined, - birthday: undefined, description: undefined, createTime: undefined, }); @@ -64,9 +64,6 @@ const getList = async () => { loading.value = true; try { const params = cloneDeep(queryParams) as any; - if (params.birthday && Array.isArray(params.birthday)) { - params.birthday = (params.birthday as string[]).join(','); - } if (params.createTime && Array.isArray(params.createTime)) { params.createTime = (params.createTime as string[]).join(','); } @@ -114,13 +111,41 @@ async function onDelete(row: Demo03StudentApi.Demo03Student) { }); try { await deleteDemo03Student(row.id as number); - message.success($t('ui.actionMessage.deleteSuccess', [row.id])); + message.success({ + content: $t('ui.actionMessage.deleteSuccess', [row.id]), + key: 'action_process_msg', + }); await getList(); } catch { hideLoading(); } } +/** 批量删除学生 */ +async function onDeleteBatch() { + const hideLoading = message.loading({ + content: $t('ui.actionMessage.deleting'), + duration: 0, + key: 'action_process_msg', + }); + try { + await deleteDemo03StudentListByIds(deleteIds.value); + message.success($t('ui.actionMessage.deleteSuccess')); + await getList(); + } finally { + hideLoading(); + } +} + +const deleteIds = ref([]); // 待删除学生 ID +function setDeleteIds({ + records, +}: { + records: Demo03StudentApi.Demo03Student[]; +}) { + deleteIds.value = records.map((item) => item.id); +} + /** 导出表格 */ async function onExport() { try { @@ -174,15 +199,6 @@ onMounted(() => { - - - { > {{ $t('ui.actionTitle.export') }} + - + + - + + From 33d0da02ef3bf52e1df0cd79492ee2c9463c620e Mon Sep 17 00:00:00 2001 From: puhui999 Date: Tue, 20 May 2025 18:00:11 +0800 Subject: [PATCH 2/4] =?UTF-8?q?perf:=20=E3=80=90ANTD=E3=80=91=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=20general=20=E6=A0=87=E5=87=86=E6=A8=A1=E5=BC=8F?= =?UTF-8?q?=E6=89=B9=E9=87=8F=E5=88=A0=E9=99=A4=E4=BB=A3=E7=A0=81=E7=A4=BA?= =?UTF-8?q?=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/web-antd/src/views/infra/demo/general/demo01/index.vue | 2 +- apps/web-antd/src/views/infra/demo/general/demo03/erp/index.vue | 2 +- .../demo/general/demo03/erp/modules/demo03-course-list.vue | 2 +- .../infra/demo/general/demo03/erp/modules/demo03-grade-list.vue | 2 +- .../src/views/infra/demo/general/demo03/inner/index.vue | 2 +- .../src/views/infra/demo/general/demo03/normal/index.vue | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/apps/web-antd/src/views/infra/demo/general/demo01/index.vue b/apps/web-antd/src/views/infra/demo/general/demo01/index.vue index cbc228fc..08ffc3bd 100644 --- a/apps/web-antd/src/views/infra/demo/general/demo01/index.vue +++ b/apps/web-antd/src/views/infra/demo/general/demo01/index.vue @@ -109,7 +109,7 @@ async function onDelete(row: Demo01ContactApi.Demo01Contact) { key: 'action_process_msg', }); await getList(); - } catch { + } finally { hideLoading(); } } diff --git a/apps/web-antd/src/views/infra/demo/general/demo03/erp/index.vue b/apps/web-antd/src/views/infra/demo/general/demo03/erp/index.vue index 438a9ee7..fedc033f 100644 --- a/apps/web-antd/src/views/infra/demo/general/demo03/erp/index.vue +++ b/apps/web-antd/src/views/infra/demo/general/demo03/erp/index.vue @@ -120,7 +120,7 @@ async function onDelete(row: Demo03StudentApi.Demo03Student) { key: 'action_process_msg', }); await getList(); - } catch { + } finally { hideLoading(); } } diff --git a/apps/web-antd/src/views/infra/demo/general/demo03/erp/modules/demo03-course-list.vue b/apps/web-antd/src/views/infra/demo/general/demo03/erp/modules/demo03-course-list.vue index 0c18f34b..00caaca1 100644 --- a/apps/web-antd/src/views/infra/demo/general/demo03/erp/modules/demo03-course-list.vue +++ b/apps/web-antd/src/views/infra/demo/general/demo03/erp/modules/demo03-course-list.vue @@ -67,7 +67,7 @@ async function onDelete(row: Demo03StudentApi.Demo03Course) { key: 'action_process_msg', }); await getList(); - } catch { + } finally { hideLoading(); } } diff --git a/apps/web-antd/src/views/infra/demo/general/demo03/erp/modules/demo03-grade-list.vue b/apps/web-antd/src/views/infra/demo/general/demo03/erp/modules/demo03-grade-list.vue index 82207e33..f25c1be2 100644 --- a/apps/web-antd/src/views/infra/demo/general/demo03/erp/modules/demo03-grade-list.vue +++ b/apps/web-antd/src/views/infra/demo/general/demo03/erp/modules/demo03-grade-list.vue @@ -67,7 +67,7 @@ async function onDelete(row: Demo03StudentApi.Demo03Grade) { key: 'action_process_msg', }); await getList(); - } catch { + } finally { hideLoading(); } } diff --git a/apps/web-antd/src/views/infra/demo/general/demo03/inner/index.vue b/apps/web-antd/src/views/infra/demo/general/demo03/inner/index.vue index 6ca0d5e3..edc1a9a4 100644 --- a/apps/web-antd/src/views/infra/demo/general/demo03/inner/index.vue +++ b/apps/web-antd/src/views/infra/demo/general/demo03/inner/index.vue @@ -116,7 +116,7 @@ async function onDelete(row: Demo03StudentApi.Demo03Student) { key: 'action_process_msg', }); await getList(); - } catch { + } finally { hideLoading(); } } diff --git a/apps/web-antd/src/views/infra/demo/general/demo03/normal/index.vue b/apps/web-antd/src/views/infra/demo/general/demo03/normal/index.vue index 5b3f1529..1777eec6 100644 --- a/apps/web-antd/src/views/infra/demo/general/demo03/normal/index.vue +++ b/apps/web-antd/src/views/infra/demo/general/demo03/normal/index.vue @@ -110,7 +110,7 @@ async function onDelete(row: Demo03StudentApi.Demo03Student) { key: 'action_process_msg', }); await getList(); - } catch { + } finally { hideLoading(); } } From f03d8fa9ee36dbe72088998630e43cf09cd6052a Mon Sep 17 00:00:00 2001 From: YunaiV Date: Tue, 20 May 2025 21:02:28 +0800 Subject: [PATCH 3/4] =?UTF-8?q?review=EF=BC=9A=E3=80=90ANTD=E3=80=91?= =?UTF-8?q?=E6=89=B9=E9=87=8F=E5=88=A0=E9=99=A4=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/web-antd/src/api/infra/demo/demo01/index.ts | 1 + apps/web-antd/src/hooks/use-table-toolbar.ts | 2 +- apps/web-antd/src/views/infra/demo/demo01/index.vue | 2 ++ apps/web-antd/src/views/infra/demo/demo03/inner/data.ts | 1 - apps/web-antd/src/views/infra/demo/demo03/normal/data.ts | 1 - 5 files changed, 4 insertions(+), 3 deletions(-) diff --git a/apps/web-antd/src/api/infra/demo/demo01/index.ts b/apps/web-antd/src/api/infra/demo/demo01/index.ts index 66b4e94f..d1f646c6 100644 --- a/apps/web-antd/src/api/infra/demo/demo01/index.ts +++ b/apps/web-antd/src/api/infra/demo/demo01/index.ts @@ -47,6 +47,7 @@ export function deleteDemo01Contact(id: number) { } /** 批量删除示例联系人 */ +// TODO @puhui999:ByIds,这种按照约定,是不带的,针对 Id 的情况哈。 export function deleteDemo01ContactListByIds(ids: number[]) { return requestClient.delete( `/infra/demo01-contact/delete-list?ids=${ids.join(',')}`, diff --git a/apps/web-antd/src/hooks/use-table-toolbar.ts b/apps/web-antd/src/hooks/use-table-toolbar.ts index 0eb52e17..c35b3a77 100644 --- a/apps/web-antd/src/hooks/use-table-toolbar.ts +++ b/apps/web-antd/src/hooks/use-table-toolbar.ts @@ -18,7 +18,7 @@ export function useTableToolbar() { const table = tableRef.value; const tableToolbar = tableToolbarRef.value; if (table && tableToolbar) { - // TODO @puhui999:通过 nexttick 可以解决么?试过不得行🤣刚好列表组件出现后延迟一秒挂载很稳 + // 延迟 1 秒,确保 toolbar 组件已经挂载 setTimeout(async () => { const toolbar = tableToolbar.getToolbarRef(); if (!toolbar) { diff --git a/apps/web-antd/src/views/infra/demo/demo01/index.vue b/apps/web-antd/src/views/infra/demo/demo01/index.vue index 3d154e8d..6226f403 100644 --- a/apps/web-antd/src/views/infra/demo/demo01/index.vue +++ b/apps/web-antd/src/views/infra/demo/demo01/index.vue @@ -77,6 +77,8 @@ async function onDeleteBatch() { } } +// TODO @puhui999:方法名,改成 handleRowCheckboxChange;注释:处理选中表格行 +// TODO @puhui999:deleteIds => checkedIds;然后注释去掉? const deleteIds = ref([]); // 待删除示例联系人 ID function setDeleteIds({ records, diff --git a/apps/web-antd/src/views/infra/demo/demo03/inner/data.ts b/apps/web-antd/src/views/infra/demo/demo03/inner/data.ts index 83096f60..54a15423 100644 --- a/apps/web-antd/src/views/infra/demo/demo03/inner/data.ts +++ b/apps/web-antd/src/views/infra/demo/demo03/inner/data.ts @@ -199,7 +199,6 @@ export function useDemo03CourseGridEditColumns( minWidth: 60, align: 'center', fixed: 'right', - showOverflow: false, cellRender: { attrs: { diff --git a/apps/web-antd/src/views/infra/demo/demo03/normal/data.ts b/apps/web-antd/src/views/infra/demo/demo03/normal/data.ts index fe2d4b7e..9d515e49 100644 --- a/apps/web-antd/src/views/infra/demo/demo03/normal/data.ts +++ b/apps/web-antd/src/views/infra/demo/demo03/normal/data.ts @@ -198,7 +198,6 @@ export function useDemo03CourseGridEditColumns( minWidth: 60, align: 'center', fixed: 'right', - showOverflow: false, cellRender: { attrs: { From 5e090fc838d3081118d23b3446a8cab89f214fcb Mon Sep 17 00:00:00 2001 From: xingyu4j Date: Wed, 21 May 2025 14:39:12 +0800 Subject: [PATCH 4/4] feat: deleteBatch --- packages/locales/src/langs/en-US/ui.json | 1 + packages/locales/src/langs/zh-CN/ui.json | 1 + 2 files changed, 2 insertions(+) diff --git a/packages/locales/src/langs/en-US/ui.json b/packages/locales/src/langs/en-US/ui.json index d31366c8..a236d744 100644 --- a/packages/locales/src/langs/en-US/ui.json +++ b/packages/locales/src/langs/en-US/ui.json @@ -16,6 +16,7 @@ "edit": "Modify {0}", "create": "Create {0}", "delete": "Delete {0}", + "deleteBatch": "Delete Batch", "detail": "Detail {0}", "view": "View {0}", "import": "Import", diff --git a/packages/locales/src/langs/zh-CN/ui.json b/packages/locales/src/langs/zh-CN/ui.json index 1927fdfa..d1de301d 100644 --- a/packages/locales/src/langs/zh-CN/ui.json +++ b/packages/locales/src/langs/zh-CN/ui.json @@ -16,6 +16,7 @@ "edit": "修改{0}", "create": "新增{0}", "delete": "删除{0}", + "deleteBatch": "批量删除", "detail": "详情{0}", "view": "查看{0}", "import": "导入",