Files
home-leave-front/README.md
T
lijing 913a11b2a1
build / build (push) Successful in 7m59s
feat: 提交学生请假前端工程源码(Vue3 + Vite + view-ui-plus)
- 业务域:学生请假(请假申请 / 我的请假 / 请假审批 / 请假登记 / 请假统计 / 应用设置)
- 接口直连真实后端(/api/leave/*、/api/base/*),无本地 mock
- 同步本轮路由改造:浏览器地址匹配不上已授权菜单节点时落回第一个节点
- .gitignore 补充 .workbuddy/、*.bak、*.orig 与改造来源包 FamilyActivity.rar
2026-09-23 10:28:26 +08:00

67 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 学生请假(homeleave)
学生请假模块 —— 学生向老师请假(学生申请、教师审批),教师给学生请假(教师登记,免审直接通过)。
> 由家校活动(family-activity)工程改造:保留 Vue3 + Vite + view-ui-plus + alova
> 技术栈、布局壳层、权限菜单契约、表格/分页/附件等基础设施,业务域整体替换为「学生请假」。
> 后端:`E:\YHXT\java\HomeLeave`(Spring Boot,包名 `com.yunhai.homeleave`)。
> 本工程已去除本地 mock,全部接口直连真实后端。
## 快速开始
```bash
# 联调本地后端(需先启动 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` | 请假统计 |