Files
ccdi/docs/plans/2026-03-11-upload-data-account-display-implementation.md

117 lines
2.9 KiB
Markdown

# 上传数据主体账号展示实施计划
> **For Claude:** REQUIRED SUB-SKILL: Use superpowers:executing-plans to implement this plan task-by-task.
**目标:** 在项目详情的上传数据文件列表中新增“主体账号”列,展示后端已返回的 `accountNos`
**架构:** 保持后端接口、数据结构和页面交互逻辑不变,仅在前端表格模板增加一列,并通过静态回归测试锁定该列的存在与字段绑定
**技术栈:** Vue.js 2.6.12, Element UI 2.15.14, Node.js 内置 `assert/fs/path`
---
### 任务 1: 编写失败中的回归测试
**文件:**
- 新建: `ruoyi-ui/tests/unit/upload-data-account-column.test.js`
**步骤 1: 写出失败测试**
新增一个零依赖静态测试,读取 `UploadData.vue` 源码并断言:
- 文件列表区域存在 `主体账号` 文案
- 存在绑定 `prop="accountNos"` 的表格列
测试主体可采用以下结构:
```javascript
const assert = require("assert");
const fs = require("fs");
const path = require("path");
const componentPath = path.resolve(
__dirname,
"../../src/views/ccdiProject/components/detail/UploadData.vue"
);
const source = fs.readFileSync(componentPath, "utf8");
assert(/prop="accountNos"/.test(source), "...");
assert(/label="主体账号"/.test(source), "...");
```
**步骤 2: 运行测试确认失败**
运行:
```bash
node ruoyi-ui/tests/unit/upload-data-account-column.test.js
```
预期:
- 命令失败
- 失败信息指出未找到“主体账号”列或 `accountNos` 绑定
---
### 任务 2: 修改上传数据列表模板
**文件:**
- 修改: `ruoyi-ui/src/views/ccdiProject/components/detail/UploadData.vue`
**步骤 1: 新增主体账号列**
在“主体名称”列后添加“主体账号”列,保持与主体名称相同的兜底展示:
```vue
<el-table-column prop="accountNos" label="主体账号" min-width="180">
<template slot-scope="scope">
{{ scope.row.accountNos || '-' }}
</template>
</el-table-column>
```
**步骤 2: 保持现有布局不变**
- 不修改接口请求
- 不调整分页、刷新、轮询逻辑
- 不修改表格其他列的行为
---
### 任务 3: 重新运行测试并回归验证
**文件:**
- 验证: `ruoyi-ui/tests/unit/upload-data-account-column.test.js`
- 验证: `ruoyi-ui/tests/unit/upload-data-file-list-table.test.js`
- 验证: `ruoyi-ui/tests/unit/upload-data-file-list-settings.test.js`
**步骤 1: 运行新增测试确认通过**
```bash
node ruoyi-ui/tests/unit/upload-data-account-column.test.js
```
预期:
- 输出 `upload-data-account-column test passed`
**步骤 2: 运行关联回归测试**
```bash
node ruoyi-ui/tests/unit/upload-data-file-list-table.test.js
node ruoyi-ui/tests/unit/upload-data-file-list-settings.test.js
```
预期:
- 两个测试都通过
**步骤 3: 执行前端构建验证**
```bash
cd ruoyi-ui
npm run build:prod
```
预期:
- 构建成功
- 无模板编译错误