lijing 483243a3d9
build / build (push) Successful in 8m17s
feat(theme): 接入云海子主题通道(A 类免插件,规范 v1.12 §2/§3)
- index.html 插 A 类 loader:唯一接入点,FOUC 门/manifest 预取/link 排序全由 yh-theme-init.js 承担,主题升级走 /static 通道不重新构建
- vite 加 /static dev 代理(YH_THEME_PROXY_TARGET 可覆盖)
- host.config 回写 __APP_CONFIG__.serviceHost(仅同源):init 的 appearance 请求跨源会被直接跳过
- 顶栏头像接平台键 yh-avatar,监听 yh-appearance-updated,userInfo 兜底
- view-ui-plus 声明锁 1.3.24(对齐通道皮肤生成版本)
2026-10-21 17:34:31 +08:00

学生请假(homeleave)

学生请假模块 —— 学生向老师请假(学生申请、教师审批),教师给学生请假(教师登记,免审直接通过)。

由家校活动(family-activity)工程改造:保留 Vue3 + Vite + view-ui-plus + alova 技术栈、布局壳层、权限菜单契约、表格/分页/附件等基础设施,业务域整体替换为「学生请假」。 后端:E:\YHXT\java\HomeLeave(Spring Boot,包名 com.yunhai.homeleave)。 本工程已去除本地 mock,全部接口直连真实后端。

快速开始

# 联调本地后端(需先启动 HomeLeaveApplication,端口 8106)
npm run dev

# 构建(产物直出 dist/)
npm run build

开发地址:http://localhost:8078/(/api 由 vite 代理转发到 http://localhost:8106)

功能范围

菜单 路由 说明
请假审批 /audit 教师审批列表:审核(通过/拒绝)、批量通过、撤销审批、销假审批
请假登记 /register 教师给学生请假:选任教班级与学生直接登记(免审通过)
请假统计 /stats 按班级 / 日期 / 请假类型统计
请假申请 /apply 学生提交请假:类型、起止时间、连续请假、事由、附件
我的请假 /my 学生查看本人请假记录,可撤销、申请销假

状态机(LeaveStatusEnum)

0 待审核 ──教师审核──→ 1 已通过 / 8 已拒绝
0 待审核 ──学生撤销──→ 3 已撤销
1 已通过 ──学生申请撤销──→ 2 待撤销 ──教师审批──→ 3 已撤销 / 4 撤销拒绝
1/7 ──学生申请销假──→ 5 待销假 ──教师审批──→ 6 已销假(回写时间)/ 7 销假拒绝
教师登记(type=1)免审直接 1,教师可直接销假(→6)

目录结构(业务部分)

src
├── api/module/leave.ts          # 请假域接口封装(get/postJSON/postForm,统一 {code,msg,data} 解包)
├── assets
│   └── config/menu.ts           # 左侧菜单兜底数据(modId 契约)
├── types/leave.ts               # 请假域 TS 契约(对齐后端 VO/DTO)
└── views/leave/                 # 业务页面(申请 / 我的 / 审批 / 登记 / 统计 + 详情弹窗)

后端接口契约(/{platform}/leave/*)

接口 说明
POST /api/leave/Save 提交请假(学生 type=2 待审核;教师登记 type=1 免审通过)
GET /api/leave/List 分页列表(学生本人 / 教师任教班级 / 校管理员全校)
GET /api/leave/Details?id= 详情(时间段、销假时间段、附件、按钮状态)
POST /api/leave/Audit 教师审批:1 通过 / 8 拒绝;撤销 3/4;销假 6/7
POST /api/leave/BatchPass 批量通过(classId 一键 / ids 勾选)
POST /api/leave/Withdraw?id= 学生申请撤销
POST /api/leave/ReportBack 销假(学生申请 → 待销假;教师直接销假 → 已销假)
GET /api/leave/MyClasses 我的班级(学生所在 / 教师任教 / 管理员全校)
GET /api/leave/ClassStudents?classId= 班级学生名单
GET /api/leavestats/Stats 请假统计
S
Description
managed by projman
Readme
2.2 MiB
Languages
Vue 43.3%
JavaScript 32.8%
TypeScript 18.7%
CSS 2.3%
SCSS 2.1%
Other 0.8%