徜徉在知识海洋的一群鲸鱼
午托管理端
午托管理端

午托管理端

需求分析

目标用户:学校管理员

功能需求:

  • 员工管理:员工的人员安排,考勤,工资管理等
  • 学生管理:学生的安排,分班等
  • 餐饮管理:学生的饮食计划管理
  • 床位管理:学生的床位安排
  • 接送管理:学生的接送管理
  • 请假管理:处理学生家长的请假请求
  • 缴费管理:查看缴费情况处理异常情况
  • 退费管理:处理学生家长的退费请求,学生请假几天就退几天的费用

员工管理:

人员安排:系统应允许管理者创建员工档案,分配角色和权限,以及安排员工的值班表。
考勤管理:系统需要记录员工的出勤情况,包括迟到、早退、缺勤等,并能生成考勤报告。
工资管理:系统应支持工资的计算和发放,可能包括基本工资、加班费、奖金等的统计。

学生管理:

学生档案:系统应允许录入学生的基本信息,如姓名、年龄、联系方式、监护人信息等。
分班管理:系统需要提供分班功能,根据学生的年龄或其他标准将学生分配到不同的班级。

餐饮管理:

饮食计划:系统应支持制定学生的饮食计划,包括菜单规划、营养配餐等。
餐饮记录:系统需要记录学生的用餐情况,以便进行食品消耗统计和营养摄入分析。

床位管理:

床位安排:系统应允许管理者分配学生的床位,并记录床位的使用情况。

接送管理:

接送记录:系统需要记录学生的接送时间、人员等信息,确保学生的安全。

请假管理:

请假申请:系统应提供家长在线提交请假申请的功能。
请假审批:管理者可以审批请假申请,并记录在系统中。

缴费管理:

缴费记录:系统需要记录学生的缴费情况,包括缴费金额、日期、缴费周期等。
异常处理:系统应支持对未按时缴费的情况进行提醒和处理。

退费管理:

退费申请:系统应允许家长提交退费申请,并说明退费原因。
退费计算:系统需要根据学生的请假天数自动计算应退费用。
退费审批:管理者可以审批退费申请,并记录在系统中。

设计框架:框架前端使用uniapp结合vue3.2语法实现,后端采用unicloud云开发,主要包括云数据库和云函数

数据库类图基于plantUML实现

代码:

@startuml

left to right direction
skinparam packageStyle rectangle

' Define the namespace
namespace SchoolDormitoryManagementSystem {

' Define the classes
class Student {
    - student_id: int
    - name: string
    - age: int
    - guardian_contact: string
    - class_id: int
}

class Employee {
    - employee_id: int
    - name: string
    - role: string
    - contact_info: string
    - salary: float
}

class Class {
    - class_id: int
    - class_name: string
    - teacher_id: int
}

class MealPlan {
    - meal_plan_id: int
    - date: string
    - menu: string
    - recipe: string
}

class Bed {
    - bed_id: int
    - student_id: int
    - room_number: int
}

class PickupDropoffRecord {
    - record_id: int
    - student_id: int
    - pickup_time: string
    - dropoff_time: string
    - pickup_person: string
    - dropoff_person: string
}

class LeaveRequest {
    - request_id: int
    - student_id: int
    - start_date: string
    - end_date: string
    - reason: string
    - status: string
}

class PaymentRecord {
    - payment_id: int
    - student_id: int
    - amount: float
    - payment_date: string
    - payment_method: string
}

class RefundRequest {
    - refund_id: int
    - student_id: int
    - amount: float
    - request_date: string
    - reason: string
    - status: string
}

' Define the relationships
Student "1" -- "*" PaymentRecord
Student "1" -- "*" LeaveRequest
Student "1" -- "*" RefundRequest

' Define the stereotypes


@enduml

时序图

代码:

@startuml

participant User as U
participant SchoolDormitoryManagementSystem as SDMS

U -> SDMS : 创建学生档案
SDMS --> U : 学生档案创建成功
U -> SDMS : 更新学生档案
SDMS --> U : 学生档案更新成功
U -> SDMS : 删除学生档案
SDMS --> U : 学生档案删除成功

U -> SDMS : 创建员工档案
SDMS --> U : 员工档案创建成功
U -> SDMS : 更新员工档案
SDMS --> U : 员工档案更新成功
U -> SDMS : 删除员工档案
SDMS --> U : 员工档案删除成功

U -> SDMS : 创建班级
SDMS --> U : 班级创建成功
U -> SDMS : 更新班级
SDMS --> U : 班级更新成功
U -> SDMS : 删除班级
SDMS --> U : 班级删除成功

U -> SDMS : 创建餐饮计划
SDMS --> U : 餐饮计划创建成功
U -> SDMS : 更新餐饮计划
SDMS --> U : 餐饮计划更新成功
U -> SDMS : 删除餐饮计划
SDMS --> U : 餐饮计划删除成功

U -> SDMS : 创建床位
SDMS --> U : 床位创建成功
U -> SDMS : 更新床位
SDMS --> U : 床位更新成功
U -> SDMS : 删除床位
SDMS --> U : 床位删除成功

U -> SDMS : 创建接送记录
SDMS --> U : 接送记录创建成功
U -> SDMS : 更新接送记录
SDMS --> U : 接送记录更新成功
U -> SDMS : 删除接送记录
SDMS --> U : 接送记录删除成功

U -> SDMS : 创建请假记录
SDMS --> U : 请假记录创建成功
U -> SDMS : 更新请假记录
SDMS --> U : 请假记录更新成功
U -> SDMS : 删除请假记录
SDMS --> U : 请假记录删除成功

U -> SDMS : 创建缴费记录
SDMS --> U : 缴费记录创建成功
U -> SDMS : 更新缴费记录
SDMS --> U : 缴费记录更新成功
U -> SDMS : 删除缴费记录
SDMS --> U : 缴费记录删除成功

U -> SDMS : 创建退费记录
SDMS --> U : 退费记录创建成功
U -> SDMS : 更新退费记录
SDMS --> U : 退费记录更新成功
U -> SDMS : 删除退费记录
SDMS --> U : 退费记录删除成功

@enduml

其中,请假,缴费,退费需要涉及到家长参与,属于特殊情况,需要单独处理

代码:

@startuml

participant User as U
participant Parents as P
participant SchoolDormitoryManagementSystem as SDMS
P -> SDMS : 申请请假
U -> SDMS : 通过请假并创建请假记录
SDMS --> U : 请假记录创建成功
U -> SDMS : 更新请假记录
SDMS --> U : 请假记录更新成功
U -> SDMS : 删除请假记录
SDMS --> U : 请假记录删除成功

P -> SDMS : 创建缴费记录
SDMS --> P : 缴费记录创建成功
U -> SDMS : 更新缴费记录
SDMS --> U : 缴费记录更新成功
U -> SDMS : 删除缴费记录
SDMS --> U : 缴费记录删除成功

P -> SDMS : 创建退费记录
SDMS --> P : 退费记录创建成功
U -> SDMS : 更新退费记录
SDMS --> U : 退费记录更新成功
U -> SDMS : 删除退费记录
SDMS --> U : 退费记录删除成功

@enduml

接口设计

员工管理接口
1.1 添加员工
URL: /api/employees
1.2 获取员工列表
URL: /api/employees
1.3 更新员工信息
URL: /api/employees/{employee_id}
1.4 删除员工
URL: /api/employees/{employee_id}

学生管理接口
2.1 添加学生
URL: /api/students
2.2 获取学生列表
URL: /api/students
2.3 更新学生信息
URL: /api/students/{student_id}
2.4 删除学生
URL: /api/students/{student_id}

餐饮管理接口
3.1 添加餐饮计划
URL: /api/meal_plans
3.2 获取餐饮计划列表
URL: /api/meal_plans
3.3 更新餐饮计划
URL: /api/meal_plans/{meal_plan_id}
3.4 删除餐饮计划
URL: /api/meal_plans/{meal_plan_id}

床位管理接口
4.1 分配床位
URL: /api/beds
4.2 获取床位列表
URL: /api/beds
4.3 更新床位信息
URL: /api/beds/{bed_id}
4.4 删除床位
URL: /api/beds/{bed_id}

接送管理接口
5.1 记录接送
URL: /api/pickup_dropoff_records
5.2 获取接送记录列表
URL: /api/pickup_dropoff_records
5.3 更新接送记录
URL: /api/pickup_dropoff_records/{record_id}
5.4 删除接送记录
URL: /api/pickup_dropoff_records/{record_id}

请假管理接口
6.1 提交请假申请
URL: /api/leave_requests

6.2 获取请假申请列表
URL: /api/leave_requests
6.3 更新请假申请
URL: /api/leave_requests/{request_id}
6.4 删除请假申请
URL: /api/leave_requests/{request_id}

缴费管理接口
7.1 记录缴费
URL: /api/payment_records
7.2 获取缴费记录列表
URL: /api/payment_records
7.3 更新缴费记录
URL: /api/payment_records/{payment_id}
7.4 删除缴费记录
URL: /api/payment_records/{payment_id}

退费管理接口
8.1 提交退费申请
URL: /api/refund_requests
8.2 获取退费申请列表
URL: /api/refund_requests

8.4 删除退费申请
URL: /api/refund_requests/{refund_id}

用户管理接口
9.1 用户登录
URL: /api/users/login
9.2 用户注册
URL: /api/users
9.3 获取用户列表
URL: /api/users
9.4 更新用户信息
URL: /api/users/{user_id}
9.5 删除用户
URL: /api/users/{user_id}

系统设计实现的手段:

数据库设计,云数据库:

  • 表名.init_data.json:数据表初始化数据
  • 表名.index.json:表的索引配置,内容示例见下方初始化索引配置示例
  • 表名.schema.json:表结构,参考:DB Schema表结构
  • 表名.schema.ext.json:DB Schema扩展js,参考:DB Schema扩展js
  • validateFunction/xxx.js:扩展校验函数,参考:validateFunction扩展校验函数
  • package.json:主要用于配置schema扩展可以使用的公共模块,在database目录右键可以配置这些依赖

功能设计开发,云对象:

HBuilderX中在uniCloud/cloudfunctions目录新建云函数,选择类型为云对象,并创建方法,客户端的js中,import这个云对象,调用它的方法

https://doc.dcloud.net.cn/uniCloud/cloud-obj.html

页面设计,uniapp框架结合vue3.2语法实现,用到了uview库

开发环境:Hbuilder+unicloud云开发

插件安装:uni-id-pages

前端需要配置页面,后端需要配置钩子实现逻辑

前端配置微信小程序的id

登录注册:

tabbar配置:员工管理,学生管理,个人中心

  • 员工管理:员工的人员安排,考勤,工资管理等,页面实现
  • 学生管理:学生的安排,分班等,页面实现
  • 餐饮管理:学生的饮食计划管理,页面实现
  • 床位管理:学生的床位安排
  • 接送管理:学生的接送管理
  • 请假管理:处理学生家长的请假请求
  • 缴费管理:查看缴费情况处理异常情况
  • 退费管理:处理学生家长的退费请求,学生请假几天就退几天的费用

系统页面展示: