|
|
@@ -12,9 +12,9 @@
|
|
|
</el-form-item>
|
|
|
|
|
|
<el-form-item label="角色权限">
|
|
|
- <PermissioTreenCard title="相机权限" :tree-data="cameraPermTreeData" ref="cameraCardInstance" />
|
|
|
- <PermissioTreenCard title="菜单权限" :tree-data="menuPermTreeData" ref="menuCardInstance" />
|
|
|
- <PermissioTreenCard title="功能权限" :tree-data="funcPermTreeData" ref="funcCardInstance" />
|
|
|
+ <PermissioTreeCard title="相机权限" :tree-data="cameraPermTreeData" ref="cameraCardInstance" />
|
|
|
+ <PermissioTreeCard title="菜单权限" :tree-data="menuPermTreeData" ref="menuCardInstance" />
|
|
|
+ <PermissioTreeCard title="功能权限" :tree-data="funcPermTreeData" ref="funcCardInstance" />
|
|
|
</el-form-item>
|
|
|
|
|
|
<el-form-item label="备注" prop="remark">
|
|
|
@@ -31,7 +31,7 @@
|
|
|
|
|
|
<script setup lang="ts">
|
|
|
import { reactive, ref, computed, toRaw } from 'vue';
|
|
|
- import PermissioTreenCard from './PermissionTreeCard.vue';
|
|
|
+ import PermissioTreeCard from './PermissionTreeCard.vue';
|
|
|
import { RoleForm, Role, AssignedPermissions } from '@/types/role/type';
|
|
|
import { FormRules, FormInstance, ElMessage } from 'element-plus';
|
|
|
import useMenuPermTree from '../hooks/useMenuPermissionTree';
|
|
|
@@ -53,9 +53,9 @@
|
|
|
const { funcPermTreeData} = useFuncPermTree();
|
|
|
|
|
|
const drawerOpened = ref(false);
|
|
|
- const cameraCardInstance = ref<InstanceType<typeof PermissioTreenCard>>();
|
|
|
- const menuCardInstance = ref<InstanceType<typeof PermissioTreenCard>>();
|
|
|
- const funcCardInstance = ref<InstanceType<typeof PermissioTreenCard>>();
|
|
|
+ const cameraCardInstance = ref<InstanceType<typeof PermissioTreeCard>>();
|
|
|
+ const menuCardInstance = ref<InstanceType<typeof PermissioTreeCard>>();
|
|
|
+ const funcCardInstance = ref<InstanceType<typeof PermissioTreeCard>>();
|
|
|
|
|
|
// 表单相关
|
|
|
const defaultFormData = (): RoleForm => ({
|
|
|
@@ -105,10 +105,19 @@
|
|
|
}
|
|
|
|
|
|
const displayAssignedPermissions = (result: AssignedPermissions) => {
|
|
|
- // 相机树很有可能会有 id 重复的情况,比如说 一个camera id 和 一个 workspace id 相同,这样会导致 tree 节点 value 不唯一,因此需要给个前缀
|
|
|
- cameraCardInstance.value?.setAssignedPermissions(result.cameraIds ?? [], 'camera');
|
|
|
- menuCardInstance.value?.setAssignedPermissions(result.menuIds ?? []);
|
|
|
- funcCardInstance.value?.setAssignedPermissions(result.permIds ?? []);
|
|
|
+ if (result.cameraIds?.length) {
|
|
|
+ // 相机树很有可能会有 id 重复的情况,比如说 一个camera id 和 一个 workspace id 相同,这样会导致 tree 节点 value 不唯一,因此需要给个前缀
|
|
|
+ const cameraIds = result.cameraIds.map(id => `camera-${id}`);
|
|
|
+ cameraCardInstance.value?.setAssignedPermissions(cameraIds);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (result.menuIds?.length) {
|
|
|
+ menuCardInstance.value?.setAssignedPermissions(result.menuIds);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (result.permIds?.length) {
|
|
|
+ funcCardInstance.value?.setAssignedPermissions(result.permIds);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/**
|