Files
platforms/docs/操作日志_工作人员组织联动_20260811.md
2026-08-11 14:28:13 +08:00

69 lines
5.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 工作人员气站与配送点联动操作日志
操作时间2026-08-11 14:18:22
操作类型:扩展
影响模块:平台总后台工作人员新建与编辑
## 操作前状态
- 5173 平台总后台工作人员表单中的气站和配送点是两个独立下拉框,用户可以选出不属于同一组织的组合,只能在保存时收到通用参数错误。
- 关联选项固定预加载前 100 条;编辑记录不在当前选项中时会回显原始唯一标识,搜索也无法携带父级气站条件。
- 平台、气站和配送点后端已经具备最终组织一致性校验;平台配送点列表也已支持 `gas_basic_identities` 过滤,无需新增接口或收紧业务规则。
- 工作人员角色与组织归属没有一一对应的必填或互斥规则,平台主管配送点允许不设置所属气站。
## 具体操作
- 在资源字段中新增可选 `relationLinkage` 配置,仅为工作人员的所属配送点启用,其他标准资源和业务动作保持独立选择。
- 工作人员字段名称调整为“所属气站”和“所属配送点”,下拉继续提交稳定唯一标识。
- 实现双向联动:
- 选择气站后以 `gas_basic_identities` 查询直属配送点。
- 先选普通配送点时自动补载并回填所属气站。
- 选择平台主管配送点时保持气站为空。
- 更换或清空气站时,仅在已取得配送点记录并确认不兼容后清空配送点,同时给出明确提示。
- 编辑初始化按唯一标识补载当前气站和配送点,不因前 100 条限制丢失中文回显;历史不一致组合只提示,不在加载阶段静默修改。
- 配送点搜索始终复用当前气站条件并保留当前选项;增加请求版本控制,旧搜索或旧筛选结果不能覆盖新结果。
- 关联请求失败时保留现有选项并显示错误,不把网络问题误判为组织关系变化。
- 保存前增加友好的组织组合校验,后端现有一致性校验继续作为最终防线;保存失败仍保留表单和头像状态。
## 操作后状态
- 新增工作人员、安装人员、配送人员和运维人员入口共用同一联动能力,新建与编辑均已覆盖。
- 气站下拉选定后,配送点下拉只展示该气站直属记录;配送点先选时可自动确定所属气站。
- 平台直属配送点仍可在气站为空时选择;选定气站后不会混入其配送点范围。
- 用户服务关系、配送合同、智能气阀归属和业务动作弹窗未启用本次配置,行为保持不变。
- 5175 气站后台和 5176 配送点后台不在本次范围,继续由服务端登录组织限定可选范围。
- 后端接口、数据库结构、角色规则和现有组织校验均未修改。
## 代码变更
- `frontend/platform_admin/src/api/resources.ts`:新增字段级关联联动元数据,并仅配置工作人员所属配送点。
- `frontend/platform_admin/src/views/resource/ResourceFieldForm.vue`:关联字段搜索和变更事件携带完整字段配置。
- `frontend/platform_admin/src/views/resource/use-resource-relation-linkage.ts`:新增父子关联的预加载、筛选、回填、清理、搜索和校验协调器。
- `frontend/platform_admin/src/views/resource/resource-relation-linkage-policy.ts`:新增可测试的父子关系判断、筛选参数和请求版本策略。
- `frontend/platform_admin/src/views/resource/use-resource-relations.ts`:扩展关联过滤、选中项补载、当前值保留和过期请求保护。
- `frontend/platform_admin/src/views/resource/ResourceRecordPage.vue`:在新建与编辑页接入显式联动和保存前校验。
- `frontend/platform_admin/src/views/resource/ResourceActionDialog.vue`:适配新的字段级搜索事件,保持业务动作不启用联动。
- `frontend/platform_admin/scripts/check-staff-organization-linkage.mjs``package.json`:新增组织联动行为检查命令。
- `docs/项目文档_标准资源全页管理_v1.0.md`:补充组织联动设计、行为和维护约定。
## 验证结果
- `npm.cmd run staff-organization:check`:通过;覆盖同气站保留、跨气站清除、气站清空、平台主管配送点、加载失败不误清、保存前提示、筛选参数和请求版本。
- `npm.cmd run type:check`:通过。
- `npm.cmd run resource-pages:check`:通过,详情 46 类、新建 25 类、编辑 23 类。
- `npm.cmd run account-roles:check`:通过,既有角色中文展示未回退。
- `npm.cmd run avatar-retry:check`:通过,保存失败头像重试缓存未回退。
- `npm.cmd run contract:check`通过48 个资源契约一致。
- `npm.cmd run build`通过Vite 生产构建完成。
- 变更文件定向 `biome lint`:通过,无新增错误;全项目 `npm.cmd run lint` 仍被既有 2 个错误、153 个警告和 12 个提示阻断,本次未扩大范围清理历史诊断。
- 本地浏览器只读回归:工作人员新建页显示新字段名称;选择“和气示例气站 10”后配送点范围只出现其直属“和气示例配送点 10”选中后两项正确回显页面控制台无错误或警告未提交测试数据。
- `git diff --check`:通过,未发现空白符错误。
## 风险评估
- 平台配送点筛选每次最多返回 100 条;用户仍可通过关键字继续搜索同一气站范围,当前已选记录会独立补载并保留。
- 如果旧记录存在不一致组合,页面会提示并在保存前要求修正,但不会在打开页面时自动修改数据。
- 无法加载配送点详情时前端不会主动清空;此时后端仍会在保存时执行最终组织校验。
- 联动配置当前只允许一个显式子字段;若未来同一表单需要多组父子关系,应先扩展协调器结构并新增覆盖测试。
- 本次不按角色新增组织必填规则,不改变平台主管配送点的数据语义,也不影响气站后台、配送点后台或其他资源。