fix(我的事项、产品/项目、工作台我的待办): 修复已知的一些问题。

This commit is contained in:
dk
2026-06-30 11:55:43 +08:00
parent 4f357a35a9
commit a650f6e96d
11 changed files with 373 additions and 109 deletions

View File

@@ -22,7 +22,7 @@ export interface WorkbenchTodoItemSource {
deadline: string | null;
/** 来源(提交人/项目名/工单号) */
source: string;
/** 进度百分比,仅任务和个人事项使用 */
/** 进度百分比,仅任务和我的事项使用 */
progressRate?: number | null;
/** 优先级,用于前端排序与高亮 */
priority?: WorkbenchTodoPriority;
@@ -67,7 +67,7 @@ const todoCategoryMeta: Record<
> = {
task: { label: '任务', tone: 'emerald', icon: 'mdi:checkbox-marked-circle-outline' },
ticket: { label: '工单', tone: 'amber', icon: 'mdi:ticket-confirmation-outline' },
personal: { label: '个人事项', tone: 'violet', icon: 'mdi:notebook-edit-outline' },
personal: { label: '我的事项', tone: 'violet', icon: 'mdi:notebook-edit-outline' },
approval: { label: '待审批', tone: 'sky', icon: 'mdi:checkbox-multiple-marked-outline' }
};
@@ -239,7 +239,7 @@ export function buildWorkbenchOwnedProjects(
}));
}
/** 工时分布行项:项目 / 个人事项 / 其他(杂项) */
/** 工时分布行项:项目 / 我的事项 / 其他(杂项) */
export interface WorkbenchWorklogDistributionItem {
/** 唯一 keyproject 用 projectIdpersonal/other 用固定字面量 */
key: string;
@@ -280,7 +280,7 @@ function toWorklogDistributionItem(item: Api.Project.WorklogDistributionItem): W
const isProject = item.kind === 'project' && Boolean(item.projectId);
return {
key: isProject ? (item.projectId as string) : item.kind,
label: item.projectName ?? (item.kind === 'personal' ? '个人事项' : '其他'),
label: item.projectName ?? (item.kind === 'personal' ? '我的事项' : '其他'),
hours: roundHours(item.hours),
kind: item.kind,
projectId: isProject ? (item.projectId as string) : undefined
@@ -438,14 +438,14 @@ export interface WorkbenchTeamLoadItemSource {
key: string;
label: string;
kind: WorkbenchTeamLoadItemKind;
/** 该项目/个人事项下,该成员未完成的任务/事项数(含待开始/已暂停;任务按"负责人/协办人"口径,单任务多人各算 1 条) */
/** 该项目/我的事项下,该成员未完成的任务/事项数(含待开始/已暂停;任务按"负责人/协办人"口径,单任务多人各算 1 条) */
count: number;
}
export interface WorkbenchTeamLoadMemberSource {
memberId: string;
memberName: string;
/** 未完成数按项目 + 个人事项的拆分(合计即"未完成总数" */
/** 未完成数按项目 + 我的事项的拆分(合计即"未完成总数" */
items: WorkbenchTeamLoadItemSource[];
/** 今天 ≤ 计划结束 ≤ 今天+3 天 且未完成(与逾期互斥) */
dueSoon: number;