diff --git a/src/views/TasksView/TasksView.vue b/src/views/TasksView/TasksView.vue
index e1b9133..60e0c5d 100644
--- a/src/views/TasksView/TasksView.vue
+++ b/src/views/TasksView/TasksView.vue
@@ -127,6 +127,7 @@
:distance="r.distance"
:collected-at="r.collectedAt"
:map-class="r.mapClass"
+ @delete="deleteRoute(r)"
/>
暂无航线
@@ -890,6 +891,22 @@ async function deleteTask(task) {
}
}
+async function deleteRoute(route) {
+ const ok = await ui.confirm(
+ `确认删除航线「${route.name}」?`,
+ '删除后不可恢复。若已有任务绑定该航线,请自行调整任务配置。',
+ ['移除航线记录', '同步删除全部航点', '不可恢复']
+ )
+ if (!ok) return
+ try {
+ await request.delete(urls.ROUTE(route.id))
+ ui.toast('航线已删除')
+ await load()
+ } catch (e) {
+ ui.toast(e.message || '删除航线失败')
+ }
+}
+
function canExecuteTask(task) {
return task.rawStatus !== 'disabled' && task.rawStatus !== 'paused' && task.statusClass !== 'mission'
}