czh-20260610-增加计划帮助页面

This commit is contained in:
zhihao
2026-06-10 16:29:47 +08:00
parent 2b61314ae8
commit 9563f178f8
9 changed files with 527 additions and 15 deletions
+43 -12
View File
@@ -31,6 +31,7 @@
:visible-fields="visibleFields"
:show-list-group-view="showListGroupView"
:favorite-id-map="favoriteIdMap"
:loading="pageLoading"
@create-task="onCreateTask"
@toggle-task="onToggleTask"
@task-click="onTaskClick"
@@ -53,6 +54,7 @@
@delete-list="onDeleteList"
@rename-group="onRenameTaskGroup"
@delete-group="onDeleteTaskGroup"
@create-list="onCreateListModal('')"
/>
<TaskFlatView
v-else
@@ -64,6 +66,7 @@
:visible-fields="visibleFields"
:editable="flatViewEditable"
:task-edit-map="flatTaskEditMap"
:loading="pageLoading"
@toggle-task="onToggleTask"
@task-click="onTaskClick"
@update-task-field="onUpdateTaskField"
@@ -164,6 +167,7 @@
const showListGroupView = ref(false);
const visibleFields = ref<FieldKey[]>([...DEFAULT_VISIBLE_FIELDS]);
const currentDrawerTaskId = ref<string>('');
const pageLoading = ref(false);
const [registerTaskModal, { openModal: openTaskModal }] = useModal();
const [registerListModal, { openModal: openListModal }] = useModal();
@@ -446,19 +450,16 @@
groupDimension.value = 'none';
sortField.value = 'createTime';
sortDirection.value = 'asc';
pageLoading.value = true;
if (view === 'my-tasks') {
try {
try {
if (view === 'my-tasks') {
flatViewTitle.value = '我的事项';
flatViewEditable.value = true;
flatTaskEditMap.value = new Map();
const data: any[] = await myResponsibleTasks();
flatTasks.value = (data || []).map(buildFlatTaskItem);
} catch (e) {
console.error('[TaskList] 加载我负责的任务失败', e);
}
} else if (view === 'followed') {
try {
} else if (view === 'followed') {
flatViewTitle.value = '关注事项';
flatViewEditable.value = false;
const data: any[] = await myFollowedTasks();
@@ -472,19 +473,26 @@
}
flatTaskEditMap.value = editMap;
flatTasks.value = items;
} catch (e) {
console.error('[TaskList] 加载我关注的任务失败', e);
}
} catch (e) {
console.error('[TaskList] 加载视图失败', e);
} finally {
pageLoading.value = false;
}
}
function onListSelect(listId: string) {
async function onListSelect(listId: string) {
currentView.value = '';
currentListId.value = listId;
showListGroupView.value = false;
groupDimension.value = 'custom';
loadPermissionForList(listId);
loadTasks(listId);
pageLoading.value = true;
try {
loadPermissionForList(listId);
await loadTasks(listId);
} finally {
pageLoading.value = false;
}
}
function onOpenCollaborator() {
@@ -602,6 +610,7 @@
currentListId.value = '';
groupDimension.value = 'custom';
flatTasks.value = [];
pageLoading.value = true;
try {
if (tabKey === 'all') {
@@ -616,6 +625,8 @@
}
} catch (e) {
console.error('[TaskList] 加载清单失败', e);
} finally {
pageLoading.value = false;
}
}
@@ -682,6 +693,26 @@
await addToFavorites({ taskListId: listId });
}
await loadFavorites();
if (showListGroupView.value) {
refreshQuickAccessView();
}
}
async function refreshQuickAccessView() {
try {
const viewMap: Record<string, () => Promise<TaskList[]>> = {
'all-tasks': getAllLists,
created: getMyOwnLists,
assigned: getMyCollabLists,
};
const fetcher = viewMap[currentView.value];
if (fetcher) {
const data = await fetcher();
quickAccessGroups.value = wrapAsVirtualGroupsWithDetails(data);
}
} catch (e) {
console.error('[TaskList] 刷新计划列表失败', e);
}
}
async function onTaskCreated() {