|
@@ -27,7 +27,6 @@
|
|
|
:props="defaultProps"
|
|
:props="defaultProps"
|
|
|
:default-checked-keys="checkedNodes"
|
|
:default-checked-keys="checkedNodes"
|
|
|
style="display: flex; justify-content: space-between"
|
|
style="display: flex; justify-content: space-between"
|
|
|
- @check="getTree"
|
|
|
|
|
/>
|
|
/>
|
|
|
<div class="df aic jcfe mt50">
|
|
<div class="df aic jcfe mt50">
|
|
|
<el-button type="primary" @click="addRole">{{
|
|
<el-button type="primary" @click="addRole">{{
|
|
@@ -122,14 +121,8 @@ const defaultProps = {
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
let basePermissionData = computed(() => store.state.basePermissionData);
|
|
let basePermissionData = computed(() => store.state.basePermissionData);
|
|
|
-let permissionCodes = ref([]);
|
|
|
|
|
|
|
+let baseParentNodes = computed(() => store.state.baseParentNodes);
|
|
|
let checkedNodes = ref([]);
|
|
let checkedNodes = ref([]);
|
|
|
-function getTree(checked, checkedKeys) {
|
|
|
|
|
- permissionCodes.value = [
|
|
|
|
|
- ...checkedKeys.checkedKeys,
|
|
|
|
|
- ...checkedKeys.halfCheckedKeys,
|
|
|
|
|
- ];
|
|
|
|
|
-}
|
|
|
|
|
|
|
|
|
|
async function getRoleDetail(roleId) {
|
|
async function getRoleDetail(roleId) {
|
|
|
let res = await api.getRoleDetail({
|
|
let res = await api.getRoleDetail({
|
|
@@ -137,20 +130,50 @@ async function getRoleDetail(roleId) {
|
|
|
roleId,
|
|
roleId,
|
|
|
});
|
|
});
|
|
|
if (res.data.status == 0) {
|
|
if (res.data.status == 0) {
|
|
|
- let { code, roleName, permission } = res.data.result;
|
|
|
|
|
|
|
+ let { code, roleName, permission, cargoLimit, proxyLimit } =
|
|
|
|
|
+ res.data.result;
|
|
|
ruleForm.value = {
|
|
ruleForm.value = {
|
|
|
roleCode: code,
|
|
roleCode: code,
|
|
|
roleName,
|
|
roleName,
|
|
|
};
|
|
};
|
|
|
- checkedNodes.value = permission.split(",");
|
|
|
|
|
|
|
+ let c = cargoLimit.split(",");
|
|
|
|
|
+ let cargoLimitArr = [];
|
|
|
|
|
+ for (let i of c) {
|
|
|
|
|
+ cargoLimitArr.push(`CARGO_${i}`);
|
|
|
|
|
+ }
|
|
|
|
|
+ let p = proxyLimit.split(",");
|
|
|
|
|
+ let proxyLimitArr = [];
|
|
|
|
|
+ for (let i of p) {
|
|
|
|
|
+ proxyLimitArr.push(`PROXY_${i}`);
|
|
|
|
|
+ }
|
|
|
|
|
+ let arr = permission.split(",");
|
|
|
|
|
+ baseParentNodes.value.forEach((item) => {
|
|
|
|
|
+ for (let i of arr) {
|
|
|
|
|
+ if (i == item) {
|
|
|
|
|
+ let index = arr.indexOf(i);
|
|
|
|
|
+ arr.splice(index, 1);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ checkedNodes.value = [...arr, ...cargoLimitArr, ...proxyLimitArr];
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
async function addRole() {
|
|
async function addRole() {
|
|
|
|
|
+ let fullChecked = treeRef.value.getCheckedNodes();
|
|
|
|
|
+ let halfCHecked = treeRef.value.getHalfCheckedNodes();
|
|
|
|
|
+ let permissionCodes = [];
|
|
|
|
|
+ for (let i of fullChecked) {
|
|
|
|
|
+ permissionCodes.push(i.code);
|
|
|
|
|
+ }
|
|
|
|
|
+ for (let i of halfCHecked) {
|
|
|
|
|
+ permissionCodes.push(i.code);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
let postData = {
|
|
let postData = {
|
|
|
loginAccountId: loginAccountId.value,
|
|
loginAccountId: loginAccountId.value,
|
|
|
...ruleForm.value,
|
|
...ruleForm.value,
|
|
|
- permissionCodes: permissionCodes.value.join(","),
|
|
|
|
|
|
|
+ permissionCodes: permissionCodes.join(","),
|
|
|
};
|
|
};
|
|
|
if (roleId.value) {
|
|
if (roleId.value) {
|
|
|
postData.roleId = roleId.value;
|
|
postData.roleId = roleId.value;
|