OrgHierarchy 组织筛选
组织树多栏浏览 + 搜索。节点唯一键为业务 type_id。 value-mode="path"(默认)回传完整路径树 string[][];value-mode="value" 仅回传选中节点 string[]。叶子展开用 ref.getOrgLeafValues。
基础用法
默认不联动(每层独立勾选)。用 RdInputGroup 的 #left 做标签(带分隔线);预选「财务部」,打开面板会展开到该节点。
组织架构
v-model:[ [ "1-1", "1-3" ] ]
勾选联动
check-cascade:选中上级时紧凑写入该路径,下级视为已选;子项全选会冒泡为父级;取消某个被覆盖的子项会拆分祖先并保留兄弟选中态。
联动
v-model:[ [ "1-1", "1-3" ] ]
v-model 两种形态
value-mode="path"(默认)回传完整路径树 string[][];value-mode="value" 仅回传选中节点 type_id string[]。
path
v-model(path):[ [ "1-1", "1-3" ] ]
value
v-model(value):[ "1-3" ]
自定义字段名
真实接口常用 name / type_id,通过 field-names 映射即可。叶子 type_id 用组件 ref 调用 getOrgLeafValues。
真实字段
v-model:[ [ "1-1", "1-3" ] ]
ref.getOrgLeafValues('1-1'):[]
ref.getOrgLeafValues(['1-3', '1-9']):[]
API
Attributes
| 属性名 | 说明 | 类型 | 默认值 |
|---|---|---|---|
v-model | 选中值;形态由 valueMode 决定;null 未选 | string[][] | string[] | null | null |
valueMode | path=完整路径树 string[][];value=仅选中 type_id string[] | 'path' | 'value' | 'path' |
options | 组织树;可用 fieldNames 映射真实字段 | unknown[] | — |
fieldNames | 字段映射,如 { label: 'name', value: 'type_id' } | OrgFieldNames | label/value/children |
placeholder | 触发器占位 | string | '选择组织或人员' |
rootLabel | 面包屑与路径展示用的根标签(不可勾选) | string | '全公司' |
collapseTags | 多选折叠标签 | boolean | true |
checkStrictly | 允许选任意层级 | boolean | true |
checkCascade | 勾选联动:选上级覆盖下级;子项全选冒泡父级;取消子项时拆分祖先 | boolean | false |
Events
| 事件名 | 说明 | 类型 |
|---|---|---|
update:modelValue | 选中变更(形态随 valueMode) | (value: string[][] | string[] | null) => void |
change | 确认选择 | (value: string[][] | string[] | null) => void |
Expose
| 名称 | 说明 | 签名 |
|---|---|---|
getOrgLeafValues | 按 type_id(单个或多个)取子树全部叶子 type_id,结果去重 | (typeId: string | string[]) => string[] |