commit
						6a069f49cf
					
				|  | @ -47,8 +47,7 @@ export function deleteDemo01Contact(id: number) { | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /** 批量删除示例联系人 */ | /** 批量删除示例联系人 */ | ||||||
| // TODO @puhui999:ByIds,这种按照约定,是不带的,针对 Id 的情况哈。
 | export function deleteDemo01ContactList(ids: number[]) { | ||||||
| export function deleteDemo01ContactListByIds(ids: number[]) { |  | ||||||
|   return requestClient.delete( |   return requestClient.delete( | ||||||
|     `/infra/demo01-contact/delete-list?ids=${ids.join(',')}`, |     `/infra/demo01-contact/delete-list?ids=${ids.join(',')}`, | ||||||
|   ); |   ); | ||||||
|  |  | ||||||
|  | @ -62,7 +62,7 @@ export function deleteDemo03Student(id: number) { | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /** 批量删除学生 */ | /** 批量删除学生 */ | ||||||
| export function deleteDemo03StudentListByIds(ids: number[]) { | export function deleteDemo03StudentList(ids: number[]) { | ||||||
|   return requestClient.delete( |   return requestClient.delete( | ||||||
|     `/infra/demo03-student-erp/delete-list?ids=${ids.join(',')}`, |     `/infra/demo03-student-erp/delete-list?ids=${ids.join(',')}`, | ||||||
|   ); |   ); | ||||||
|  | @ -109,7 +109,7 @@ export function deleteDemo03Course(id: number) { | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /** 批量删除学生课程 */ | /** 批量删除学生课程 */ | ||||||
| export function deleteDemo03CourseListByIds(ids: number[]) { | export function deleteDemo03CourseList(ids: number[]) { | ||||||
|   return requestClient.delete( |   return requestClient.delete( | ||||||
|     `/infra/demo03-student-erp/demo03-course/delete-list?ids=${ids.join(',')}`, |     `/infra/demo03-student-erp/demo03-course/delete-list?ids=${ids.join(',')}`, | ||||||
|   ); |   ); | ||||||
|  | @ -155,7 +155,7 @@ export function deleteDemo03Grade(id: number) { | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /** 批量删除学生班级 */ | /** 批量删除学生班级 */ | ||||||
| export function deleteDemo03GradeListByIds(ids: number[]) { | export function deleteDemo03GradeList(ids: number[]) { | ||||||
|   return requestClient.delete( |   return requestClient.delete( | ||||||
|     `/infra/demo03-student-erp/demo03-grade/delete-list?ids=${ids.join(',')}`, |     `/infra/demo03-student-erp/demo03-grade/delete-list?ids=${ids.join(',')}`, | ||||||
|   ); |   ); | ||||||
|  |  | ||||||
|  | @ -64,7 +64,7 @@ export function deleteDemo03Student(id: number) { | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /** 批量删除学生 */ | /** 批量删除学生 */ | ||||||
| export function deleteDemo03StudentListByIds(ids: number[]) { | export function deleteDemo03StudentList(ids: number[]) { | ||||||
|   return requestClient.delete( |   return requestClient.delete( | ||||||
|     `/infra/demo03-student-inner/delete-list?ids=${ids.join(',')}`, |     `/infra/demo03-student-inner/delete-list?ids=${ids.join(',')}`, | ||||||
|   ); |   ); | ||||||
|  |  | ||||||
|  | @ -64,7 +64,7 @@ export function deleteDemo03Student(id: number) { | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /** 批量删除学生 */ | /** 批量删除学生 */ | ||||||
| export function deleteDemo03StudentListByIds(ids: number[]) { | export function deleteDemo03StudentList(ids: number[]) { | ||||||
|   return requestClient.delete( |   return requestClient.delete( | ||||||
|     `/infra/demo03-student-normal/delete-list?ids=${ids.join(',')}`, |     `/infra/demo03-student-normal/delete-list?ids=${ids.join(',')}`, | ||||||
|   ); |   ); | ||||||
|  |  | ||||||
|  | @ -5,14 +5,14 @@ import type { Demo01ContactApi } from '#/api/infra/demo/demo01'; | ||||||
| import { ref } from 'vue'; | import { ref } from 'vue'; | ||||||
| 
 | 
 | ||||||
| import { Page, useVbenModal } from '@vben/common-ui'; | import { Page, useVbenModal } from '@vben/common-ui'; | ||||||
| import { downloadFileFromBlobPart } from '@vben/utils'; | import { downloadFileFromBlobPart, isEmpty } from '@vben/utils'; | ||||||
| 
 | 
 | ||||||
| import { message } from 'ant-design-vue'; | import { message } from 'ant-design-vue'; | ||||||
| 
 | 
 | ||||||
| import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table'; | import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table'; | ||||||
| import { | import { | ||||||
|   deleteDemo01Contact, |   deleteDemo01Contact, | ||||||
|   deleteDemo01ContactListByIds, |   deleteDemo01ContactList, | ||||||
|   exportDemo01Contact, |   exportDemo01Contact, | ||||||
|   getDemo01ContactPage, |   getDemo01ContactPage, | ||||||
| } from '#/api/infra/demo/demo01'; | } from '#/api/infra/demo/demo01'; | ||||||
|  | @ -65,7 +65,7 @@ async function handleDeleteBatch() { | ||||||
|     key: 'action_process_msg', |     key: 'action_process_msg', | ||||||
|   }); |   }); | ||||||
|   try { |   try { | ||||||
|     await deleteDemo01ContactListByIds(checkedIds.value); |     await deleteDemo01ContactList(checkedIds.value); | ||||||
|     message.success($t('ui.actionMessage.deleteSuccess')); |     message.success($t('ui.actionMessage.deleteSuccess')); | ||||||
|     onRefresh(); |     onRefresh(); | ||||||
|   } finally { |   } finally { | ||||||
|  | @ -73,10 +73,8 @@ async function handleDeleteBatch() { | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // TODO @puhui999:方法名,改成 handleRowCheckboxChange;注释:处理选中表格行 | const checkedIds = ref<number[]>([]); | ||||||
| // TODO @puhui999:deleteIds => checkedIds;然后注释去掉? | function handleRowCheckboxChange({ | ||||||
| const checkedIds = ref<number[]>([]); // 待删除示例联系人 ID |  | ||||||
| function setCheckedIds({ |  | ||||||
|   records, |   records, | ||||||
| }: { | }: { | ||||||
|   records: Demo01ContactApi.Demo01Contact[]; |   records: Demo01ContactApi.Demo01Contact[]; | ||||||
|  | @ -121,8 +119,8 @@ const [Grid, gridApi] = useVbenVxeGrid({ | ||||||
|     }, |     }, | ||||||
|   } as VxeTableGridOptions<Demo01ContactApi.Demo01Contact>, |   } as VxeTableGridOptions<Demo01ContactApi.Demo01Contact>, | ||||||
|   gridEvents: { |   gridEvents: { | ||||||
|     checkboxAll: setCheckedIds, |     checkboxAll: handleRowCheckboxChange, | ||||||
|     checkboxChange: setCheckedIds, |     checkboxChange: handleRowCheckboxChange, | ||||||
|   }, |   }, | ||||||
| }); | }); | ||||||
| </script> | </script> | ||||||
|  | @ -153,6 +151,7 @@ const [Grid, gridApi] = useVbenVxeGrid({ | ||||||
|               label: '批量删除', |               label: '批量删除', | ||||||
|               type: 'primary', |               type: 'primary', | ||||||
|               danger: true, |               danger: true, | ||||||
|  |               disabled: isEmpty(checkedIds), | ||||||
|               icon: ACTION_ICON.DELETE, |               icon: ACTION_ICON.DELETE, | ||||||
|               auth: ['infra:demo01-contact:delete'], |               auth: ['infra:demo01-contact:delete'], | ||||||
|               onClick: handleDeleteBatch, |               onClick: handleDeleteBatch, | ||||||
|  |  | ||||||
|  | @ -16,7 +16,7 @@ import { Button, message, Tabs } from 'ant-design-vue'; | ||||||
| import { useVbenVxeGrid } from '#/adapter/vxe-table'; | import { useVbenVxeGrid } from '#/adapter/vxe-table'; | ||||||
| import { | import { | ||||||
|   deleteDemo03Student, |   deleteDemo03Student, | ||||||
|   deleteDemo03StudentListByIds, |   deleteDemo03StudentList, | ||||||
|   exportDemo03Student, |   exportDemo03Student, | ||||||
|   getDemo03StudentPage, |   getDemo03StudentPage, | ||||||
| } from '#/api/infra/demo/demo03/erp'; | } from '#/api/infra/demo/demo03/erp'; | ||||||
|  | @ -75,7 +75,7 @@ async function onDeleteBatch() { | ||||||
|     key: 'action_process_msg', |     key: 'action_process_msg', | ||||||
|   }); |   }); | ||||||
|   try { |   try { | ||||||
|     await deleteDemo03StudentListByIds(deleteIds.value); |     await deleteDemo03StudentList(checkedIds.value); | ||||||
|     message.success($t('ui.actionMessage.deleteSuccess')); |     message.success($t('ui.actionMessage.deleteSuccess')); | ||||||
|     onRefresh(); |     onRefresh(); | ||||||
|   } finally { |   } finally { | ||||||
|  | @ -83,13 +83,13 @@ async function onDeleteBatch() { | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| const deleteIds = ref<number[]>([]); // 待删除学生 ID | const checkedIds = ref<number[]>([]); | ||||||
| function setDeleteIds({ | function handleRowCheckboxChange({ | ||||||
|   records, |   records, | ||||||
| }: { | }: { | ||||||
|   records: Demo03StudentApi.Demo03Grade[]; |   records: Demo03StudentApi.Demo03Grade[]; | ||||||
| }) { | }) { | ||||||
|   deleteIds.value = records.map((item) => item.id); |   checkedIds.value = records.map((item) => item.id); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /** 导出表格 */ | /** 导出表格 */ | ||||||
|  | @ -150,8 +150,8 @@ const [Grid, gridApi] = useVbenVxeGrid({ | ||||||
|     cellClick: ({ row }: { row: Demo03StudentApi.Demo03Student }) => { |     cellClick: ({ row }: { row: Demo03StudentApi.Demo03Student }) => { | ||||||
|       selectDemo03Student.value = row; |       selectDemo03Student.value = row; | ||||||
|     }, |     }, | ||||||
|     checkboxAll: setDeleteIds, |     checkboxAll: handleRowCheckboxChange, | ||||||
|     checkboxChange: setDeleteIds, |     checkboxChange: handleRowCheckboxChange, | ||||||
|   }, |   }, | ||||||
| }); | }); | ||||||
| </script> | </script> | ||||||
|  | @ -185,7 +185,7 @@ const [Grid, gridApi] = useVbenVxeGrid({ | ||||||
|             type="primary" |             type="primary" | ||||||
|             danger |             danger | ||||||
|             class="ml-2" |             class="ml-2" | ||||||
|             :disabled="isEmpty(deleteIds)" |             :disabled="isEmpty(checkedIds)" | ||||||
|             @click="onDeleteBatch" |             @click="onDeleteBatch" | ||||||
|             v-access:code="['infra:demo03-student:delete']" |             v-access:code="['infra:demo03-student:delete']" | ||||||
|           > |           > | ||||||
|  |  | ||||||
|  | @ -16,7 +16,7 @@ import { Button, message } from 'ant-design-vue'; | ||||||
| import { useVbenVxeGrid } from '#/adapter/vxe-table'; | import { useVbenVxeGrid } from '#/adapter/vxe-table'; | ||||||
| import { | import { | ||||||
|   deleteDemo03Course, |   deleteDemo03Course, | ||||||
|   deleteDemo03CourseListByIds, |   deleteDemo03CourseList, | ||||||
|   getDemo03CoursePage, |   getDemo03CoursePage, | ||||||
| } from '#/api/infra/demo/demo03/erp'; | } from '#/api/infra/demo/demo03/erp'; | ||||||
| import { $t } from '#/locales'; | import { $t } from '#/locales'; | ||||||
|  | @ -74,7 +74,7 @@ async function onDeleteBatch() { | ||||||
|     key: 'action_process_msg', |     key: 'action_process_msg', | ||||||
|   }); |   }); | ||||||
|   try { |   try { | ||||||
|     await deleteDemo03CourseListByIds(deleteIds.value); |     await deleteDemo03CourseList(checkedIds.value); | ||||||
|     message.success($t('ui.actionMessage.deleteSuccess')); |     message.success($t('ui.actionMessage.deleteSuccess')); | ||||||
|     onRefresh(); |     onRefresh(); | ||||||
|   } finally { |   } finally { | ||||||
|  | @ -82,13 +82,13 @@ async function onDeleteBatch() { | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| const deleteIds = ref<number[]>([]); // 待删除学生课程 ID | const checkedIds = ref<number[]>([]); | ||||||
| function setDeleteIds({ | function handleRowCheckboxChange({ | ||||||
|   records, |   records, | ||||||
| }: { | }: { | ||||||
|   records: Demo03StudentApi.Demo03Course[]; |   records: Demo03StudentApi.Demo03Course[]; | ||||||
| }) { | }) { | ||||||
|   deleteIds.value = records.map((item) => item.id); |   checkedIds.value = records.map((item) => item.id); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /** 表格操作按钮的回调函数 */ | /** 表格操作按钮的回调函数 */ | ||||||
|  | @ -143,8 +143,8 @@ const [Grid, gridApi] = useVbenVxeGrid({ | ||||||
|     }, |     }, | ||||||
|   } as VxeTableGridOptions<Demo03StudentApi.Demo03Course>, |   } as VxeTableGridOptions<Demo03StudentApi.Demo03Course>, | ||||||
|   gridEvents: { |   gridEvents: { | ||||||
|     checkboxAll: setDeleteIds, |     checkboxAll: handleRowCheckboxChange, | ||||||
|     checkboxChange: setDeleteIds, |     checkboxChange: handleRowCheckboxChange, | ||||||
|   }, |   }, | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
|  | @ -184,7 +184,7 @@ watch( | ||||||
|         type="primary" |         type="primary" | ||||||
|         danger |         danger | ||||||
|         class="ml-2" |         class="ml-2" | ||||||
|         :disabled="isEmpty(deleteIds)" |         :disabled="isEmpty(checkedIds)" | ||||||
|         @click="onDeleteBatch" |         @click="onDeleteBatch" | ||||||
|         v-access:code="['infra:demo03-student:delete']" |         v-access:code="['infra:demo03-student:delete']" | ||||||
|       > |       > | ||||||
|  |  | ||||||
|  | @ -16,7 +16,7 @@ import { Button, message } from 'ant-design-vue'; | ||||||
| import { useVbenVxeGrid } from '#/adapter/vxe-table'; | import { useVbenVxeGrid } from '#/adapter/vxe-table'; | ||||||
| import { | import { | ||||||
|   deleteDemo03Grade, |   deleteDemo03Grade, | ||||||
|   deleteDemo03GradeListByIds, |   deleteDemo03GradeList, | ||||||
|   getDemo03GradePage, |   getDemo03GradePage, | ||||||
| } from '#/api/infra/demo/demo03/erp'; | } from '#/api/infra/demo/demo03/erp'; | ||||||
| import { $t } from '#/locales'; | import { $t } from '#/locales'; | ||||||
|  | @ -74,7 +74,7 @@ async function onDeleteBatch() { | ||||||
|     key: 'action_process_msg', |     key: 'action_process_msg', | ||||||
|   }); |   }); | ||||||
|   try { |   try { | ||||||
|     await deleteDemo03GradeListByIds(deleteIds.value); |     await deleteDemo03GradeList(checkedIds.value); | ||||||
|     message.success($t('ui.actionMessage.deleteSuccess')); |     message.success($t('ui.actionMessage.deleteSuccess')); | ||||||
|     onRefresh(); |     onRefresh(); | ||||||
|   } finally { |   } finally { | ||||||
|  | @ -82,13 +82,13 @@ async function onDeleteBatch() { | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| const deleteIds = ref<number[]>([]); // 待删除学生班级 ID | const checkedIds = ref<number[]>([]); | ||||||
| function setDeleteIds({ | function handleRowCheckboxChange({ | ||||||
|   records, |   records, | ||||||
| }: { | }: { | ||||||
|   records: Demo03StudentApi.Demo03Grade[]; |   records: Demo03StudentApi.Demo03Grade[]; | ||||||
| }) { | }) { | ||||||
|   deleteIds.value = records.map((item) => item.id); |   checkedIds.value = records.map((item) => item.id); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /** 表格操作按钮的回调函数 */ | /** 表格操作按钮的回调函数 */ | ||||||
|  | @ -143,8 +143,8 @@ const [Grid, gridApi] = useVbenVxeGrid({ | ||||||
|     }, |     }, | ||||||
|   } as VxeTableGridOptions<Demo03StudentApi.Demo03Grade>, |   } as VxeTableGridOptions<Demo03StudentApi.Demo03Grade>, | ||||||
|   gridEvents: { |   gridEvents: { | ||||||
|     checkboxAll: setDeleteIds, |     checkboxAll: handleRowCheckboxChange, | ||||||
|     checkboxChange: setDeleteIds, |     checkboxChange: handleRowCheckboxChange, | ||||||
|   }, |   }, | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
|  | @ -184,7 +184,7 @@ watch( | ||||||
|         type="primary" |         type="primary" | ||||||
|         danger |         danger | ||||||
|         class="ml-2" |         class="ml-2" | ||||||
|         :disabled="isEmpty(deleteIds)" |         :disabled="isEmpty(checkedIds)" | ||||||
|         @click="onDeleteBatch" |         @click="onDeleteBatch" | ||||||
|         v-access:code="['infra:demo03-student:delete']" |         v-access:code="['infra:demo03-student:delete']" | ||||||
|       > |       > | ||||||
|  |  | ||||||
|  | @ -16,7 +16,7 @@ import { Button, message, Tabs } from 'ant-design-vue'; | ||||||
| import { useVbenVxeGrid } from '#/adapter/vxe-table'; | import { useVbenVxeGrid } from '#/adapter/vxe-table'; | ||||||
| import { | import { | ||||||
|   deleteDemo03Student, |   deleteDemo03Student, | ||||||
|   deleteDemo03StudentListByIds, |   deleteDemo03StudentList, | ||||||
|   exportDemo03Student, |   exportDemo03Student, | ||||||
|   getDemo03StudentPage, |   getDemo03StudentPage, | ||||||
| } from '#/api/infra/demo/demo03/inner'; | } from '#/api/infra/demo/demo03/inner'; | ||||||
|  | @ -74,7 +74,7 @@ async function onDeleteBatch() { | ||||||
|     key: 'action_process_msg', |     key: 'action_process_msg', | ||||||
|   }); |   }); | ||||||
|   try { |   try { | ||||||
|     await deleteDemo03StudentListByIds(deleteIds.value); |     await deleteDemo03StudentList(checkedIds.value); | ||||||
|     message.success($t('ui.actionMessage.deleteSuccess')); |     message.success($t('ui.actionMessage.deleteSuccess')); | ||||||
|     onRefresh(); |     onRefresh(); | ||||||
|   } finally { |   } finally { | ||||||
|  | @ -82,13 +82,13 @@ async function onDeleteBatch() { | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| const deleteIds = ref<number[]>([]); // 待删除学生 ID | const checkedIds = ref<number[]>([]); | ||||||
| function setDeleteIds({ | function handleRowCheckboxChange({ | ||||||
|   records, |   records, | ||||||
| }: { | }: { | ||||||
|   records: Demo03StudentApi.Demo03Student[]; |   records: Demo03StudentApi.Demo03Student[]; | ||||||
| }) { | }) { | ||||||
|   deleteIds.value = records.map((item) => item.id); |   checkedIds.value = records.map((item) => item.id); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /** 导出表格 */ | /** 导出表格 */ | ||||||
|  | @ -145,8 +145,8 @@ const [Grid, gridApi] = useVbenVxeGrid({ | ||||||
|     }, |     }, | ||||||
|   } as VxeTableGridOptions<Demo03StudentApi.Demo03Student>, |   } as VxeTableGridOptions<Demo03StudentApi.Demo03Student>, | ||||||
|   gridEvents: { |   gridEvents: { | ||||||
|     checkboxAll: setDeleteIds, |     checkboxAll: handleRowCheckboxChange, | ||||||
|     checkboxChange: setDeleteIds, |     checkboxChange: handleRowCheckboxChange, | ||||||
|   }, |   }, | ||||||
| }); | }); | ||||||
| </script> | </script> | ||||||
|  | @ -190,7 +190,7 @@ const [Grid, gridApi] = useVbenVxeGrid({ | ||||||
|           type="primary" |           type="primary" | ||||||
|           danger |           danger | ||||||
|           class="ml-2" |           class="ml-2" | ||||||
|           :disabled="isEmpty(deleteIds)" |           :disabled="isEmpty(checkedIds)" | ||||||
|           @click="onDeleteBatch" |           @click="onDeleteBatch" | ||||||
|           v-access:code="['infra:demo03-student:delete']" |           v-access:code="['infra:demo03-student:delete']" | ||||||
|         > |         > | ||||||
|  |  | ||||||
|  | @ -16,7 +16,7 @@ import { Button, message } from 'ant-design-vue'; | ||||||
| import { useVbenVxeGrid } from '#/adapter/vxe-table'; | import { useVbenVxeGrid } from '#/adapter/vxe-table'; | ||||||
| import { | import { | ||||||
|   deleteDemo03Student, |   deleteDemo03Student, | ||||||
|   deleteDemo03StudentListByIds, |   deleteDemo03StudentList, | ||||||
|   exportDemo03Student, |   exportDemo03Student, | ||||||
|   getDemo03StudentPage, |   getDemo03StudentPage, | ||||||
| } from '#/api/infra/demo/demo03/normal'; | } from '#/api/infra/demo/demo03/normal'; | ||||||
|  | @ -61,13 +61,13 @@ async function onDelete(row: Demo03StudentApi.Demo03Student) { | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| const deleteIds = ref<number[]>([]); // 待删除学生 ID | const checkedIds = ref<number[]>([]); | ||||||
| function setDeleteIds({ | function handleRowCheckboxChange({ | ||||||
|   records, |   records, | ||||||
| }: { | }: { | ||||||
|   records: Demo03StudentApi.Demo03Student[]; |   records: Demo03StudentApi.Demo03Student[]; | ||||||
| }) { | }) { | ||||||
|   deleteIds.value = records.map((item) => item.id); |   checkedIds.value = records.map((item) => item.id); | ||||||
| } | } | ||||||
| /** 批量删除学生 */ | /** 批量删除学生 */ | ||||||
| async function onDeleteBatch() { | async function onDeleteBatch() { | ||||||
|  | @ -77,7 +77,7 @@ async function onDeleteBatch() { | ||||||
|     key: 'action_process_msg', |     key: 'action_process_msg', | ||||||
|   }); |   }); | ||||||
|   try { |   try { | ||||||
|     await deleteDemo03StudentListByIds(deleteIds.value); |     await deleteDemo03StudentList(checkedIds.value); | ||||||
|     message.success($t('ui.actionMessage.deleteSuccess')); |     message.success($t('ui.actionMessage.deleteSuccess')); | ||||||
|     onRefresh(); |     onRefresh(); | ||||||
|   } finally { |   } finally { | ||||||
|  | @ -139,8 +139,8 @@ const [Grid, gridApi] = useVbenVxeGrid({ | ||||||
|     }, |     }, | ||||||
|   } as VxeTableGridOptions<Demo03StudentApi.Demo03Student>, |   } as VxeTableGridOptions<Demo03StudentApi.Demo03Student>, | ||||||
|   gridEvents: { |   gridEvents: { | ||||||
|     checkboxAll: setDeleteIds, |     checkboxAll: handleRowCheckboxChange, | ||||||
|     checkboxChange: setDeleteIds, |     checkboxChange: handleRowCheckboxChange, | ||||||
|   }, |   }, | ||||||
| }); | }); | ||||||
| </script> | </script> | ||||||
|  | @ -173,7 +173,7 @@ const [Grid, gridApi] = useVbenVxeGrid({ | ||||||
|           type="primary" |           type="primary" | ||||||
|           danger |           danger | ||||||
|           class="ml-2" |           class="ml-2" | ||||||
|           :disabled="isEmpty(deleteIds)" |           :disabled="isEmpty(checkedIds)" | ||||||
|           @click="onDeleteBatch" |           @click="onDeleteBatch" | ||||||
|           v-access:code="['infra:demo03-student:delete']" |           v-access:code="['infra:demo03-student:delete']" | ||||||
|         > |         > | ||||||
|  |  | ||||||
|  | @ -25,7 +25,7 @@ import { | ||||||
| import { VxeColumn, VxeTable } from '#/adapter/vxe-table'; | import { VxeColumn, VxeTable } from '#/adapter/vxe-table'; | ||||||
| import { | import { | ||||||
|   deleteDemo01Contact, |   deleteDemo01Contact, | ||||||
|   deleteDemo01ContactListByIds, |   deleteDemo01ContactList, | ||||||
|   exportDemo01Contact, |   exportDemo01Contact, | ||||||
|   getDemo01ContactPage, |   getDemo01ContactPage, | ||||||
| } from '#/api/infra/demo/demo01'; | } from '#/api/infra/demo/demo01'; | ||||||
|  | @ -122,7 +122,7 @@ async function onDeleteBatch() { | ||||||
|     key: 'action_process_msg', |     key: 'action_process_msg', | ||||||
|   }); |   }); | ||||||
|   try { |   try { | ||||||
|     await deleteDemo01ContactListByIds(deleteIds.value); |     await deleteDemo01ContactList(checkedIds.value); | ||||||
|     message.success($t('ui.actionMessage.deleteSuccess')); |     message.success($t('ui.actionMessage.deleteSuccess')); | ||||||
|     await getList(); |     await getList(); | ||||||
|   } finally { |   } finally { | ||||||
|  | @ -130,13 +130,13 @@ async function onDeleteBatch() { | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| const deleteIds = ref<number[]>([]); // 待删除示例联系人 ID | const checkedIds = ref<number[]>([]); | ||||||
| function setDeleteIds({ | function handleRowCheckboxChange({ | ||||||
|   records, |   records, | ||||||
| }: { | }: { | ||||||
|   records: Demo01ContactApi.Demo01Contact[]; |   records: Demo01ContactApi.Demo01Contact[]; | ||||||
| }) { | }) { | ||||||
|   deleteIds.value = records.map((item) => item.id); |   checkedIds.value = records.map((item) => item.id); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /** 导出表格 */ | /** 导出表格 */ | ||||||
|  | @ -241,7 +241,7 @@ onMounted(() => { | ||||||
|             type="primary" |             type="primary" | ||||||
|             danger |             danger | ||||||
|             class="ml-2" |             class="ml-2" | ||||||
|             :disabled="isEmpty(deleteIds)" |             :disabled="isEmpty(checkedIds)" | ||||||
|             @click="onDeleteBatch" |             @click="onDeleteBatch" | ||||||
|             v-access:code="['infra:demo01-contact:delete']" |             v-access:code="['infra:demo01-contact:delete']" | ||||||
|           > |           > | ||||||
|  | @ -254,8 +254,8 @@ onMounted(() => { | ||||||
|         :data="list" |         :data="list" | ||||||
|         show-overflow |         show-overflow | ||||||
|         :loading="loading" |         :loading="loading" | ||||||
|         @checkbox-all="setDeleteIds" |         @checkbox-all="handleRowCheckboxChange" | ||||||
|         @checkbox-change="setDeleteIds" |         @checkbox-change="handleRowCheckboxChange" | ||||||
|       > |       > | ||||||
|         <VxeColumn type="checkbox" width="40" /> |         <VxeColumn type="checkbox" width="40" /> | ||||||
|         <VxeColumn field="id" title="编号" align="center" /> |         <VxeColumn field="id" title="编号" align="center" /> | ||||||
|  |  | ||||||
|  | @ -26,7 +26,7 @@ import { | ||||||
| import { VxeColumn, VxeTable } from '#/adapter/vxe-table'; | import { VxeColumn, VxeTable } from '#/adapter/vxe-table'; | ||||||
| import { | import { | ||||||
|   deleteDemo03Student, |   deleteDemo03Student, | ||||||
|   deleteDemo03StudentListByIds, |   deleteDemo03StudentList, | ||||||
|   exportDemo03Student, |   exportDemo03Student, | ||||||
|   getDemo03StudentPage, |   getDemo03StudentPage, | ||||||
| } from '#/api/infra/demo/demo03/erp'; | } from '#/api/infra/demo/demo03/erp'; | ||||||
|  | @ -133,7 +133,7 @@ async function onDeleteBatch() { | ||||||
|     key: 'action_process_msg', |     key: 'action_process_msg', | ||||||
|   }); |   }); | ||||||
|   try { |   try { | ||||||
|     await deleteDemo03StudentListByIds(deleteIds.value); |     await deleteDemo03StudentList(checkedIds.value); | ||||||
|     message.success($t('ui.actionMessage.deleteSuccess')); |     message.success($t('ui.actionMessage.deleteSuccess')); | ||||||
|     await getList(); |     await getList(); | ||||||
|   } finally { |   } finally { | ||||||
|  | @ -141,13 +141,13 @@ async function onDeleteBatch() { | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| const deleteIds = ref<number[]>([]); // 待删除学生 ID | const checkedIds = ref<number[]>([]); | ||||||
| function setDeleteIds({ | function handleRowCheckboxChange({ | ||||||
|   records, |   records, | ||||||
| }: { | }: { | ||||||
|   records: Demo03StudentApi.Demo03Student[]; |   records: Demo03StudentApi.Demo03Student[]; | ||||||
| }) { | }) { | ||||||
|   deleteIds.value = records.map((item) => item.id); |   checkedIds.value = records.map((item) => item.id); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /** 导出表格 */ | /** 导出表格 */ | ||||||
|  | @ -250,7 +250,7 @@ onMounted(() => { | ||||||
|             type="primary" |             type="primary" | ||||||
|             danger |             danger | ||||||
|             class="ml-2" |             class="ml-2" | ||||||
|             :disabled="isEmpty(deleteIds)" |             :disabled="isEmpty(checkedIds)" | ||||||
|             @click="onDeleteBatch" |             @click="onDeleteBatch" | ||||||
|             v-access:code="['infra:demo03-student:delete']" |             v-access:code="['infra:demo03-student:delete']" | ||||||
|           > |           > | ||||||
|  | @ -269,8 +269,8 @@ onMounted(() => { | ||||||
|         }" |         }" | ||||||
|         show-overflow |         show-overflow | ||||||
|         :loading="loading" |         :loading="loading" | ||||||
|         @checkbox-all="setDeleteIds" |         @checkbox-all="handleRowCheckboxChange" | ||||||
|         @checkbox-change="setDeleteIds" |         @checkbox-change="handleRowCheckboxChange" | ||||||
|       > |       > | ||||||
|         <VxeColumn type="checkbox" width="40" /> |         <VxeColumn type="checkbox" width="40" /> | ||||||
|         <VxeColumn field="id" title="编号" align="center" /> |         <VxeColumn field="id" title="编号" align="center" /> | ||||||
|  |  | ||||||
|  | @ -19,7 +19,7 @@ import { | ||||||
| import { VxeColumn, VxeTable } from '#/adapter/vxe-table'; | import { VxeColumn, VxeTable } from '#/adapter/vxe-table'; | ||||||
| import { | import { | ||||||
|   deleteDemo03Course, |   deleteDemo03Course, | ||||||
|   deleteDemo03CourseListByIds, |   deleteDemo03CourseList, | ||||||
|   getDemo03CoursePage, |   getDemo03CoursePage, | ||||||
| } from '#/api/infra/demo/demo03/erp'; | } from '#/api/infra/demo/demo03/erp'; | ||||||
| import { ContentWrap } from '#/components/content-wrap'; | import { ContentWrap } from '#/components/content-wrap'; | ||||||
|  | @ -80,7 +80,7 @@ async function onDeleteBatch() { | ||||||
|     key: 'action_process_msg', |     key: 'action_process_msg', | ||||||
|   }); |   }); | ||||||
|   try { |   try { | ||||||
|     await deleteDemo03CourseListByIds(deleteIds.value); |     await deleteDemo03CourseList(checkedIds.value); | ||||||
|     message.success($t('ui.actionMessage.deleteSuccess')); |     message.success($t('ui.actionMessage.deleteSuccess')); | ||||||
|     await getList(); |     await getList(); | ||||||
|   } finally { |   } finally { | ||||||
|  | @ -88,13 +88,13 @@ async function onDeleteBatch() { | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| const deleteIds = ref<number[]>([]); // 待删除学生课程 ID | const checkedIds = ref<number[]>([]); | ||||||
| function setDeleteIds({ | function handleRowCheckboxChange({ | ||||||
|   records, |   records, | ||||||
| }: { | }: { | ||||||
|   records: Demo03StudentApi.Demo03Course[]; |   records: Demo03StudentApi.Demo03Course[]; | ||||||
| }) { | }) { | ||||||
|   deleteIds.value = records.map((item) => item.id); |   checkedIds.value = records.map((item) => item.id); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| const loading = ref(true); // 列表的加载中 | const loading = ref(true); // 列表的加载中 | ||||||
|  | @ -231,7 +231,7 @@ onMounted(() => { | ||||||
|             type="primary" |             type="primary" | ||||||
|             danger |             danger | ||||||
|             class="ml-2" |             class="ml-2" | ||||||
|             :disabled="isEmpty(deleteIds)" |             :disabled="isEmpty(checkedIds)" | ||||||
|             @click="onDeleteBatch" |             @click="onDeleteBatch" | ||||||
|             v-access:code="['infra:demo03-student:delete']" |             v-access:code="['infra:demo03-student:delete']" | ||||||
|           > |           > | ||||||
|  | @ -244,8 +244,8 @@ onMounted(() => { | ||||||
|         :data="list" |         :data="list" | ||||||
|         show-overflow |         show-overflow | ||||||
|         :loading="loading" |         :loading="loading" | ||||||
|         @checkbox-all="setDeleteIds" |         @checkbox-all="handleRowCheckboxChange" | ||||||
|         @checkbox-change="setDeleteIds" |         @checkbox-change="handleRowCheckboxChange" | ||||||
|       > |       > | ||||||
|         <VxeColumn type="checkbox" width="40" /> |         <VxeColumn type="checkbox" width="40" /> | ||||||
|         <VxeColumn field="id" title="编号" align="center" /> |         <VxeColumn field="id" title="编号" align="center" /> | ||||||
|  |  | ||||||
|  | @ -19,7 +19,7 @@ import { | ||||||
| import { VxeColumn, VxeTable } from '#/adapter/vxe-table'; | import { VxeColumn, VxeTable } from '#/adapter/vxe-table'; | ||||||
| import { | import { | ||||||
|   deleteDemo03Grade, |   deleteDemo03Grade, | ||||||
|   deleteDemo03GradeListByIds, |   deleteDemo03GradeList, | ||||||
|   getDemo03GradePage, |   getDemo03GradePage, | ||||||
| } from '#/api/infra/demo/demo03/erp'; | } from '#/api/infra/demo/demo03/erp'; | ||||||
| import { ContentWrap } from '#/components/content-wrap'; | import { ContentWrap } from '#/components/content-wrap'; | ||||||
|  | @ -80,7 +80,7 @@ async function onDeleteBatch() { | ||||||
|     key: 'action_process_msg', |     key: 'action_process_msg', | ||||||
|   }); |   }); | ||||||
|   try { |   try { | ||||||
|     await deleteDemo03GradeListByIds(deleteIds.value); |     await deleteDemo03GradeList(checkedIds.value); | ||||||
|     message.success($t('ui.actionMessage.deleteSuccess')); |     message.success($t('ui.actionMessage.deleteSuccess')); | ||||||
|     await getList(); |     await getList(); | ||||||
|   } finally { |   } finally { | ||||||
|  | @ -88,13 +88,13 @@ async function onDeleteBatch() { | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| const deleteIds = ref<number[]>([]); // 待删除学生班级 ID | const checkedIds = ref<number[]>([]); | ||||||
| function setDeleteIds({ | function handleRowCheckboxChange({ | ||||||
|   records, |   records, | ||||||
| }: { | }: { | ||||||
|   records: Demo03StudentApi.Demo03Grade[]; |   records: Demo03StudentApi.Demo03Grade[]; | ||||||
| }) { | }) { | ||||||
|   deleteIds.value = records.map((item) => item.id); |   checkedIds.value = records.map((item) => item.id); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| const loading = ref(true); // 列表的加载中 | const loading = ref(true); // 列表的加载中 | ||||||
|  | @ -231,7 +231,7 @@ onMounted(() => { | ||||||
|             type="primary" |             type="primary" | ||||||
|             danger |             danger | ||||||
|             class="ml-2" |             class="ml-2" | ||||||
|             :disabled="isEmpty(deleteIds)" |             :disabled="isEmpty(checkedIds)" | ||||||
|             @click="onDeleteBatch" |             @click="onDeleteBatch" | ||||||
|             v-access:code="['infra:demo03-student:delete']" |             v-access:code="['infra:demo03-student:delete']" | ||||||
|           > |           > | ||||||
|  | @ -244,8 +244,8 @@ onMounted(() => { | ||||||
|         :data="list" |         :data="list" | ||||||
|         show-overflow |         show-overflow | ||||||
|         :loading="loading" |         :loading="loading" | ||||||
|         @checkbox-all="setDeleteIds" |         @checkbox-all="handleRowCheckboxChange" | ||||||
|         @checkbox-change="setDeleteIds" |         @checkbox-change="handleRowCheckboxChange" | ||||||
|       > |       > | ||||||
|         <VxeColumn type="checkbox" width="40" /> |         <VxeColumn type="checkbox" width="40" /> | ||||||
|         <VxeColumn field="id" title="编号" align="center" /> |         <VxeColumn field="id" title="编号" align="center" /> | ||||||
|  |  | ||||||
|  | @ -26,7 +26,7 @@ import { | ||||||
| import { VxeColumn, VxeTable } from '#/adapter/vxe-table'; | import { VxeColumn, VxeTable } from '#/adapter/vxe-table'; | ||||||
| import { | import { | ||||||
|   deleteDemo03Student, |   deleteDemo03Student, | ||||||
|   deleteDemo03StudentListByIds, |   deleteDemo03StudentList, | ||||||
|   exportDemo03Student, |   exportDemo03Student, | ||||||
|   getDemo03StudentPage, |   getDemo03StudentPage, | ||||||
| } from '#/api/infra/demo/demo03/normal'; | } from '#/api/infra/demo/demo03/normal'; | ||||||
|  | @ -129,7 +129,7 @@ async function onDeleteBatch() { | ||||||
|     key: 'action_process_msg', |     key: 'action_process_msg', | ||||||
|   }); |   }); | ||||||
|   try { |   try { | ||||||
|     await deleteDemo03StudentListByIds(deleteIds.value); |     await deleteDemo03StudentList(checkedIds.value); | ||||||
|     message.success($t('ui.actionMessage.deleteSuccess')); |     message.success($t('ui.actionMessage.deleteSuccess')); | ||||||
|     await getList(); |     await getList(); | ||||||
|   } finally { |   } finally { | ||||||
|  | @ -137,13 +137,13 @@ async function onDeleteBatch() { | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| const deleteIds = ref<number[]>([]); // 待删除学生 ID | const checkedIds = ref<number[]>([]); | ||||||
| function setDeleteIds({ | function handleRowCheckboxChange({ | ||||||
|   records, |   records, | ||||||
| }: { | }: { | ||||||
|   records: Demo03StudentApi.Demo03Student[]; |   records: Demo03StudentApi.Demo03Student[]; | ||||||
| }) { | }) { | ||||||
|   deleteIds.value = records.map((item) => item.id); |   checkedIds.value = records.map((item) => item.id); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /** 导出表格 */ | /** 导出表格 */ | ||||||
|  | @ -246,7 +246,7 @@ onMounted(() => { | ||||||
|             type="primary" |             type="primary" | ||||||
|             danger |             danger | ||||||
|             class="ml-2" |             class="ml-2" | ||||||
|             :disabled="isEmpty(deleteIds)" |             :disabled="isEmpty(checkedIds)" | ||||||
|             @click="onDeleteBatch" |             @click="onDeleteBatch" | ||||||
|             v-access:code="['infra:demo03-student:delete']" |             v-access:code="['infra:demo03-student:delete']" | ||||||
|           > |           > | ||||||
|  | @ -259,8 +259,8 @@ onMounted(() => { | ||||||
|         :data="list" |         :data="list" | ||||||
|         show-overflow |         show-overflow | ||||||
|         :loading="loading" |         :loading="loading" | ||||||
|         @checkbox-all="setDeleteIds" |         @checkbox-all="handleRowCheckboxChange" | ||||||
|         @checkbox-change="setDeleteIds" |         @checkbox-change="handleRowCheckboxChange" | ||||||
|       > |       > | ||||||
|         <VxeColumn type="checkbox" width="40" /> |         <VxeColumn type="checkbox" width="40" /> | ||||||
|         <!-- 子表的列表 --> |         <!-- 子表的列表 --> | ||||||
|  |  | ||||||
|  | @ -25,7 +25,7 @@ import { | ||||||
| import { VxeColumn, VxeTable } from '#/adapter/vxe-table'; | import { VxeColumn, VxeTable } from '#/adapter/vxe-table'; | ||||||
| import { | import { | ||||||
|   deleteDemo03Student, |   deleteDemo03Student, | ||||||
|   deleteDemo03StudentListByIds, |   deleteDemo03StudentList, | ||||||
|   exportDemo03Student, |   exportDemo03Student, | ||||||
|   getDemo03StudentPage, |   getDemo03StudentPage, | ||||||
| } from '#/api/infra/demo/demo03/normal'; | } from '#/api/infra/demo/demo03/normal'; | ||||||
|  | @ -123,7 +123,7 @@ async function onDeleteBatch() { | ||||||
|     key: 'action_process_msg', |     key: 'action_process_msg', | ||||||
|   }); |   }); | ||||||
|   try { |   try { | ||||||
|     await deleteDemo03StudentListByIds(deleteIds.value); |     await deleteDemo03StudentList(checkedIds.value); | ||||||
|     message.success($t('ui.actionMessage.deleteSuccess')); |     message.success($t('ui.actionMessage.deleteSuccess')); | ||||||
|     await getList(); |     await getList(); | ||||||
|   } finally { |   } finally { | ||||||
|  | @ -131,13 +131,13 @@ async function onDeleteBatch() { | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| const deleteIds = ref<number[]>([]); // 待删除学生 ID | const checkedIds = ref<number[]>([]); | ||||||
| function setDeleteIds({ | function handleRowCheckboxChange({ | ||||||
|   records, |   records, | ||||||
| }: { | }: { | ||||||
|   records: Demo03StudentApi.Demo03Student[]; |   records: Demo03StudentApi.Demo03Student[]; | ||||||
| }) { | }) { | ||||||
|   deleteIds.value = records.map((item) => item.id); |   checkedIds.value = records.map((item) => item.id); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /** 导出表格 */ | /** 导出表格 */ | ||||||
|  | @ -240,7 +240,7 @@ onMounted(() => { | ||||||
|             type="primary" |             type="primary" | ||||||
|             danger |             danger | ||||||
|             class="ml-2" |             class="ml-2" | ||||||
|             :disabled="isEmpty(deleteIds)" |             :disabled="isEmpty(checkedIds)" | ||||||
|             @click="onDeleteBatch" |             @click="onDeleteBatch" | ||||||
|             v-access:code="['infra:demo03-student:delete']" |             v-access:code="['infra:demo03-student:delete']" | ||||||
|           > |           > | ||||||
|  | @ -253,8 +253,8 @@ onMounted(() => { | ||||||
|         :data="list" |         :data="list" | ||||||
|         show-overflow |         show-overflow | ||||||
|         :loading="loading" |         :loading="loading" | ||||||
|         @checkbox-all="setDeleteIds" |         @checkbox-all="handleRowCheckboxChange" | ||||||
|         @checkbox-change="setDeleteIds" |         @checkbox-change="handleRowCheckboxChange" | ||||||
|       > |       > | ||||||
|         <VxeColumn type="checkbox" width="40" /> |         <VxeColumn type="checkbox" width="40" /> | ||||||
|         <VxeColumn field="id" title="编号" align="center" /> |         <VxeColumn field="id" title="编号" align="center" /> | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	 xingyu
						xingyu