feat(平台): 补齐服务端持久化和AI拆解契约
This commit is contained in:
@@ -10,6 +10,7 @@ import { useVersionPlanStore } from '@/stores/useVersionPlanStore';
|
||||
import { useDevTaskStore } from '@/stores/useDevTaskStore';
|
||||
import { useTestCaseStore } from '@/stores/useTestCaseStore';
|
||||
import { useAuthStore } from '@/stores/useAuthStore';
|
||||
import { useMemberStore } from '@/stores/useMemberStore';
|
||||
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';
|
||||
@@ -123,13 +124,19 @@ function VersionsPageContent() {
|
||||
|
||||
const user = useAuthStore((s) => s.user);
|
||||
const currentUserName = user?.name || '';
|
||||
const { roles } = useMemberStore();
|
||||
const isSuperAdmin = useMemo(() => {
|
||||
const r = roles.find((x) => x.id === user?.roleId);
|
||||
return !!r && r.permissions.includes('*');
|
||||
}, [roles, user?.roleId]);
|
||||
|
||||
const allVersionsRaw = useMemo(() => flattenVersions(overview), [overview]);
|
||||
// 只显示当前用户参与的版本(members为空时所有人可见)
|
||||
// 只显示当前用户参与的版本(members为空时所有人可见;超管可见全部)
|
||||
const allVersions = useMemo(() => allVersionsRaw.filter((v) => {
|
||||
if (isSuperAdmin) return true;
|
||||
if (!v.members || v.members.length === 0) return true;
|
||||
return v.members.some((m) => m.name === currentUserName);
|
||||
}), [allVersionsRaw, currentUserName]);
|
||||
}), [allVersionsRaw, currentUserName, isSuperAdmin]);
|
||||
const allProjects = useMemo(() => flattenProjects(overview), [overview]);
|
||||
|
||||
// Compute overall progress per version from actual data
|
||||
|
||||
Reference in New Issue
Block a user