406 Commits

Author SHA1 Message Date
Your Name
0acf4c650e fix: 添加deleteTaskByTaskNo API到task.ts 2026-01-15 18:15:32 +08:00
Your Name
e7822faaca feat: 系统设置增加管理员根据任务编号删除任务功能 2026-01-15 18:12:35 +08:00
Your Name
286162aeb2 feat: 支持指定模式下部分子任务指定设计师,部分子任务由接单部门负责人分配 2026-01-15 18:05:36 +08:00
Your Name
b0f6da53f7 fix: 修复loadDashboardStats中userInfo未定义的问题 2026-01-15 17:59:40 +08:00
Your Name
96bf8aef68 fix: 修复编译错误,使用userService替代userMapper 2026-01-15 17:30:07 +08:00
Your Name
16f035dcee fix: 顶部数据展板根据用户部门类型统计数据-需求部门用户统计发起的任务,接单部门用户统计接收的任务 2026-01-15 17:27:39 +08:00
Your Name
c74274e8b4 fix: 顶部数据展板只有部门负责人切换视角时才显示部门数据,普通用户显示个人数据 2026-01-15 17:22:39 +08:00
Your Name
313f647a86 fix: 数据分析页面分页器文字颜色修复为白色 2026-01-15 17:17:44 +08:00
Your Name
6001679eac fix: 1. 任务数量上限从100提高到10000 2. 流水线任务正确设置主任务的总数量 2026-01-15 17:02:20 +08:00
Your Name
6f522a9b95 fix: 设计师绩效榜单添加子任务的接单数、完成数和积分统计 2026-01-15 16:42:07 +08:00
Your Name
23e413984c feat: 已完成任务卡片添加子任务进度节点和任务明细显示,与进行中任务保持一致 2026-01-15 16:37:42 +08:00
Your Name
37a35e8cb5 feat: 搜索功能支持任务编号,所有页面卡片显示任务编号
1. 后端 TaskMapper 和 TaskItemMapper 增加 task_no 和 item_no 搜索支持
2. 前端搜索框 placeholder 更新为包含任务编号
3. 进行中任务、已完成任务、我发起的任务卡片底部添加任务编号显示
4. 任务编号支持点击复制
2026-01-15 16:29:22 +08:00
Your Name
eeeba7b685 fix: 修复积分显示的浮点数精度问题
使用 Math.round(score * 100) / 100 避免 JavaScript 浮点数计算误差
例如 0.1 × 46 现在正确显示为 4.60 而不是 4.600000000000005
2026-01-15 15:47:59 +08:00
Your Name
3922d3653b feat: 所有页面积分显示支持小数点后两位
- Analytics.vue: 设计师绩效、用户需求、扣分明细、CSV导出
- DesignerHall.vue: 设计师卡片累计积分
- TaskHall.vue: 任务卡片积分、typeDetails积分
- LeaderWorkbench.vue: 任务积分
- MyTasks.vue: 任务积分
- CreateTask.vue: 预估积分、任务类型积分
- RewardRecords.vue: 累计积分、奖励积分
- Goals.vue: 奖励积分
- IncentiveCenter.vue: 用户积分、奖励积分
- Contests.vue: 竞赛得分、奖励积分
- CheckIn.vue: 历史奖励积分
- ScorePoolManagement.vue: 积分变动
- Achievements.vue: 奖励积分
2026-01-15 15:39:32 +08:00
Your Name
b47e322870 修复接单部门负责人驳回任务时没有通知任务发起人的问题
- 接单部门负责人驳回时,首先通知任务发起人
- 如果需求部门负责人不是发起人,也通知需求部门负责人
- 添加日志记录通知发送情况
2026-01-14 19:40:11 +08:00
Your Name
06194088ac 修复被驳回任务重新编辑时任务类型信息显示不正确的问题
- 从子任务的typeDetails中解析完整的任务类型信息
- 添加findTaskTypePath函数用于查找任务类型的级联路径
- 加载任务后自动设置taskTypePath以正确显示级联选择器
- 不预设selectedDeptId,让用户重新选择或自动匹配
2026-01-14 19:32:34 +08:00
Your Name
9b5407060a 修复流水线任务审核通过后只通知一个设计师的问题
- 新增sendTaskAssignedNotification方法
- 流水线任务审核通过后,遍历第一个部门的所有子任务
- 给每个子任务的设计师都发送钉钉通知
- 每个设计师收到的通知只包含自己负责的任务明细
2026-01-14 19:26:14 +08:00
Your Name
cb2c468513 修复顺序流水线指派模式下同部门多设计师子任务状态更新问题
- 修改updateAssignedPipelineTaskItems方法
- 基于部门序号(从itemNo解析)而不是groupNo来判断第一个部门
- 第一个部门的所有子任务都更新为in_progress状态
- 保留每个子任务预先指定的接收人
2026-01-14 19:09:19 +08:00
Your Name
d3d1320bf4 修复预先指定多设计师时审核提交验证问题 - 当已有预先指定的设计师列表时,跳过选择设计师的验证 2026-01-14 18:56:56 +08:00
Your Name
ed314051d7 修复同部门多设计师审核时显示问题
1. 后端:在typeDetails中保存receiverId和receiverName
2. 前端:审核弹窗支持显示多个预先指定的设计师列表
3. 前端:扩展TaskTypeDetail接口支持receiverId和receiverName
2026-01-14 18:46:04 +08:00
Your Name
2df7e3713c 在进行中任务和已发布任务卡片中添加任务类型明细显示 2026-01-14 18:36:49 +08:00
Your Name
7bf2fab0cc 修复任务卡片中任务类型明细不显示的问题 - mapTaskItemToTask函数添加typeDetails字段映射 - 子任务列表映射添加typeDetails字段 2026-01-14 18:27:18 +08:00
Your Name
9599cf74a8 修复顺序流水线同部门内子任务并行逻辑
1. 修改TaskService创建子任务时的状态设置:
   - 第一个部门的所有子任务都设为pending(可接单)
   - 其他部门的子任务设为locked(锁定)

2. 修改TaskItemService子任务完成后的解锁逻辑:
   - 基于部门序号(从itemNo解析)而不是groupNo
   - 当前部门的所有子任务完成后,才解锁下一个部门的所有子任务
   - 同一部门内的子任务并行执行

3. 新增parseDeptIndexFromItemNo辅助方法:
   - 从子任务编号解析部门序号
   - 支持新格式(TASK...-01-02)和旧格式兼容
2026-01-14 18:18:52 +08:00
Your Name
777658b72c 优化前端子任务编号显示格式 - TaskHall.vue和TaskCard.vue支持新的两级编号格式 - 新格式TASK...-01-02显示为'子01-02' - 旧格式TASK...-01显示为'子01' - 保持向后兼容 2026-01-14 18:10:42 +08:00
Your Name
611677a93b 优化子任务编号格式为两级结构 - 新编号格式:任务编号-部门序号-部门内子任务序号 - 例如:TASK20260114-01-01 表示第1个部门的第1个子任务 - 同一部门内不同设计师的任务会有不同的部门内序号 - 支持创建和更新流水线任务时使用新编号格式 2026-01-14 18:04:41 +08:00
Your Name
0030233062 修复三个任务相关问题 1. 修复驳回任务重新编辑时数据丢失问题 - loadTaskForEdit正确加载流水线任务子任务数据 - 加载预览图和指定设计师信息 2. 同部门多设计师时自动拆分子任务并行 - 分组键改为部门+设计师ID组合 - 不同设计师的任务自动拆分为不同子任务 3. 修复驳回任务重新发布后审核不到的问题 - updatePipelineTask在initApprovalStatus后再次保存任务 - 确保审核状态和审核人ID正确保存到数据库 2026-01-14 17:56:28 +08:00
Your Name
c9cd8e3f78 重新设计每日任务进度更新弹窗UI - 修复滑块、输入框、文本框文字颜色为黑色的问题 - 优化整体布局,添加任务序号标签 - 改进进度滑块样式,使用渐变色轨道 - 优化卡片样式,添加悬停效果 - 改进提示横幅设计 - 优化无任务状态和加载状态的展示 - 添加自定义滚动条样式 2026-01-14 17:26:13 +08:00
Your Name
4496af862e 修复上传文件列表文件名颜色为黑色的问题 - 添加.ant-upload-list样式,设置文件名为白色 2026-01-14 17:14:39 +08:00
Your Name
c7728df3fb 实现S3分块上传支持大文件 - 超过10MB的文件使用分块上传(Multipart Upload) - 每个分块5MB,支持最大5GB文件 - 解决S3服务商413错误 2026-01-14 17:07:30 +08:00
Your Name
2697494934 增加文件上传大小限制到500MB - 添加Tomcat max-http-form-post-size和max-swallow-size配置 - 增加connection-timeout到10分钟 - 更新前端提示文字 2026-01-14 15:44:28 +08:00
Your Name
240bb9b4d7 feat: 添加fillSubTaskStats方法的调试日志 2026-01-14 15:23:38 +08:00
Your Name
53d1caf327 fix: 为主任务的子任务列表动态计算deadline - 在TaskService.fillSubTaskStats中为进行中的子任务动态计算deadline 2026-01-14 15:09:55 +08:00
Your Name
72da0d8ffe debug: 改为INFO级别日志 2026-01-14 14:32:06 +08:00
Your Name
8aa4725d53 debug: 添加子任务deadline计算日志 2026-01-14 14:29:33 +08:00
Your Name
6ff115296f fix: 为没有deadline的进行中子任务动态计算deadline
在enrichTaskItemsWithSubTasks方法中,为没有deadline的进行中子任务
使用updateTime + estimatedHours动态计算deadline,确保展开的
子任务详情列表中能显示完成截止时间
2026-01-14 14:25:05 +08:00
Your Name
f342961887 debug: 添加子任务deadline调试日志 2026-01-14 14:18:42 +08:00
Your Name
5d626b55c9 fix: 修复进行中任务不显示子任务列表模块的问题
后端修改:
- 在TaskItem实体类中添加isPipeline、subTasks、subTaskTotal字段
- 在TaskItemController中添加enrichTaskItemsWithSubTasks方法
- 获取进行中子任务时,自动填充同一主任务的所有子任务信息

前端修改:
- 在mapTaskItemToTask函数中添加isPipeline、subTasks、subTaskTotal字段映射
- 这样前端可以正确显示流水线任务的子任务进度时间线
2026-01-14 14:05:21 +08:00
Your Name
cff7b795b7 fix: 修复进行中任务不显示完成截止时间的问题
- 在mapTaskItemToTask函数中添加deadline和startTime字段映射
- 子任务的deadline字段从后端返回,现在能正确传递到前端显示
- 保留调试日志用于验证修复效果
2026-01-14 13:58:59 +08:00
Your Name
64d9235769 fix: 修复getTaskById方法未填充子任务列表的问题
- 在getTaskById方法中添加fillSubTaskStats调用
- 确保返回的任务详情包含subTasks字段
- 修复前端getTaskDeadline函数无法获取子任务列表导致完成截止时间不显示的问题
2026-01-14 13:49:17 +08:00
Your Name
1af9e694ee fix: 修复任务详情中完成截止时间不显示的问题
- 在handleViewTaskDetail和handleTaskClick函数中,调用getTaskById API获取完整的任务详情
- 确保任务对象包含deadline、startTime、isPipeline、subTasks等字段
- 修复getTaskDeadline函数返回null导致完成截止时间不显示的问题
- 如果是子任务,调用getTaskItemById API获取完整的子任务详情
2026-01-14 13:46:15 +08:00
Your Name
f258a8ffc7 debug: 添加任务详情调试日志,用于检查任务数据字段
- 在handleViewTaskDetail和handleTaskClick函数中添加console.log
- 输出任务对象、状态、deadline、startTime等关键字段
- 输出getTaskDeadline函数的计算结果
- 用于调试完成截止时间不显示的问题
2026-01-14 13:24:10 +08:00
Your Name
01d9468e6f feat: 在任务详情中显示进行中任务的完成截止时间
- 在任务详情抽屉的基本信息部分添加完成截止时间字段
- 添加getTaskDeadline函数计算任务的完成截止时间
  - 流水线任务:从接单时间开始 + 所有子任务预估工时总和
  - 普通任务:从接单时间开始 + 任务预估工时
- 添加isTaskDeadlineOverdue函数判断截止时间是否过期
- 优先使用后端返回的deadline字段,如果没有则前端计算
2026-01-14 13:11:02 +08:00
Your Name
b589b8d77c fix: 修复任务完成时间显示问题 - 添加条件判断,只在任务已完成且有完成时间时显示 2026-01-14 12:07:46 +08:00
Your Name
7390289f1a feat: 实现子任务deadline后端计算和存储功能
- 添加task_item表的deadline字段(数据库迁移V13)
- 在TaskItem实体类中添加deadline字段
- 更新TaskItemMapper.grabItem()方法支持deadline参数
- 在TaskItemService.grabItem()中使用WorkHoursCalculator计算deadline
- 更新前端TaskItem接口添加deadline字段
- 修改前端getSubTaskDeadline函数直接使用后端返回的deadline
2026-01-14 12:02:50 +08:00
Your Name
124e18ab78 feat: 实施工作时间配置系统
- 添加工作时间配置数据库迁移(V12__add_work_hours_config.sql)
- 创建WorkHoursCalculator工具类用于工作时间计算
- 添加工作时间配置API接口(SystemConfigController)
- 修改后端服务使用动态工作时间(TaskService、TaskItemService、TaskApprovalService、AnalyticsService)
- 在Settings.vue中添加工作时间配置UI
- 修改前端时效格式化函数使用动态工作时长(TaskHall.vue、CreateTask.vue)
- 所有时间计算(截止时间、延误扣分、时效格式化)现在使用配置的工作时间,替换硬编码的8小时
2026-01-14 11:40:43 +08:00
Your Name
51264aef06 在子任务展开部分添加完成截止日期显示(从接单开始计算+预计完成时间) 2026-01-14 10:33:52 +08:00
Your Name
665369bb17 修复扣分不一致问题:排行榜也计算子任务延误扣分;增加弹窗宽度并修复滚动条样式 2026-01-14 10:19:12 +08:00
Your Name
7142cda20f 修复扣分明细弹窗UI样式,使用非scoped样式和wrapClassName确保样式正确应用 2026-01-14 10:10:10 +08:00
Your Name
d2768d5264 添加日志确认近一月计算逻辑 2026-01-13 19:48:33 +08:00
Your Name
e9a090963a 修改近一月计算逻辑:从当月1号开始计算,而不是往前推一个月 2026-01-13 19:40:12 +08:00