重构: tool_registry拆分及多批改进

This commit is contained in:
2026-06-19 00:10:14 +08:00
parent a2871a66e0
commit 60b01d03ee
33 changed files with 703 additions and 247 deletions

View File

@@ -100,7 +100,7 @@
</select>
<div class="modal-actions">
<button class="btn-cancel" @click="showCreateModal = false">{{ $t('common.cancel') }}</button>
<button class="btn-confirm" @click="confirmCreate">{{ $t('common.confirm') }}</button>
<button class="btn-confirm" @click="confirmCreate" :disabled="submitting || !newTaskTitle.trim()">{{ $t('common.confirm') }}</button>
</div>
</div>
</div>
@@ -133,6 +133,9 @@ const newTaskDesc = ref('')
const newTaskBranch = ref('')
const newTaskPriority = ref(2) // 默认 medium
// 异步操作禁用态(IPC 期间防双击重复提交):confirmCreate 创建任务期间禁用确认按钮
const submitting = ref(false)
interface TaskGroup {
projectName: string
icon: string
@@ -217,15 +220,20 @@ function openCreateModal() {
async function confirmCreate() {
if (!newTaskTitle.value.trim() || !newTaskProjectId.value) return
const r = await store.createTask({
project_id: newTaskProjectId.value,
title: newTaskTitle.value.trim(),
description: newTaskDesc.value.trim(),
branch_name: newTaskBranch.value.trim() || undefined,
priority: newTaskPriority.value,
})
if (!r) return // 失败已 toast,保持弹窗不关
showCreateModal.value = false
submitting.value = true
try {
const r = await store.createTask({
project_id: newTaskProjectId.value,
title: newTaskTitle.value.trim(),
description: newTaskDesc.value.trim(),
branch_name: newTaskBranch.value.trim() || undefined,
priority: newTaskPriority.value,
})
if (!r) return // 失败已 toast,保持弹窗不关
showCreateModal.value = false
} finally {
submitting.value = false
}
}
// B-260615-29: 切换项目筛选时按 projectId 重载(避免仅前端 filter,跨项目视图不同步)