692 Commits

Author SHA1 Message Date
Your Name
f484e17e73 feat(settings): add admin task-item dept redirect tool 2026-02-08 10:00:15 +08:00
Your Name
f041543f02 feat(settings): add offboarding record list and trace detail 2026-02-07 19:38:46 +08:00
Your Name
eae8cbb8e8 feat(settings): add safe user offboarding transfer workflow 2026-02-07 19:18:45 +08:00
Your Name
3b4971175d fix: avoid stretched galaxy panel height 2026-02-07 18:35:43 +08:00
Your Name
5ec863b157 style: mute task code color in progress table 2026-02-07 18:32:50 +08:00
Your Name
8fcd451e07 fix: separate heatmap and task panels spacing 2026-02-07 18:30:09 +08:00
Your Name
9fc0e7cc43 style: align task progress cockpit with site visual standard 2026-02-07 18:24:30 +08:00
Your Name
ba733cd47b fix: prevent null ids from breaking task progress snapshot 2026-02-07 17:19:41 +08:00
Your Name
6a65a4a68a fix: add json parser overload for task snapshot metrics 2026-02-07 10:52:56 +08:00
Your Name
e9e05613f5 feat: add task progress command center with snapshot analytics 2026-02-07 10:51:45 +08:00
Your Name
1a80f5482f fix: 盲盒模式禁用任务搜索
盲盒模式下禁用搜索框并清空关键词,同时请求参数忽略关键词。
2026-02-04 19:27:04 +08:00
Your Name
651608ebf0 fix: 完善数据分析导出并避免乱码
为导出CSV增加转义处理,补齐多维度与一级需求部门数据,避免数据缺失。
2026-02-04 19:21:30 +08:00
Your Name
9ee8cfe2cc fix: 修正月度积分脚本部门表名
将修复脚本中的部门表改为 sys_dept,避免执行时报表不存在。
2026-02-04 19:02:28 +08:00
Your Name
67b8cb7991 fix: 按完成时间归属月度积分
确保主任务/子任务的月度积分按完成时间入账,并补充修正脚本。
2026-02-04 18:55:48 +08:00
Your Name
96e8040af5 fix: 修复接单部门负责人驳回子任务组时的权限校验问题 2026-02-04 18:15:12 +08:00
Your Name
43d452af77 style: 移除盲盒卡片顶部彩色线条 2026-02-02 21:22:25 +08:00
Your Name
ad296d8512 feat: 调整盲盒卡片配色为绿色主题,增大图标尺寸 2026-02-02 21:20:12 +08:00
Your Name
6164ff322d feat: 重新设计盲盒卡片样式,增加盒子图标和问号 2026-02-02 21:15:19 +08:00
Your Name
9da1153554 feat: 盲盒模式每次刷新都重新混淆任务顺序,防止通过序号分辨任务 2026-02-02 15:39:01 +08:00
Your Name
1c58431788 feat: 盲盒卡片增加显示可接单部门信息 2026-02-02 15:35:10 +08:00
Your Name
c592ba2234 feat: 添加可接任务页面盲盒模式功能
- 后端:在SystemConfigService添加task.blind_box_mode配置项
- 前端:在Settings.vue任务数据管理中添加盲盒模式开关
- 前端:在TaskHall.vue实现盲盒卡片显示
  - 开启后普通部门成员看到的任务卡片变成盲盒样式
  - 盲盒显示排队序号,隐藏所有任务信息
  - 部门负责人和管理员不受盲盒模式影响
2026-02-02 15:25:08 +08:00
Your Name
47f028513f fix: 子任务完成时立即发放积分到接单部门
问题:子任务完成后用户反馈没有结算积分
原因:submitCompletion方法中积分发放代码被注释掉了
修复:
- TaskItemService注入DeptMonthlyScoreService
- 子任务完成时调用addEarnedScore发放积分
- 同时判断是否延误并记录
2026-02-02 14:14:28 +08:00
Your Name
22169c73ed fix: 子任务接单人名称始终从用户表实时获取
问题:子任务的receiverName存储了过期值,与实际receiver_id对应的用户名不一致
原因:任务转让时只更新了receiver_id,没有更新receiver_name字段
修复:fillSubTaskStats中始终根据receiver_id查询并刷新receiverName

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-01-31 18:55:58 +08:00
Your Name
59e8f23370 fix: 一级需求发起人可以评分和填写商品ID
问题:一级需求部门成员发布任务完结后无法评分和填写商品ID
原因:权限判断只检查publisherId,未考虑primaryPublisherId和detailCompleterId

修复:
- 前端:isTaskPublisher和canManageProducts函数增加对一级需求发起人和明细完善人的判断
- 后端:rateTask方法增加对primaryPublisherId和detailCompleterId的权限验证

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-01-31 18:32:27 +08:00
Your Name
01f0e3e3dc fix: 修复任务大厅导出功能数据不完整的问题
问题:导出功能只导出主任务,但前端任务大厅显示的是子任务
修复:按子任务行导出,与前端显示一致
- 查询可接单的子任务(task_item表status=pending)
- 每个子任务导出一行数据
- 包含子任务的任务编号、积分、数量等信息

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-01-31 15:12:43 +08:00
Your Name
f9a689dc1e fix: 修复createTask方法未设置createTime导致发起时间为空的问题
- 在createTask方法中添加createTime设置逻辑
- 确保所有创建的任务都有正确的创建时间

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-01-31 14:40:21 +08:00
Your Name
632bdd23d6 fix: 优化部署脚本,解决端口占用导致重启慢的问题
- 重启前先停止服务并清理僵尸Java进程
- 确保端口5123释放后再启动
- 增加启动等待时间确保服务完全就绪

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-01-31 14:38:18 +08:00
Your Name
24671de157 feat: 为一级需求部门发起人开启草稿箱功能
- 前端:showDraftTab 增加 primary_demand 类型判断
- 后端:getMyPublishedTasks 增加 primaryPublisherId 查询条件
2026-01-30 16:45:20 +08:00
Your Name
211de3a8fa fix: 修复积分明细弹窗样式变量名 2026-01-30 15:45:33 +08:00
Your Name
6f03198833 feat: 设计师绩效排行榜添加积分明细弹窗功能
- 后端添加 /api/analytics/designer-score-details API
- 前端添加积分列点击事件,显示积分明细弹窗
- 显示子任务和主任务的完成积分列表
2026-01-30 15:38:48 +08:00
Your Name
4c28716ab5 fix: 子任务列表支持品牌、类目、平台等筛选条件
- 后端TaskItemController添加brandId/categoryId/platformId/taskSubType参数
- 后端TaskItemMapper添加selectAvailableItemsWithFilters方法
- 前端task.ts更新getAvailableTaskItems参数类型
2026-01-30 14:56:16 +08:00
Your Name
d9d8663823 fix: 一级需求待审核任务显示审核按钮
- 修复canApproveTask函数,增加对pending_primary_approval状态的支持
2026-01-30 14:39:06 +08:00
Your Name
754b885e29 fix: 一级需求部门负责人可查看子部门成员发起的任务
- 后端: 对于primary_demand类型部门负责人,返回managedDepartments时包含子部门
- 前端: 支持primary_demand类型部门的任务查询
2026-01-30 14:25:27 +08:00
Your Name
8c590d4099 fix: 修复子任务指派时缺少claim_time和receiver_name的bug
问题:
- approveTaskItemGroup方法在审核指派子任务时,没有设置claim_time和receiver_name
- grabAssignedItem方法在指定任务接单时,没有更新receiver_name

修复:
- approveTaskItemGroup中增加item.setClaimTime(now)和item.setReceiverName(receiver.getRealName())
- grabAssignedItem SQL增加receiver_name字段更新
- grabAssignedItem方法签名增加receiverName参数

影响:修复后,通过审核指派或指定任务接单的子任务将有完整的接单记录,
确保后续完结任务等流程能正确执行
2026-01-30 11:32:44 +08:00
Your Name
72f23a782a feat: 增强任务节点查询-展示流水线子任务的详细节点进度
- 为流水线任务添加每个节点的执行状态展示
- 显示节点完成情况(如 已完成 1/1 项)
- 显示接单人信息
- 支持待审批、进行中、等待中等状态
2026-01-30 11:08:48 +08:00
Your Name
11b94b8438 fix: 修复需求趋势图完成数量统计错误
- 完成数量改为按完成时间(complete_time)统计,而非创建时间
- 需求数量保持按创建时间(create_time)统计
2026-01-29 20:31:12 +08:00
Your Name
7392fd2908 fix: 修复压缩后文件名显示问题
- 确保压缩后的文件在前端显示正确的 .zip 后缀
- 使用 nextTick 强制更新文件名避免被组件覆盖
2026-01-29 19:58:13 +08:00
Your Name
3b6f5f9659 fix: 修复文件下载时文件名乱码问题
- 上传时设置 Content-Disposition 头保存原始文件名
- 支持中文文件名的 URL 编码
2026-01-29 19:36:01 +08:00
Your Name
3b47701e81 feat: 大文件自动压缩上传优化
- 超过50MB的Excel/Word/PDF文件自动压缩成zip后上传
- 显示压缩进度和压缩率
- 大幅减少大文件上传时间和存储空间
2026-01-29 19:27:15 +08:00
Your Name
00649e4b30 fix: 修复一级需求人名字不显示的问题
将 isPrimaryTask === 1 改为 Number(isPrimaryTask) === 1
兼容后端返回的不同数据类型
2026-01-29 15:40:32 +08:00
Your Name
17fa304c91 feat: 调整任务排队配置上限
- 每日最少解锁数上限从100改为1000
- 触发补充解锁数上限从50改为500
2026-01-29 14:56:42 +08:00
Your Name
2ca9626e50 fix: 任务节点查询显示流水线任务当前待处理子任务的接单人
问题:流水线任务完成子任务1后,节点查询仍显示子任务1的接单人
修复:查询当前pending状态的子任务接单人,而不是主任务的receiver_id
2026-01-29 13:28:57 +08:00
Your Name
7332e48f0d fix: 修复流水线子任务解锁逻辑
问题:当子任务状态是pending但is_locked=1时,完成前置任务后不会解锁
原因:代码只检查status='locked',没有检查is_locked字段
修复:同时检查is_locked=1且未完成的子任务
2026-01-29 13:19:54 +08:00
Your Name
d15a15a507 fix: 移除前端二次排序,使用后端排序结果 2026-01-29 12:18:41 +08:00
Your Name
186aef053b feat: 优化排序逻辑 - 可抢单任务默认排前面 2026-01-29 12:08:07 +08:00
Your Name
bf2f720fe7 fix: 修复排队状态查询逻辑
当任务没有 receiver_dept_id 时,从 task_unlock_status 表中查询对应的部门ID
2026-01-29 11:50:12 +08:00
Your Name
4d4b1e2189 fix: 完善任务排队状态显示和抢单按钮
- 修改getStatusText函数显示排队中状态
- 修改canGrabTask函数检查canGrab和unlockStatus
- 抢单按钮显示排队位置信息
2026-01-29 11:32:36 +08:00
Your Name
7dc5df6f80 fix: 修复任务排队状态样式不显示的问题
添加非scoped样式块确保badge-queuing和badge-grabbing样式不被tree-shaking移除
2026-01-29 11:28:48 +08:00
Your Name
7bb3c953ef feat: 实现任务排队解锁机制
- 新增任务排队解锁功能,确保先发布的任务优先被处理
- 添加系统设置中的任务排队配置(启用开关、每日解锁数、补充解锁数)
- 新增 TaskUnlockStatus 实体和 Mapper
- 新增 TaskUnlockService 处理排队解锁逻辑
- 新增 TaskStatusNotificationService 发送钉钉通知
- 更新 TaskItemService 和 TaskItemController 支持排队状态
- 前端新增 TaskStatusBadge 组件显示排队/抢单状态
- 更新 TaskCard 和 TaskHall 支持排队状态展示
- 添加数据库迁移脚本 V15
2026-01-29 10:36:38 +08:00
Your Name
5a1a5fba84 feat: 任务卡片日期信息添加鼠标悬停提示
- 为发布时间、截止时间、完成时间等添加title属性
- 鼠标悬停时显示完整的日期时间(年月日 时分秒)
- 修复日期显示不完整时无法查看完整信息的问题
2026-01-28 17:16:45 +08:00