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.
 
 
 
 
 

5.3 KiB

07 — 单文件前端 demo

Type: task · Status: resolved · Blocked by: 03

Question

产出 demo/index.html(单文件 HTML+JS,双击即用,CORS 全放开,debug token 选人——对标商机 969 行版 ​.scratch/opportunity-e2e/demo/index.html):覆盖客户模块核心业务流程,供人工验证与票 08 浏览器级测试的载体。

预计 tab 结构(以票 01 原型页族为准):

  • 登录选人:debug token(管理员 + 跨部门用户下拉)
  • 三 workspace:公海 / 总览 / 我的客户——列表(分页/检索/排序含进入公海时间)+ 卡片 + 看板三分组 + 自定义视图切换
  • 新增/编辑 + 查重弹窗:三层查重交互(相似提示/信用代码硬拦/仍要创建)+ 表单全字段(类型/行业两级/省市区三级/星级等)
  • 详情 8 页签:公共头部 11 项 + 汇总卡 4 张(占位显"--")+ 联系人 / 跟进(弹窗写入)/ 团队成员(添加/移除)/ 关联商机(只读)/ 操作日志(action 筛选、字段级叙事)
  • 归属动作:领取 / 分配 / 抛公海 / 归档 / 关注 / 重点标记(行内操作)
  • 交割:发起(reason 三值)+ 逐条分配对话框
  • 导入:模板下载 / 上传预校验 / 结果 / 失败明细
  • 提醒配置:单例 GET/PUT 表单

契约落地要点(踩过的坑直接编码进 demo):BaseParam 分页 current/size、写端点 form 绑定、flat 路径、汇总卡失败显"--"、Result<Void> data=null 非失败。票 04/05 结论出来后把已知 ⚠/ 接口加角标防误踩(商机先例:发布中规则的编辑按钮替换为缺陷角标)。

Answer

demo/index.html 单文件 831 行交付(HTML+内联 CSS+原生 JS,双击即用,无外部依赖),对标商机 969 行版结构与观感。

覆盖面

  • 登录:页头下拉两账号(739564171091247104 罗伟健 admin / 744842318024015872 曾偲青 BUDDY)+ uid 直登输入框;GET /api/auth/debug/token?userId=(data 为字符串或 {token} 双形态兼容)→ localStorage 持久化,/api/auth/me 取显示名。
  • 客户列表 tab:三 workspace 切换(mine/overview/pool)+ viewType(ASSIGNED/COLLABORATING/FOCUSED)+ keyword 检索 + 分页(current/size);行字段按 F-01 实测(customerNo/customerStage/customerStarLevel/ownerNameSnapshot/opportunityCount;projectCount 恒 null 显 --);POST /{workspace}/board/summary 汇总卡;勾选行批量操作工具栏。
  • 新建/编辑:全字段表单(名称/类型/省市区/行业一级/信用代码/双星级/isBizNegotiated/isChild/owner)——必填链=名称→省份→行业一级(E2E f16 逐级实测);needConfirm=true 时渲染 similarHits 相似命中框,确认后 confirmSimilar=true 重发(完整 create 路径,quick-create 缺口不含);编辑回显+version CAS 带回(67005 提示)。
  • 详情 tabdetail-head 公共头部(快照+跟进摘要+关联计数,5 字段恒 null 显 --)+ 操作按钮组(编辑/写跟进/加联系人/加成员/关注/取关/重点/领取/抛公海/归档/恢复,单条+批量端点各一);6 子页签:客户信息(detail 全字段 grid)/联系人(CRUD+check-phone 查重弹窗)/跟进(按日分组渲染+写跟进弹窗 datetime-local ISO-T 格式,D-02 角标)/关联商机(port 反查只读)/团队成员(添加 memberUserIds 多值+移除)/操作日志(action 徽章+detail 叙事按日分组)。页签 5/6(项目/战略协议)V1 骨架无端点(API-SUMMARY §2.5 已知缺口),demo 不渲染。
  • 导入 tab:模板下载直链+三模式下拉+上传预检(FormData file+importMode)+任务列表(taskId/importMode/状态机徽章 DRAFT→RUNNING→DONE/FAILED/五计数字段/failReason)+确认执行/结果弹窗/失败明细弹窗;D-05(P1)+D-04(P2) 角标钉在标题(含 INSERT 行导入必 FAILED、失败明细 0 行的提示)。
  • 交割 tab:preview 预览弹窗+initiate 表单(reason 三值;resign 不传 toDirectorId 走 D22 自动推导,调动/区域必填)+交接单分页+详情(明细表+进度 assigned/total+D23 自动完成说明)+逐条分配弹窗(BatchResult successCount)+D-07(P1) 角标:assignable 失败时弹窗明示「稳定超时缺陷,E2E 60s×2 实测」。
  • 设置 tab:提醒规则单例 GET 回显/PUT 全量覆盖表单(masterEnabled/firstTriggerEnabled/firstTriggerDays/secondIntervalEnabled/secondIntervalDays,字段名与 F-15 契约逐字对齐;开关缺省=0、64023 提示文案内嵌)+查重试玩三按钮(check-name/check-credit-code/check-phone 直连出 JSON)。

契约坑已编码:写端点全 form 绑定(reminder PUT 除外)、分页 current/size、PageResult 取 content、ID 按字符串透传、401 提示登录、404/40401 提示接口不存在、Result<Void> data=null 不当失败。

缺陷角标清单(商机先例模式):D-02(跟进页签)、D-05/D-04(导入 tab)、D-07(交割 tab assignable)、A4-7 说明性 mark ×2。

局限:saved-view 自定义视图切换未做(crm-preference 依赖未在 55 端点清单,票 10 范围);列表排序入参未暴露(CustomerPageParam 无排序字段,进入公海时间排序为池内默认)。浏览器级功能验证由票 08 webapp-testing 承接。