fix: 小程序与 Web 采集协议单地区经理仅展示负责人 #2

Merged
cykj merged 3 commits from codex/protocol-region-managers into V2.0 2026-10-30 10:02:59 +00:00
Owner

合并完成

用户验收通过后合并到 V2.0,提交 05de8924b04f9dc0c6589571ce17f4afb26d980b。本地与远端一致,合并后的受跟踪代码与已验收修复分支一致。合并后回归:Web 60、小程序 H5 374、后端相关 13 项全部通过。本轮未重复构建,已有构建结果及全量检查限制见下文。

采集协议单的地区经理此前可选普通人员,无负责人时还会默认地区首位普通成员。此修改统一小程序与 Web:候选仅为当前租户各有效地区的在用负责人,按用户去重;例如 4 个地区分别有 4 位负责人,只列出这 4 人。

  • 下拉包含各地区负责人,切换地区后不缩小为该地区全部人员;默认值只取所选地区负责人,没有负责人时留空。
  • 排除停用/删除用户、已删除地区/关联及跨租户数据。
  • 历史负责人姓名正常回显,但不重新成为可选候选;采集专员、市场专员等其他人员字段不改。
  • 防止迟到的检索/默认响应覆盖当前选择;Web 市场专员联动地区时,并行加载医院与默认经理,保护期间的手动选择。
  • Web 新增 GET /web/admin/collection-protocols/region-managers,沿用协议权限,租户从认证用户取得;无需数据库迁移。

Refs #1(已完成用户验收和合并后回归)

验证

  • 用户已在修复分支确认小程序与 Web 验证通过,并明确授权合并 V2.0。
  • 小程序 H5 market/oa:374 项测试通过,构建成功。
  • Web 协议相关测试:60 项通过,其中负责人/联动回归 9 项;最终 pnpm run build 成功(本次进程 NODE_OPTIONS=--max-old-space-size=6144),存在既有 Sass 弃用与大包提示。
  • 后端表单选项相关测试:13 项通过,包含租户来源、4 地区负责人、去重及失效/跨租户排除。小程序阶段完整 test_market_support_api.py 有 1 项原有附件夹具缺 biz_presign_transfer 表的失败,修改前也存在。
  • 独立代码复审通过;git diff --check 通过。
  • 全量 vue-tsc 在增大内存后完成,但其他未改动文件存在类型错误;本次修改的 TS/Vue 文件没有诊断。
  • ESLint 对比基准与当前 ProtocolFormDialog.vue 均为 315 项既有发现(含 7 项未使用声明),无新增非格式问题;保留未修改区域原样。
  • 字段一致性工具仍报告其他实体的 5 项既有警告、0 errors,退出 1。

验收与部署

Web 请检查新增/编辑单据、负责人姓名搜索、无负责人地区、历史姓名、快速切换地区,以及市场专员带出地区期间手动选择经理。
Web 与后端需使用同一修复分支配套部署;小程序 H5 的 regionManagers 响应与消费方也需配套。已合并 V2.0 并同步本地,未启停服务、未打 tag。

## 合并完成 用户验收通过后合并到 V2.0,提交 05de8924b04f9dc0c6589571ce17f4afb26d980b。本地与远端一致,合并后的受跟踪代码与已验收修复分支一致。合并后回归:Web 60、小程序 H5 374、后端相关 13 项全部通过。本轮未重复构建,已有构建结果及全量检查限制见下文。 采集协议单的地区经理此前可选普通人员,无负责人时还会默认地区首位普通成员。此修改统一小程序与 Web:候选仅为当前租户各有效地区的在用负责人,按用户去重;例如 4 个地区分别有 4 位负责人,只列出这 4 人。 - 下拉包含各地区负责人,切换地区后不缩小为该地区全部人员;默认值只取所选地区负责人,没有负责人时留空。 - 排除停用/删除用户、已删除地区/关联及跨租户数据。 - 历史负责人姓名正常回显,但不重新成为可选候选;采集专员、市场专员等其他人员字段不改。 - 防止迟到的检索/默认响应覆盖当前选择;Web 市场专员联动地区时,并行加载医院与默认经理,保护期间的手动选择。 - Web 新增 GET /web/admin/collection-protocols/region-managers,沿用协议权限,租户从认证用户取得;无需数据库迁移。 Refs #1(已完成用户验收和合并后回归) ## 验证 - 用户已在修复分支确认小程序与 Web 验证通过,并明确授权合并 V2.0。 - 小程序 H5 market/oa:374 项测试通过,构建成功。 - Web 协议相关测试:60 项通过,其中负责人/联动回归 9 项;最终 pnpm run build 成功(本次进程 NODE_OPTIONS=--max-old-space-size=6144),存在既有 Sass 弃用与大包提示。 - 后端表单选项相关测试:13 项通过,包含租户来源、4 地区负责人、去重及失效/跨租户排除。小程序阶段完整 test_market_support_api.py 有 1 项原有附件夹具缺 biz_presign_transfer 表的失败,修改前也存在。 - 独立代码复审通过;git diff --check 通过。 - 全量 vue-tsc 在增大内存后完成,但其他未改动文件存在类型错误;本次修改的 TS/Vue 文件没有诊断。 - ESLint 对比基准与当前 ProtocolFormDialog.vue 均为 315 项既有发现(含 7 项未使用声明),无新增非格式问题;保留未修改区域原样。 - 字段一致性工具仍报告其他实体的 5 项既有警告、0 errors,退出 1。 ## 验收与部署 Web 请检查新增/编辑单据、负责人姓名搜索、无负责人地区、历史姓名、快速切换地区,以及市场专员带出地区期间手动选择经理。 Web 与后端需使用同一修复分支配套部署;小程序 H5 的 regionManagers 响应与消费方也需配套。已合并 V2.0 并同步本地,未启停服务、未打 tag。
cykj added 1 commit 2026-10-30 08:12:22 +00:00
Use a dedicated tenant-scoped active region leader list instead of all region staff. Preserve historical labels without offering them as choices and remove the ordinary-member default during region changes.

Refs #1. Add regression coverage for tenant isolation, inactive records, deduplication, historical labels and region cascades.
cykj added 1 commit 2026-10-30 09:47:55 +00:00
Provide tenant-scoped leader options for the Web protocol form, exclude ordinary members and retain historical names only for display. Default only to a leader of the selected region and prevent delayed requests from replacing manual choices.

Refs #1. Add backend option isolation and Web cascade regression coverage.
cykj changed title from fix(market): 采集协议单地区经理仅展示各地区负责人 to fix: 小程序与 Web 采集协议单地区经理仅展示负责人 2026-10-30 09:48:33 +00:00
cykj added 1 commit 2026-10-30 09:52:56 +00:00
Create issues for new unnumbered development requests, read supplied issues before implementation and reuse the active issue for follow-ups. Report repaired, acceptance, merge and release states separately.
cykj merged commit 05de8924b0 into V2.0 2026-10-30 10:02:59 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: cykj/zkxw#2