133 lines
3.6 KiB
Markdown
133 lines
3.6 KiB
Markdown
|
|
# Model Param Save Trigger Rebuild Frontend Implementation Plan
|
||
|
|
|
||
|
|
> **For agentic workers:** REQUIRED: Use superpowers:subagent-driven-development (if subagents available) or superpowers:executing-plans to implement this plan. Steps use checkbox (`- [ ]`) syntax for tracking.
|
||
|
|
|
||
|
|
**Goal:** 在项目详情参数配置页点击“保存所有修改”时,先弹出确认提示“将进行流水重新打标”,用户确认后再提交参数保存,并在保存成功后提示已开始重打标。
|
||
|
|
|
||
|
|
**Architecture:** 前端不再直接调用重打标接口,只在 `ParamConfig.vue` 中增加提交前确认与提交后提示,实际重打标由后端保存成功后自动异步发起;页面在保存成功后继续刷新参数,并通过父级项目详情刷新拿到最新项目状态,保持最小改动范围。
|
||
|
|
|
||
|
|
**Tech Stack:** Vue 2, Element UI, Axios request wrapper, Node.js, npm
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### Task 1: 在参数页补充确认弹窗与成功提示
|
||
|
|
|
||
|
|
**Files:**
|
||
|
|
- Modify: `ruoyi-ui/src/views/ccdiProject/components/detail/ParamConfig.vue`
|
||
|
|
- Modify: `ruoyi-ui/src/views/ccdiProject/detail.vue`
|
||
|
|
|
||
|
|
- [ ] **Step 1: Define the failing interaction expectation**
|
||
|
|
|
||
|
|
先明确本次交互基线:
|
||
|
|
|
||
|
|
- 点击“保存所有修改”当前会直接发起保存
|
||
|
|
- 没有提醒“将进行流水重新打标”
|
||
|
|
- 保存成功后没有提示后端已异步开始重打标
|
||
|
|
|
||
|
|
- [ ] **Step 2: Reproduce current behavior manually**
|
||
|
|
|
||
|
|
手工确认当前参数页行为:
|
||
|
|
|
||
|
|
1. 修改任意参数
|
||
|
|
2. 点击“保存所有修改”
|
||
|
|
3. 观察页面直接保存成功,无确认弹窗
|
||
|
|
|
||
|
|
Expected:
|
||
|
|
|
||
|
|
- 当前行为与需求不符,可作为修改前基线
|
||
|
|
|
||
|
|
- [ ] **Step 3: Write minimal implementation**
|
||
|
|
|
||
|
|
最小实现建议:
|
||
|
|
|
||
|
|
1. 在 `handleSaveAll` 里先弹确认框:
|
||
|
|
|
||
|
|
```js
|
||
|
|
await this.$confirm(
|
||
|
|
'保存参数后将进行项目内流水重新打标,是否继续?',
|
||
|
|
'提示',
|
||
|
|
{ type: 'warning' }
|
||
|
|
)
|
||
|
|
```
|
||
|
|
|
||
|
|
2. 用户确认后再调用 `saveAllParams`
|
||
|
|
3. 保存成功提示改为:
|
||
|
|
|
||
|
|
```js
|
||
|
|
this.$modal.msgSuccess('保存成功,已开始项目内流水重新打标')
|
||
|
|
```
|
||
|
|
|
||
|
|
4. 保存成功后在当前组件 `loadAllParams()` 之外,再向父组件发出刷新项目事件:
|
||
|
|
|
||
|
|
```js
|
||
|
|
this.$emit('refresh-project')
|
||
|
|
```
|
||
|
|
|
||
|
|
- [ ] **Step 4: Run build to verify it passes**
|
||
|
|
|
||
|
|
Run:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
cd ruoyi-ui
|
||
|
|
npm run build:prod
|
||
|
|
```
|
||
|
|
|
||
|
|
Expected:
|
||
|
|
|
||
|
|
- `PASS`
|
||
|
|
|
||
|
|
- [ ] **Step 5: Commit**
|
||
|
|
|
||
|
|
```bash
|
||
|
|
git add ruoyi-ui/src/views/ccdiProject/components/detail/ParamConfig.vue ruoyi-ui/src/views/ccdiProject/detail.vue
|
||
|
|
git commit -m "补充参数保存前重打标确认提示"
|
||
|
|
```
|
||
|
|
|
||
|
|
### Task 2: 补齐前端验证记录
|
||
|
|
|
||
|
|
**Files:**
|
||
|
|
- Create: `docs/tests/records/2026-03-18-model-param-save-trigger-rebuild-frontend-verification.md`
|
||
|
|
- Create: `docs/reports/implementation/2026-03-18-model-param-save-trigger-rebuild-frontend-record.md`
|
||
|
|
|
||
|
|
- [ ] **Step 1: Write verification skeleton**
|
||
|
|
|
||
|
|
记录前端验证范围:
|
||
|
|
|
||
|
|
```markdown
|
||
|
|
# 参数保存触发项目流水重打标前端验证记录
|
||
|
|
|
||
|
|
## 验证范围
|
||
|
|
- 保存前出现确认弹窗
|
||
|
|
- 取消时不提交保存
|
||
|
|
- 确认后保存成功并提示已开始重打标
|
||
|
|
- 构建通过
|
||
|
|
```
|
||
|
|
|
||
|
|
- [ ] **Step 2: Run build**
|
||
|
|
|
||
|
|
Run:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
cd ruoyi-ui
|
||
|
|
npm run build:prod
|
||
|
|
```
|
||
|
|
|
||
|
|
Expected:
|
||
|
|
|
||
|
|
- 构建成功
|
||
|
|
|
||
|
|
- [ ] **Step 3: Write implementation record**
|
||
|
|
|
||
|
|
记录本次前端只承担:
|
||
|
|
|
||
|
|
- 提交前提醒
|
||
|
|
- 提交后提示与详情刷新
|
||
|
|
- 不新增单独重打标 API 调用
|
||
|
|
|
||
|
|
- [ ] **Step 4: Commit**
|
||
|
|
|
||
|
|
```bash
|
||
|
|
git add docs/tests/records/2026-03-18-model-param-save-trigger-rebuild-frontend-verification.md docs/reports/implementation/2026-03-18-model-param-save-trigger-rebuild-frontend-record.md
|
||
|
|
git commit -m "补充参数保存触发重打标前端实施记录"
|
||
|
|
```
|