From 828a8f023f9956114103d35ecf5202fd79a7e2da Mon Sep 17 00:00:00 2001
From: ddrwode <34234@3来 34>
Date: Tue, 3 Mar 2026 10:50:10 +0800
Subject: [PATCH] ha'ha
---
src/api/TaskManagement/index.ts | 8 +++
.../components/ViewTheTaskListDetails.vue | 51 ++++++++++++++++++-
2 files changed, 57 insertions(+), 2 deletions(-)
diff --git a/src/api/TaskManagement/index.ts b/src/api/TaskManagement/index.ts
index 7701389..283e046 100644
--- a/src/api/TaskManagement/index.ts
+++ b/src/api/TaskManagement/index.ts
@@ -38,6 +38,14 @@ export const ApiTasksAdd = (data: any) => {
})
}
+// 停止任务
+export const ApiTasksCancel = (task_id: string) => {
+ return request({
+ url: `/api/tasks/${task_id}/cancel`,
+ method: 'post'
+ })
+}
+
// // 编辑申请用印
// export const BusinessEditApplication = (data: any) => {
// const formData = new FormData()
diff --git a/src/views/BoosAccountManagement/components/ViewTheTaskListDetails.vue b/src/views/BoosAccountManagement/components/ViewTheTaskListDetails.vue
index c0aa04e..282db38 100644
--- a/src/views/BoosAccountManagement/components/ViewTheTaskListDetails.vue
+++ b/src/views/BoosAccountManagement/components/ViewTheTaskListDetails.vue
@@ -28,8 +28,13 @@
header-align="center"
>
- 成功
+ 待派发
+ 已派发
+ 执行中
+ 成功
失败
+ 已停止
+ --
@@ -42,6 +47,19 @@
{{ formatISOToDateTime(scope.row?.updated_at || '') }}
+
+
+
+ 停止
+
+
+
// 表格数据
-import { ApiTasks } from '@/api/TaskManagement'
+import { ApiTasks, ApiTasksCancel } from '@/api/TaskManagement'
import { formatISOToDateTime } from '@/utils/auxiliaryFunction'
import { createTimer } from '@/utils/TimerManager'
@@ -72,6 +90,35 @@ const queryParams = reactive({
pageNum: 1,
pageSize: 10
})
+
+const cancellableStatuses = new Set(['pending', 'dispatched', 'running'])
+
+const canCancel = (status: string) => {
+ return cancellableStatuses.has(String(status || '').toLowerCase())
+}
+
+const handleCancelTask = (row: any) => {
+ if (!row?.task_id || !canCancel(row?.status)) {
+ return
+ }
+
+ ElMessageBox.confirm('确认停止该任务吗?', '提示', {
+ confirmButtonText: '确定',
+ cancelButtonText: '取消',
+ type: 'warning'
+ }).then(
+ () => {
+ ApiTasksCancel(row.task_id).then((res: any) => {
+ ElMessage.success(res.msg || '任务已停止')
+ fetchData()
+ })
+ },
+ () => {
+ ElMessage.info('已取消操作')
+ }
+ )
+}
+
// 获取数据
function fetchData() {
ApiTasks(props.bossId, queryParams.pageNum, queryParams.pageSize).then((res: any) => {