+
+
-
+
节点状态:
-
+
{{ associationText }}
-
- 已选中
-
- {{ checkedRealKeys.length }}
-
- 个节点
-
+
+ 展开/折叠全部
+
- 展开/折叠全部
-
-
全选/取消全选
-
+
父子节点关联
@@ -219,3 +174,20 @@ const slots = useSlots() as SetupContext['slots'];
+
+
diff --git a/apps/web-antd/src/views/system/role/data.tsx b/apps/web-antd/src/views/system/role/data.tsx
index 91000201..a1af9f1d 100644
--- a/apps/web-antd/src/views/system/role/data.tsx
+++ b/apps/web-antd/src/views/system/role/data.tsx
@@ -1,11 +1,15 @@
import type { FormSchemaGetter } from '#/adapter/form';
import type { VxeGridProps } from '#/adapter/vxe-table';
+import { markRaw } from 'vue';
+
import { DictEnum } from '@vben/constants';
import { getPopupContainer } from '@vben/utils';
import { Tag } from 'ant-design-vue';
+import { DefaultSlot } from '#/components/global/slot';
+import { TreeSelectPanel } from '#/components/tree';
import { getDictOptions } from '#/utils/dict';
/**
@@ -177,15 +181,6 @@ export const authModalSchemas: FormSchemaGetter = () => [
fieldName: 'roleId',
label: '角色ID',
},
- {
- component: 'Radio',
- dependencies: {
- show: () => false,
- triggerFields: [''],
- },
- fieldName: 'deptCheckStrictly',
- label: 'deptCheckStrictly',
- },
{
component: 'Input',
componentProps: {
@@ -214,12 +209,39 @@ export const authModalSchemas: FormSchemaGetter = () => [
label: '权限范围',
},
{
- component: 'TreeSelect',
+ component: 'Radio',
+ dependencies: {
+ show: () => false,
+ triggerFields: [''],
+ },
+ fieldName: 'deptCheckStrictly',
+ label: 'deptCheckStrictly',
+ },
+ {
+ // 这种的场景基本上是一个组件需要绑定两个或以上的场景
+ component: markRaw(DefaultSlot),
defaultValue: [],
+ componentProps: {
+ rootDivAttrs: {
+ class: 'w-full',
+ },
+ },
dependencies: {
show: (values) => values.dataScope === '2',
triggerFields: ['dataScope'],
},
+ renderComponentContent: (model) => ({
+ default: (attrs: any) => {
+ return (
+
+ );
+ },
+ }),
fieldName: 'deptIds',
help: '更改后立即生效',
label: '部门权限',
diff --git a/apps/web-antd/src/views/system/role/role-auth-modal.vue b/apps/web-antd/src/views/system/role/role-auth-modal.vue
index 63efb57b..538128d6 100644
--- a/apps/web-antd/src/views/system/role/role-auth-modal.vue
+++ b/apps/web-antd/src/views/system/role/role-auth-modal.vue
@@ -1,14 +1,13 @@
-
-
-
-
-
+