feat(版本): 记录计划需求进展活动
关键改动: - 记录产品/UI 计划需求覆盖进展,并写入工作活动与实体日志 - 日报和小宝预警补充需求进展活动证据 - 调整版本列表与需求覆盖面板展示,并补充测试 Co-Authored-By: Codex GPT-5 <codex@openai.com>
This commit is contained in:
@@ -7,8 +7,10 @@ import type { PlanResultPayload } from '@/lib/version-plan-workflow';
|
||||
import {
|
||||
makeVersionPlanCompletedActivity,
|
||||
makeVersionPlanCreatedActivity,
|
||||
makeVersionPlanRequirementProgressActivity,
|
||||
makeVersionPlanStartedActivity,
|
||||
} from '@/lib/work-activity-factory';
|
||||
import type { WorkActivityDraft } from '@/lib/work-activity';
|
||||
import { useWorkActivityStore } from './useWorkActivityStore';
|
||||
|
||||
const MOCK_PLANS: VersionPlan[] = [];
|
||||
@@ -51,7 +53,7 @@ export const useVersionPlanStore = create<VersionPlanState>((set, get) => ({
|
||||
|
||||
updatePlan: (id, data) => {
|
||||
const now = new Date().toISOString();
|
||||
const activities: ReturnType<typeof makeVersionPlanStartedActivity>[] = [];
|
||||
const activities: WorkActivityDraft[] = [];
|
||||
const plans = get().plans.map((p) => {
|
||||
if (p.id !== id) return p;
|
||||
const patch = { ...data };
|
||||
@@ -68,6 +70,12 @@ export const useVersionPlanStore = create<VersionPlanState>((set, get) => ({
|
||||
if (p.status !== 'completed' && next.status === 'completed') {
|
||||
activities.push(makeVersionPlanCompletedActivity(next, next.owner));
|
||||
}
|
||||
const previousLogIds = new Set((p.logs ?? []).map((log) => log.id));
|
||||
for (const log of next.logs ?? []) {
|
||||
if (previousLogIds.has(log.id)) continue;
|
||||
const activity = makeVersionPlanRequirementProgressActivity(next, log);
|
||||
if (activity) activities.push(activity);
|
||||
}
|
||||
return next;
|
||||
});
|
||||
set({ plans });
|
||||
|
||||
Reference in New Issue
Block a user