|
@@ -85,7 +85,14 @@
|
|
|
import { ElMessage } from 'element-plus';
|
|
import { ElMessage } from 'element-plus';
|
|
|
import type { formParamsType, userFormParamsType } from './types';
|
|
import type { formParamsType, userFormParamsType } from './types';
|
|
|
|
|
|
|
|
- import { addAdminRole, editAdminRole, roleAdminInfo } from '@/api/system/role';
|
|
|
|
|
|
|
+ import {
|
|
|
|
|
+ addAdminRole,
|
|
|
|
|
+ addRole,
|
|
|
|
|
+ editAdminRole,
|
|
|
|
|
+ roleAdminInfo,
|
|
|
|
|
+ roleUserInfo,
|
|
|
|
|
+ updateRole,
|
|
|
|
|
+ } from '@/api/system/role';
|
|
|
import { getTreeValues } from '@/utils/helper/treeHelper';
|
|
import { getTreeValues } from '@/utils/helper/treeHelper';
|
|
|
import useScene from '@/views/system-config/scene-manage/use-scene';
|
|
import useScene from '@/views/system-config/scene-manage/use-scene';
|
|
|
|
|
|
|
@@ -187,6 +194,15 @@
|
|
|
permissionKeys: [],
|
|
permissionKeys: [],
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
|
|
+ const defaultTreeValueRef = () => ({
|
|
|
|
|
+ roleId: null,
|
|
|
|
|
+ roleName: '',
|
|
|
|
|
+ roleCode: '',
|
|
|
|
|
+ remark: '',
|
|
|
|
|
+ permissionList: [],
|
|
|
|
|
+ permissionKeys: [],
|
|
|
|
|
+ });
|
|
|
|
|
+
|
|
|
const message = ElMessage;
|
|
const message = ElMessage;
|
|
|
const checkedKeys = ref<number[]>([]);
|
|
const checkedKeys = ref<number[]>([]);
|
|
|
const formRef: any = ref(null);
|
|
const formRef: any = ref(null);
|
|
@@ -199,9 +215,12 @@
|
|
|
const selectedNodeKey = ref<string>('');
|
|
const selectedNodeKey = ref<string>('');
|
|
|
const modeTreeData = computed(() => (selectedNodeKey.value ? modeList : []));
|
|
const modeTreeData = computed(() => (selectedNodeKey.value ? modeList : []));
|
|
|
|
|
|
|
|
- const formParams = ref<userFormParamsType>(defaultValueRef());
|
|
|
|
|
|
|
+ const formParams = ref<userFormParamsType>(defaultTreeValueRef());
|
|
|
|
|
|
|
|
function clickNode(tree, nodeInfo, _, __) {
|
|
function clickNode(tree, nodeInfo, _, __) {
|
|
|
|
|
+ console.log('tree', tree);
|
|
|
|
|
+ console.log('nodeInfo', nodeInfo.isShop);
|
|
|
|
|
+
|
|
|
if (nodeInfo.isShop) {
|
|
if (nodeInfo.isShop) {
|
|
|
selectedNodeKey.value = tree.code;
|
|
selectedNodeKey.value = tree.code;
|
|
|
} else {
|
|
} else {
|
|
@@ -252,25 +271,38 @@
|
|
|
|
|
|
|
|
const nodes = checkedInfo.checkedNodes;
|
|
const nodes = checkedInfo.checkedNodes;
|
|
|
const halfKeys = checkedInfo.halfCheckedKeys;
|
|
const halfKeys = checkedInfo.halfCheckedKeys;
|
|
|
- formParams.value.permissions = checkedInfo.halfCheckedKeys;
|
|
|
|
|
- formParams.value.permissions = nodes
|
|
|
|
|
|
|
+ formParams.value.permissionList = checkedInfo.halfCheckedKeys;
|
|
|
|
|
+ formParams.value.permissionList = nodes
|
|
|
.filter((item) => item.isShop)
|
|
.filter((item) => item.isShop)
|
|
|
.map((node) => {
|
|
.map((node) => {
|
|
|
return {
|
|
return {
|
|
|
workshopCode: node.code,
|
|
workshopCode: node.code,
|
|
|
- permissionId: 0,
|
|
|
|
|
|
|
+ permissionId: '0',
|
|
|
};
|
|
};
|
|
|
});
|
|
});
|
|
|
- checkedKeys.value = keys;
|
|
|
|
|
|
|
+ // console.log('formParams.value.permissions', formParams.value.permissions);
|
|
|
|
|
+
|
|
|
|
|
+ // checkedKeys.value = keys;
|
|
|
|
|
+
|
|
|
|
|
+ // 获取所有已选中节点的键值
|
|
|
|
|
+ // const selectedKeys = nodes.filter((item) => item.isShop).map((node) => node.code);
|
|
|
|
|
+
|
|
|
|
|
+ // // 设置已选中节点
|
|
|
|
|
+ // treeRef.value.setCheckedKeys(selectNodes.value);
|
|
|
|
|
+ // checkedKeys.value = selectedKeys;
|
|
|
formParams.value.permissionKeys = halfKeys;
|
|
formParams.value.permissionKeys = halfKeys;
|
|
|
|
|
+
|
|
|
|
|
+ // formParams.value.permissionKeys = halfKeys;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
function checkedModeTree() {}
|
|
function checkedModeTree() {}
|
|
|
|
|
|
|
|
- function openDrawer(roleId?) {
|
|
|
|
|
|
|
+ // const roleId = ref<number>();
|
|
|
|
|
+
|
|
|
|
|
+ function openDrawer(roleId?, roleType?) {
|
|
|
if (roleId) {
|
|
if (roleId) {
|
|
|
formParams.value.roleId = roleId;
|
|
formParams.value.roleId = roleId;
|
|
|
- getInfo();
|
|
|
|
|
|
|
+ getInfo(roleType);
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
isDrawer.value = true;
|
|
isDrawer.value = true;
|
|
@@ -286,19 +318,50 @@
|
|
|
return message.error('请填写完整信息');
|
|
return message.error('请填写完整信息');
|
|
|
}
|
|
}
|
|
|
if (formParams.value.roleId) {
|
|
if (formParams.value.roleId) {
|
|
|
- editAdminRole(formParams.value).then((_) => {
|
|
|
|
|
|
|
+ console.log('bianji');
|
|
|
|
|
+
|
|
|
|
|
+ const updateData = {
|
|
|
|
|
+ permissionList: formParams.value.permissionList,
|
|
|
|
|
+ remark: formParams.value.remark,
|
|
|
|
|
+ roleName: formParams.value.roleName,
|
|
|
|
|
+ roleCode: formParams.value.roleCode,
|
|
|
|
|
+ roleType: 3,
|
|
|
|
|
+ roleId: formParams.value.roleId,
|
|
|
|
|
+ };
|
|
|
|
|
+ updateRole(updateData).then((_) => {
|
|
|
message.success('编辑成功');
|
|
message.success('编辑成功');
|
|
|
emit('change');
|
|
emit('change');
|
|
|
handleReset();
|
|
handleReset();
|
|
|
closeDrawer();
|
|
closeDrawer();
|
|
|
});
|
|
});
|
|
|
|
|
+
|
|
|
|
|
+ // editAdminRole(formParams.value).then((_) => {
|
|
|
|
|
+ // message.success('编辑成功');
|
|
|
|
|
+ // emit('change');
|
|
|
|
|
+ // handleReset();
|
|
|
|
|
+ // closeDrawer();
|
|
|
|
|
+ // });
|
|
|
} else {
|
|
} else {
|
|
|
- addAdminRole(formParams.value).then((_) => {
|
|
|
|
|
|
|
+ const addData = {
|
|
|
|
|
+ permissionList: formParams.value.permissionList,
|
|
|
|
|
+ remark: formParams.value.remark,
|
|
|
|
|
+ roleName: formParams.value.roleName,
|
|
|
|
|
+ roleCode: formParams.value.roleCode,
|
|
|
|
|
+ roleType: 3,
|
|
|
|
|
+ };
|
|
|
|
|
+ addRole(addData).then((_) => {
|
|
|
message.success('添加成功');
|
|
message.success('添加成功');
|
|
|
emit('change');
|
|
emit('change');
|
|
|
handleReset();
|
|
handleReset();
|
|
|
closeDrawer();
|
|
closeDrawer();
|
|
|
});
|
|
});
|
|
|
|
|
+
|
|
|
|
|
+ // addAdminRole(formParams.value).then((_) => {
|
|
|
|
|
+ // message.success('添加成功');
|
|
|
|
|
+ // emit('change');
|
|
|
|
|
+ // handleReset();
|
|
|
|
|
+ // closeDrawer();
|
|
|
|
|
+ // });
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|
|
@@ -308,23 +371,45 @@
|
|
|
formParams.value = Object.assign(formParams.value, defaultValueRef());
|
|
formParams.value = Object.assign(formParams.value, defaultValueRef());
|
|
|
treeRef.value!.setCheckedKeys([]);
|
|
treeRef.value!.setCheckedKeys([]);
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
- function getInfo() {
|
|
|
|
|
- roleAdminInfo({ roleId: formParams.value.roleId }).then((res) => {
|
|
|
|
|
- const info = {
|
|
|
|
|
- roleId: res.id,
|
|
|
|
|
- roleName: res.roleName,
|
|
|
|
|
- roleCode: res.roleCode,
|
|
|
|
|
- remark: res.remark,
|
|
|
|
|
- permissions: res.permissionIds || [],
|
|
|
|
|
- permissionKeys: res.permissionKeys || [],
|
|
|
|
|
- };
|
|
|
|
|
- formParams.value = info;
|
|
|
|
|
- isDrawer.value = true;
|
|
|
|
|
- nextTick(() => {
|
|
|
|
|
- treeRef.value?.setCheckedKeys(res.permissionIds);
|
|
|
|
|
|
|
+ const selectNodes = ref<string[]>([]);
|
|
|
|
|
+ function getInfo(roleType) {
|
|
|
|
|
+ if (roleType === 3) {
|
|
|
|
|
+ roleUserInfo({ roleId: formParams.value.roleId }).then((res) => {
|
|
|
|
|
+ const info = {
|
|
|
|
|
+ roleId: res.id,
|
|
|
|
|
+ roleName: res.roleName,
|
|
|
|
|
+ roleCode: res.roleCode,
|
|
|
|
|
+ remark: res.remark,
|
|
|
|
|
+ permissionList: res.permissionIds || [],
|
|
|
|
|
+ permissionKeys: res.permissionKeys || [],
|
|
|
|
|
+ // permissionList: res.permissionMap.map((item) => item.permissionId),
|
|
|
|
|
+ // permissionKeys: res.permissionMap.map((item) => item.workshopId),
|
|
|
|
|
+ };
|
|
|
|
|
+ formParams.value = info;
|
|
|
|
|
+ isDrawer.value = true;
|
|
|
|
|
+ nextTick(() => {
|
|
|
|
|
+ selectNodes.value = res.permissionMap.map((item) => item.workshopCode);
|
|
|
|
|
+ // 将匹配到的节点的键值数组传递给 setCheckedKeys 方法
|
|
|
|
|
+ treeRef.value.setCheckedKeys(selectNodes.value);
|
|
|
|
|
+ });
|
|
|
});
|
|
});
|
|
|
- });
|
|
|
|
|
|
|
+ } else {
|
|
|
|
|
+ roleAdminInfo({ roleId: formParams.value.roleId }).then((res) => {
|
|
|
|
|
+ const info = {
|
|
|
|
|
+ roleId: res.id,
|
|
|
|
|
+ roleName: res.roleName,
|
|
|
|
|
+ roleCode: res.roleCode,
|
|
|
|
|
+ remark: res.remark,
|
|
|
|
|
+ permissionList: res.permissionIds || [],
|
|
|
|
|
+ permissionKeys: res.permissionKeys || [],
|
|
|
|
|
+ };
|
|
|
|
|
+ formParams.value = info;
|
|
|
|
|
+ isDrawer.value = true;
|
|
|
|
|
+ nextTick(() => {
|
|
|
|
|
+ treeRef.value?.setCheckedKeys(res.permissionIds);
|
|
|
|
|
+ });
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
onMounted(() => {
|
|
onMounted(() => {
|