2.6 KiB
Executable File
2.6 KiB
Executable File
组织管理 · 关联物料分类
面向联调/产品:编辑组织弹窗右侧「关联物料分类」的实现说明。与 应用内更新说明(src/data/appChangelog.js)及根目录 PROJECT_OVERVIEW.md →「8. showtime_weihai」 同日(2026-05-10)条目对齐。
1. 接口约定
| 用途 | 方法 | 路径 | Body 要点 |
|---|---|---|---|
| 当前组织已关联的物料分类 | POST | /api/company/category_listed |
{ company_code } |
| 新增关联 | POST | /api/company/link_category |
{ company_code, category_code } |
| 解除关联 | POST | /api/company/unlink_category |
{ company_code, category_code } |
| 全量物料分类树(勾选用 + 路径索引) | POST | /api/category/listed |
{} |
响应解析:关联列表兼容 data 为数组或 list / rows / categories 等字段;分类树与物料分类页一致,节点映射为 id(category_code)、label、children。
2. 交互流程
- 编辑组织(已有
company_code):打开弹窗后请求category_listed,并行请求category/listed构建 code →「父 / 子 / …」 路径表;列表每项上方展示灰色路径行,下方为名称与编码。 - 新建组织:无组织编码,右侧仅说明文案,不调列表与维护接口。
- 管理关联:点击「管理关联」加载树,预勾选当前已关联节点;用户勾选/取消勾选后点「确认」,与进入管理时的勾选快照 diff,分别调用
link_category、unlink_category。 - 加载文案:列表与树加载态为「加载中」;提交关联过程遮罩为 「关联中」。
- 说明文案:标题行右侧橘色小字提示进入管理后勾选 / 取消勾选与确认的含义(无编辑权限时仍可看到说明,可无按钮)。
3. 布局与样式(OrgManage.vue)
- 弹窗宽度约 1200px;
el-dialog__body固定高度(min(68vh, 720px)),避免树数据加载后整窗被撑高。 - 左侧表单区、右侧关联区 内部纵向滚动;分类票据双列、关联列表与树区域 禁止横向滚动条(树标签省略号截断)。
- 右侧虚线容器内:列表模式与管理模式(搜索 + 树 + 取消/确认)切换,高度在固定窗体内分配。
4. 代码位置
| 项 | 路径 |
|---|---|
| 页面 | src/views/base/OrgManage.vue |
| 权限 | usePagePower('company'),canUpdate 控制「管理关联」按钮 |
同名能力(部门 dept_code、页签入口)见 docs/部门管理_关联物料分类.md。