feat: 版本总耗时实际数据 + 参与人员管理 + 链接聚合 + 权限控制
1. 版本总耗时改用实际数据: - 开始日期取所有阶段最早 actualStartAt - 预计截止显示 expectedReleaseDate - 实际截止取所有阶段最晚完成时间 - 逾期天数 = 实际截止 - 预计截止(红色标签) 2. 参与人员管理: - 新增"设置"按钮打开管理弹窗 - 可选角色(产品/UI/前端/后端/测试)+ 人员 - 添加/删除成员,保存到 version.members 3. 相关链接从 plans 成果聚合: - 按调研/产品方案/UI设计分组 - 展示所有已完成 plan 的 resultUrl + resultFileName - 不再是固定3个链接 4. 权限控制: - 版本详情页校验当前用户是否在 members 中 - 版本列表页只显示当前用户参与的版本 - members 为空时所有人可见(兼容旧数据) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -8,6 +8,7 @@ import { useRequirementStore } from '@/stores/useRequirementStore';
|
||||
import { useVersionPlanStore } from '@/stores/useVersionPlanStore';
|
||||
import { useDevTaskStore } from '@/stores/useDevTaskStore';
|
||||
import { useTestCaseStore } from '@/stores/useTestCaseStore';
|
||||
import { useAuthStore } from '@/stores/useAuthStore';
|
||||
import { flattenVersions, flattenProjects } from '@/lib/derive';
|
||||
import type { VersionWithContext } from '@/lib/derive';
|
||||
import { VersionStatus, VERSION_STATUS_LABEL, VERSION_STATUS_DOT, VERSION_STATUS_BG, getVersionDisplayStatus } from '@/lib/version-status';
|
||||
@@ -125,7 +126,15 @@ export default function VersionsPage() {
|
||||
const { testCases, fetchTestCases } = useTestCaseStore();
|
||||
useEffect(() => { fetchTestCases(); }, [fetchTestCases]);
|
||||
|
||||
const allVersions = useMemo(() => flattenVersions(overview), [overview]);
|
||||
const user = useAuthStore((s) => s.user);
|
||||
const currentUserName = user?.name || '';
|
||||
|
||||
const allVersionsRaw = useMemo(() => flattenVersions(overview), [overview]);
|
||||
// 只显示当前用户参与的版本(members为空时所有人可见)
|
||||
const allVersions = useMemo(() => allVersionsRaw.filter((v) => {
|
||||
if (!v.members || v.members.length === 0) return true;
|
||||
return v.members.some((m) => m.name === currentUserName);
|
||||
}), [allVersionsRaw, currentUserName]);
|
||||
const allProjects = useMemo(() => flattenProjects(overview), [overview]);
|
||||
|
||||
// Compute overall progress per version from actual data
|
||||
|
||||
Reference in New Issue
Block a user