新增: 灵感归档箱与任务归档动线
- ideasStore/taskStore: archiveIdea/archiveTask IPC 封装(本地移除/本地更新,对齐 delete 语义) - project.ts 组合 store 显式透传 archiveIdea/archiveTask - Ideas.vue: 筛选栏归档箱 Tab(独立数据源 ideaApi.listArchived,主查询不受扰);archiveCurrentIdea 处理器(归档确认+归档箱内取消归档自动清选中);IdeaDetail 传 in-archive-box prop - IdeaDetail.vue: inArchiveBox prop + archive emit;操作区归档/取消归档按钮,归档箱模式隐藏删除(防误删归档记忆) - i18n zh-CN/en ideas 补 filterArchived/archiveBoxEmpty/quickArchive/quickUnarchive/confirmArchive/toast 键(前批遗留) 验收: vue-tsc --noEmit EXIT 0
This commit is contained in:
@@ -286,10 +286,14 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 操作(P0-② 立项按钮已上移至标题行,此处仅留删除) -->
|
||||
<!-- 操作(P0-② 立项按钮已上移至标题行) -->
|
||||
<div class="detail-section" style="margin-top:8px">
|
||||
<div class="action-buttons">
|
||||
<button class="btn btn-ghost" :disabled="deleting" @click="$emit('delete')">
|
||||
<!-- 归档功能 P1:主列表=归档动线;归档箱=取消归档动线(删除隐藏,防误删归档记忆) -->
|
||||
<button class="btn btn-ghost" :disabled="deleting" @click="$emit('archive', !inArchiveBox)">
|
||||
{{ inArchiveBox ? $t('ideas.quickUnarchive') : $t('ideas.quickArchive') }}
|
||||
</button>
|
||||
<button v-if="!inArchiveBox" class="btn btn-ghost" :disabled="deleting" @click="$emit('delete')">
|
||||
{{ deleting ? $t('ideas.deleting') : $t('ideas.deleteIdea') }}
|
||||
</button>
|
||||
</div>
|
||||
@@ -315,12 +319,15 @@ const props = defineProps<{
|
||||
evalError: string
|
||||
promoting: boolean
|
||||
deleting: boolean
|
||||
/** 归档功能 P1:父视图是否处于归档箱模式(决定操作按钮语义:归档↔取消归档) */
|
||||
inArchiveBox?: boolean
|
||||
}>()
|
||||
|
||||
const emit = defineEmits<{
|
||||
(e: 'evaluate'): void
|
||||
(e: 'promote'): void
|
||||
(e: 'delete'): void
|
||||
(e: 'archive', archived: boolean): void
|
||||
(e: 'status-change', value: IdeaStatus): void
|
||||
// 返 Promise<boolean> 让子组件 await 知成功/失败。
|
||||
// true=落库成功(关编辑态);false=失败(保持编辑态,toast 由父组件处理)。
|
||||
|
||||
Reference in New Issue
Block a user