Files
loan-pricing/openspec/changes/add-execute-rate-ui/tasks.md

86 lines
3.2 KiB
Markdown
Raw Normal View History

2026-01-22 16:01:12 +08:00
# 实施任务
## 任务清单
1. **添加 API 方法**
- 文件: `ruoyi-ui/src/api/loanPricing/workflow.js`
- 操作: 添加 `setExecuteRate(serialNum, executeRate)` 方法
- 请求: `PUT /loanPricing/workflow/{serialNum}/executeRate`
- 验证: 方法添加成功
2. **更新议价池组件 - Props**
- 文件: `ruoyi-ui/src/views/loanPricing/workflow/components/BargainingPoolDisplay.vue`
- 操作: 添加 `executeRate``serialNum` props
- 验证: props 定义成功
3. **更新议价池组件 - UI**
- 文件: `ruoyi-ui/src/views/loanPricing/workflow/components/BargainingPoolDisplay.vue`
- 操作: 在 el-descriptions 中添加"执行利率"行,包含:
- 显示模式: 显示当前执行利率值(若无则显示"-"
- 编辑模式: 输入框 + 提交按钮 + 取消按钮
- 编辑按钮: 在显示模式下点击进入编辑模式
- 验证: UI 更新成功
4. **更新议价池组件 - 数据和逻辑**
- 文件: `ruoyi-ui/src/views/loanPricing/workflow/components/BargainingPoolDisplay.vue`
- 操作:
- 添加 `isEditing` 状态变量
- 添加 `tempExecuteRate` 临时输入值
- 添加 `handleEdit` 方法进入编辑模式
- 添加 `handleSubmit` 方法调用 API 并处理响应
- 添加 `handleCancel` 方法取消编辑
- 添加输入验证(数字格式、范围检查)
- 验证: 逻辑实现完整
5. **更新议价池组件 - API 调用**
- 文件: `ruoyi-ui/src/views/loanPricing/workflow/components/BargainingPoolDisplay.vue`
- 操作: 引入 `setExecuteRate` API 方法
- 验证: 引入成功
6. **更新详情页面 - 传递 Props**
- 文件: `ruoyi-ui/src/views/loanPricing/workflow/detail.vue`
- 操作: 在 BargainingPoolDisplay 组件上传递:
- `:execute-rate="workflowDetail.executeRate"`
- `:serial-num="workflowDetail.serialNum"`
- `@execute-rate-updated="handleExecuteRateUpdated"`
- 验证: props 传递正确
7. **前端功能验证**
- 操作:
- 启动前端服务
- 打开流程详情页面
- 测试首次设定执行利率
- 测试更新已设定的执行利率
- 测试输入验证
- 测试取消编辑
- 验证:
- 未设定时显示"-"
- 已设定时显示当前值
- 点击编辑按钮进入编辑模式
- 输入框显示当前值
- 提交成功后显示新值并显示成功提示
- 取消编辑恢复显示模式
- 输入非法值时显示错误提示
## 依赖关系
- 任务 1 必须首先执行API 方法)
- 任务 2-5 依次执行Props -> UI -> 数据逻辑 -> API 调用)
- 任务 6 依赖任务 2
- 任务 7 在所有代码任务完成后执行
## 验收标准
- [x] API 方法 `setExecuteRate` 添加成功
- [x] 议价池组件添加 `executeRate``serialNum` props
- [x] 议价池组件显示执行利率行
- [x] 未设定时显示"-"
- [x] 已设定时显示当前值
- [x] 编辑按钮切换到编辑模式
- [x] 输入框显示当前值
- [x] 提交按钮调用 API 成功
- [x] 提交成功后更新显示并显示成功提示
- [x] 取消按钮恢复显示模式
- [x] 输入验证正确工作
- [x] 详情页面正确传递 props