| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| public | ||
| src | ||
| .dockerignore | ||
| .env.example | ||
| Dockerfile | ||
| components.json | ||
| eslint.config.mjs | ||
| next-env.d.ts | ||
| next.config.mjs | ||
| package.json | ||
| postcss.config.mjs | ||
| tsconfig.json |
产品:确认分配后主管工作台的两个表格能不能做到刷新。 确认单在**助手浮层**里、两张表在页面上,两者没有父子关系 —— 谁也拿不到谁的 setState。 所以走一个极简全局信号(与 plan-sync-store「详情页动作同步左栏」同一套路): 确认分配 / 撤销这批 → notifyChanged() 两张表的 fetch effect → 把 seq 放进依赖,重新拉⭐ **只发 seq,不带任何数据**(⛔ 不学 plan-sync 那样带 planId/status): 那边改的是"某一行的角标",能就地打补丁;这里落库的是**一整批** —— 批次列表多一行、每个客服的在手/分到全变、退回率的分母也变。 想靠事件把这些补丁算准,等于把服务端的聚合口径在前端再实现一遍 (必漂,而且不报错)。⇒ 一律重拉,让服务端说了算(T14:口径只有一份)。🔴 批次表重拉必须**回到第一页**(setItems([]) + setCursor(null) 一起做): 只调 load() 会把新的一页**追加**在旧列表后面,而新批次排最前 —— 它会出现在列表中段,这是游标分页的天然后果。⚠ ️ 发信号用 getState() 不订阅:确认单只发不收,订阅了会因 seq 自增把卡片自己也重渲染。 实测(全程没刷页面): 确认前 全部 27 · 在手 35 确认「早矫 2 条」 全部 28 · 在手 37 点「撤销这批」 全部 28 · 在手 35 ← 批次仍在(标已撤销,列表保留做回顾),在手正确退回 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| public | Loading commit data... | |
| src | Loading commit data... | |
| .dockerignore | Loading commit data... | |
| .env.example | Loading commit data... | |
| Dockerfile | Loading commit data... | |
| components.json | Loading commit data... | |
| eslint.config.mjs | Loading commit data... | |
| next-env.d.ts | Loading commit data... | |
| next.config.mjs | Loading commit data... | |
| package.json | Loading commit data... | |
| postcss.config.mjs | Loading commit data... | |
| tsconfig.json | Loading commit data... |