/team-leader/dashboard/wxwork/:cid/team-leader/dashboard/wxwork/:cid/project/:projectId/:stagePath?roleName=team-leaderDashboard 代码):
订单分配 → order确认需求 → requirements交付执行 → delivery售后归档 → aftercare/wxwork/:cid/project/:projectId/:stageId?roleName=team-leadergoToStage(stageId) 或 switchStage(stageId) 切换子路由。order / requirements / delivery / aftercare 之间切换。roleName 为 组长 / 设计组长 / team-leader)。订单分配(或等价英文 order)。data.approvalStatus === 'pending'。order)。data.approvalStatus = 'approved',写入审批记录 approvalHistory;currentStage 更新为 确认需求;stage:completed 事件,父组件自动推进阶段并导航到下一个阶段。data.approvalStatus = 'rejected'、data.lastRejectionReason,并写入 approvalHistory;currentStage 保持(或回退为)订单分配,等待客服重新调整并再次提交。/team-leader/team-management/wxwork/:cid/team-leader/team-managementviewProjectDetails(projectId):
/wxwork/:cid/project/:projectId/team-leader/quality-managementcompleted;syncToProjectReview)把结果同步到项目评审/质量记录中;pending;managerComment 为拒绝原因,供后续追踪。submitted 状态作业进行评审:
score、status='reviewed';team-management 绩效数据联动)。/team-leader/knowledge-baseassigneeId 和 deadline);/team-leader/workload-calendarnavigateToProject:/wxwork/:cid/project/:projectId源文件:src/app/models/project.model.ts
核心字段
id: string:项目 ID。name: string:项目名称。customerName: string:客户姓名。customerPhone?: string:客户电话。customerWechat?: string:客户微信。customerType?: string:客户类型(如新客户/老客户)。customerSource?: string:客户来源(如朋友圈/信息流等)。customerRemark?: string:客户备注。customerInfo?: CustomerInfo:客户详细偏好信息:colorPreference?: string:色彩偏好。spaceRequirements?: string:空间需求。materialPreference?: string:材质偏好。customerTags: CustomerTag[]:客户标签数组:source: '朋友圈' | '信息流'needType: '硬装' | '软装'preference: '现代' | '宋式' | '欧式'colorAtmosphere: stringhighPriorityNeeds: string[]:高优先级需求列表。requirements?: RequirementItem[]:项目需求明细:id: stringdescription: stringstatus: stringpriority: 'high' | 'medium' | 'low'status: ProjectStatus:项目状态:'进行中' | '已完成' | '已暂停' | '已延期' | '待分配'currentStage: ProjectStage:当前阶段(见阶段枚举)。stage: ProjectStage:与 currentStage 保持一致,用于兼容。createdAt: Date:项目创建时间。deadline: Date:截至日期。assigneeId: string:当前负责人 ID(设计师 Profile)。assigneeName: string:当前负责人姓名。skillsRequired: string[]:期望的设计师技能标签(用于智能匹配)。finalPaymentAmount?: number:尾款金额。customerReviewCompleted?: boolean:客户评价是否完成。customerReviewCompletedAt?: Date:客户评价完成时间。阶段枚举 ProjectStage
订单分配确认需求交付执行售后归档需求沟通方案确认建模软装渲染后期尾款结算客户评价投诉处理project.model.ts 中 Task 接口id: string:任务 ID。projectId: string:所属项目 ID。projectName: string:所属项目名称。title: string:任务标题。description: any:任务描述。assignee: any:负责人(设计师)。stage: ProjectStage:任务所在项目阶段(与上文阶段枚举一致)。deadline: Date:任务截止时间。priority: any:任务优先级(通常为 high / medium / low)。isOverdue: boolean:是否逾期。isCompleted: boolean:是否已完成。completedDate?: Date:完成时间。这些字段主要被
WorkloadCalendarComponent与组长工作台用来计算:某设计师在特定时间窗内的任务数量、逾期数量以及整体负载状态(空闲/正常/繁忙/异常),并支撑跳转到项目详情进行下一步操作。
源文件:src/app/pages/team-leader/dashboard/dashboard.ts 中的 interface Project(注意:这是前端视图模型,基于后台 Project 聚合转换而来)。
id: string:项目 ID。name: string:项目名称。type: 'soft' | 'hard':项目类型(软装/硬装)。memberType: 'vip' | 'normal':客户等级(VIP/普通)。designerName: string:当前负责设计师。status: string:状态(例如进行中/已完成等,通常由阶段和财务状态推导)。expectedEndDate: Date:预期结束时间(兼容旧字段)。deadline: Date:真实截止时间(新字段)。createdAt?: Date:实际开始时间。isOverdue: boolean:是否逾期。overdueDays: number:逾期天数。dueSoon: boolean:是否临期(例如 3 天内到期)。urgency: 'high' | 'medium' | 'low':紧急程度标记。phases: ProjectPhase[]:项目阶段进度条数据:name: string:阶段名称(如待确认、需求沟通、建模…)。percentage: number:阶段占比。startPercentage: number:阶段开始位置。isCompleted: boolean:是否完成。isCurrent: boolean:是否当前进行中阶段。currentStage: string:当前阶段(规范化后的中文阶段名,用于映射 URL)。qualityRating?: 'excellent' | 'qualified' | 'unqualified' | 'pending':质量评级。lastCustomerFeedback?: string:最近客户反馈内容。searchIndex?: string:本地构建的搜索索引(项目名+设计师名小写拼接)。以上字段主要用于组长工作台页面做排序、筛选、搜索以及在项目卡片上展示「阶段进度条」「临期/逾期标识」「质量评级」等信息,并决定点击项目时跳转到哪个阶段的详情页。
如需后续扩展,我可以基于本文件继续添加: