本项目是一套基于 Vue3 + Element Plus 开发的通用后台管理系统模板,面向中小型 B 端业务场景,可作为电商、SaaS 等类型项目的后台管理基础脚手架快速复用。
核心功能模块:
1. 用户管理:支持用户信息的增删改查、按用户名/状态筛选、角色分配(管理员/普通用户/运营)
2. 商品管理:参考跨境电商 ERP(领星ERP)产品管理模块设计,支持 SKU 编码、分类、售价/成本价管理,并自动计算毛利率
3. 订单管理:区别于常规增删改查,实现了基于状态机的订单流转(待付款→已付款→已发货→已完成,支持取消),订单详情与状态操作分离,符合真实订单业务逻辑
4. 数据看板:基于 ECharts 实现订单状态分布(饼图)、近14天订单趋势(双轴折线图)等可视化统计,数据实时基于业务模块联动计算
业务逻辑均已完整实现并可交互演示,当前使用本地模拟数据驱动,前后端接口层已预留标准化数据格式,便于后续接入真实后端服务。
【整体架构】
项目采用组件化 + 组合式函数(Composables)的架构思路:
- 封装了一套通用基础组件(BaseTable、BaseForm、BaseDialog、BaseCard、SearchBar),对 Element Plus 进行二次封装,统一了表格分页、表单校验、弹窗交互等通用能力
- 抽取了 useCrudTable 组合式函数,将"新增/编辑/保存/删除"这套通用逻辑从具体业务模块中解耦,用户管理、商品管理等模块直接复用,减少重复代码
- 表格列的自定义渲染采用了"具名插槽自动接管"模式:BaseTable 内部通过 $slots 动态判断某一列是否被业务模块定制,未定制则走默认渲染,兼顾了通用性与灵活性
【我的职责】
独立完成从需求设计、组件封装、业务模块开发到数据可视化的全部工作,包括:
- 设计并实现 useCrudTable 通用增删改查逻辑
- 参考真实电商 ERP 产品设计商品管理模块的字段结构
- 设计订单状态流转的配置化方案(orderStatusFlow),将状态转移规则集中管理,而非分散的条件判断
【技术难点与解决思路】
1. 订单模块的编辑语义与用户/商品模块不同——订单一旦生成,客户与金额等字段不应自由编辑,实际业务需要的是"状态流转"。为此设计了独立的状态流转配置表,根据订单当前状态动态渲染可执行的操作按钮(如"发货""完成订单"),避免了大量 if-else 判断,便于后续扩展流转规则
2. 商品的毛利率为衍生字段,不应污染原始数据结构,采用 computed 计算属性在展示层动态计算,保持数据层的纯净
3. 图表部分采用 ECharts 按需引入(tree-shaking),仅注册用到的图表类型和组件,控制打包体积