## 组长端功能操作路径(操作步骤) ### 1. 组长工作台(Dashboard) → 项目详情 - **入口路径** - 网页端:`/team-leader/dashboard` - 企微端:`/wxwork/:cid/team-leader/dashboard` - **操作步骤** - 在项目列表/卡片中,通过搜索与筛选(类型、紧急程度、阶段等)定位项目。 - 点击项目卡片上的“查看/进入项目”,跳转到企微项目详情对应阶段: - 路径:`/wxwork/:cid/project/:projectId/:stagePath?roleName=team-leader` - 阶段映射(示例逻辑见 `Dashboard` 代码): - `订单分配` → `order` - `确认需求` → `requirements` - `交付执行` → `delivery` - `售后归档` → `aftercare` ### 2. 项目详情四阶段页面(组长视角) - **入口路径** - `/wxwork/:cid/project/:projectId/:stageId?roleName=team-leader` - **顶部阶段切换** - 点击顶部的四个阶段标签「订单分配 / 确认需求 / 交付执行 / 售后归档」: - 前端通过 `goToStage(stageId)` 或 `switchStage(stageId)` 切换子路由。 - URL 在 `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` 保持(或回退为)`订单分配`,等待客服重新调整并再次提交。 ### 3. 团队管理(Team Management) → 项目详情 - **入口路径** - `/team-leader/team-management` - 或:`/wxwork/:cid/team-leader/team-management` - **操作步骤** - 在设计师列表中浏览各设计师: - 查看:工作量(轻/中/重)、能力评分、满意度、完成项目数等。 - 在某设计师的任务列表中: - 点击任务对应的项目名称 → 调用 `viewProjectDetails(projectId)`: - 路径:`/wxwork/:cid/project/:projectId` - 进入该项目的企微项目详情页(再通过顶部阶段导航进行阶段切换或审批)。 ### 4. 质量管理(Quality Management) → 整改任务与能力提升 - **入口路径** - `/team-leader/quality-management` - **质量整改任务处理** - 在列表中查看每条整改任务: - 字段包括:项目名、设计师、问题描述、优先级(高/中/低)、状态(待处理/处理中/待审核/已完成)、建议完成时间、SOP 合规得分、组长评语、关联 SOP 等。 - 点击「批准」: - 将任务状态置为 `completed`; - 调用同步方法(如 `syncToProjectReview`)把结果同步到项目评审/质量记录中; - 弹出提示(如“已批准任务:XXX”)。 - 点击「拒绝」: - 输入拒绝原因; - 将任务状态恢复为 `pending`; - 保存 `managerComment` 为拒绝原因,供后续追踪。 - **教学与考核** - 视频教程列表: - 可按关键词和阶段筛选(建模/渲染/后期),点击某条教程进行播放(当前实现为模拟弹窗/日志,实际项目可跳播放器页面)。 - 实践作业列表: - 对 `submitted` 状态作业进行评审: - 输入 0–100 分数; - 更新作业 `score`、`status='reviewed'`; - 将得分同步至团队能力看板(与 `team-management` 绩效数据联动)。 ### 5. 知识库与能力复制(Knowledge Base) - **入口路径** - `/team-leader/knowledge-base` - **SOP 规范管理** - 查看各阶段 SOP 内容(建模/渲染/后期等): - 每条 SOP 包含:阶段说明、详细要求列表、时间轴(Day1/Day2 任务)、质量指标(例如“模型精度 ≥95%”)。 - 组长可以: - 新建 SOP(添加新的规范条目); - 编辑现有 SOP; - 导出单阶段或整套 SOP(当前实现为模拟日志,实际可对接 PDF 导出)。 - **视频教程库** - 使用搜索框与阶段筛选组合过滤教程列表; - 分页浏览教程(按上传时间与播放量等排序),点击教程进行播放。 - **能力考核任务** - 创建考核任务(标题、描述、阶段、难度、预期耗时等); - 将考核任务分配给指定设计师(设置 `assigneeId` 和 `deadline`); - 查看考核提交与评分结果,将表现反馈到绩效与晋升决策中。 ### 6. 负载日历(Workload Calendar) → 排期与项目跳转 - **入口路径** - `/team-leader/workload-calendar` - **视图与筛选** - 支持三种视图:日视图 / 周视图 / 月视图; - 支持按设计师(单人或全部)、阶段(待分配/需求方案/执行/收尾验收/归档)、快捷时间范围(全部/今天/3 天内/7 天内)筛选任务; - 日历格子上展示当天任务数、逾期标记等。 - **操作路径** - 点击某天或某设计师,查看该视图下的任务列表; - 在任务列表中点击项目,调用 `navigateToProject`: - 路径:`/wxwork/:cid/project/:projectId` - 从日历排期直接进入对应的项目详情页面,继续进行阶段操作或审批。 --- ## 组长端项目已有数据及字段(数据视角) ### 1. 通用 Project 模型(跨模块使用) 源文件:`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: string` - `highPriorityNeeds: string[]`:高优先级需求列表。 - `requirements?: RequirementItem[]`:项目需求明细: - `id: string` - `description: string` - `status: string` - `priority: '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`** - 四大核心阶段(规范化字段): - `订单分配` - `确认需求` - `交付执行` - `售后归档` - 细分阶段(兼容旧数据): - `需求沟通` - `方案确认` - `建模` - `软装` - `渲染` - `后期` - `尾款结算` - `客户评价` - `投诉处理` ### 2. Task 任务模型(负载日历 & 排期) - **源文件同上 `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` 与组长工作台用来计算:某设计师在特定时间窗内的任务数量、逾期数量以及整体负载状态(空闲/正常/繁忙/异常),并支撑跳转到项目详情进行下一步操作。 ### 3. 组长 Dashboard 本地 Project 视图模型 源文件:`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`:本地构建的搜索索引(项目名+设计师名小写拼接)。 > 以上字段主要用于组长工作台页面做排序、筛选、搜索以及在项目卡片上展示「阶段进度条」「临期/逾期标识」「质量评级」等信息,并决定点击项目时跳转到哪个阶段的详情页。 --- 如需后续扩展,我可以基于本文件继续添加: - 按「页面维度」的字段表(例如:工作台/团队管理/质量管理分别用到哪些字段); - 或者导出为对外说明文档(仅保留业务含义,不暴露内部实现细节)。