## ADDED Requirements

### Requirement: Refund Order Voucher Upload

The system SHALL require a refund voucher file key when creating a refund order in refund management.

#### Scenario: Create refund order with uploaded voucher

- **GIVEN** 用户正在退款管理中创建退款订单
- **WHEN** 用户通过 `/storage/upload-url` 上传退款凭证图片并获得 `file_key`
- **AND** 用户提交创建退款订单表单
- **THEN** 系统 MUST 将该 `file_key` 作为 `refund_voucher_key` 提交
- **AND** `refund_voucher_key` MUST be a non-empty string

#### Scenario: Block refund order creation without voucher

- **GIVEN** 用户正在退款管理中创建退款订单
- **WHEN** 用户未上传退款凭证图片或未获得 `file_key`
- **AND** 用户尝试提交创建退款订单表单
- **THEN** 系统 MUST prevent submission
- **AND** 系统 MUST 提示用户上传退款凭证

### Requirement: Refund Voucher Viewing

The system SHALL allow users to view refund vouchers from refund order list operations and refund order details when `refund_voucher_key` exists.

#### Scenario: View refund voucher from refund order list action

- **GIVEN** 用户正在查看退款订单列表
- **WHEN** 某条退款订单存在 `refund_voucher_key`
- **THEN** 系统 MUST 在操作列提供查看退款凭证入口
- **AND** 该入口的查看体验 MUST be consistent with the existing order list payment voucher preview behavior

#### Scenario: Hide refund voucher action when no voucher exists

- **GIVEN** 用户正在查看退款订单列表
- **WHEN** 某条退款订单不存在 `refund_voucher_key`
- **THEN** 系统 MUST NOT display an enabled refund voucher preview action for that order

#### Scenario: Display refund voucher in refund order detail

- **GIVEN** 用户打开退款订单详情
- **WHEN** 详情数据包含 `refund_voucher_key`
- **THEN** 系统 MUST directly display the refund voucher image or preview entry in the detail content
- **AND** 用户 MUST NOT need to return to the list to view the voucher
