unis_crm/.workbuddy/memory/2026-09-09.md

1.8 KiB

2026-09-09 工作日志

商机/渠道详情联系人展示改版(Craft 检查,不动代码)

今日改动只有 frontend/src/pages/Expansion.tsx(09:37, 未提交,+28/-13),纯前端展示层:

  1. 抽屉加宽:详情抽屉 lg:max-w-3xllg:max-w-5xl(768→1024px)。该抽屉为 sales/crm/channel 三类型共用的统一详情抽屉,所以加宽会同时影响 CRM/销售详情(视觉影响,无功能影响)。
  2. 联系人卡片→表格:渠道详情(channelDetailTab==="contacts")人员信息从栅格卡片改为 7 列table(工作职责/姓名/职务/电话/生日/是否加企微/特别说明),外层 overflow-x-auto + min-w-[52rem](832px) + 表头。

验证结论(只读)

  • tsc 全量 --noEmit 通过(exit 0);vite 实时编译该模块 200、无转换错误。
  • 字段映射正确:ChannelExpansionContact(auth.ts:692)含 duty/name/mobile/title/birthday/wecomAdded/specialNote,与 7 列一一对应。
  • 三层分流确认:sales→salesDetailTab、crm→crmDetailTab(联系人仍为卡片,未改)、else(channel)→本表格。故表格只作用于渠道联系人,字段齐全,无空列。
  • helper(getDictLabelByValue, isOptions, break-anywhere)均已定义,引用正确。

发现的1个视觉缺陷(实测证实,未修复)

  • 表格 tableborder-separate,但行分隔线 border-t 加在 <tr> 上。headless Chrome 实测:在 border-separate 下 tr 边框不渲染,导致表头下方与数据行之间无任何分隔线,表头也无背景色,多行文本较难读;first:border-t-0 也因此失效。
  • 修复方向(未动代码):把 border-t/first:border-t-0 从 tr 移到每个 td(按 index>0 判断),或改用 divide-y(collapse 生效)。

备注

  • 该改动不影响后端接口,无需后端冒烟测试;前端冒烟 = vite 编译 200 + tsc 通过 + headless CSS 实测。