一、项目简介
本项目是一套基于 Spring Boot 3 + Vue 3 + MySQL 的企业客户关系管理系统(CRM),采用前后端分离架构。系统面向三类角色:管理员、销售人员和客服人员,覆盖客户全生命周期管理。管理员负责系统配置、用户权限、客户资料、销售订单、售后工单及统计分析等核心模块的全面管理;销售人员聚焦客户跟进、订单录入、销售报表与个人绩效查看;客服人员则侧重售后服务单、服务工单的处理以及知识库的查阅。系统通过 Spring Security 6 + JWT 实现认证与动态权限控制,前端根据角色动态渲染菜单与路由,是一套可直接用于二次开发或课程设计的完整企业级模板。
二、技术栈
| 技术 | 说明 |
|---|---|
| 后端框架 | Spring Boot 3.2 |
| ORM | MyBatis-Plus 3.5.5 |
| 权限认证 | Spring Security 6 + JWT |
| 数据库 | MySQL 8.0 |
| 前端框架 | Vue 3 (Composition API) |
| 状态管理 | Vue Router(前端路由守卫) |
| 构建工具 | Vite |
| UI 组件库 | Element Plus |
| Excel 导出 | EasyExcel |
三、功能模块
管理员端
- 用户管理:查看用户列表(含角色信息),新增用户(设置用户名/密码/角色),编辑用户(修改姓名/邮箱/手机/状态/密码),删除用户,支持按用户名或角色筛选。
- 角色管理:查看角色列表,新增/编辑角色(角色名称/角色标识/描述),为角色分配菜单权限(基于菜单树勾选),删除角色,实现细粒度的接口与菜单权限控制。
- 系统参数设置:查看参数列表,新增/编辑/删除参数(参数名称/参数键/参数值/描述),支持按参数键保存或更新,便于动态调整系统配置。
- 客户分类管理:查看分类列表(含启用/停用状态标签),新增/编辑分类(分类名称/描述/排序),删除分类,用于对客户进行业务分组。
- 客户资料管理:分页查看客户列表(支持按关键词/客户类型/分类筛选),新增/编辑客户(客户名称/联系人/电话/邮箱/地址/行业/区域/客户类型/来源/负责人/备注),删除客户,支持客户全字段维护。
- 客户沟通记录:分页查看沟通记录(支持按客户筛选),新增/编辑/删除沟通记录(沟通类型/内容/时间/联系人/下次跟进时间),完整记录客户跟进轨迹。
- 销售订单管理:分页查看订单列表(支持按关键词/状态筛选),查看订单详情(含订单明细),新增/编辑订单(订单编号/客户/金额/状态/销售人员/团队/订单日期/交付日期/备注/商品明细),删除订单,支持一键导出订单为 Excel(EasyExcel)。
- 销售团队管理:查看团队列表(含队长姓名和成员数),新增/编辑/删除团队(团队名称/队长/描述),管理团队成员(添加/移除成员,设置成员角色),实现销售组织的灵活配置。
- 售后服务管理:分页查看售后记录(支持按状态筛选),新增/编辑/删除售后单(客户/订单/服务类型/描述/处理人/解决时间),跟踪售后处理进度。
- 服务工单管理:分页查看工单列表(支持按关键词/状态筛选),新增/编辑/删除工单(标题/客户/订单/工单类型/优先级/描述/创建人/处理人/状态),规范化内部服务流转。
- 服务知识库:分页查看文章列表(支持按关键词/分类筛选),新增/编辑/删除文章(标题/分类/内容/作者),查看详情时自动增加浏览次数,便于沉淀服务经验。
- 客户满意度管理:分页查看满意度评价记录(含客户名称和评分),新增/删除评价(客户/订单/工单/评分/评论),量化客户服务体验。
- 统计分析:查看仪表盘(客户总数/活跃客户数/订单总数/总销售额/待处理订单数/处理中订单数),客户统计(按类型/区域/行业分布),销售统计(月度销售额/销售排名/订单状态分布),满意度统计(评分分布/平均分),均以可视化图表呈现。
- 文件上传:支持上传图片/文档等文件,返回可访问的文件路径,用于客户头像、附件等场景。
普通用户端(销售/客服)
- 登录认证:使用用户名和密码登录,系统校验用户状态和密码,成功后返回 JWT Token 和用户信息,前端存储 Token 并携带于后续请求头。
- 获取用户信息与菜单:登录后获取当前用户基本信息(姓名/邮箱/手机/头像/角色)和动态菜单列表(根据角色权限过滤),前端据此渲染侧边栏菜单。
- 查看工作台:访问仪表盘页面,查看系统核心指标卡片(客户数/订单数/销售额等),快速掌握业务概览。
- 查看客户列表:分页浏览客户资料,支持按关键词搜索、按客户类型和分类筛选,便于快速定位目标客户。
- 查看沟通记录:按客户查看历史沟通记录列表,了解客户跟进情况,辅助制定后续沟通策略。
- 查看销售订单:分页浏览订单,支持按订单编号/客户名称搜索和按状态筛选,实时掌握订单进度。
- 查看销售报表:查看月度销售趋势图、销售排名、按行业/来源/团队的销售分布、订单状态分布,辅助销售决策。
- 查看绩效考核:查看销售人员 KPI 仪表板(总订单数/已完成数/总金额/完成率排名),直观对比个人与团队业绩。
- 查看售后服务:浏览售后记录列表,按状态筛选查看,及时响应客户售后需求。
- 查看服务工单:浏览工单列表,按关键词/状态筛选,跟进工单处理进度。
- 查看知识库:浏览知识文章列表,按关键词/分类搜索,点击查看详情并自动增加浏览次数,快速获取解决方案。
- 查看统计图表:访问客户统计、销售统计、满意度统计页面,查看各类可视化图表,辅助业务分析。
- 个人信息查看:在用户信息接口中获取个人基本资料(姓名/邮箱/手机/头像等)。
四、项目总结
本项目技术选型主流且组合经典:Spring Boot 3 提供稳定后端基础,MyBatis-Plus 简化数据访问,Spring Security 6 + JWT 实现无状态认证与动态权限,Vue 3 + Element Plus + Vite 构建现代化前端界面,EasyExcel 解决复杂报表导出。系统覆盖 CRM 核心业务全流程,角色权限设计清晰,前后端分离结构规范,注释完整,附带数据库初始化脚本与万字文档,适合作为 Java 全栈课程设计、毕业设计或企业级 CRM 系统二次开发的起点模板。
界面展示
交付内容
本项目为完整交付,包含:
- 完整后端源码
- 完整前端源码
- 数据库初始化脚本(SQL)
- 万字项目文档(设计文档 / 论文,可作课程设计、毕业设计参考)
获取完整源码
完整前后端源码 + 数据库脚本 + 万字项目文档见 Gitee 仓库:https://gitee.com/kangxihuang/src-K210