Admin:设计档口入库码独立 Tab 交互原型 #225

Closed
opened 2026-08-14 15:25:53 +08:00 by ila · 4 comments
Owner

基本信息

  • 类型:需求
  • 父级大工单:#14
  • 所属 MVP / 版本:#224 / 档口入库码回写 MVP
  • 阶段:原型确认

要解决什么

正式开发前需要确认独立“档口入库码”页面的信息架构、关键按钮、单表列表和异常恢复交互,避免在数据库、接口和顺运宝回写代码完成后才发现操作流程不符合采购员习惯。

做什么 / 不做什么

  • 做:制作一个可独立打开的 HTML 交互原型,展示新增一级 Tab、Excel 导入、匹配、筛选、选择回写、确认、进度、失败和“需核对”恢复入口。
  • 不做:不修改 Admin 路由、模板和业务代码;不建数据库表;不读取真实 Excel;不调用 Admin 或顺运宝接口;不写入真实数据。

怎么做

  • 在 docs/prototypes/ 新增单文件 HTML 原型,不依赖网络资源。
  • 导航中把“档口入库码”放在“客户端列表”之后,并明确它是独立模块,不嵌套于顺运宝。
  • 使用一张主列表承载导入数据、匹配标识、原值、状态和原因,符合已确认的单表最小闭环。
  • 使用模拟数据和前端状态切换演示:导入 → 匹配 → 勾选可回写项 → 二次确认 → 回写结果;同时提供“需核对”的人工恢复入口。
  • 原型按 Admin 数据密集型页面风格制作,重点验证 1366×768 桌面视口下的工具栏、表格滚动和状态反馈。

预计修改文件:

  • docs/prototypes/admin-inner-code.html
  • docs/task/225-Admin档口入库码独立Tab交互原型.md(实现完成后归档)

验收标准

  • 顶部导航展示独立“档口入库码”,且紧跟“客户端列表”。
  • 页面可演示选择 Excel、导入和按业务日期形成单表记录。
  • 页面可演示匹配,唯一结果进入“可回写”,歧义或条件不符显示明确原因。
  • 只有可回写记录能够进入批量回写确认,确认框显示记录数和涉及旧值处理数量。
  • 页面可演示回写进度、成功、失败、需核对及重新核对反馈。
  • 状态筛选只保留顶部下拉框,数量汇总显示在底部状态栏,列表使用释放的高度。
  • 1366×768 下关键操作可见,表格可横向和纵向滚动,键盘焦点与状态提示可辨认。
  • 原型没有真实接口调用,也没有修改 Admin 生产代码、路由和数据库。

怎么验证

从仓库根目录执行:

python -c "from html.parser import HTMLParser; HTMLParser().feed(open(r'docs/prototypes/admin-inner-code.html', encoding='utf-8').read()); print('HTML parse OK')"
node -e "const fs=require('fs'),s=fs.readFileSync('docs/prototypes/admin-inner-code.html','utf8').match(/<script>([\s\S]*?)<\/script>/)[1]; new Function(s); console.log('JS syntax OK')"

然后在浏览器以 1366×768 视口打开 docs/prototypes/admin-inner-code.html,逐项点击导入、匹配、回写和重新核对。

风险和回退

原型不接真实系统,业务风险较低。若交互未获确认,直接修改或删除该单文件原型;不得以原型状态代替后续正式代码工单和验收。

## 基本信息 - 类型:需求 - 父级大工单:#14 - 所属 MVP / 版本:#224 / 档口入库码回写 MVP - 阶段:原型确认 ## 要解决什么 正式开发前需要确认独立“档口入库码”页面的信息架构、关键按钮、单表列表和异常恢复交互,避免在数据库、接口和顺运宝回写代码完成后才发现操作流程不符合采购员习惯。 ## 做什么 / 不做什么 - 做:制作一个可独立打开的 HTML 交互原型,展示新增一级 Tab、Excel 导入、匹配、筛选、选择回写、确认、进度、失败和“需核对”恢复入口。 - 不做:不修改 Admin 路由、模板和业务代码;不建数据库表;不读取真实 Excel;不调用 Admin 或顺运宝接口;不写入真实数据。 ## 怎么做 - 在 `docs/prototypes/` 新增单文件 HTML 原型,不依赖网络资源。 - 导航中把“档口入库码”放在“客户端列表”之后,并明确它是独立模块,不嵌套于顺运宝。 - 使用一张主列表承载导入数据、匹配标识、原值、状态和原因,符合已确认的单表最小闭环。 - 使用模拟数据和前端状态切换演示:导入 → 匹配 → 勾选可回写项 → 二次确认 → 回写结果;同时提供“需核对”的人工恢复入口。 - 原型按 Admin 数据密集型页面风格制作,重点验证 1366×768 桌面视口下的工具栏、表格滚动和状态反馈。 预计修改文件: - `docs/prototypes/admin-inner-code.html` - `docs/task/225-Admin档口入库码独立Tab交互原型.md`(实现完成后归档) ## 验收标准 - [x] 顶部导航展示独立“档口入库码”,且紧跟“客户端列表”。 - [x] 页面可演示选择 Excel、导入和按业务日期形成单表记录。 - [x] 页面可演示匹配,唯一结果进入“可回写”,歧义或条件不符显示明确原因。 - [x] 只有可回写记录能够进入批量回写确认,确认框显示记录数和涉及旧值处理数量。 - [x] 页面可演示回写进度、成功、失败、需核对及重新核对反馈。 - [x] 状态筛选只保留顶部下拉框,数量汇总显示在底部状态栏,列表使用释放的高度。 - [x] 1366×768 下关键操作可见,表格可横向和纵向滚动,键盘焦点与状态提示可辨认。 - [x] 原型没有真实接口调用,也没有修改 Admin 生产代码、路由和数据库。 ## 怎么验证 从仓库根目录执行: ```powershell python -c "from html.parser import HTMLParser; HTMLParser().feed(open(r'docs/prototypes/admin-inner-code.html', encoding='utf-8').read()); print('HTML parse OK')" node -e "const fs=require('fs'),s=fs.readFileSync('docs/prototypes/admin-inner-code.html','utf8').match(/<script>([\s\S]*?)<\/script>/)[1]; new Function(s); console.log('JS syntax OK')" ``` 然后在浏览器以 1366×768 视口打开 `docs/prototypes/admin-inner-code.html`,逐项点击导入、匹配、回写和重新核对。 ## 风险和回退 原型不接真实系统,业务风险较低。若交互未获确认,直接修改或删除该单文件原型;不得以原型状态代替后续正式代码工单和验收。
Author
Owner

实施记录(2026-08-14)

已完成独立 HTML 交互原型,当前状态:待用户确认原型,不进入正式代码阶段。

  • 原型:docs/prototypes/admin-inner-code.html
  • 实现提交:b82ea77
  • 归档:docs/task/225-Admin档口入库码独立Tab交互原型.md
  • 归档提交:ca255a5
  • 验证:HTML 解析、JavaScript 语法通过;Playwright 1366×768 跑通导入、匹配、勾选、回写确认、回写完成和“需核对”重新读取;原型无 Admin/顺运宝接口调用。
  • 未验证:用户尚未确认视觉布局和实际操作习惯;真实 Excel、数据库、Admin 接口和顺运宝回写不属于本工单。
## 实施记录(2026-08-14) 已完成独立 HTML 交互原型,当前状态:**待用户确认原型,不进入正式代码阶段**。 - 原型:`docs/prototypes/admin-inner-code.html` - 实现提交:`b82ea77` - 归档:`docs/task/225-Admin档口入库码独立Tab交互原型.md` - 归档提交:`ca255a5` - 验证:HTML 解析、JavaScript 语法通过;Playwright 1366×768 跑通导入、匹配、勾选、回写确认、回写完成和“需核对”重新读取;原型无 Admin/顺运宝接口调用。 - 未验证:用户尚未确认视觉布局和实际操作习惯;真实 Excel、数据库、Admin 接口和顺运宝回写不属于本工单。
Author
Owner

原型调整(2026-08-14)

用户确认顶部已有“状态”下拉框,原型中的“全部、待匹配、可回写、已回写、需核对、其他未完成”整行状态卡片构成重复筛选。

本次调整:

  • 删除整行状态卡片和点击筛选交互;
  • 保留顶部状态下拉框作为唯一状态筛选入口;
  • 将“总数、可回写、需核对”等数量汇总放到底部状态栏;
  • 状态卡片释放的高度交给主列表;
  • 不修改 Admin 正式代码、路由、数据库或接口。
## 原型调整(2026-08-14) 用户确认顶部已有“状态”下拉框,原型中的“全部、待匹配、可回写、已回写、需核对、其他未完成”整行状态卡片构成重复筛选。 本次调整: - 删除整行状态卡片和点击筛选交互; - 保留顶部状态下拉框作为唯一状态筛选入口; - 将“总数、可回写、需核对”等数量汇总放到底部状态栏; - 状态卡片释放的高度交给主列表; - 不修改 Admin 正式代码、路由、数据库或接口。
Author
Owner

原型调整完成

已按用户确认意见删除重复的状态卡片行:

  • 顶部“状态”下拉框现在是唯一状态筛选入口;
  • 底部状态栏显示总数、可回写和需核对数量;
  • 1366×768 下主列表高度从约 460px 增加到约 522px;
  • 匹配后自动切换“可回写”筛选、勾选和回写流程复测通过;浏览器控制台无错误。

提交:

  • 4860535 精简原型状态筛选
  • 619394a 更新任务归档

仍为静态原型,未修改 Admin 正式代码。

## 原型调整完成 已按用户确认意见删除重复的状态卡片行: - 顶部“状态”下拉框现在是唯一状态筛选入口; - 底部状态栏显示总数、可回写和需核对数量; - 1366×768 下主列表高度从约 460px 增加到约 522px; - 匹配后自动切换“可回写”筛选、勾选和回写流程复测通过;浏览器控制台无错误。 提交: - `4860535` 精简原型状态筛选 - `619394a` 更新任务归档 仍为静态原型,未修改 Admin 正式代码。
ila closed this issue 2026-08-15 08:34:57 +08:00
Author
Owner

用户已于 2026-08-15 明确确认原型 OK,原型阶段验收通过并关闭;正式实现转入 #224 后续单元工单。

用户已于 2026-08-15 明确确认原型 OK,原型阶段验收通过并关闭;正式实现转入 #224 后续单元工单。
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: chengma/cmautobuy#225