基于 Spring Boot 3.1.5 + Vue3 + Element Plus 开发的餐饮点餐管理系统,支持多角色协同工作,实现从点餐、制作、结算到统计的完整业务流程。
技术栈
后端
-
Spring Boot 3.1.5
-
MyBatis-Plus 3.5.8
-
Spring Security + JWT 认证
-
WebSocket (STOMP) 实时通信
-
MySQL 8.0+
前端
-
Vue 3 + TypeScript
-
Element Plus 2.8.6
-
Pinia 状态管理
-
Vue Router 路由管理
-
ECharts 数据可视化
-
VueDraggable 拖拽功能
-
Axios HTTP 客户端
系统功能
角色权限
系统支持四种角色,各司其职:
-
管理员 (ADMIN): 系统管理、数据维护、统计分析
-
收银员 (CASHIER): 订单结算、收银统计
-
服务员 (WAITER): 点餐服务、餐桌管理
-
厨师 (CHEF): 订单制作、出餐管理
核心功能模块
1. 管理员功能
-
用户管理: 用户增删改查、角色绑定、状态管理
-
角色管理: 角色定义与权限配置
-
菜品分类管理: 分类创建、排序、启用/停用
-
菜品管理: 菜品信息维护、价格设置、图片上传、上下架管理
-
优惠活动管理:
-
满减活动:支持多梯度满减规则(如满100减10)
-
指定菜品优惠:支持按菜品设置折扣率或立减金额
-
活动有效期设置(开始时间、结束时间)
-
叠加策略配置(不叠加/先菜品后满减/先满减后菜品)
-
-
餐桌管理: 餐桌信息维护、状态管理(可用/进餐中/清理中)
-
订单管理: 订单查询、筛选、取消、详情查看
-
退款管理: 退款记录查询、退款明细查看
-
采购管理: 采购记录创建、明细管理、供应商信息
-
销售统计:
-
首页仪表盘(今日销售额、订单数、退款额)
-
销售趋势图表(ECharts 折线图)
-
品类销售占比(饼图)
-
畅销菜品 TOP10(柱状图)
-
收银员日报统计
-
2. 收银员功能
-
订单结算:
-
查看待结算订单列表(已完成订单)
-
自动计算优惠金额(满减/指定菜品优惠)
-
支持自定义实收金额(记录差额)
-
多种支付方式(现金/微信/支付宝/银行卡)
-
结算完成后自动更新餐桌状态为"可进餐"
-
-
订单查看: 订单详情查看(含菜品明细、优惠明细)
-
收银统计: 收银员当日统计报表
3. 服务员功能
-
点餐服务:
-
支持堂食和打包两种方式
-
堂食必须选择可用餐桌,点餐后自动占用餐桌(状态:进餐中)
-
打包无需选择餐桌
-
按分类浏览菜品,购物车管理
-
实时查看可用餐桌列表
-
-
餐桌变更:
-
点餐和进餐过程中可变更餐桌
-
仅可选择可用餐桌
-
自动释放原餐桌并占用新餐桌
-
记录变更日志
-
-
菜品查看: 浏览菜品信息、价格、图片
-
优惠活动查看: 查看当前生效的优惠活动
4. 厨师功能
-
厨房看板:
-
左侧:待制作订单列表(可搜索订单号)
-
右侧:订单详情(分为"未完成"和"已完成"两栏)
-
拖拽操作:将菜品从未完成拖到已完成,自动更新状态
-
全部完成时弹出确认框,确认后将订单标记为"已完成"(进入待结算)
-
实时同步:订单状态变更自动推送
-
截图预览

















