diff --git a/src/i18n/en/tasks.ts b/src/i18n/en/tasks.ts
index 2939536..28dc902 100644
--- a/src/i18n/en/tasks.ts
+++ b/src/i18n/en/tasks.ts
@@ -53,6 +53,9 @@ export default {
desc: 'Description',
branch: 'Branch',
priority: 'Priority',
+ // F-260619-01: related idea (1:1, optional)
+ idea: 'Related Idea',
+ ideaPlaceholder: 'None (optional)',
titlePlaceholder: 'Enter task title...',
descPlaceholder: 'Brief description (optional)',
branchPlaceholder: 'feature/xxx (optional)',
diff --git a/src/i18n/zh-CN/tasks.ts b/src/i18n/zh-CN/tasks.ts
index bf25b0d..c180102 100644
--- a/src/i18n/zh-CN/tasks.ts
+++ b/src/i18n/zh-CN/tasks.ts
@@ -53,6 +53,9 @@ export default {
desc: '描述',
branch: '分支',
priority: '优先级',
+ // F-260619-01:关联灵感(1对1 单向,可选)
+ idea: '关联灵感',
+ ideaPlaceholder: '不关联(可选)',
titlePlaceholder: '输入任务标题...',
descPlaceholder: '简要描述(可选)',
branchPlaceholder: 'feature/xxx(可选)',
diff --git a/src/views/Tasks.vue b/src/views/Tasks.vue
index 45fb794..c8f2fa3 100644
--- a/src/views/Tasks.vue
+++ b/src/views/Tasks.vue
@@ -149,6 +149,14 @@
+
+
+
+
+
@@ -272,6 +280,8 @@ const newTaskTitle = ref('')
const newTaskDesc = ref('')
const newTaskBranch = ref('')
const newTaskPriority = ref(2)
+// F-260619-01:关联灵感(空串=不关联,与后端 idea_id 空串处理一致)
+const newTaskIdeaId = ref('')
const submitting = ref(false)
interface TaskGroup {
@@ -355,6 +365,7 @@ function openCreateModal() {
newTaskDesc.value = ''
newTaskBranch.value = ''
newTaskPriority.value = 2
+ newTaskIdeaId.value = ''
showCreateModal.value = true
}
@@ -368,6 +379,8 @@ async function confirmCreate() {
description: newTaskDesc.value.trim(),
branch_name: newTaskBranch.value.trim() || undefined,
priority: newTaskPriority.value,
+ // F-260619-01:空串=不关联(对齐后端 idea_id 空串语义)
+ idea_id: newTaskIdeaId.value.trim() || undefined,
})
if (!r) return
showCreateModal.value = false
@@ -434,6 +447,8 @@ onMounted(async () => {
await Promise.all([
store.loadProjects(),
store.loadTasks(),
+ // F-260619-01:加载灵感供新建任务模态关联下拉选择(幂等,已加载则 no-op)
+ store.loadIdeas(),
taskApi.count().then(n => totalTasks.value = n),
])
} finally {