You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

35 lines
3.8 KiB

1 week ago
# 10 — 单文件前端 demo:index.html
Type: task
Status: resolved
Blocked by: 05
> 【内容变更】用户追加要求:① agent 用浏览器自动化(webapp-testing)自测一轮并截图;② demo 同时留给用户人工体验验收。已开工部分骨架(demo/index.html 前半),待跑时续完。
## Question
`.scratch/opportunity-e2e/demo/index.html`(单文件,HTML+CSS+JS fetch,无构建、不托管):
- **登录选人**:顶部下拉列出票 02/04 拍板的账号,选中调 debug token 换 token;可随时切人(验 DataScope 视角差异);
- **tab1 商机列表**:四视图(公海 / 我负责的 / 我参与的 / 我关注的)+ 管理视图 + 最近访问切换、自定义视图列表与切换、分页、统计卡片(若接口有);
- **tab2 商机详情**:概览 + 子表 tab(关联客户/跟进/方案卡/勘察/附件/团队成员/操作日志/阶段进度)+ 全部流转操作(新建/领取/分配/暂缓/取消暂缓/抛公海/关闭/重启/移交)按原型布局摆放;
- **tab3 规则配置**:三族列表 + 新建/编辑/发布/停用表单(V-CONFIG);
- 数据全走真实接口 + seed 数据(按 seed-data-manifest 取数);接口报错**原样展示**——用户就是要看真实行为;
- 用 /webapp-testing 自测一轮,截图放 `.scratch/opportunity-e2e/demo/`
参考(不覆盖):`.scratch/opportunity-verify/frontend/`、`.scratch/opportunity-module/e2e/frontend/`。若 07/08 报告已出,把已知 ⚠/❌ 接口在 demo 里加灰色角标提示。
## Answer
(20260828 完成并自测通过)产出 `demo/index.html` **969 行单文件**(HTML+CSS+JS fetch,无构建不托管,双击即用——CORS 已全放开,file:// 直连 localhost:8080):
1. **登录选人**:顶栏下拉 4 账号(票 04 矩阵),选中换 debug token,随时切人验 DataScope(截图实证:admin MINE=0 / A MINE=6——seed 12 条全在 A/B/C 名下,管理员看全量走「管理(全量)」视图,行为正确);
2. **tab1 商机列表**:7 视图(最近访问/我负责的/我参与/我关注/管理全量/公海)+ 关键词查询 + 分页 + 看板汇总(D-15 角标)+ 自定义视图存为视图/切换(savedViewId 服务端应用);
3. **tab2 商机详情**:概览(D-13/D-16/D-17 角标)+ 模板阶段流条 + 13 个流转按钮(领取 D-09/暂缓 D-07/重启 D-08/关注 D-16 角标,按当前状态禁用)+ 编辑/写跟进/现场勘察/方案卡(selectable-templates→模板字段→valuesJson 数组格式)+ 8 子表 tab(关联客户/团队成员/附件空态挂 D-01/02/03、D-04/05/06、D-20/D-21 角标);
4. **tab3 规则配置**:三族 V-CONFIG 全 CRUD(列表/详情/新建草稿/编辑/复制/停用/删除/版本历史 D-22),**发布中行的「编辑」按钮替换为 D-10/D-11/D-12 灰色角标**(防误踩版本推进 50001);field-defs 动态拉模板字段生成 nodes/fields 表单;
5. **接口报错原样展示**:非 0 code 直接 toast `code + message`
6. **已知缺陷角标**:e2e-report.md 第四章 D-01..D-22 全覆盖,hover 提示指向报告。
**自测(/webapp-testing)**:Playwright 8 步流程全过(admin MINE→公海→切 A→详情→团队成员子表→暂缓对话框→规则 tab→新建草稿对话框),**console/page errors: 0**,8 张截图落 `demo/shot-01..08-*.png`。自测中发现并修复 3 个骨架级 bug:`mark()` 函数漏定义(详情渲染 ReferenceError 卡「加载详情」)、`login()` 漏调 `renderViewBar()`(视图栏空白)、DTO 字段名错位(`opportunityName`→`oppName`、`customerNameSnapshot`→`primaryCustomerNameSnapshot`、`expectedDealDate`→`projectAmount`)。
备注:规则列表个别行「适用部门」乱码系远程库存量 mojibake 数据(票 08 已记录),非 demo 渲染问题。