3.1 KiB
Executable File
3.1 KiB
Executable File
部门管理 · 关联物料分类
面向联调/产品:部门管理 右侧顶栏页签 「关联物料分类」 的实现说明。交互与 组织管理 弹窗内「关联物料分类」一致(已关联列表、路径行、「管理关联」全树勾选、确认 diff 保存),差异在于主键为 部门 dept_code、入口为页签而非弹窗侧栏。与 应用内更新说明(src/data/appChangelog.js)2026-05-10 条目对齐(与 docs/组织管理_关联物料分类.md 同日)。
1. 接口约定
| 用途 | 方法 | 路径 | Body 要点 |
|---|---|---|---|
| 当前部门已关联的物料分类 | POST | /api/dept/category_listed |
{ dept_code } |
| 新增关联 | POST | /api/dept/link_category |
{ dept_code, category_code } |
| 解除关联 | POST | /api/dept/unlink_category |
{ dept_code, category_code } |
| 全量物料分类树(勾选用 + 路径索引) | POST | /api/category/listed |
{} |
响应解析:关联列表兼容 data 为数组,或对象内 list / rows / categories / data 等字段;分类树与组织侧一致,节点映射为 id(category_code)、label、children。
2. 交互流程
- 选择部门:左侧部门树选中节点后,若当前页签为 「关联物料分类」,请求
category_listed(dept_code),并行请求category/listed构建 code →「父 / 子 / …」 路径表;列表项上方为灰色路径行,下方为名称与编码。 - 未选部门:右侧工作区提示先选部门,不调列表与维护接口。
- 切换页签:切回「角色列表」时退出物料分类管理态(取消编辑中的树);切至「关联物料分类」且已有选中部门时刷新已关联列表。
- 切换部门:在「关联物料分类」下更换部门时退出管理态并重新拉取该部门的关联列表。
- 管理关联:点击「管理关联」加载树,预勾选当前已关联节点;勾选/取消后点「确认」,与进入管理时的快照 diff,分别调用
link_category、unlink_category。 - 加载文案:列表与树加载态为「加载中」;提交关联过程遮罩为 「关联中」。
- 权限:
usePagePower('dept'),canUpdate控制「管理关联」按钮(无编辑权限时仍可看到橘色说明文案)。
3. 布局与样式(DeptManage.vue)
- 右侧
dept-right-stack:顶栏 「角色列表 | 关联物料分类」,下方整块切换;不 把页签放在左侧部门栏。 - 「关联物料分类」:
dept-mc-workspace占满页签下方区域;有部门时为虚线框dept-mc-bordered包一层,内层dept-mc-panel与组织侧org-mc-*规则对齐(列表滚动区、管理态搜索 + 树 + 取消/确认;树标签省略、内部纵向滚动)。
4. 代码与文档对照
| 项 | 路径 |
|---|---|
| 页面 | src/views/base/DeptManage.vue |
类似实现(组织 + company_code) |
src/views/base/OrgManage.vue、docs/组织管理_关联物料分类.md |