本文档详细说明了设计师团队分配功能中,项目负责人和设计师空间分配数据的存储位置和数据结构。
用途: 存储每个设计师的团队分配信息
字段: data
{
spaces: string[], // 分配的空间名称列表
isCrossTeam: boolean, // 是否为跨组合作
isProjectLeader: boolean, // 是否为项目负责人 ⭐
assignedAt: string // 分配时间 (ISO格式)
}
用途: 存储项目级别的空间分配统计
字段: data.spaceAssignmentStats
{
assignmentDate: string, // 分配日期
projectLeader: string | null, // 项目负责人姓名 ⭐
spaceStats: { // 空间统计
[spaceId: string]: {
spaceName: string, // 空间名称
assignedDesigners: string[], // 分配的设计师列表
projectLeader?: string, // 该空间的项目负责人 ⭐
totalArea?: number // 空间面积
}
},
totalDesigners: number, // 总设计师数量
crossTeamCollaborators: string[] // 跨组合作者列表
}
用途: 按用户要求,详细的设计师和空间分配统计数据
字段: date.designerAssignmentStats
{
assignmentDate: string, // 分配日期
projectLeader: { // 项目负责人详细信息 ⭐
id: string | null,
name: string | null,
assignedSpaces: Array<{ // 负责人分配的空间 ⭐
id: string,
name: string,
area: number
}>
},
teamMembers: Array<{ // 团队成员详细信息
id: string,
name: string,
isProjectLeader: boolean, // 是否为项目负责人标记 ⭐
assignedSpaces: Array<{ // 成员分配的空间
id: string,
name: string,
area: number
}>
}>,
crossTeamCollaborators: Array<{ // 跨组合作者详细信息
id: string,
name: string,
assignedSpaces: Array<{ // 合作者分配的空间
id: string,
name: string,
area: number
}>
}>,
totalSpaceArea: number, // 总空间面积
totalSpaces: number // 总空间数量
}
isProjectLeader: trueboolean - 团队记录中的负责人标记object - 负责人详细信息和空间分配boolean - 团队成员中的负责人标记string[] - 设计师分配的空间名称列表主要位置: Project.date.designerAssignmentStats.projectLeader.assignedSpaces
assignedSpaces: Array<{
id: string, // 空间ID
name: string, // 空间名称
area: number // 空间面积
}>
// 从Project表查询
const project = await projectQuery.first();
const leaderInfo = project.get('date')?.designerAssignmentStats?.projectLeader;
// 负责人姓名
const leaderName = leaderInfo?.name;
// 负责人分配的空间
const leaderSpaces = leaderInfo?.assignedSpaces || [];
// 从Project表查询所有团队成员的空间分配
const teamMembers = project.get('date')?.designerAssignmentStats?.teamMembers || [];
teamMembers.forEach(member => {
console.log(`${member.name}${member.isProjectLeader ? ' ⭐负责人' : ''}`);
console.log('分配空间:', member.assignedSpaces.map(s => s.name).join(', '));
});
// 从Project表查询空间统计
const stats = project.get('date')?.designerAssignmentStats;
console.log('总空间数量:', stats?.totalSpaces);
console.log('总空间面积:', stats?.totalSpaceArea);
console.log('项目负责人:', stats?.projectLeader?.name);
Project.date.designerAssignmentStats 是最完整的统计数据源isProjectLeader: true 和 ⭐ 星号进行标识2024年11月13日
v1.0 - 初始版本,包含项目负责人标记和空间数据统计功能