Commit Graph
14 Commits
Author SHA1 Message Date
Trae Assistant 5ffcb533ff feat: 义工时长登记页新增批量勾选设置时长功能
Deploy to Server / deploy (push) Successful in 1m37s
- Hours.tsx 参与者列表首列新增复选框:表头全选/半选态(indeterminate)、每行切换选中;选中行整行高亮 primary-50/70
- 工具栏按钮拆分:「全表填时长」原逻辑保留(prompt 全量填);新增「批量设置(选中N)」按钮,勾选 1-N 人后可用
- 批量设置弹窗(max-w-lg):统一小时数必填;备注可勾选同时统一设置后启用;确认后仅覆盖选中人员,顶部显示绿色提示提醒请点击保存登记写入
- 切换活动或重新加载时清空选择集合;批量设置值仅更新前端内存,实际写库仍走原 save→hoursApi.batch
- Icons.tsx 新增 IconBatchSet 图标(勾选列表+批量)
- build 通过
2026-10-05 09:22:28 +08:00
Trae Assistant 30021d7b46 feat: 统一全链路时区为 UTC+8 (Asia/Shanghai)
Deploy to Server / deploy (push) Successful in 1m36s
- schema.sql created_at DEFAULT 改为 datetime(now,+8 hours)
- Dockerfile runtime 安装 tzdata ENV TZ=Asia/Shanghai 并软链 /etc/localtime
- docker-compose.yml 挂载宿主机 localtime 并传 TZ=Asia/Shanghai
- server index.ts 入口设置 process.env.TZ
- client utils/export 新增 utc8Now/utc8Input/utc8DateStamp/utc8DateTimeStamp
- Activities 默认活动开始/结束时间改用 UTC+8
- 导出文件名日期戳和报告生成时间统一 utc8DateStamp/utc8DateTimeStamp
2026-10-05 09:09:01 +08:00
Trae Assistant 49985a96ab fix: 批量添加工工作组调试回显 + 完整验证写入
Deploy to Server / deploy (push) Successful in 1m37s
- 后端 /users/batch 返回每条成功记录的 groups_written/groups_expected/group_ids_out;失败记录返回 group_ids_seen/count
- 前端 submitBatch:console.log 打印发送 payload 和响应;弹窗汇总工作组实际/期望写入数;任何异常的行都显示后端实际解析出的 group_ids_out,失败行同时显示后端收到的 group_ids_seen
- 本地模拟后端 sql.js 写入 user_groups 100% 正确(场景A/B测试均 changes=1,聚合查询正确),此提交部署后通过控制台和弹窗即可精确定位问题在哪一跳(前端发送 vs 后端解析 vs 数据库写入)
- npm run build 通过
2026-10-05 08:46:25 +08:00
Trae Assistant f845d6b6a4 fix: 修复批量删除 undefined/失败问题(POST 替代 DELETE body)
Deploy to Server / deploy (push) Successful in 1m38s
- 批量删除改走 POST /users/batch-remove(稳定保证 body 可被 Express 解析),同时增强 DELETE /batch 兼容 query string 回退
- 前端 usersApi.batchRemove 改用 POST 请求;批量删除函数新增 ok 标志位校验 + ?? 0 防 undefined,catch 分支带前缀明确提示失败原因
- npm run build 通过
2026-10-05 08:35:24 +08:00
Trae Assistant 6d5932ff87 refactor: 管理登录页移除默认账号密码预填与文案提示
Deploy to Server / deploy (push) Successful in 1m38s
- 用户名初始值由 admin 改为空
- 删除页脚「默认账号:admin / admin123」文案
2026-10-05 08:32:27 +08:00
Trae Assistant 5e2a6adf06 fix: DataTable title 类型扩展支持 ReactNode 以兼容复选框表头
Deploy to Server / deploy (push) Successful in 1m36s
- DataTable Column.title 类型由 string 扩展为 string | ReactNode
- 与 Users 列表的全选表头(复选框+计数)兼容,修复 tsc 编译错误 TS2322
- npm run build 通过(tsc -b + vite build exit 0)
2026-10-05 08:30:47 +08:00
Trae Assistant 48ac08d19d fix: 修复批量导入义工号/工作组丢失 + 新增批量删除
Deploy to Server / deploy (push) Failing after 43s
- 批量解析:移除义工号强制纯数字校验(原 volunteerLooksLikeNo 逻辑错误导致 VOL-003、2024-A 等全部置空);改为列数驱动:3列时智能探测是否工作组命中,4+列保留义工号原值、剩余段统一合并为工作组解析
- 后端 batch:user_groups 插入语句改为事务内按用户编译;义工号判断改为 null/undefined 严格检查,避免真值判断丢弃空字符串或 0 开头的值
- 新增 DELETE /users/batch:事务性批量删除部员(含 user_groups/hours 级联),返回实际删除 count
- 前端列表新增复选框列(表头 indeterminate 半选态),选中 1+ 条后工具栏显示「删除选中(N)」红色按钮,确认弹窗二次校验
2026-10-05 08:27:34 +08:00
Trae Assistant 13dbff885d fix: 修复批量添加部员时工作组识别及列表排序问题
Deploy to Server / deploy (push) Successful in 1m51s
- 批量解析:智能区分字段分隔符(Tab优先,否则中英逗号/分号),避免竖线误伤;支持工作组被切到多个字段后自动合并
- 工作组匹配:新增多种分隔符与忽略空格匹配;当义工号字段非纯数字且命中工作组时自动识别为工作组(兼容3列格式:班级,姓名,工作组)
- 列表展示:前端二次按班级locale排序(中文+数字感知)+ 姓名,与后端SQL排序互补
2026-10-05 08:18:45 +08:00
Trae Assistant f42121d0bb feat: 部员多工作组归属 + 批量添加功能
Deploy to Server / deploy (push) Successful in 1m59s
- 数据库:新增 user_groups 多对多关联表,启动时自动迁移旧 group_id 数据
- 后端 users:所有查询聚合多工作组信息,增删改接口支持 group_ids 数组;新增 POST /users/batch 批量添加接口(事务+逐行错误反馈)
- 后端 export/hours/activities:全面兼容多工作组关联查询
- 前端 Users:新增/编辑改为工作组多选复选框;新增批量添加模态框(粘贴解析+实时校验表+提交汇总)
- 前端列表/详情:工作组以多标签形式展示,搜索支持工作组名称
2026-10-05 08:08:15 +08:00
Trae Assistant a84a8b19ac feat(export): 新增活动时长总表(矩阵)+ 移除Logo
Deploy to Server / deploy (push) Canceled after 14m38s
- 后端 POST /api/export 新增 include_activity_matrix:部员×活动矩阵行,列=所有活动(start_time DESC排),_total尾列
- 前端 Export 新增 06 卡片「活动时长总表(矩阵)」:部员+义工号 左固定列,活动列160px宽表头显示日期副标题,值>0高亮主色+浅底,总时长bg-primary-50
- Excel 新增「活动时长总表(矩阵)」Sheet:列名=活动标题,末列总时长
- 移除Brand组件所有img Logo渲染,纯标题,减小侧栏移动端头部视觉噪音
- 前后端 tsc --noEmit exit 0 + vite build exit 0;浏览器 E2E 验证矩阵张三/校园志愿宣传活动=2.00/总时长 2.00 h
2026-10-04 23:17:19 +08:00
Trae Assistant 1a51a854a3 feat(ui): 专业风UI改造 主色#275354 + Brand系统标题统一
Deploy to Server / deploy (push) Canceled after 14m40s
- 全量替换游戏感Neo-Brutalist为政务专业风:圆角2-16px、薄灰边、柔阴影
- Tailwind主题:primary 10阶调色板 + Noto Sans SC主字体 + fade-in-up动画
- 全局CSS:浅灰F6F8F9背景 + 主色焦点环和滚动条 + card/chip工具类
- 品牌组件Brand.tsx:云图形截断防云盘旧字泄露 + 新标题组合
- 6基础组件 + 8页面:Layout深绿侧栏 Login卡片 Export去五色卡 Activities/Hours/Users 用户端Index/Dashboard
- 数据链路回归:u/2张三2h明细正确显示
- tsc无错误  vite build成功
2026-10-04 23:05:39 +08:00
Trae Assistant 9c7d6c1455 feat(ui): SVG图标全替换 + Neo-Brutalist主题升级 + 数据导出卡片类别勾选
Deploy to Server / deploy (push) Failing after 14m55s
2026-10-04 22:12:17 +08:00
Trae Assistant 0169f19cf8 chore: 调整 .gitignore,排除 .trae/ 与 tsbuildinfo
Deploy to Server / deploy (push) Failing after 14m55s
2026-10-04 18:07:01 +08:00
Trae Assistant 25b2b8f381 feat: 初始化义工时长管理系统
- 管理台:活动设置、时长登记、用户管理、数据导出(Excel/PNG)
- 用户端:姓名查询个人义工时长与活动记录
- 技术栈:React + Vite + TailwindCSS / Node.js + Express + sql.js (SQLite)
- 支持 Docker 部署,附带 Gitea Actions 自动部署工作流
- 响应式界面,兼容移动端与 PC 端
- 默认管理员账号:admin / admin123
2026-10-04 18:06:24 +08:00