教培管家第11讲:班级管理——教务系统的“集成枢纽”

目录

⏳ 前情回顾

在前面的章节中,我们已经搭建好了教务系统的"基础设施":

  1. 教室资源:物理空间的管理。
  2. 正课套餐:商业产品的定义。

现在,我们要进入教务系统的心脏地带 ------班级管理。班级是所有教务要素(学生、老师、时间、空间、课程)的集合体,也是后续考勤消课、业绩核算的唯一载体。


🎯 本节目标

  1. 全维度建模 :创建 Class(班级)模型,整合人员、时间与资源。
  2. 页面搭建:构建班级管理指挥中心,实现信息的高效录入与展示。
  3. 核心业务逻辑
    • 资源关联:将班级与老师、教室、课包深度绑定。
    • 状态流转:管理班级从招生到结课的全生命周期。

第一步:班级------教务系统的"集成枢纽"

一个班级不仅仅是一个名字,它是一个复杂的动态系统。

创建数据源:Class (班级表)

区域 字段名称 字段标识 数据类型 备注/关联
基础信息 班级名称 name 文本 必填
课程类型 courseType 枚举 体验课、正课
最小年龄 minAge 数字
最大年龄 maxAge 数字
班级简介 intro 文本
容量定价 容量上限 capacity 数字 库存控制核心
课时单价 unitPrice 数字 财务核算依据
关联套餐 packageId 关联关系 关联 CoursePackage (上一节做的表)
开课周期 开课日期 startDate 日期
结课日期 endDate 日期
预计总课时 totalHours 数字
每周频次 weeklyFreq 数字
初始资源 默认老师 teacherId 关联关系 关联 Employee (员工表,需过滤"老师"角色)
默认教室 classroomId 关联关系 关联 Classroom (第一节做的表)
系统字段 班级状态 status 枚举 1=草稿/未发布, 2=招生中, 3=已结课

💡 业务逻辑沉淀:

  • 资源锁定 :通过关联 ClassroomEmployee,我们为后续的排课功能打下了基础。
  • 生命周期:班级状态决定了该班级是否能在前端被家长看到,以及是否允许进行排课操作。

第二步:搭建"班级管理"页面

班级管理页面需要承载极高的信息密度,我们继续在管理后台应用中进行搭建。

创建页面:在微搭应用编辑器中,新建页面"班级管理",布局选择"左侧导航布局"。


添加组件:从组件库拖入"布局组件",并在其中嵌入"数据表格"组件。


绑定数据 :点击"使用数据源生成表格",选择我们刚刚创建的 Class(班级表)。勾选"查询"、"新增"、"编辑"、"删除"等全部场景。


配置筛选器:添加"班级名称"、"老师名称"和"教室名称"作为常用筛选条件,方便教务人员快速定位。

切换到布局设计,选择左侧导航布局,点击添加平级菜单,配置菜单


第三步:完善新增表单

班级信息的录入涉及多个维度,默认的单列布局会导致表单过长。我们需要利用微搭的网格布局进行优化。

多列布局 :选中表单容器,将 PC 端的"表单列数"修改为 2列

重点突出 :将"班级简介"的列占比设置为 12 (占满一行),方便输入。

配置必填 :将"班级名称"、"课程类型"、"容量上限"、"班级状态"设置为 必填项

设置"班级状态"默认值为 1 (草稿/未发布),防止误操作导致班级提前对外可见。

默认老师要配置筛选条件,角色等于老师

默认教室要设置筛选条件,状态等于启用

关联套餐要设置筛选条件,状态等于销售中

结课日期设置最早选中日期,设置为开始日期的选中值


第四步:核心交互------实现"发布/结课"状态控制

为了提高运营效率,我们在表格操作列增加快速切换班级状态的按钮。

添加操作按钮 :选中数据表格的"操作列",拖入两个"按钮"组件,分别命名为"发布"和"结课"。

配置显隐逻辑(条件展示)发布按钮 :在"显示条件"中绑定公式:$w.table1.cell__custom__option.record.status=="1"'。即只有"草稿/未发布"状态才显示发布按钮。

结课按钮 :在"显示条件"中绑定公式:$w.table1.cell__custom__option.record.status=="2"'。即只有"招生中"状态才显示结课按钮。

配置点击事件发布动作 :点击事件选择"调用数据源方法" ,选择班级表,方法选择更新单条,查询条件配置为数据标识等于所在行的数据标识,更新数据status 设置为 '2'




结课动作 :点击事件选择"调用数据源方法" ,选择班级表,方法选择更新单条,查询条件配置为数据标识等于所在行的数据标识,更新数据status 设置为 '3'。具体配置参考发布动作。

交互反馈:在方法执行成功的事件回调中,添加"显示提示"方法,提示"操作成功",并执行"刷新数据表格"动作。


第五步:录入测试数据

进入实时预览,录入几条真实的班级数据,检查页面表现:

  1. 新建班级:录入"初级美术周三班",关联"创意美术"课程类型,设置容量为 12 人。
  2. 资源绑定:尝试关联一位现有的老师和一个教室。
  3. 状态流转:在列表页点击"发布"按钮,观察状态标签是否变为"招生中"。

🌟 总结与预告

我们已经完成了教务系统的"心脏"------班级管理。有了班级,系统现在已经知道"谁(老师)在什么地方(教室)教什么(课程)"。

下一讲: 《教务核心------智能排课与冲突校验》。我们将学习如何根据班级的周期性规则自动生成课程表,并集成日历视图进行可视化的资源调度。

相关推荐
麦聪聊数据5 小时前
Web 原生架构如何重塑企业级数据库协作流?
数据库·sql·低代码·架构
蓝帆傲亦7 小时前
支付宝小程序性能暴增秘籍:UniApp项目极限优化全攻略
小程序·uni-app
CHU72903511 小时前
淘宝扭蛋机抽盒小程序前端功能解析:解锁趣味抽盒新体验
前端·小程序
2501_9339072113 小时前
深圳本凡科技专业企业APP开发,助力手机应用创新优化
科技·微信小程序·小程序
每天都要加油呀!14 小时前
TypeError: uni.requestPayment is not a function
小程序
java1234_小锋15 小时前
分享一套优质的微信小程序校园志愿者系统(SpringBoot后端+Vue3管理端)
微信小程序·小程序·校园志愿者
2501_9160088916 小时前
深入解析iOS机审4.3原理与混淆实战方法
android·java·开发语言·ios·小程序·uni-app·iphone
打破砂锅问到底00716 小时前
AI 驱动开发实战:10分钟从零构建「微信群相册」小程序
人工智能·微信·小程序·ai编程
CHU72903517 小时前
扭蛋机盲盒小程序前端功能设计解析:打造趣味与惊喜并存的消费体验
前端·小程序
QT.qtqtqtqtqt17 小时前
uni-app小程序前端开发笔记(更新中)
前端·笔记·小程序·uni-app