- 业务域:学生请假(请假申请 / 我的请假 / 请假审批 / 请假登记 / 请假统计 / 应用设置) - 接口直连真实后端(/api/leave/*、/api/base/*),无本地 mock - 同步本轮路由改造:浏览器地址匹配不上已授权菜单节点时落回第一个节点 - .gitignore 补充 .workbuddy/、*.bak、*.orig 与改造来源包 FamilyActivity.rar
This commit is contained in:
@@ -1,3 +1,66 @@
|
||||
# home-leave-front
|
||||
# 学生请假(homeleave)
|
||||
|
||||
managed by projman
|
||||
学生请假模块 —— 学生向老师请假(学生申请、教师审批),教师给学生请假(教师登记,免审直接通过)。
|
||||
|
||||
> 由家校活动(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` | 请假统计 |
|
||||
|
||||
Reference in New Issue
Block a user