|
|
|
@ -53,10 +53,10 @@
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="角色名称" prop="roleName">
|
|
|
|
|
<el-input v-model="formState.form.roleName" />
|
|
|
|
|
<el-input v-model="formState.form.roleName" maxlength="10" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="角色描述" prop="roleDesc">
|
|
|
|
|
<el-input v-model="formState.form.roleDesc" />
|
|
|
|
|
<el-input v-model="formState.form.roleDesc" maxlength="30" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="是否启用" prop="isEnable">
|
|
|
|
|
<el-switch v-model="formState.form.isEnable" />
|
|
|
|
@ -92,7 +92,9 @@
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="功能权限" prop="permissionIds">
|
|
|
|
|
<el-checkbox v-model="checkAll">全选</el-checkbox>
|
|
|
|
|
<el-checkbox v-model="checkAll" :indeterminate="isIndeterminate" @change="handleCheckAll">
|
|
|
|
|
全选
|
|
|
|
|
</el-checkbox>
|
|
|
|
|
<el-tree
|
|
|
|
|
ref="refsTree"
|
|
|
|
|
:data="permissionList"
|
|
|
|
@ -218,7 +220,7 @@
|
|
|
|
|
isEnable: true,
|
|
|
|
|
menuIds: [],
|
|
|
|
|
permissionIds: [],
|
|
|
|
|
departmentList: [],
|
|
|
|
|
departmentList: [2],
|
|
|
|
|
},
|
|
|
|
|
rules1: {
|
|
|
|
|
systemId: [{ required: true, message: '所属系统不能为空' }],
|
|
|
|
@ -236,9 +238,18 @@
|
|
|
|
|
});
|
|
|
|
|
const refsTree = ref(null);
|
|
|
|
|
const checkAll = ref(false);
|
|
|
|
|
watch(checkAll, (value) => {
|
|
|
|
|
unref(refsTree).setCheckedKeys(value ? unref(permissionList).map((item) => item.id) : []);
|
|
|
|
|
});
|
|
|
|
|
const isIndeterminate = ref(false);
|
|
|
|
|
watch(
|
|
|
|
|
[permissionList, () => formState.form.permissionIds],
|
|
|
|
|
(value) => {
|
|
|
|
|
checkAll.value = value[0].length && value[0].every((item) => value[1].includes(item.id));
|
|
|
|
|
isIndeterminate.value = !checkAll.value && value[0].some((item) => value[1].includes(item.id));
|
|
|
|
|
},
|
|
|
|
|
{ immediate: true, deep: true }
|
|
|
|
|
);
|
|
|
|
|
const handleCheckAll = () => {
|
|
|
|
|
unref(refsTree).setCheckedKeys(unref(checkAll) ? unref(permissionList).map((item) => item.id) : []);
|
|
|
|
|
};
|
|
|
|
|
const handleLoadPermission = async (data) => {
|
|
|
|
|
permissionList.value = await store.dispatch('role/loadPermission', data.id);
|
|
|
|
|
};
|
|
|
|
@ -319,7 +330,7 @@
|
|
|
|
|
isEnable: true,
|
|
|
|
|
menuIds: [],
|
|
|
|
|
permissionIds: [],
|
|
|
|
|
departmentList: [],
|
|
|
|
|
departmentList: [2],
|
|
|
|
|
}
|
|
|
|
|
)
|
|
|
|
|
);
|
|
|
|
|