# car-system **Repository Path**: lancemorii-git/car-system ## Basic Information - **Project Name**: car-system - **Description**: 车辆保养维修管理系统 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2025-11-16 - **Last Updated**: 2025-12-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 车辆保养维修记录系统 一个基于 Spring Boot 3 + Vue 3 的车辆保养维修记录管理系统,用于管理车辆信息、客户档案、保养记录和维修记录等业务。 ## 📋 系统简介 本系统是一个前后端分离的企业级应用,提供了完整的车辆保养维修业务管理功能,包括: - 🚗 **车辆管理**:车辆信息的增删改查,支持模糊搜索和分页 - 👥 **客户管理**:客户档案管理,可查看客户名下的所有车辆 - 🔧 **保养记录**:记录车辆保养信息,支持Excel导出 - 🛠️ **维修记录**:维修工单管理,支持状态跟踪 - 📊 **数据统计**:可视化图表展示业务数据 - 🔐 **权限管理**:基于角色的访问控制 ## 🛠️ 技术栈 ### 后端技术 - **Spring Boot 3.2.0** - 核心框架 - **MyBatis-Plus 3.5.5** - ORM框架 - **MySQL** - 数据库 - **Sa-Token 1.37.0** - 权限认证框架 - **Knife4j 4.4.0** - 接口文档工具 - **EasyExcel 3.3.3** - Excel导入导出 - **Hutool 5.8.23** - Java工具类库 ### 前端技术 - **Vue 3.4** - 渐进式JavaScript框架 - **Vite 5.0** - 前端构建工具 - **Ant Design Vue 4.1** - UI组件库 - **Vue Router 4.2** - 路由管理 - **Pinia 2.1** - 状态管理 - **Axios 1.6** - HTTP客户端 - **ECharts 5.4** - 数据可视化 ## 📁 项目结构 ``` car-system/ ├── backend/ # 后端项目 │ ├── src/ │ │ ├── main/ │ │ │ ├── java/com/car/ │ │ │ │ ├── controller/ # 控制器层 │ │ │ │ ├── service/ # 服务层 │ │ │ │ ├── mapper/ # 数据访问层 │ │ │ │ ├── entity/ # 实体类 │ │ │ │ ├── dto/ # 数据传输对象 │ │ │ │ ├── vo/ # 视图对象 │ │ │ │ ├── config/ # 配置类 │ │ │ │ ├── common/ # 通用类 │ │ │ │ └── exception/ # 异常处理 │ │ │ └── resources/ │ │ │ ├── mapper/ # MyBatis XML映射文件 │ │ │ ├── db/ # 数据库脚本 │ │ │ └── application.yml # 配置文件 │ │ └── pom.xml # Maven配置 │ │ ├── frontend/ # 前端项目 │ ├── src/ │ │ ├── api/ # API接口 │ │ ├── assets/ # 静态资源 │ │ ├── components/ # 公共组件 │ │ ├── layout/ # 布局组件 │ │ ├── router/ # 路由配置 │ │ ├── stores/ # 状态管理 │ │ ├── utils/ # 工具函数 │ │ ├── views/ # 页面组件 │ │ ├── App.vue # 根组件 │ │ └── main.js # 入口文件 │ ├── index.html # HTML模板 │ ├── package.json # 依赖配置 │ └── vite.config.js # Vite配置 │ └── README.md # 项目说明 ``` ## 🚀 快速开始 ### 环境要求 - JDK 17+ - Node.js 16+ - MySQL 8.0+ - Maven 3.6+ ### 后端部署 1. **创建数据库** ```bash # 登录MySQL mysql -u root -p # 执行数据库脚本 source backend/src/main/resources/db/schema.sql ``` 2. **修改配置文件** 编辑 `backend/src/main/resources/application.yml`,修改数据库连接信息: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/car_system?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai username: root password: your_password ``` 3. **启动后端服务** ```bash cd backend mvn clean install mvn spring-boot:run ``` 后端服务默认运行在 `http://localhost:8080` 接口文档地址:`http://localhost:8080/api/doc.html` ### 前端部署 1. **安装依赖** ```bash cd frontend npm install ``` 2. **启动开发服务器** ```bash npm run dev ``` 前端服务默认运行在 `http://localhost:3000` 3. **构建生产版本** ```bash npm run build ``` ## 👤 默认账号 系统提供了两个测试账号: | 用户名 | 密码 | 角色 | 说明 | |--------|------|------|------| | admin | admin123 | 管理员 | 拥有所有权限 | | user | user123 | 普通员工 | 基础业务权限 | ## 📊 功能模块 ### 1. 数据看板 - 车辆、客户数量统计 - 本月保养/维修数量和费用统计 - 月度趋势图表展示 - 费用分布饼图 ### 2. 客户管理 - 客户信息的增删改查 - 支持姓名、手机号模糊搜索 - 分页显示 - 可查看客户名下的所有车辆 ### 3. 车辆管理 - 车辆信息录入和管理 - 支持车牌号、品牌、车型搜索 - 关联客户信息 - 记录车辆里程、购买日期等信息 ### 4. 保养记录 - 保养记录的新增、编辑、删除 - 按时间段、关键词筛选 - 记录保养类型、项目、费用等 - 支持Excel格式导出 ### 5. 维修记录 - 维修工单管理 - 维修状态跟踪(待维修、维修中、已完成) - 故障描述、维修方案记录 - 按状态、时间筛选查询 ### 6. 权限控制 - 基于Sa-Token的登录认证 - 角色权限控制 - Token自动刷新 - 登录状态保持 ## 🔌 API接口 系统提供了完整的RESTful API接口,主要包括: | 模块 | 接口路径 | 说明 | |------|----------|------| | 认证 | `/api/auth/*` | 登录、登出、获取用户信息 | | 客户 | `/api/customer/*` | 客户管理CRUD接口 | | 车辆 | `/api/vehicle/*` | 车辆管理CRUD接口 | | 保养 | `/api/maintenance/*` | 保养记录管理接口 | | 维修 | `/api/repair/*` | 维修记录管理接口 | | 统计 | `/api/statistics` | 统计数据接口 | 详细API文档请访问:`http://localhost:8080/api/doc.html` ## 🎨 界面预览 系统采用现代化的UI设计,界面简洁美观: - 侧边栏导航布局 - 响应式设计,适配多种屏幕 - Ant Design Vue组件库 - ECharts数据可视化图表 - 流畅的交互体验 ## 📝 开发说明 ### 数据库设计 系统包含5个核心表: - `sys_user` - 用户表 - `customer` - 客户表 - `vehicle` - 车辆表 - `maintenance_record` - 保养记录表 - `repair_record` - 维修记录表 所有表都包含逻辑删除字段,支持数据恢复。 ### 代码规范 - 后端代码遵循阿里巴巴Java开发规范 - 使用Lombok简化代码 - 统一的Result返回格式 - 完善的异常处理机制 - 详细的代码注释 ### 扩展开发 系统采用分层架构,便于扩展: 1. 添加新模块只需创建对应的Entity、Mapper、Service、Controller 2. 前端添加页面后在router中注册路由 3. API接口统一管理在`/api`目录下 4. 使用Pinia管理全局状态 ## 🔧 常见问题 ### 1. 数据库连接失败 检查MySQL服务是否启动,数据库用户名密码是否正确。 ### 2. 前端接口请求失败 确保后端服务已启动,检查Vite代理配置是否正确。 ### 3. Excel导出失败 检查是否有EasyExcel依赖,后端日志是否有异常信息。 ### 4. 登录后页面空白 清除浏览器缓存和localStorage,重新登录。 ## 📄 License 本项目仅供学习交流使用。 ## 👨‍💻 作者 Car System Team ## 🙏 鸣谢 感谢以下开源项目: - [Spring Boot](https://spring.io/projects/spring-boot) - [Vue.js](https://vuejs.org/) - [MyBatis-Plus](https://baomidou.com/) - [Ant Design Vue](https://antdv.com/) - [Sa-Token](https://sa-token.cc/) - [ECharts](https://echarts.apache.org/) --- 如有问题或建议,欢迎提Issue!