feat: 重构洗车预约系统,新增套餐管理和时间段选择功能
- 新增套餐管理模块,支持套餐的增删改查 - 重构预约表结构,支持时间段选择和套餐关联 - 实现日历视图和时间段网格选择界面 - 更新数据库结构,添加套餐表和相关字段 - 优化移动端体验,增强触摸交互 - 更新文档和样式,匹配新功能
This commit is contained in:
@@ -1,143 +1,94 @@
|
||||
# 洗车预约系统
|
||||
# 🚗 洗车预约系统
|
||||
|
||||
一个简单实用的PHP洗车预约管理系统,支持在线预约和预约管理功能。
|
||||
现代化洗车预约管理系统,采用日历时间段选择模式,支持套餐管理和移动端优化。
|
||||
|
||||
## 功能特性
|
||||
## ✨ 功能特性
|
||||
|
||||
### 客户功能
|
||||
- 📝 在线提交洗车预约
|
||||
- 📱 填写客户信息(姓名、电话、车型、车牌号)
|
||||
- 🛁 选择服务类型(普通洗车、精洗、打蜡、内饰清洁)
|
||||
- 📅 选择预约日期和时间
|
||||
- 💬 添加备注信息
|
||||
- ✅ 防重复预约检查
|
||||
- 📅 **日历选择** - 直观的周历显示和时间段网格
|
||||
- ⚡ **快捷预约** - 1-4小时快捷时长选择,支持自定义
|
||||
- 💼 **套餐管理** - 灵活的套餐配置和价格管理
|
||||
- 📱 **移动优化** - 完美响应式设计,触摸友好
|
||||
- 🔧 **管理功能** - 预约状态管理和时间冲突检查
|
||||
|
||||
### 管理功能
|
||||
- 📋 查看所有预约记录
|
||||
- 🔄 更新预约状态(待确认→已确认→已完成)
|
||||
- ❌ 取消预约功能
|
||||
- 📊 预约统计显示
|
||||
- 🎯 状态颜色标识
|
||||
|
||||
## 技术栈
|
||||
- **后端**: PHP 7.4+
|
||||
- **数据库**: MySQL 5.7+
|
||||
## 🛠️ 技术栈
|
||||
- **后端**: PHP 7.4+ | MySQL 5.7+
|
||||
- **前端**: HTML5 + CSS3 + JavaScript
|
||||
- **响应式设计**: 移动端自适应
|
||||
- **数据库操作**: PDO
|
||||
- **数据库**: PDO + MySQL
|
||||
|
||||
## 移动端优化特性
|
||||
- 📱 **响应式设计**: 完美适配手机、平板、桌面设备
|
||||
- 👆 **触摸优化**: 针对移动设备优化的触摸交互
|
||||
- 🔍 **防缩放**: 防止意外的双击缩放
|
||||
- ⌨️ **输入优化**: 针对移动端键盘类型的自动适配
|
||||
- 🎨 **界面适配**: 小屏幕下的布局优化
|
||||
- 🚫 **触摸反馈**: 按钮点击的视觉反馈效果
|
||||
- 📋 **表单体验**: 移动端友好的表单交互
|
||||
|
||||
## 文件结构
|
||||
## 📁 文件结构
|
||||
```
|
||||
carwash_order/
|
||||
├── index.php # 预约首页
|
||||
├── bookings.php # 预约管理页面
|
||||
├── bookings.php # 预约管理
|
||||
├── packages.php # 套餐管理
|
||||
├── config.php # 数据库配置
|
||||
├── db_connect.php # 数据库连接
|
||||
├── carwash_db.sql # 数据库结构
|
||||
├── style.css # 样式文件
|
||||
└── README.md # 说明文档
|
||||
└── style.css # 样式文件
|
||||
```
|
||||
|
||||
## 安装说明
|
||||
## 🚀 快速开始
|
||||
|
||||
### 1. 环境要求
|
||||
- PHP 7.4 或更高版本
|
||||
- MySQL 5.7 或更高版本
|
||||
- Web服务器 (Apache/Nginx)
|
||||
- PHP 7.4+ | MySQL 5.7+ | Web服务器
|
||||
|
||||
### 2. 数据库配置
|
||||
1. 创建MySQL数据库
|
||||
2. 导入数据库结构:
|
||||
```bash
|
||||
mysql -u root -p < carwash_db.sql
|
||||
```
|
||||
|
||||
### 3. 修改配置文件
|
||||
编辑 `config.php` 文件,修改数据库连接信息:
|
||||
```php
|
||||
$host = 'localhost'; // 数据库主机
|
||||
$username = 'root'; // 数据库用户名
|
||||
$password = ''; // 数据库密码
|
||||
$database = 'carwash_booking'; // 数据库名
|
||||
```
|
||||
修改 `config.php` 数据库连接信息。
|
||||
|
||||
### 4. 运行系统
|
||||
1. 将所有文件放在Web服务器根目录
|
||||
2. 访问 `index.php` 开始使用系统
|
||||
### 3. 访问系统
|
||||
访问 `index.php` 开始预约,`packages.php` 管理套餐。
|
||||
|
||||
## 使用指南
|
||||
## 📖 使用指南
|
||||
|
||||
### 客户预约流程
|
||||
1. 访问首页,填写完整的预约信息
|
||||
2. 选择服务类型和预约时间
|
||||
3. 提交表单后系统会检查时间冲突
|
||||
4. 成功提交后会显示确认信息
|
||||
1. **选择日期** → 日历点击选择
|
||||
2. **选择时间段** → 8:00-18:00时间段
|
||||
3. **选择时长** → 快捷按钮或自定义
|
||||
4. **选择套餐** → 从可用套餐选择
|
||||
5. **填写信息** → 完善客户信息
|
||||
6. **提交预约** → 自动检查冲突
|
||||
|
||||
### 管理员操作
|
||||
1. 访问 `bookings.php` 查看所有预约
|
||||
2. 可以更新预约状态:
|
||||
- **已确认**: 联系客户确认预约
|
||||
- **已完成**: 洗车服务已完成
|
||||
- **已取消**: 取消该预约
|
||||
- **查看预约** → `bookings.php`
|
||||
- **管理套餐** → `packages.php`
|
||||
- **更新状态** → 待确认→已确认→已完成→已取消
|
||||
|
||||
## 数据库表结构
|
||||
## 🗄️ 数据库结构
|
||||
|
||||
### packages 表
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| id | INT | 主键 |
|
||||
| name | VARCHAR(100) | 套餐名称 |
|
||||
| description | TEXT | 套餐描述 |
|
||||
| base_duration | INT | 基础时长(分钟) |
|
||||
| base_price | DECIMAL(10,2) | 基础价格 |
|
||||
| services | TEXT | 服务项目 |
|
||||
| is_active | BOOLEAN | 是否启用 |
|
||||
|
||||
### bookings 表
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| id | INT | 主键,自增 |
|
||||
| id | INT | 主键 |
|
||||
| customer_name | VARCHAR(100) | 客户姓名 |
|
||||
| phone | VARCHAR(20) | 联系电话 |
|
||||
| car_model | VARCHAR(50) | 车型 |
|
||||
| car_number | VARCHAR(20) | 车牌号 |
|
||||
| service_type | ENUM | 服务类型 |
|
||||
| appointment_date | DATE | 预约日期 |
|
||||
| appointment_time | TIME | 预约时间 |
|
||||
| notes | TEXT | 备注信息 |
|
||||
| package_id | INT | 套餐ID |
|
||||
| start_time | DATETIME | 开始时间 |
|
||||
| duration | INT | 时长(分钟) |
|
||||
| status | ENUM | 预约状态 |
|
||||
| created_at | TIMESTAMP | 创建时间 |
|
||||
|
||||
## 服务类型和价格
|
||||
- **普通洗车**: ¥30
|
||||
- **精洗**: ¥80
|
||||
- **打蜡**: ¥120
|
||||
- **内饰清洁**: ¥60
|
||||
## 📋 预约状态
|
||||
- **待确认** 🔵 | **已确认** 🟢 | **已完成** 🟦 | **已取消** 🔴
|
||||
|
||||
## 状态说明
|
||||
- **待确认**: 新提交的预约,等待管理员确认
|
||||
- **已确认**: 管理员已确认,可以提供服务
|
||||
- **已完成**: 服务已完成
|
||||
- **已取消**: 预约已取消
|
||||
## 🔧 常见问题
|
||||
|
||||
## 扩展功能建议
|
||||
如需添加更多功能,可以考虑:
|
||||
- 用户注册登录系统
|
||||
- 在线支付功能
|
||||
- 短信/邮件通知
|
||||
- 预约提醒功能
|
||||
- 服务评价系统
|
||||
- 数据统计报表
|
||||
|
||||
## 故障排除
|
||||
|
||||
### 数据库连接失败
|
||||
1. 检查 `config.php` 中的数据库配置
|
||||
2. 确认MySQL服务正在运行
|
||||
3. 检查数据库用户权限
|
||||
|
||||
### 页面显示异常
|
||||
1. 确认PHP版本兼容
|
||||
2. 检查Web服务器配置
|
||||
3. 查看PHP错误日志
|
||||
**数据库连接失败** → 检查 config.php 配置和MySQL服务
|
||||
**页面显示异常** → 确认PHP版本和Web服务器配置
|
||||
**日历功能异常** → 检查JavaScript支持和套餐数据
|
||||
|
||||
## 许可证
|
||||
本项目基于MIT许可证开源。
|
||||
|
||||
Reference in New Issue
Block a user