Skip to content

Repository files navigation

长安大学后勤管理系统

基于 Vue 3 + Flask + LangChain 的高校后勤数字化管理平台,AI 赋能数据决策

项目简介

长安大学后勤管理系统是一套覆盖 师生服务、后勤管理、资产运营、AI 数据决策 四大维度的数字化管理平台,实现高校后勤业务的在线化、流程化和智能化。

核心功能

模块 说明
🔧 智能报修 在线报修 → 派单调度 → 接单维修 → 验收评价 全流程闭环
🛒 采购申请 物资申请 → 部门审核 → 后勤审批 → 采购执行
🏠 宿舍管理 楼栋房间管理 / 学生入住退宿 / 卫生检查 / 能耗记录
📦 资产管理 固定资产台账 / 直线折旧计算 / 二维码标贴 / 维修报废
🏪 商铺管理 商铺台账 / 租赁合同 / 租金收缴 / 到期提醒
📅 场地预约 会议室 / 体育馆 / 操场在线预约与审批
📢 公告通知 富文本公告 / 按角色定向推送 / 已读统计 / 置顶
💬 投诉建议 匿名提交 / 分类处理 / 回复反馈 / 满意度评价
⚡ 水电缴费 电表抄表 / 电费充值 / 网络套餐订阅 / 网费缴纳 / 校园卡余额
🤖 AI 智能报告 周报/月报自动生成 / LangGraph 多 Agent 协作 / 数据洞察建议
💬 AI 对话助手 Dify 知识库问答 / 后勤服务智能咨询
📊 数据驾驶舱 ECharts 可视化 / 报修趋势 / 资产分布 / 能耗分析(仅管理员)
🔔 消息中心 WebSocket 实时推送 / 站内信 / 已读未读状态
📝 操作日志 全量操作留痕 / 敏感操作强制记录
⚙️ 系统配置 字典管理 / 参数配置 / 角色权限 RBAC

技术栈

层级 技术 说明
前端 Vue 3 + Element Plus + Vite 8 组合式 API,Pinia 状态管理,响应式三档断点
后端 Python 3.10+ / Flask 3.x RESTful API,应用工厂模式
ORM Flask-SQLAlchemy 2.x 数据库操作抽象,支持 SQLite / MySQL
认证 JWT + RBAC 双 Token 方案(Access + Refresh),五角色权限模型
实时通信 Flask-SocketIO WebSocket 消息推送 + AI 报告进度
AI / LLM LangChain + LangGraph + 通义千问 多 Agent 流水线:采集→清洗→分析→可视化→报告
定时任务 APScheduler 每周一/每月1号自动生成 AI 报告
数据库 SQLite(开发)/ MySQL 8.0(生产) Flask-Migrate 管理表结构变更
图表 ECharts 6 数据驾驶舱可视化

项目结构

logistics_management_system/
├── server/                              # Flask 后端
│   ├── app/
│   │   ├── models/                      # 15 个模型文件,30+ 张数据表
│   │   ├── routes/                      # 17 个蓝图,150+ API
│   │   ├── services/                    # 业务逻辑层(报修/统计/AI)
│   │   ├── agents/                      # LangGraph AI Agent(数据采集/清洗/分析/可视化/报告)
│   │   ├── graphs/                      # LangGraph 状态图定义
│   │   ├── repositories/                # 数据访问层
│   │   ├── utils/                       # 工具(JWT/权限/响应/上传/邮件)
│   │   └── schemas/                     # 数据校验(Marshmallow)
│   ├── scripts/                         # 种子数据 / 测试账号生成
│   ├── migrations/                      # 数据库迁移文件
│   ├── tests/                           # 测试用例
│   ├── requirements.txt
│   └── run.py
├── client/                              # Vue 3 前端
│   ├── src/
│   │   ├── api/                         # 18 个 API 请求模块
│   │   ├── views/                       # 20+ 页面视图(按业务模块组织)
│   │   ├── router/                      # 路由配置 + 角色权限守卫
│   │   ├── store/                       # Pinia 状态管理(用户/应用)
│   │   ├── layout/                      # 主布局(Header + Sidebar + Footer)
│   │   ├── components/                  # 公共组件(DifyChat / FileUpload)
│   │   └── utils/                       # 工具(Socket / 权限指令)
│   ├── public/                          # 静态资源(Logo / 图标)
│   └── vite.config.js
├── docs/                                # 项目文档
│   └── PPT讲解大纲.md
└── .env.example                          # 环境变量模板

用户角色

角色 编码 核心权限
学生 student 报修、采购、场地预约、投诉、水电缴费
教师 teacher 同学生权限
维修工 worker 接单维修、工单反馈
后勤老师 logistics 工单调度、宿舍/资产/商铺管理
系统管理员 admin 全局管理 + 数据仪表盘 + AI 报告 + 用户管理

快速开始

前置要求

  • Python 3.10+
  • Node.js 18+
  • MySQL 8.0(可选,默认使用 SQLite)

1. 克隆项目

# GitHub(推荐)
git clone https://github.com/yellow-yz/logistics_management_system.git
# Gitee(国内镜像)
git clone git@gitee.com:huang-yanzhuo/logistics_management_system.git

cd logistics_management_system

2. 后端启动

cd server

# 创建虚拟环境
python -m venv venv

# 激活虚拟环境 (Windows)
venv\Scripts\activate
# 激活虚拟环境 (Mac/Linux)
# source venv/bin/activate

# 安装依赖
pip install -r requirements.txt

# 配置环境变量(复制示例文件,按需修改)
cp .env.example .env

# 初始化系统数据
python scripts/seed_data.py

# 启动后端(端口 5000)
python run.py

3. 前端启动

cd client

# 安装依赖
npm install

# 启动开发服务器(端口 5173)
npm run dev

4. 访问系统

打开浏览器访问 http://localhost:5173

测试账号

运行 python scripts/seed_data.py 初始化数据后可用

角色 用户名 密码
系统管理员 admin admin123
后勤处老师 hq001 123456
维修工 wx001 123456
教师 t20240001 123456
学生 2024000001 123456

登录页内置「测试账号」快速填充按钮,点击即可切换角色体验。

API 接口

所有 API 在 /api 路径下:

前缀 模块 说明
/api/auth 认证 登录/注册/邮箱验证/密码重置/Token 刷新
/api/repair 报修 工单 CRUD、派单调度、状态流转、维修日志
/api/purchase 采购 采购申请、两级审批(部门+后勤)
/api/dormitory 宿舍 楼栋/房间/入住退宿/卫生检查/能耗
/api/asset 资产 固定资产台账、折旧、维修记录
/api/shop 商铺 商铺台账、租赁、租金收缴
/api/venue 场地 场馆管理、时段预约、审批
/api/announcement 公告 富文本发布、定向推送、已读追踪
/api/complaint 投诉 匿名/实名提交、分类处理、回复评价
/api/dashboard 驾驶舱 多维度统计数据
/api/notification 通知 站内信 + SocketIO 实时推送
/api/system 系统 字典/配置/RBAC 权限管理
/api/log 日志 操作日志查询与导出
/api/user 用户 用户 CRUD、角色分配
/api/utility 水电缴费 电表抄表、电费充值、网络套餐、网费缴纳
/api AI 报告 AI 报告生成/列表/详情(ai_report_bp)
/api AI 对话 智能对话接口(chat_bp)
/api Dify Dify 平台集成代理(dify_bp)

提交规范

feat(模块): 新增功能
fix(模块): 修复Bug
docs: 文档更新
refactor: 代码重构
test: 测试相关
chore: 构建/依赖更新

License

本项目为长安大学课程项目,仅供学习使用。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages