# Epic 018: 残疾人网站Bug修复与功能优化

## 概述
本史诗旨在修复残疾人网站测试中发现的新Bug，包括照片上传保存失败、订单编辑功能不完整、地区选择卡顿、省市区显示异常等问题，以提升系统稳定性和用户体验。

## 业务目标
1. 修复照片上传保存失败的核心功能Bug
2. 完善订单管理编辑功能，解决订单详情显示不完整问题
3. 优化地区选择功能，解决卡顿和特殊行政区划处理问题
4. 修复省市区树形结构显示异常和编辑页面参数错误问题
5. 优化系统界面和交互体验

## 范围
- 残疾人管理模块的照片上传功能修复
- 订单管理模块的编辑功能和详情显示优化
- 地区管理模块的性能优化和特殊行政区划处理
- 系统界面显示异常修复

## 成功标准
1. 照片上传后能够成功保存并在再次查看时正常显示
2. 订单信息能够完整编辑和保存，详情页显示完整的公司/平台名称
3. 地区选择无卡顿，支持无市级行政区划地区填写
4. 省市区树形结构显示正常，编辑页面参数传递正确
5. 所有Bug修复通过测试验证
6. 系统稳定性和用户体验得到提升

## 用户故事

### 残疾人管理模块

#### 故事 018-01: 修复照片上传保存功能
**作为** 残疾人信息管理员
**我希望** 上传的残疾人照片能够成功保存
**以便** 下次查看时照片仍然存在，无需重复上传

**验收标准:**
- [ ] 首次上传残疾人照片后提交，照片能够成功保存
- [ ] 再次编辑残疾人信息时，已上传的照片能够正常显示
- [ ] 重新上传照片后能够成功保存
- [ ] 照片上传失败时能够显示明确的错误提示
- [ ] 支持常见的图片格式（JPG、PNG等）
- [ ] 照片文件大小限制合理

**技术说明:**
- 页面路径：搜索菜单 > 残疾人管理 > 编辑残疾人信息
- 需要检查：
  - 前端照片上传组件（PhotoUploadField）
  - 照片数据提交到后端API的逻辑
  - 后端照片保存到数据库/文件存储的逻辑
  - 照片数据回显逻辑
- 可能的问题点：
  - 照片数据未正确提交到后端
  - 后端未正确保存照片信息
  - 照片文件存储失败
  - 前端回显逻辑错误

**完成情况:**
- ✅ 已完成 (2025-12-31) - 经实际测试验证功能正常

### 订单管理模块

#### 故事 018-02: 完善订单编辑功能
**作为** 订单管理员
**我希望** 能够完整编辑订单信息
**以便** 修正订单中的错误或更新订单信息

**验收标准:**
- [ ] 订单编辑功能正常工作，能够修改订单信息
- [ ] 订单详情页显示完整的公司名称（而非"公司29"）
- [ ] 订单详情页显示完整的平台名称（而非"平台3"）
- [ ] 订单详情页显示完整的渠道名称（而非"渠道4"）
- [ ] 订单关联信息（公司、平台、渠道）以可读的名称显示
- [ ] 订单编辑后保存成功，数据正确更新

**技术说明:**
- 页面路径：搜索菜单 > 订单管理
- 需要检查：
  - 订单编辑对话框的实现
  - 订单详情页的数据获取和显示逻辑
  - 订单、公司、平台、渠道的关联查询
  - API返回的数据结构
- 可能的问题点：
  - 前端未实现编辑功能或编辑功能被禁用
  - 详情页显示的是ID而非关联表的实际名称
  - 后端API未返回关联对象的完整信息
  - 缺少必要的JOIN查询

**依赖关系:**
- 史诗010-04已修复订单状态更新，本故事需要在此基础上完善完整编辑功能

**完成情况:**
- ✅ 已完成 (2025-01-04) - 订单编辑功能完善，关联对象名称显示正常，所有测试通过

### 地区管理模块

#### 故事 018-03: 优化地区选择性能
**作为** 残疾人信息管理员
**我希望** 选择地区时系统响应流畅
**以便** 快速完成地区信息填写

**验收标准:**
- [ ] 选择"市"选项时系统响应快速，无卡顿现象
- [ ] 市列表能够正常加载和显示
- [ ] 地区选择组件在大数据量下仍能保持流畅
- [ ] 地区选择支持搜索或过滤功能

**技术说明:**
- 页面路径：搜索菜单 > 残疾人管理 > 添加/编辑残疾人 > 地区选择
- 需要检查：
  - 地区选择组件的实现（省市区级联选择器）
  - 后端地区数据查询API性能
  - 前端地区数据加载和缓存策略
  - 地区数据量（市的数量）
- 可能的问题点：
  - 一次性加载所有市级数据导致性能问题
  - 未实现懒加载或分页加载
  - 后端查询缺少索引优化
  - 前端组件渲染性能问题

**完成情况:**
- ⏳ 待开始

#### 故事 018-04: 支持特殊行政区划地区
**作为** 残疾人信息管理员
**我希望** 能够填写无市级行政区划的地区信息
**以便** 完整记录自治州、自治县等特殊地区的残疾人信息

**验收标准:**
- [ ] "市"字段支持为空或可选
- [ ] 支持自治州、自治县等特殊行政区划的填写
- [ ] 系统能正确处理和保存无市级行政区划的地区信息
- [ ] 地区信息显示和查询正常工作

**技术说明:**
- 页面路径：搜索菜单 > 残疾人管理 > 添加/编辑残疾人 > 地区选择
- 需要修改：
  - 前端表单验证规则（市字段改为可选）
  - 后端验证规则
  - 数据库字段约束（如果有的话）
  - 特殊行政区划数据结构
- 考虑点：
  - 是否需要新增"地区类型"字段（普通市/自治州/自治县等）
  - 是否需要调整数据模型支持更灵活的层级结构

**完成情况:**
- ⏳ 待开始

#### 故事 018-05: 优化省市信息查询逻辑
**作为** 系统用户
**我希望** 系统不强制要求查询省市级信息
**以便** 减少不必要的操作步骤

**验收标准:**
- [ ] 系统不强制要求查询残疾人所在的省和市（除非必要）
- [ ] 系统不强制要求查询入职公司所在的省和市（除非必要）
- [ ] 相关功能在缺少省市级信息时仍能正常工作
- [ ] 系统性能得到提升（减少了不必要的数据库查询）

**技术说明:**
- 需要检查：所有涉及省市级信息查询的页面和功能
- 需要评估：哪些功能确实需要省市级信息，哪些不需要
- 需要优化：
  - 延迟加载或按需加载省市级信息
  - 移除不必要的省市级信息查询
  - 优化数据库查询性能

**完成情况:**
- ⏳ 待开始

### 系统界面与显示

#### 故事 018-06: 修复省市区树形结构显示异常
**作为** 系统管理员
**我希望** 省市区树形结构显示正确规范
**以便** 准确选择地区信息

**验收标准:**
- [ ] 省级行政区显示正确的名称（如"山东省"而非"SDS"）
- [ ] 所有省级行政区标识规范统一
- [ ] 省市区树形结构层级正确
- [ ] 地区选择器显示的地区信息准确无误

**技术说明:**
- 需要检查：
  - 地区数据源（数据库中的地区信息表）
  - 地区数据初始化脚本或导入逻辑
  - 省市区树形结构组件的数据显示逻辑
- 可能的问题点：
  - 地区数据导入时使用了错误的字段或编码
  - 数据库中地区名称字段存储了错误的值
  - 前端显示逻辑错误

**完成情况:**
- ⏳ 待开始

#### 故事 018-07: 修复编辑页面参数错误
**作为** 残疾人信息管理员
**我希望** 能够正常进入编辑页面
**以便** 修改残疾人信息

**验收标准:**
- [ ] 点击编辑按钮后能够正常进入编辑页面
- [ ] 编辑页面不再提示"参数错误"
- [ ] 编辑页面能够正确加载和显示现有数据
- [ ] 页面路由参数传递正确

**技术说明:**
- 页面路径：搜索菜单 > 残疾人管理 > 编辑残疾人
- 需要检查：
  - 编辑页面的路由定义和参数处理
  - 从列表页传递到编辑页面的参数
  - 编辑页面的参数验证逻辑
  - API调用的参数
- 可能的问题点：
  - 路由参数配置错误
  - 页面参数验证规则过于严格
  - 缺少必要的参数传递
  - API调用参数不完整

**完成情况:**
- ⏳ 待开始

### 公司管理模块

#### 故事 018-08: 优化公司创建表单验证
**作为** 系统管理员
**我希望** 创建公司时只需要填写可获取的信息
**以便** 快速完成公司信息录入

**验收标准:**
- [ ] 公司名称为必填项
- [ ] 公司联系人、联系电话、联系邮箱为可选项
- [ ] 法人信息为必填项（通常可从公开信息获取）
- [ ] 只填写必填项后能够成功创建公司
- [ ] 表单验证提示清晰明确

**依赖关系:**
- 史诗010-01已修复公司创建的可选字段问题，本故事需验证并进一步优化

**技术说明:**
- 需要验证：史诗010-01的修复是否完全解决了此问题
- 如果已解决，标记为已完成
- 如果未完全解决，继续优化

**完成情况:**
- ✅ 史诗010-01已修复，需验证

## 技术考虑

### 照片上传问题
1. 需要检查照片数据是存储在数据库还是文件存储（MinIO）
2. 如果使用文件存储，需要检查文件上传API和保存逻辑
3. 需要确保照片数据正确关联到残疾人记录
4. 需要检查前端组件的值绑定和提交逻辑

### 订单编辑和显示问题
1. 需要确保后端API返回关联对象的完整信息（JOIN查询）
2. 前端需要正确处理和显示关联对象的名称字段
3. 可能需要添加或优化编辑对话框的实现
4. 需要考虑订单编辑的业务规则（哪些字段可编辑，哪些不可编辑）

### 地区选择性能问题
1. 考虑实现懒加载或分页加载市级数据
2. 后端API可能需要添加分页和搜索支持
3. 考虑在前端缓存地区数据
4. 数据库查询优化（添加索引）

### 特殊行政区划问题
1. 需要评估数据模型是否需要调整
2. 可能需要添加地区类型字段
3. 需要考虑现有数据的兼容性
4. 表单验证和显示逻辑需要相应调整

### 省市区显示异常
1. 需要检查地区数据的质量
2. 可能需要数据清洗和修复脚本
3. 需要验证数据导入逻辑

### 编辑页面参数错误
1. 需要检查路由配置和参数定义
2. 需要检查页面初始化逻辑
3. 可能需要调整参数验证规则

## 依赖关系

### 外部依赖
1. 史诗010（系统Bug修复）- 部分功能已修复
   - 故事010-01：公司创建功能修复（关联018-08）
   - 故事010-04：订单状态更新修复（关联018-02）

### 内部依赖
1. 故事018-01（照片上传）相对独立，可优先处理
2. 故事018-02（订单编辑）依赖史诗010-04
3. 故事018-03/018-04/018-05（地区相关）相互关联，建议按顺序处理
4. 故事018-06/018-07（系统界面）相对独立，可并行处理

## 风险与缓解

1. **风险**: 照片上传问题可能涉及文件存储系统，排查复杂
   **缓解**: 详细分析日志，检查MinIO配置和API调用链路

2. **风险**: 地区数据质量差，修复工作量大
   **缓解**: 编写数据清洗脚本，批量修复数据

3. **风险**: 性能优化可能需要重构现有组件
   **缓解**: 评估现有实现，采用渐进式优化策略

4. **风险**: 订单编辑可能影响现有业务逻辑
   **缓解**: 充分测试，进行回归测试

## 验收测试计划

### 功能测试
1. 测试照片上传和保存功能
2. 测试订单编辑和详情显示功能
3. 测试地区选择功能（包括特殊行政区划）
4. 测试编辑页面进入和数据加载

### 性能测试
1. 测试地区选择性能（大数据量场景）
2. 测试省市级信息查询优化效果

### 兼容性测试
1. 测试现有数据的兼容性
2. 测试特殊行政区划数据的处理

### 用户体验测试
1. 验证操作流程的流畅性
2. 验证错误提示的清晰性

## 时间估算
- 故事018-01（照片上传）：1-2人天
- 故事018-02（订单编辑）：1-2人天
- 故事018-03（地区性能）：2-3人天
- 故事018-04（特殊行政区划）：1-2人天
- 故事018-05（省市查询优化）：1-2人天
- 故事018-06（省市区显示）：1人天
- 故事018-07（编辑页面参数）：1人天
- 故事018-08（公司表单验证）：0.5人天（验证工作）

**总工作量**: 约10-15人天
**预计完成时间**: 2-3周

## 优先级
高 - 这些Bug直接影响系统核心功能的正常使用和用户体验

---

*史诗创建时间: 2025-12-31*
*状态: 进行中 🔄* (2/8 故事已完成)

**更新记录**:
- 2025-12-31: 史诗创建，基于残疾人网站问题反馈清单
- 2025-12-31: 故事018-01完成 - 照片上传保存功能修复，经实际测试验证功能正常
- 2025-01-04: 故事018-02完成 - 订单编辑功能完善，关联对象名称显示正常，67个测试全部通过
