|
@@ -85,12 +85,15 @@
|
|
|
import { ElMessage } from 'element-plus';
|
|
import { ElMessage } from 'element-plus';
|
|
|
import type { userFormParamsType } from './types';
|
|
import type { userFormParamsType } from './types';
|
|
|
|
|
|
|
|
- import { addRole, roleUserInfo, updateRole } from '@/api/system/role';
|
|
|
|
|
|
|
+ import { addRole, getFeaturePermissions, roleUserInfo, updateRole } from '@/api/system/role';
|
|
|
import useScene from '@/views/system-config/scene-manage/use-scene';
|
|
import useScene from '@/views/system-config/scene-manage/use-scene';
|
|
|
|
|
|
|
|
const sceneInfos = useScene();
|
|
const sceneInfos = useScene();
|
|
|
const { tableData, getSceneDetail } = sceneInfos;
|
|
const { tableData, getSceneDetail } = sceneInfos;
|
|
|
|
|
|
|
|
|
|
+ // 默认功能权限全部勾选,有未勾选的添加至excludeFeaturePermissionMap中:[workdshopCode]: [permission数组]
|
|
|
|
|
+ const excludeFeaturePermissionMap = {};
|
|
|
|
|
+
|
|
|
const rules = {
|
|
const rules = {
|
|
|
roleCode: {
|
|
roleCode: {
|
|
|
required: true,
|
|
required: true,
|
|
@@ -143,23 +146,7 @@
|
|
|
return newList;
|
|
return newList;
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
- const modeList = [
|
|
|
|
|
- {
|
|
|
|
|
- key: 10,
|
|
|
|
|
- id: 1,
|
|
|
|
|
- label: 10,
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- key: 11,
|
|
|
|
|
- id: 2,
|
|
|
|
|
- label: 11,
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- key: 12,
|
|
|
|
|
- id: 3,
|
|
|
|
|
- label: 12,
|
|
|
|
|
- },
|
|
|
|
|
- ];
|
|
|
|
|
|
|
+ const modeList = ref<{ key: number; label: string }[]>([]);
|
|
|
|
|
|
|
|
const emit = defineEmits(['change']);
|
|
const emit = defineEmits(['change']);
|
|
|
|
|
|
|
@@ -204,7 +191,7 @@
|
|
|
const treeRef = ref();
|
|
const treeRef = ref();
|
|
|
const expandedKeys = ref();
|
|
const expandedKeys = ref();
|
|
|
const selectedNodeKey = ref<string>('');
|
|
const selectedNodeKey = ref<string>('');
|
|
|
- const modeTreeData = computed(() => (selectedNodeKey.value ? modeList : []));
|
|
|
|
|
|
|
+ const modeTreeData = computed(() => (selectedNodeKey.value ? modeList.value : []));
|
|
|
|
|
|
|
|
const formParams = ref<userFormParamsType>(defaultTreeValueRef());
|
|
const formParams = ref<userFormParamsType>(defaultTreeValueRef());
|
|
|
|
|
|
|
@@ -253,18 +240,29 @@
|
|
|
|
|
|
|
|
const nodes = checkedInfo.checkedNodes;
|
|
const nodes = checkedInfo.checkedNodes;
|
|
|
console.log('nodes', nodes);
|
|
console.log('nodes', nodes);
|
|
|
- // const selectNodes =
|
|
|
|
|
|
|
|
|
|
const halfKeys = checkedInfo.halfCheckedKeys;
|
|
const halfKeys = checkedInfo.halfCheckedKeys;
|
|
|
formParams.value.permissionList = checkedInfo.halfCheckedKeys;
|
|
formParams.value.permissionList = checkedInfo.halfCheckedKeys;
|
|
|
- formParams.value.permissionList = nodes
|
|
|
|
|
- .filter((item) => item.isShop)
|
|
|
|
|
- .map((node) => {
|
|
|
|
|
- return {
|
|
|
|
|
- workshopCode: node.code,
|
|
|
|
|
- permissionId: '0',
|
|
|
|
|
- };
|
|
|
|
|
- });
|
|
|
|
|
|
|
+ // const permissionShopNodes = nodes.filter((item) => item.isShop);
|
|
|
|
|
+ // const newPerm = [] as any[];
|
|
|
|
|
+ // permissionShopNodes.forEach((node) => {
|
|
|
|
|
+ // modeList.value.forEach((item) => {
|
|
|
|
|
+ // newPerm.push({
|
|
|
|
|
+ // workshopCode: node.code,
|
|
|
|
|
+ // permissionId: item.key,
|
|
|
|
|
+ // });
|
|
|
|
|
+ // });
|
|
|
|
|
+ // });
|
|
|
|
|
+ // formParams.value.permissionList = newPerm;
|
|
|
|
|
+
|
|
|
|
|
+ // formParams.value.permissionList = nodes
|
|
|
|
|
+ // .filter((item) => item.isShop)
|
|
|
|
|
+ // .map((node) => {
|
|
|
|
|
+ // return {
|
|
|
|
|
+ // workshopCode: node.code,
|
|
|
|
|
+ // permissionId: '0',
|
|
|
|
|
+ // };
|
|
|
|
|
+ // });
|
|
|
formParams.value.permissionKeys = halfKeys;
|
|
formParams.value.permissionKeys = halfKeys;
|
|
|
const allTreeNodes = treeRef.value.store._getAllNodes().map((item) => item.data.code);
|
|
const allTreeNodes = treeRef.value.store._getAllNodes().map((item) => item.data.code);
|
|
|
if (nodes.length < allTreeNodes.length) {
|
|
if (nodes.length < allTreeNodes.length) {
|
|
@@ -274,7 +272,10 @@
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- function checkedModeTree() {}
|
|
|
|
|
|
|
+ function checkedModeTree(_, tree) {
|
|
|
|
|
+ console.log('feat===', tree);
|
|
|
|
|
+ excludeFeaturePermissionMap[selectedNodeKey.value] = tree.setCheckedKeys;
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
function openDrawer(roleId?) {
|
|
function openDrawer(roleId?) {
|
|
|
isAll.value = false;
|
|
isAll.value = false;
|
|
@@ -359,6 +360,11 @@
|
|
|
|
|
|
|
|
onMounted(() => {
|
|
onMounted(() => {
|
|
|
getSceneDetail();
|
|
getSceneDetail();
|
|
|
|
|
+ getFeaturePermissions().then((res) => {
|
|
|
|
|
+ if (res[0]?.children) {
|
|
|
|
|
+ modeList.value = res[0].children;
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
defineExpose({
|
|
defineExpose({
|