# OrderingSystem **Repository Path**: amdeus-top/ordering-system ## Basic Information - **Project Name**: OrderingSystem - **Description**: OrderingSystem 是以前后端分离为开发模式的跨平台桌面级app项目,前端为Windows系统,后端为node.js版本。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-02-11 - **Last Updated**: 2023-02-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # OrderingSystem(桌面级app) OrderingSystem 是以前后端分离为开发模式的跨平台桌面级app项目,前端为Windows系统,后端为node.js版本。 ## 依赖 ### 前端 Vue3 + Element Plus + Axios + electron + webpack5 ### 后端 node.js + Express + MongoDB ## TODO - 初始化项目依赖 ✅ - 封装Axios ✅ - 引入Element Plus ✅ - 定义数据文档模型 - 编写对应的请求接口 - get 返回座位列表数据 - get 返回对应菜品类型类别数据 ✅ - get 返回对应菜品类型的菜品列表数据 ✅ - post 携带订单数据 返回生成的订单编号 - put 更新订单菜品列表(加菜) - put 更新订单状态(已结账) - get 请求当天的订单列表 - 编写前台的页面内容 - 首页选择页面 - 座位选择页面 - 显示对应类型的菜品列表页面 - 菜品增减与vuex之间的交互 - 确认订单数据页面 - 订单列表显示页面 - electron - 优化 - 打包 - 安装使用 ## 数据库设计(mongodb) - 座位文档 - 座位号 - 可坐人数 - 创建时间 - 修改时间 - 菜品分类文档 - 菜品分类名称 - 菜品分类描述 - 图片 - 创建时间 - 修改时间 - 菜品文档(与菜品分类进行关联) - 菜品名称 - 菜品图片 - 菜品描述 - 菜品分类id(与对应菜品分类id进行关联) - 菜品分类名称(可选) - 创建时间 - 修改时间 - 订单文档(与座位文档进行关联) 未完成之前还可以往已点菜品列表中加菜 已完成则添加不了 需要另起订单 - 座位号 - 座位号id(与座位文档进行关联) - 已点菜品列表 - 总金额 - 生成时间 - 结算时间 - 状态 ## 页面流程思路 - 请求座位列表 --> 以宫格图片的形式显示座位 --> 点击选中座位进入下一步 --> vuex中添加座位号 - 请求菜品类型列表 --> 默认请求第一个类型的菜品列表 --> 点击对应类型就请求对应类型的菜品列表回来显示(做keep-live缓存)--> 点击菜品对应操作会在vuex中的下单列表继续修改 --> 点击下单后进行下一步 - 确认内容 --> 显示vuex中的菜品列表 并显示总金额 --> 点击确定发送请求生成订单状态 --> 返回首页 --> 进行下一轮的点单(清空上一轮订单的临时数据) - 请求当天的订单列表(以未支付并且时间久的为前)(可筛选) --> 显示订单列表 --> 点击对应订单可查看详情(未完成则显示结账或加菜,已完成则只显示对应内容)