Files
weihai_erp/docs/部门管理_关联物料分类.md
T
xiaojibeier f3726f0810 first
2026-07-06 03:36:46 +08:00

45 lines
3.1 KiB
Markdown
Executable File
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.
# 部门管理 · 关联物料分类
面向联调/产品:**部门管理** 右侧顶栏页签 **「关联物料分类」** 的实现说明。交互与 **组织管理** 弹窗内「关联物料分类」一致(已关联列表、路径行、「管理关联」全树勾选、确认 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. 交互流程
1. **选择部门**:左侧部门树选中节点后,若当前页签为 **「关联物料分类」**,请求 `category_listed``dept_code`),并行请求 `category/listed` 构建 **code →「父 / 子 / …」** 路径表;列表项上方为灰色路径行,下方为名称与编码。
2. **未选部门**:右侧工作区提示先选部门,不调列表与维护接口。
3. **切换页签**:切回「角色列表」时退出物料分类管理态(取消编辑中的树);切至「关联物料分类」且已有选中部门时刷新已关联列表。
4. **切换部门**:在「关联物料分类」下更换部门时退出管理态并重新拉取该部门的关联列表。
5. **管理关联**:点击「管理关联」加载树,预勾选当前已关联节点;勾选/取消后点「确认」,与进入管理时的快照 diff,分别调用 `link_category``unlink_category`
6. **加载文案**:列表与树加载态为「加载中」;提交关联过程遮罩为 **「关联中」**。
7. **权限**`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` |