From b107cd6c6b95576f952c84cc7bef9055c16bde92 Mon Sep 17 00:00:00 2001 From: kadycui Date: Tue, 19 Sep 2023 21:39:18 +0800 Subject: [PATCH] =?UTF-8?q?ADD:=20=E5=B0=81=E8=A3=85=E6=89=B9=E9=87=8F?= =?UTF-8?q?=E5=88=A0=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/composables/useCommon.js | 30 +++++++++++++++++++++++++++++- src/pages/skus/list.vue | 35 +++++------------------------------ 2 files changed, 34 insertions(+), 31 deletions(-) diff --git a/src/composables/useCommon.js b/src/composables/useCommon.js index 826d51e..a028849 100644 --- a/src/composables/useCommon.js +++ b/src/composables/useCommon.js @@ -78,6 +78,31 @@ export function useInitTable(opt = {}) { }) } + // 多选选中ID + const multiSelectionIds = ref([]) + const handleSelectionChange = (e) => { + multiSelectionIds.value = e.map(o => o.id) + } + + // 批量删除 + const multipleTableRef = ref(null) + const handleMultiDelete = () => { + loading.value = true + opt.delete(multiSelectionIds.value) + .then(res => { + toast("删除成功!") + // 清空选中 + if (multipleTableRef.value) { + multipleTableRef.value.clearSelection() + } + getData() + }) + .finally(() => { + loading.value = false + + }) + } + return { searchForm, resetSearchForm, @@ -88,7 +113,10 @@ export function useInitTable(opt = {}) { limit, getData, handleDelete, - handleStatusChange + handleStatusChange, + handleSelectionChange, + multipleTableRef, + handleMultiDelete } diff --git a/src/pages/skus/list.vue b/src/pages/skus/list.vue index 155da31..2b612da 100644 --- a/src/pages/skus/list.vue +++ b/src/pages/skus/list.vue @@ -58,9 +58,6 @@ \ No newline at end of file -- GitLab