实现了组长端紧急事件的停滞和改图原因标记功能,支持原因归类、自定义填写、预计恢复时间设置,并在项目标签中展示相关信息。同时实现了紧急事件的优先级排序机制。
文件路径: src/app/pages/team-leader/dashboard/components/stagnation-reason-modal/
组件功能:
组件文件:
stagnation-reason-modal.component.tsstagnation-reason-modal.component.htmlstagnation-reason-modal.component.scss文件: dashboard.model.ts, interfaces.ts
新增字段:
// 标记状态
isMarkedAsStagnant?: boolean;
isMarkedAsModification?: boolean;
// 停滞原因
stagnationReasonType?: 'designer' | 'customer' | 'custom';
stagnationCustomReason?: string;
// 改图原因
modificationReasonType?: 'designer' | 'customer' | 'custom';
modificationCustomReason?: string;
// 通用字段
estimatedResumeDate?: Date; // 预计恢复时间
reasonNotes?: string; // 备注说明
markedAt?: Date; // 标记时间
markedBy?: string; // 标记人
priorityWeight?: number; // 优先级权重
同样添加了停滞/改图原因相关字段,支持项目看板展示。
文件: todo-section.component.html, todo-section.component.ts
新增功能:
文件: todo-section.component.html, todo-section.component.scss
展示内容:
样式特点:
文件: project-kanban.component.html, project-kanban.component.scss
在项目卡片中展示停滞/改图原因:
文件: urgent-event.service.ts
排序规则: 客户服务事件 > 工作阶段事件 > 小图截止 > 整体交付延期
权重计算:
基础权重:
- 客户服务事件: 1000分
- 工作阶段事件: 800分
- 对图事件(小图截止): 600分
- 交付事件(整体交付): 400分
加成规则:
- 紧急程度: critical +300, high +200, medium +100
- 逾期天数: 每天 +10分(上限100)
- 停滞天数: 每天 +5分(上限100)
- 已标记停滞/改图: +50分
- 需要跟进的客户事件: +100分
实现方法:
calculatePriorityWeight(): 计算单个事件权重文件: dashboard.ts
新增方法:
markEventAsStagnant(payload)markEventAsModification(payload)saveEventMarkToDatabase(event, type, reason)用户点击"标记停滞/改图"
↓
打开StagnationReasonModal弹窗
↓
用户填写原因、日期、备注
↓
点击"确认标记"
↓
todo-section组件emit事件
↓
dashboard组件处理
↓
更新urgentEvents数据
↓
UI自动刷新展示原因标签
↓
(可选)持久化到数据库
stagnation-reason-modal.component.ts - 弹窗组件逻辑stagnation-reason-modal.component.html - 弹窗模板stagnation-reason-modal.component.scss - 弹窗样式dashboard.model.ts - UrgentEvent接口扩展interfaces.ts - UrgentEvent和Project接口扩展todo-section.component.ts - 添加弹窗集成和事件处理todo-section.component.html - 添加按钮和标签展示todo-section.component.scss - 添加标签样式dashboard.ts - 添加标记处理方法dashboard.html - 添加markEventAsModification事件绑定urgent-event.service.ts - 添加优先级排序逻辑project-kanban.component.html - 添加项目卡片原因展示project-kanban.component.scss - 添加项目卡片标签样式saveEventMarkToDatabase()方法2024-11-23
Cascade AI Assistant