Files
railwaysystem/build_ui
wangzhibiaoandCursor b7a9b89ec5 完善考勤:支持未签到学员人工登记缺勤
名册中无任何打卡记录的已报到学员此前只能"先签到再改成缺勤",会留下伪造的签到事实。

- 新增 POST /train/attendance/mark-absence,权限 train:attendance:edit,带操作日志
- 写入 attendance_status=0、sign_in_time 与 sign_out_time 保持 NULL、manual_flag=1,
  缺勤原因必填,绝不伪造签到时间
- 前置条件全部 fail closed:课次已开始、与课次同属一个开班计划、
  参训状态必须恰好为已报到;请假不得被自动改写为缺勤
- 已有考勤记录时拒绝新建并引导改用调整考勤记录,
  并发命中唯一索引转为同一业务错误,不泄露数据库异常
- 名册新增 canMarkAbsence,前端直接采用后端判定,登记后可继续调整考勤记录
- 未改动出勤率统计口径与 Analytics 业务策略

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-22 17:04:41 +08:00
..
2026-09-10 15:20:14 +08:00
2026-09-10 15:20:14 +08:00
2026-09-10 15:20:14 +08:00
2026-09-10 15:20:14 +08:00
2026-09-10 15:20:14 +08:00
2026-09-10 15:20:14 +08:00
2026-09-10 15:20:14 +08:00
2026-09-10 15:20:14 +08:00
2026-09-10 15:20:14 +08:00
2026-09-10 15:20:14 +08:00

开发

# 克隆项目
git clone https://gitee.com/y_project/RuoYi-Vue

# 进入项目目录
cd ruoyi-ui

# 安装依赖
npm install

# 建议不要直接使用 cnpm 安装依赖,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题
npm install --registry=https://registry.npmmirror.com

# 启动服务
npm run dev

浏览器访问 http://localhost:80

发布

# 构建测试环境
npm run build:stage

# 构建生产环境
npm run build:prod