# 功能测试说明

## ✅ 已实现的真实功能

### 管理员功能 (admin/dashboard.html)

#### 1. 用户管理
- ✅ **查看用户**：点击"查看"按钮打开模态框，显示用户详细信息（只读模式）
- ✅ **编辑用户**：点击"编辑"按钮打开模态框，可修改用户信息并保存
- ✅ **删除用户**：点击"删除"按钮，确认后删除用户
- ✅ **添加用户**：点击"添加用户"按钮，打开空白表单创建新用户

**测试步骤：**
1. 登录后进入"用户管理"
2. 点击任意用户的"查看"按钮 - 应弹出模态框显示详细信息
3. 点击"编辑"按钮 - 应弹出可编辑的模态框
4. 修改真实姓名后点击"保存" - 应显示"更新成功"提示
5. 点击"删除"按钮 - 确认后删除该用户

#### 2. 车辆管理
- ✅ **查看车辆**：显示车辆详细信息（只读）
- ✅ **编辑车辆**：可修改里程、状态等信息
- ✅ **删除车辆**：确认后删除
- ✅ **添加车辆**：创建新车辆档案

**测试步骤：**
1. 进入"车辆管理"
2. 查看奔驰C200L的详细信息
3. 修改里程数并保存
4. 尝试添加新车辆（车牌号不能重复）

#### 3. 工单管理
- ✅ **查看工单**：显示工单完整信息
- ✅ **编辑工单**：可修改服务类型、费用、状态等
- ✅ **自动计算**：配件费用+工时费用=总费用
- ✅ **删除工单**：确认后删除
- ✅ **状态筛选**：下拉框过滤不同状态的工单

**测试步骤：**
1. 进入"工单管理"
2. 查看工单SO202501070001的详情
3. 编辑工单，修改配件费用和工时费用，观察总费用自动计算
4. 修改工单状态为"已完成"
5. 使用状态下拉框筛选"进行中"的工单

#### 4. 配件管理
- ✅ **查看配件**：显示配件信息
- ✅ **编辑库存**：快速修改库存数量
- ✅ **库存预警**：库存<=最小库存时显示红色预警标签
- ✅ **删除配件**：确认后删除

**测试步骤：**
1. 进入"配件管理"
2. 观察库存预警标签
3. 点击"编辑"修改库存数量
4. 删除某个配件

#### 5. 预约管理
- ✅ **查看预约**：显示预约列表
- ✅ **确认预约**：将预约状态改为"已确认"
- ✅ **取消预约**：将预约状态改为"已取消"

### 工作人员功能 (staff/dashboard.html)

#### 1. 车辆查询
- ✅ **按车牌号查询**：输入车牌号后显示车辆详细信息
- ✅ **回车搜索**：支持按回车键直接搜索

**测试步骤：**
1. 进入"车辆查询"
2. 输入"京A12345"点击查询或按回车
3. 查看车辆完整信息

#### 2. 配件查询
- ✅ **关键词搜索**：按配件名称或编号搜索
- ✅ **库存预警**：显示库存预警标签

**测试步骤：**
1. 进入"配件查询"
2. 输入"机油"搜索
3. 查看搜索结果和库存状态

### 客户功能 (customer/dashboard.html)

#### 1. 我的车辆
- ✅ **卡片式展示**：美观的车辆卡片
- ✅ **详细信息**：品牌、型号、颜色、里程、保养时间

#### 2. 维保记录
- ✅ **历史记录**：显示所有维保工单
- ✅ **详细信息**：工单号、服务类型、费用、状态

#### 3. 我的预约
- ✅ **预约列表**：显示所有预约
- ✅ **取消预约**：可取消待确认的预约
- ✅ **状态标识**：不同颜色的状态标签

#### 4. 在线预约
- ✅ **表单验证**：验证必填项
- ✅ **创建预约**：提交后创建新预约
- ✅ **自动刷新**：预约成功后自动刷新列表

**测试步骤：**
1. 进入"在线预约"
2. 选择车辆、服务类型、预约时间
3. 填写联系电话
4. 点击"提交预约"
5. 查看"我的预约"中的新记录

---

## 🔧 API端点对照表

| 功能 | 方法 | 端点 | 说明 |
|------|------|------|------|
| 登录 | POST | /api/auth/login | 用户登录 |
| 获取所有用户 | GET | /api/users | 获取用户列表 |
| 获取单个用户 | GET | /api/users/{id} | 获取用户详情 |
| 更新用户 | PUT | /api/users/{id} | 更新用户信息 |
| 删除用户 | DELETE | /api/users/{id} | 删除用户 |
| 获取所有车辆 | GET | /api/vehicles | 获取车辆列表 |
| 按车牌查询 | GET | /api/vehicles/plate/{plate} | 查询车辆 |
| 更新车辆 | PUT | /api/vehicles/{id} | 更新车辆信息 |
| 删除车辆 | DELETE | /api/vehicles/{id} | 删除车辆 |
| 获取所有工单 | GET | /api/orders | 获取工单列表 |
| 获取单个工单 | GET | /api/orders/{id} | 获取工单详情 |
| 更新工单 | PUT | /api/orders/{id} | 更新工单信息 |
| 删除工单 | DELETE | /api/orders/{id} | 删除工单 |
| 获取所有配件 | GET | /api/parts | 获取配件列表 |
| 更新配件 | PUT | /api/parts/{id} | 更新配件信息 |
| 删除配件 | DELETE | /api/parts/{id} | 删除配件 |
| 获取所有预约 | GET | /api/appointments | 获取预约列表 |
| 确认预约 | PUT | /api/appointments/{id} | 确认预约 |
| 取消预约 | PUT | /api/appointments/{id}/cancel | 取消预约 |
| 创建预约 | POST | /api/appointments | 创建新预约 |

---

## 📝 常见问题

### 1. 模态框不弹出
- 确保Bootstrap JS已正确加载
- 检查浏览器控制台是否有错误

### 2. 数据不刷新
- 检查API请求是否成功
- 查看浏览器Network面板的请求响应

### 3. 保存失败
- 检查后端服务是否启动
- 确认数据库连接正常
- 查看后端控制台错误日志

### 4. 跨域错误
- 确认后端CORS配置正确
- 检查API_BASE_URL配置

---

## 🎯 测试账号

| 角色 | 用户名 | 密码 | 权限 |
|------|--------|------|------|
| 管理员 | admin | 123456 | 所有功能 |
| 工作人员 | staff001 | 123456 | 查询、处理工单 |
| 客户 | customer001 | 123456 | 车辆、预约 |

---

所有功能现在都是真实的！数据会真正保存到数据库并实时刷新！
