# FssAdmin_schoole **Repository Path**: fsscms/fss-admin_schoole ## Basic Information - **Project Name**: FssAdmin_schoole - **Description**: 智慧学校管理系统(模块目录名 schoole):面向教务、班主任、科任教师的后台管理、教师移动端,以及面向家长的家长端。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: https://school.phpframe.org/ - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-09-07 - **Last Updated**: 2026-09-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 智慧学校管理系统介绍 本文介绍本工作区内的**智慧学校管理系统**(模块目录名 `schoole`):面向教务、班主任、科任教师的**后台管理**,以及面向家长的**家长端**。三端共用同一套 PHP 接口(`/api/schoole/*`),后台挂在管理端 `web/` 的「学校管理」菜单下,家长端独立入口为 `/parent/login`。 --- - 后端演示:https://school.phpframe.org/ 账号:admin 密码:123456 - 家长端(uniApp):https://parent.phpframe.org/ 账号:13712345678 密码:123456 - 备用家长端(H5):https://school.phpframe.org/#/parent 账号:13712345678 密码:123456 - 教师端(uniApp):https://teacher.phpframe.org/ 账号:admin 密码:123456 家长端,教师端(uniApp)可独立打包成微信,支付宝,快手,抖音,百度等小程序,兼容全平台。 [![](https://parent.phpframe.org)](https://parent.phpframe.org/parentQR.png) 购买联系作者微信号: xdbyvibm6 --- ## 1. 系统定位 学校管理系统解决一所学校(一个租户)内的日常教务闭环: - 维护学校档案、学年学期、年级、科目等基础数据 - 按学期组织班级、教师任课、学生学籍 - 布置作业、发布公告、维护班级相册与荣誉 - 组织考试批次、录入成绩、查看统计 - 给学生写综合评价 - 家长凭手机号注册登录,查看孩子在对应学期的班级、作业、成绩、公告、评价与荣誉墙 系统与 NovaPHP 的租户、用户、角色、Casbin 权限共用一套登录与授权。教务账号走管理端登录;家长账号类型为 `parent`,只能进家长端,不会出现在学校管理侧栏里。 **建议使用路径** | 角色 | 入口 | 说明 | |------|------|------| | 超管 / 教务 | 管理端登录后打开「学校管理」 | 可见全部学校菜单;数据范围「全部」时不按任课班裁剪 | | 班主任 / 科任 | 同一管理端 | 菜单可与教务相同,**实际数据按任课/班主任班级收窄** | | 家长 | `/parent/login` 或 `/parent/register` | 用学校档案中登记的家长手机号 | --- ## 2. 系统特色 ### 2.1 学期是主时间轴 几乎所有业务都挂在**学年学期**上:班级、作业、公告、考试批次、成绩、评价、相册都按学期隔离。后台列表默认跟「当前学期」;家长端登录后默认也是当前学期,但可以自行切换该生**实际读过**的学期,查看以往班级与数据。 后台有两个容易混淆、职责不同的操作: | 操作 | 作用 | 不会做什么 | |------|------|------------| | **设为当前** | 只把某一学期标成全校「当前学期」,教务录入、家长默认打开都跟它走 | 不会把学生搬到另一个学期的班级 | | **学期结转** | 把在读学生、教师任课从源学期班复制/迁到目标学期班,源班归档 | 不会单独改「当前学期」标记 | 结转后学生学籍上的 live 班级在新学期;若要看上一学期,家长用学期下拉,后台用列表上的学期筛选。 ### 2.2 班级按学期快照,学籍有历史 每个学期有一套班级(如「2026年401班」)。结转后旧班状态为**已归档**,新学期再生成对应班。学生 `class_id` 指向当前所在班;转班、入学、结转等都会写入**学籍变动历史**。后台列表展示的「年级 / 班级」取自**该学期所在班级**,不直接用学生表上可能过期的字段。 班级状态: - `active`:在读班,可接收学生、布置作业、录入成绩 - `archived`:已结转归档,一般只读历史 - `graduated`:毕业班 学籍状态:在读、转出、休学、毕业、退学。班级变动、状态变动必须走「学籍变动」,不能在学生编辑弹窗里直接改班级或学籍状态。 ### 2.3 任课数据范围 非超管、且角色数据范围不是「全部」的教师,只能操作自己担任班主任、副班主任或科任的班级。列表、导出、布置作业、成绩录入等都会按任课班过滤。班主任改非任教科目成绩时,需要额外权限「整班录入」。 ### 2.4 家长与学校数据联动 家长用**学校档案里登记的家长手机号 + 学生姓名**注册,绑定该生。多子女可切换孩子。班级、作业、公告、荣誉墙、成绩、评价都按所选学期定位该生当时的班级,而不是永远跟后台「设为当前」整站跳转。 ### 2.5 考试与成绩状态机 考试批次:草稿 → 可录入(开放)→ 已锁定。锁定后不能再改分。家长端只展示开放录入或已锁定、且该生已有分数的批次(不含草稿)。成绩可标正常、缺考、免考。 ### 2.6 多租户 每个学校租户有独立的年级、学期、班级、学生。家长登录时先选学校(租户编码),再验手机号。 --- ## 3. 后台管理:菜单结构 侧栏「学校管理」大致如下: ```text 学校管理 ├── 基础设置 │ ├── 学校档案 │ ├── 学年学期 │ ├── 年级管理 │ └── 科目管理 ├── 班级学生 │ ├── 班级管理 │ ├── 学生管理 │ ├── 学籍变动 │ ├── 作业管理 │ └── 校园公告 ├── 教师管理 ├── 考试成绩 │ ├── 考试批次 │ ├── 成绩录入 │ └── 成绩统计 └── 相册荣誉 ``` 「综合评价」挂在班级管理相关权限上,从班级花名册等入口为单生写评语,不是单独的一级菜单。 按钮级权限形如 `schoole:模块:动作`(如 `schoole:term:roll`)。角色勾选菜单后 Casbin 才会放行。 --- ## 4. 后台各模块说明 ### 4.1 学校档案 **路径:** 学校管理 → 基础设置 → 学校档案 维护本校对外信息:校名、校徽、地址、学制说明、备注。校名和校徽会出现在家长登录时的学校下拉里。 **操作:** 打开页面即加载当前租户档案,修改后点「保存」。需 `schoole:profile:update`。每个租户一份,不是列表。 ### 4.2 学年学期 **路径:** 学校管理 → 基础设置 → 学年学期 学年必须跨两个自然年(如 2026–2027),学期只能是第 1、第 2 学期。可填起止日期、及格分/优秀分(缺省 60 / 90)。启用/停用;**当前学期不能停用或删除**;已结转学期不能停用。 **常用操作** 1. **新增 / 编辑**:填写起始学年、学期序号、日期区间。名称可留空,系统生成「2026-2027学年第1学期」。 2. **设为当前**:绿色按钮。全校只允许一个当前学期。停用学期不能设为当前。 3. **学期结转**:选择源学期、目标学期及结转方式(同级结转或升学)。先预览各班动作(迁班、升学、毕业、受阻原因),确认后再执行。 - 同级结转:学生仍在同年级,生成目标学期的对应班并迁入,源班归档。 - 升学:年级号 +1;若已是毕业年级则办毕业。目标学期已有同名班则会受阻。 4. **查询**:按学期名称、状态筛选。 **注意:** 设为当前 ≠ 结转。结转才会移动学生;设为当前只改教务和家长的默认学期。 ### 4.3 年级管理 **路径:** 学校管理 → 基础设置 → 年级管理 预置一年级至九年级(按租户)。可改名称、排序、及格/优秀分、是否毕业年级、启用状态。一般不在页面上「新增一条一年级」,而是改已有年级属性。毕业年级用于学期升学时识别毕业班。 ### 4.4 科目管理 **路径:** 学校管理 → 基础设置 → 科目管理 维护语文、数学等科目:编码、名称、排序、及格/优秀分、启用。任课、作业、考试、评价都引用科目。可新增、编辑、启停、删除(需相应权限)。 ### 4.5 班级管理 **路径:** 学校管理 → 班级学生 → 班级管理 按学期建班。字段包括学期、年级、班号、名称(可按「学年+年级+班号」规则生成,如 2026年401班)、备注、班级状态。 **操作** 1. 筛选学期、名称后查询。默认当前学期。 2. **新增**:选学期、年级、班号。归档/毕业班不能再收在读生。 3. 点**班级名称**打开花名册:查看本班学生。 4. **任课安排**:为班级指定班主任、副班主任、各科任课教师(来自教师管理中已绑定的账号)。 5. **导出花名册**。 6. 编辑、删除(有学生或已结转时按业务规则限制)。 教师任课角色:班主任 `head`、副班主任 `deputy`、科任 `subject`。 ### 4.6 学生管理 **路径:** 学校管理 → 班级学生 → 学生管理 学生主档:学号、姓名、性别、出生日期、班级、座号、民族、入学日期、入学年级、学籍号、证件号、头像、备注、家长联系人。 **操作** 1. 按学期、年级、班级、姓名/学号、学籍状态查询。年级、班级列显示**该学期所在班**,不是过期字段。 2. **新增**:选当前学期在读班;可同时登记家长(姓名、电话、关系、是否主要联系人)。主要联系人只能一位。家长手机号用于家长端注册校验。 3. **编辑**:可改档案与家长;**不能在此改班级和学籍状态**,系统会提示走学籍变动。 4. **导入 / 导出**:CSV。导入按学号匹配,班级不一致会走转班逻辑。 5. 删除需对应权限。 学籍调整转班后,后台年级与家长端「入学年级 / 当前年级」均按**所在班级年级**展示,与列表一致。 ### 4.7 学籍变动 **路径:** 学校管理 → 班级学生 → 学籍变动 办理并留痕:入学、转班、转入、转出、休学、复学、毕业、退学。学期结转、升学也会写入历史。 **操作** 1. 「办理变动」选择学生、类型、目标班(转班/转入时)、原因。转班目标班必须是**当前学期、未归档、未禁用**的班。 2. 列表按变动类型筛选。 3. 「查看历史」时间线:从哪班到哪班、原因、时间。 转班/转入会同步学生当前班级、年级。归档班不能作为目标班。 ### 4.8 教师管理 **路径:** 学校管理 → 教师管理 **不在本模块新建登录账号。** 用人员选择器绑定系统里已有用户,再维护教师档案:任教科目、任课班级。 **操作** 1. 列表查看已建档教师。 2. 新建/编辑档案:选用户、填资料、勾选科目与班级角色。 3. 「我的班级」:当前登录教师任课班。 4. 任课关系可导入、导出 CSV。 班主任、科任的数据范围由此处的班级任课决定。 ### 4.9 作业管理 **路径:** 学校管理 → 班级学生 → 作业管理 按班级、科目布置作业。状态:草稿、开启、关闭。可设布置时间、截止时间、正文、附件。到期可自动关闭。 **操作** 1. 按学期、班级、科目、标题查询。 2. 布置作业(需任课或相应权限):选班、科目、标题内容、附件。 3. **开启 / 关闭**:关闭后家长不能再交。 4. **提交情况**:查看本班提交、逾期、评分与教师回复;可批改。 5. 编辑、删除(已发布的按规则限制)。 家长在开启期间可提交说明和附件;逾期提交标记为逾期。 ### 4.10 校园公告 **路径:** 学校管理 → 班级学生 → 校园公告 范围: - **全校**:该学期全校家长可见(亦可有学期为 0 的长期全校公告) - **班级**:仅该班家长可见 可填标题、正文、发布时间、过期时间、附件。过期后家长端不再展示。可启停、编辑、删除。 ### 4.11 综合评价 从班级/学生侧为某生写一条评价:学期、教师角色(班主任/科任等)、科目、等第(优秀 / 良好 / 合格 / 待改进)、评语、评价时间。同一老师对同一学生同一学期通常一条。家长端按所选学期查看已启用评价。 ### 4.12 考试批次 **路径:** 学校管理 → 考试成绩 → 考试批次 一次考试活动(如期中、期末):学期、年级、可选指定班或年级统考、考试日期、科目组合。 **状态与操作** 1. **新增批次**(草稿)。 2. **生成考试**:按班级 × 科目生成待录入场次。已锁定不可再生成。 3. 开放录入后教师在「成绩录入」打分。 4. **锁定**:锁定后成绩不可改,统计与家长可见已锁定/开放且有分的数据。 5. 编辑、删除受状态约束。 ### 4.13 成绩录入 **路径:** 学校管理 → 考试成绩 → 成绩录入 待录入列表:当前教师权限内、批次开放中的考试。 **操作** 1. 进入某场考试,按花名册录入分数;可标缺考、免考。 2. 整班保存。 3. CSV 下载模板、导入、导出。 4. 班主任改非任教科目需「整班录入」权限。 5. 批次锁定后不能再录。 ### 4.14 成绩统计 **路径:** 学校管理 → 考试成绩 → 成绩统计 - 班级:均分、最高最低、排名、科目明细 - 年级:年级对比 - 学生趋势:某生多次考试走势 - 分数段分布 - 导出 统计不要求批次必须锁定;草稿批次不进入家长端。 ### 4.15 相册荣誉 **路径:** 学校管理 → 相册荣誉 班级相册、班级荣誉、学生照片。图片走系统统一上传接口。可排序、编辑、删除。家长端「荣誉墙」展示该生所选学期班级下的班级荣誉与班级相册。归档班按规则限制上传。 --- ## 5. 后台推荐操作顺序 新学校或新学年建议按下面顺序初始化,减少「没班、没任课、家长对不上」的问题。 1. 填**学校档案**(校名、校徽),否则家长登录选不到学校。 2. 建**学年学期**,把本学期**设为当前**。 3. 核对**年级、科目**。 4. **教师管理**绑定账号并勾科目。 5. 在当前学期**建班**,安排班主任和科任。 6. **学生管理**入学(或导入),登记家长手机号。 7. 日常:作业、公告、相册、考试批次 → 生成考试 → 录入 → 锁定;综合评价。 8. 学期结束:**学期结转**到下一学期,再把下一学期设为当前(若需要)。学籍异动走**学籍变动**。 --- ## 6. 家长端 ### 6.1 入口与账号 - 登录:`/parent/login` - 注册:`/parent/register` 注册须选择学校、填写档案中的家长手机号、对应学生姓名、密码(至少 6 位)。校验通过后创建家长账号并绑定学生。已注册手机请直接登录。 登录后进入家长布局:电脑端顶部导航 + 右上角学期/孩子;手机端底部「孩子 / 公告 / 作业 / 班级 / 更多」。 ### 6.2 学期与孩子 - **学期下拉**:仅该生有班级或学籍历史的学期。登录、切换孩子后默认**学校当前学期**。切换后班级、公告、荣誉墙、作业、成绩、评价一起按该学期刷新。 - **切换孩子**:一名家长绑定多名学生时,右上角下拉切换。 - 刷新页面会尽量记住上次选的学期;重新登录回到当前学期。 ### 6.3 模块一览 | 模块 | 电脑导航 | 手机 | 功能 | |------|----------|------|------| | 孩子 | 孩子 | 底栏「孩子」 | 档案、班级年级、学籍、家长联系人;点击头像可换学生照片 | | 班级 | 班级 | 底栏「班级」 | 所选学期的班级名、学期名、班主任/副班主任/任课老师 | | 公告 | 公告 | 底栏「公告」 | 全校 + 本班未过期公告,点开正文和附件 | | 荣誉墙 | 荣誉墙 | 「更多」里 | 本班荣誉与相册,滚动加载更多 | | 作业 | 作业 | 底栏「作业」 | 本班已发布作业;开启中可提交说明和附件;查看评分与回复 | | 成绩 | 成绩 | 「更多」里 | 开放或已锁定且该生有分的考试,含班级均分、排名、分科成绩 | | 评价 | 评价 | 「更多」里 | 所选学期老师评语与等第 | | 更多 | (手机) | 底栏「更多」 | 家长账号信息、荣誉墙/成绩/评价入口、退出 | 电脑端另有顶部「退出」。手机「更多」三块:资料、业务入口、退出登录。 ### 6.4 各页操作要点 **孩子信息** 只读档案(证件号、学籍号脱敏)。年级、入学年级与后台一样跟**当前查看班级**走。点头像选图片上传并保存。 **班级信息** 展示该学期班级与教师。若该学期没有对应班级,则班级信息为空。 **公告** 列表标签区分全校/班级。过期或未发布的看不到。 **作业** 未交 / 已交 / 逾期。作业关闭后不能再交。附件在新窗口打开。 **成绩** 无记录时提示暂无成绩。缺考、免考不展示分数。 **评价** 按评价时间倒序。 ### 6.5 家长端与后台的对应关系 | 家长看到的 | 后台在哪维护 | |------------|----------------| | 学校名称、校徽 | 学校档案 | | 默认学期 | 学年学期「设为当前」 | | 往年学期数据 | 学籍历史 + 当时班级;家长自己切换学期 | | 班主任、任课 | 班级任课安排 / 教师管理 | | 作业 | 作业管理 | | 公告 | 校园公告 | | 荣誉墙 | 相册荣誉 | | 成绩 | 考试批次 + 成绩录入(开放或锁定) | | 评价 | 综合评价 | | 登录手机号 | 学生档案中的家长联系人电话 | --- ## 7. 角色与权限(简表) | 能力 | 教务(数据范围全部) | 班主任 / 科任 | 家长 | |------|----------------------|---------------|------| | 基础设置、结转、建班、学籍 | 是 | 通常否或只读本班 | 否 | | 本班作业、成绩、公告、相册 | 是 | 任课班范围内 | 只看自己孩子 | | 生成/锁定考试批次 | 是 | 视授权 | 否 | | 查看孩子各学期数据 | — | 后台按学期筛班 | 学期下拉 | | 提交作业、换头像 | 否 | 否 | 是 | 具体按钮以角色菜单勾选为准。插入菜单 SQL 不会自动授权,需要在「角色管理」里重新勾选学校相关菜单。 --- ## 8. 技术与部署要点(给实施人员) - 后台页面:`web/src/views/schoole/`;家长:`web/src/views/parent/`、`web/src/layouts/parent/`。 - 接口:`app/Controllers/Schoole/`,前缀 `/api/schoole`。 - 业务表无 `sa_` 前缀(如 `school_student`、`school_class`),与系统表 `sa_system_*` 分开。 - 学校菜单见 `database/migrations/058` 起的若干 `insert_*_menu.sql`。 - 管理端开发端口以 `web/.env` 为准(常见 5730);API 代理到 PHP(如 8000)。家长与教务同一前端工程、不同路由。 - 改 PHP 后若使用 Workerman,需热重载或重启 worker,否则家长/后台仍跑旧逻辑。 --- ## 9. 常见问题 **家长学期和后台「当前学期」不一致?** 家长登录默认当前学期,但可以改下拉看历史。后台「设为当前」不会把学生搬回旧班;搬班靠结转或学籍变动。 **家长成绩是空的,后台统计看得到?** 家长不展示草稿批次。批次需为开放或锁定,且该生要有成绩行。 **教师看不见某些班?** 数据范围不是「全部」时,只显示自己任课/班主任的班。到教师管理核对接班。 **学生编辑里改不了班级?** 设计如此。转班、休学、毕业等到「学籍变动」办理,以便留历史。 **家长注册提示手机号或姓名不匹配?** 学生档案里要有对应手机号的家长联系人,且学生姓名一致(含空格规范化)。 **归档班还能录成绩、交作业吗?** 归档/毕业班不能再收在读生;历史数据可按学期查看。当前学期业务应在 active 班上进行。 --- ## 10. 文档范围 本文只覆盖本仓库**学校管理系统**(`schoole` + 家长端)。NovaPHP 的用户、角色、部门、工作流、代码生成等通用后台能力见项目其它说明,不在本文展开。