From cc4b6121ca50357c1d9a400cf154382511ebdfd3 Mon Sep 17 00:00:00 2001 From: xlsea Date: Tue, 9 Jul 2024 10:53:47 +0800 Subject: [PATCH] =?UTF-8?q?feat(sj=5F1.1.0-beta3):=20=E5=91=8A=E8=AD=A6?= =?UTF-8?q?=E9=80=9A=E7=9F=A5=E4=B8=8E=E7=94=A8=E6=88=B7=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=88=A0=E9=99=A4=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/service/api/job-batch.ts | 5 ++-- src/service/api/retry-scene.ts | 18 ++++++++++++++ src/service/api/user.ts | 9 +++++++ src/views/retry/log/index.vue | 2 +- src/views/retry/scene/index.vue | 41 ++++++++++++++++++++++++++------ src/views/retry/task/index.vue | 4 ++-- src/views/user/manager/index.vue | 23 +++++++++++------- 7 files changed, 82 insertions(+), 20 deletions(-) diff --git a/src/service/api/job-batch.ts b/src/service/api/job-batch.ts index 36ea90f..674ef51 100644 --- a/src/service/api/job-batch.ts +++ b/src/service/api/job-batch.ts @@ -35,8 +35,9 @@ export function fetchJobBatchRetry(jobId: string) { /** delete job */ export function fetchDeleteJobBatch(id: string) { return request({ - url: `/job/batch/${id}`, - method: 'delete' + url: `/job/batch/ids`, + method: 'delete', + data: [id] }); } diff --git a/src/service/api/retry-scene.ts b/src/service/api/retry-scene.ts index c956150..9c5de8a 100644 --- a/src/service/api/retry-scene.ts +++ b/src/service/api/retry-scene.ts @@ -43,3 +43,21 @@ export function fetchUpdateSceneStatus(id: string, status: Api.Common.EnableStat method: 'put' }); } + +/** delete retry scene status */ +export function fetchDeleteRetryScene(id: string) { + return request({ + url: '/scene-config/ids', + method: 'delete', + data: [id] + }); +} + +/** batch delete retry scene status */ +export function fetchBatchDeleteRetryScene(data: string[]) { + return request({ + url: '/scene-config/ids', + method: 'delete', + data + }); +} diff --git a/src/service/api/user.ts b/src/service/api/user.ts index 296c0de..7b7695b 100644 --- a/src/service/api/user.ts +++ b/src/service/api/user.ts @@ -35,6 +35,15 @@ export function fetchDelUser(id: number) { }); } +/** batch delete user */ +export function fetchBatchDelteUser(data: string[]) { + return request({ + url: `/user/ids`, + method: 'delete', + data + }); +} + /** update user password */ export function fetchUpdateUserPassword(data: Api.UserManager.UpdateUserPassword) { return request({ diff --git a/src/views/retry/log/index.vue b/src/views/retry/log/index.vue index 0d375af..59c6405 100644 --- a/src/views/retry/log/index.vue +++ b/src/views/retry/log/index.vue @@ -130,7 +130,7 @@ const { columns, columnChecks, data, getData, loading, mobilePagination, searchP key: 'operate', title: $t('common.operate'), align: 'center', - width: 130, + width: 80, render: row => (
{row.retryStatus === 1 ? ( diff --git a/src/views/retry/scene/index.vue b/src/views/retry/scene/index.vue index a20a3ff..22ff14a 100644 --- a/src/views/retry/scene/index.vue +++ b/src/views/retry/scene/index.vue @@ -2,7 +2,12 @@ import { NButton, NPopconfirm, NTag } from 'naive-ui'; import { ref } from 'vue'; import { useBoolean } from '@sa/hooks'; -import { fetchGetRetryScenePageList, fetchUpdateSceneStatus } from '@/service/api'; +import { + fetchBatchDeleteRetryScene, + fetchDeleteRetryScene, + fetchGetRetryScenePageList, + fetchUpdateSceneStatus +} from '@/service/api'; import { $t } from '@/locales'; import { useAppStore } from '@/store/modules/app'; import { useTable, useTableOperate } from '@/hooks/common/table'; @@ -47,6 +52,7 @@ const { columns, columnChecks, data, getData, loading, mobilePagination, searchP }, { key: 'sceneName', + align: 'center', title: $t('page.retryScene.sceneName'), fixed: 'left', width: 120, @@ -161,27 +167,48 @@ const { columns, columnChecks, data, getData, loading, mobilePagination, searchP title: $t('common.operate'), align: 'center', fixed: 'right', - width: 120, + width: 100, render: row => (
edit(row.id!)}> {$t('common.edit')} + + handleDelete(row.id!)}> + {{ + default: () => $t('common.confirmDelete'), + trigger: () => ( + + {$t('common.delete')} + + ) + }} +
) } ] }); -const { drawerVisible, operateType, editingData, handleAdd, handleEdit, checkedRowKeys } = useTableOperate( - data, - getData -); +const { drawerVisible, operateType, editingData, handleAdd, handleEdit, checkedRowKeys, onDeleted, onBatchDeleted } = + useTableOperate(data, getData); function edit(id: string) { handleEdit(id); } +async function handleDelete(id: string) { + const { error } = await fetchDeleteRetryScene(id); + if (error) return; + onDeleted(); +} + +async function handleBatchDelete() { + const { error } = await fetchBatchDeleteRetryScene(checkedRowKeys.value); + if (error) return; + onBatchDeleted(); +} + function triggerInterval(backOff: number, maxRetryCount: number) { if (backOff !== 1) { return ''; @@ -223,8 +250,8 @@ function handleExport() { v-model:columns="columnChecks" :disabled-delete="checkedRowKeys.length === 0" :loading="loading" - :show-delete="false" @add="handleAdd" + @delete="handleBatchDelete" @refresh="getData" >