# car-manager **Repository Path**: wkpcaibi/car-manager ## Basic Information - **Project Name**: car-manager - **Description**: 车辆管理系统 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-16 - **Last Updated**: 2026-04-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 智能车辆管理系统(钉钉集成版) 一个基于 Spring Boot + Vue 3 的现代化企业车辆管理系统,深度集成钉钉审批流程。 ## 项目简介 本系统为企业提供完整的车辆管理解决方案,包括车辆档案管理、用车申请审批、车辆调度、出车回车登记、费用管理等功能,并与钉钉深度集成,实现审批流程自动化和消息通知。 ## 技术栈 ### 后端 - **框架**: Spring Boot 2.7.14 - **ORM**: MyBatis Plus 3.5.3 - **数据库**: MySQL 8.0 - **缓存**: Redis - **认证**: JWT - **集成**: 钉钉开放平台 SDK ### 前端 - **框架**: Vue 3.3 - **构建工具**: Vite 4.4 - **UI组件**: Element Plus 2.3 - **路由**: Vue Router 4.2 - **状态管理**: Pinia 2.1 - **HTTP客户端**: Axios 1.5 - **图表**: ECharts 5.4 ## 功能模块 ### 1. 车辆信息管理 - ✅ 车辆档案的增删改查 - ✅ 车辆状态管理(空闲/已预定/使用中/维修中/已禁用) - ✅ 车辆基本信息(车牌、品牌、型号、类型、座位数等) - ✅ 维护保养记录 - ✅ 保险和年检信息 ### 2. 司机驾驶证管理(模块6) - ✅ 驾驶证信息管理 - ✅ 驾驶证类型管理(A1/A2/B1/B2/C1/C2等) - ✅ 有效期管理和到期提醒 - ✅ 驾驶证扣分记录 - ✅ 自动状态更新(有效/失效/即将到期) ### 3. 用车申请与审批 - ✅ 员工提交用车申请 - ✅ 钉钉审批流程自动发起 - ✅ 审批状态实时同步 - ✅ 审批结果回调处理 - ✅ 申请单据状态管理 ### 4. 车辆调度与执行 - ✅ 自动智能调度 - ✅ 手动指定车辆和司机 - ✅ 出车登记(里程、油量等) - ✅ 回车登记(里程、油量、票据上传) - ✅ 行程记录管理 ### 5. 费用管理与统计 - ✅ 费用类型管理(燃油/路桥/停车/维修/其他) - ✅ 费用录入和审核 - ✅ 按车辆统计费用 - ✅ 按部门统计费用 - ✅ 费用汇总报表 - ✅ 数据可视化展示 ### 6. 钉钉深度集成(模块五) - ✅ 申请提交成功通知 - ✅ 审批待办通知 - ✅ 审批结果通知 - ✅ 调度结果通知 - ✅ 出车/回车提醒 - ✅ 审批回调地址接收 - ✅ 工作通知推送 ## 项目结构 ``` car-manager/ ├── car-manager-backend/ # 后端服务 │ ├── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/carmanager/ │ │ │ │ ├── config/ # 配置类 │ │ │ │ ├── controller/ # 控制器 │ │ │ │ ├── entity/ # 实体类 │ │ │ │ ├── mapper/ # Mapper接口 │ │ │ │ ├── service/ # 服务层 │ │ │ │ ├── exception/ # 异常处理 │ │ │ │ ├── common/ # 公共类 │ │ │ │ ├── util/ # 工具类 │ │ │ │ └── schedule/ # 定时任务 │ │ │ └── resources/ │ │ │ ├── db/ # 数据库脚本 │ │ │ ├── application.yml # 配置文件 │ │ │ └── logback-spring.xml # 日志配置 │ │ └── test/ │ └── pom.xml │ ├── car-manager-front/ # 前端应用 │ ├── src/ │ │ ├── api/ # API接口 │ │ ├── assets/ # 静态资源 │ │ ├── layout/ # 布局组件 │ │ ├── router/ # 路由配置 │ │ ├── stores/ # 状态管理 │ │ ├── utils/ # 工具函数 │ │ ├── views/ # 页面组件 │ │ ├── App.vue │ │ └── main.js │ ├── package.json │ └── vite.config.js │ └── README.md ``` ## 快速开始 ### 环境要求 - JDK 1.8+ - Node.js 16+ - MySQL 8.0+ - Redis 5.0+ - Maven 3.6+ ### 后端启动 1. **创建数据库** ```bash mysql -u root -p CREATE DATABASE car_manager DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ``` 2. **导入数据库脚本** ```bash cd car-manager-backend mysql -u root -p car_manager < src/main/resources/db/schema.sql ``` 3. **修改配置文件** 编辑 `src/main/resources/application.yml`: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/car_manager username: your_username password: your_password redis: host: localhost port: 6379 dingtalk: app-key: your_dingtalk_app_key app-secret: your_dingtalk_app_secret corp-id: your_corp_id agent-id: your_agent_id ``` 4. **启动后端服务** ```bash mvn clean install mvn spring-boot:run ``` 服务将在 `http://localhost:8080/api` 启动 ### 前端启动 1. **安装依赖** ```bash cd car-manager-front npm install ``` 2. **启动开发服务器** ```bash npm run dev ``` 应用将在 `http://localhost:3000` 启动 3. **生产构建** ```bash npm run build ``` ## 默认账号 - 用户名: `admin` - 密码: `admin123` ## 钉钉集成配置 ### 1. 创建钉钉企业内部应用 1. 登录钉钉开发者后台:https://open-dev.dingtalk.com/ 2. 创建企业内部应用 3. 获取 `AppKey` 和 `AppSecret` 4. 配置服务器出口IP白名单 ### 2. 配置审批模板 1. 在钉钉OA审批中创建自定义审批模板 2. 设计表单字段(用车事由、时间、地点等) 3. 记录审批模板代码 `process_code` ### 3. 设置回调地址 1. 配置审批回调URL: `http://your-domain/api/dingtalk/callback` 2. 开启事件订阅 3. 验证回调地址 ### 4. 更新系统配置 将获取的信息填入 `application.yml`: ```yaml dingtalk: app-key: your_app_key # 应用AppKey app-secret: your_app_secret # 应用AppSecret corp-id: your_corp_id # 企业ID agent-id: your_agent_id # 应用AgentId callback-url: http://your-domain/api/dingtalk/callback ``` ## 主要功能截图 ### 工作台 - 车辆统计数据 - 待办事项提醒 - 最近申请列表 ### 车辆管理 - 车辆列表查询 - 新增/编辑车辆 - 车辆状态管理 ### 用车申请 - 提交用车申请 - 审批流程跟踪 - 钉钉通知推送 ### 数据报表 - 费用统计图表 - 车辆使用分析 - 部门用车排行 ## API文档 详细的API文档请参考: - 后端: `car-manager-backend/README.md` - 前端: `car-manager-front/README.md` ## 数据库设计 系统包含9张核心业务表: 1. `sys_user` - 用户表 2. `vehicle` - 车辆信息表 3. `driver_license` - 驾驶证管理表 4. `car_application` - 用车申请表 5. `vehicle_trip` - 出车回车记录表 6. `expense_record` - 费用记录表 7. `approval_process` - 审批流程配置表 8. `notification_record` - 消息通知记录表 9. `sys_config` - 系统配置表 详细表结构请查看 `car-manager-backend/src/main/resources/db/schema.sql` ## 系统特色 1. **钉钉深度集成** - 审批流程、消息通知无缝对接 2. **智能调度** - 自动匹配可用车辆 3. **全程跟踪** - 从申请到归还全流程管理 4. **费用透明** - 多维度统计分析 5. **提醒机制** - 驾驶证到期、车辆保养自动提醒 6. **现代化UI** - 响应式设计,操作友好 ## 开发规范 - 后端遵循 RESTful API 设计规范 - 前端采用 Vue 3 Composition API - 代码注释完整,易于维护 - 统一异常处理和日志记录 - Git提交信息规范 ## 许可证 MIT License ## 联系方式 如有问题或建议,欢迎联系。 --- **祝您使用愉快!** 🚗✨