feat: 完成 R13/R14/R15/R16 小团队管理核心能力
这个提交包含在:
@@ -1,6 +1,11 @@
|
||||
import { apiRequestData } from "./http";
|
||||
|
||||
export type PortalHomePayload = {
|
||||
workspace: {
|
||||
id: string | null;
|
||||
persisted: boolean;
|
||||
profile: "small_team_internal";
|
||||
};
|
||||
greeting: { name: string };
|
||||
cards: Array<{ key: string; title: string; value: string | number; href: string; severity?: "normal" | "warning" | "high" }>;
|
||||
pendingTasks: { count: number; href: string };
|
||||
@@ -8,6 +13,22 @@ export type PortalHomePayload = {
|
||||
riskSummary: { openCount: number; href: string } | null;
|
||||
announcements: Array<{ id: string; title: string; summary: string; href: string | null }>;
|
||||
quickLinks: Array<{ key: string; title: string; href: string }>;
|
||||
todayPresence: { date: string; status: string | null; label: string; note: string | null; href: string } | null;
|
||||
teamPresence:
|
||||
| ({ date: string; href: string } & {
|
||||
office: number;
|
||||
remote: number;
|
||||
out: number;
|
||||
travel: number;
|
||||
leave: number;
|
||||
unspecified: number;
|
||||
total: number;
|
||||
})
|
||||
| null;
|
||||
weeklyReport: { weekStart: string; status: "draft" | "submitted"; needsHelp: boolean; href: string } | null;
|
||||
weeklySummary: { weekStart: string; submittedCount: number; missingCount: number; needsHelpCount: number; href: string } | null;
|
||||
todoSummary: { openCount: number; highPriorityCount: number; href: string } | null;
|
||||
peopleLifecycle: { onboardingCount: number; offboardingCount: number; assetReturnPendingCount: number; href: string } | null;
|
||||
};
|
||||
|
||||
export async function fetchPortalHome() {
|
||||
|
||||
在新工单中引用
屏蔽一个用户