32 lines
2.5 KiB
Markdown
32 lines
2.5 KiB
Markdown
## 1. Specification
|
||
|
||
- [x] 1.1 核对批量回收入口、选卡方式和现有列表模式接口。
|
||
- [x] 1.2 明确逐行输入、空值校验、接口复用和既有模式兼容场景。
|
||
- [x] 1.3 获得用户对提案的确认后开始实施(用户回复“执行”)。
|
||
|
||
## 2. Implementation
|
||
|
||
- [x] 2.1 新增仅用于前端的逐行输入选项和多行文本框,保留后端选卡方式枚举。
|
||
- [x] 2.2 实现按行解析、非空校验及 `selection_type: "list"` 的请求参数构建。
|
||
- [x] 2.3 调整无勾选时的入口和默认方式,并确保弹窗重开清空输入。
|
||
- [x] 2.4 保持既有列表、号段、筛选、权限及操作结果流程不变。
|
||
|
||
## 3. Validation
|
||
|
||
- [x] 3.1 运行 `openspec validate add-iot-card-recall-line-input --strict`(通过)。
|
||
- [x] 3.2 检查多行输入(LF / CRLF)、首尾空白、空行、全空输入和长 ICCID 字符串处理。
|
||
- [x] 3.3 检查模式切换、无勾选打开、有勾选默认列表、关闭重开及接口参数隔离。
|
||
- [x] 3.4 运行相关文件代码检查和项目类型检查,记录结果。
|
||
|
||
## 4. Verification results
|
||
|
||
- `node --test scripts/tests/iotCardRecallLineInput.test.mjs`:11 项通过;执行真实 Vue 组件 setup、校验规则和提交函数,并使用 mock 请求验证原有回收 API 的路径及参数,无真实回收操作。
|
||
- `node --import ./scripts/tests/register-esbuild.mjs --test scripts/tests/*.test.mjs`:项目全部 141 项测试通过(PowerShell 中先枚举测试文件再传入)。
|
||
- `pnpm exec eslint src/views/asset-management/iot-card-management/index.vue scripts/tests/iotCardRecallLineInput.test.mjs`:通过。
|
||
- `pnpm exec prettier --check src/views/asset-management/iot-card-management/index.vue scripts/tests/iotCardRecallLineInput.test.mjs`:通过。
|
||
- `node scripts/check-encoding.mjs src/views/asset-management/iot-card-management/index.vue scripts/tests/iotCardRecallLineInput.test.mjs`:通过。
|
||
- `pnpm exec vue-tsc --noEmit`:通过。
|
||
- `node scripts/tests/verifyBuild.mjs`:生产构建通过,输出到临时目录并保留生成声明文件;其他页面仍有 `searchForm` 常量赋值、循环依赖及大 chunk 警告,本次未修改这些页面。
|
||
- `openspec validate add-iot-card-recall-line-input --strict`、`git diff --check`:通过。
|
||
- 验证范围:本地自动化及构建检查,未执行真实后端回收或浏览器人工验收。工作区另有 `src/types/components.d.ts` 的生成变动,本次未回退或覆盖。
|