加上权限设置
This commit is contained in:
parent
db1d222a3b
commit
dce90e5d10
|
|
@ -303,6 +303,9 @@ export default {
|
|||
})
|
||||
},
|
||||
saveRoleSetting({ adds, removes }) {
|
||||
if(!adds.length && !removes.length){
|
||||
return;
|
||||
}
|
||||
let userRoleCreateRequest = [];
|
||||
adds.forEach(id => {
|
||||
userRoleCreateRequest.push({
|
||||
|
|
@ -318,8 +321,10 @@ export default {
|
|||
userRoleCreateRequest: userRoleCreateRequest
|
||||
}
|
||||
}).then(a => {
|
||||
console.log(a)
|
||||
});
|
||||
this.$mk.success(a.msg);
|
||||
}).catch(a=>{
|
||||
this.$mk.error(a.data.msg);
|
||||
})
|
||||
},
|
||||
confirmRoleSetting() {
|
||||
let rows = this.$refs.xRoleTable.getCheckboxRecords();
|
||||
|
|
@ -329,12 +334,12 @@ export default {
|
|||
target_uid: this.currentRow.uid
|
||||
}
|
||||
}).then(a => {
|
||||
let roleList = a.data.UserRole || [];
|
||||
let roleList = a.data.user_role || [];
|
||||
let adds = [];
|
||||
let removes = [];
|
||||
roleList.forEach(roleItem => {
|
||||
if (rows.filter(row => row.id == roleItem.role_id).length == 0) {
|
||||
removes.push(roleItem.role_id);
|
||||
removes.push(roleItem.id);
|
||||
}
|
||||
});
|
||||
rows.forEach(row => {
|
||||
|
|
@ -345,8 +350,56 @@ export default {
|
|||
this.saveRoleSetting({ adds, removes });
|
||||
});
|
||||
},
|
||||
confirmPermission() {
|
||||
console.log(this.$refs.xPermissionTable.getCheckboxRecords())
|
||||
|
||||
savePermission({ adds, removes }) {
|
||||
if(!adds.length && !removes.length){
|
||||
return;
|
||||
}
|
||||
let userCustomCreateRequest = [];
|
||||
adds.forEach(id => {
|
||||
userCustomCreateRequest.push({
|
||||
"permission_code": id,
|
||||
"target_uid": this.currentRow.uid
|
||||
});
|
||||
})
|
||||
|
||||
this.$mk.post({
|
||||
url: this.actions.savePermission,
|
||||
data: {
|
||||
ids: removes,
|
||||
userCustomCreateRequest: userCustomCreateRequest
|
||||
}
|
||||
}).then(a => {
|
||||
this.$mk.success(a.msg);
|
||||
}).catch(a=>{
|
||||
this.$mk.error(a.data.msg);
|
||||
})
|
||||
},
|
||||
confirmPermission() {
|
||||
let rows = this.$refs.xPermissionTable.getCheckboxRecords();
|
||||
rows = rows.filter(row=>row.permission_code);
|
||||
|
||||
this.$mk.post({
|
||||
url: this.actions.userPermissionList,
|
||||
data: {
|
||||
target_uid: this.currentRow.uid
|
||||
}
|
||||
}).then(a => {
|
||||
let customList = a.data.UserCustom || [];
|
||||
let adds = [];
|
||||
let removes = [];
|
||||
customList.forEach(customItem => {
|
||||
if (rows.filter(row => row.permission_code == customItem.permission_code).length == 0) {
|
||||
removes.push(customItem.id);
|
||||
}
|
||||
});
|
||||
rows.forEach(row => {
|
||||
if (customList.filter(customItem => row.permission_code == customItem.permission_code).length == 0) {
|
||||
adds.push(row.permission_code);
|
||||
}
|
||||
})
|
||||
this.savePermission({ adds, removes });
|
||||
});
|
||||
},
|
||||
roleDataInit() {
|
||||
this.$mk.post({
|
||||
|
|
@ -385,7 +438,8 @@ export default {
|
|||
parentId: "s-" + item.service_id,
|
||||
nodeTitle: item.title,
|
||||
service_id: item.service_id,
|
||||
permission_id: item.id
|
||||
permission_id: item.id,
|
||||
permission_code: item.permission_code
|
||||
})
|
||||
});
|
||||
this.permissionData = arr;
|
||||
|
|
@ -432,14 +486,14 @@ export default {
|
|||
this.$mk.post({
|
||||
url: this.actions.userPermissionList,
|
||||
data: {
|
||||
targe_uid: row.uid
|
||||
target_uid: row.uid
|
||||
}
|
||||
}).then(a => {
|
||||
this.showPermission = true;
|
||||
let rows = [];
|
||||
console.log(a.data.UserCustom)
|
||||
let uesrCustom = a.data.UserCustom || [];
|
||||
this.permissionData.forEach(item => {
|
||||
if (a.data.UserCustom.filter(customerItem => item.id == customerItem.permission_id).length) {
|
||||
if (uesrCustom.filter(customerItem => item.permission_code == customerItem.permission_code).length) {
|
||||
rows.push(item);
|
||||
}
|
||||
})
|
||||
|
|
|
|||
|
|
@ -38,8 +38,28 @@
|
|||
</div>
|
||||
</template>
|
||||
|
||||
<template #op3="{ row }">
|
||||
<div class="oplinks2">
|
||||
<a-button @click.stop="pagePermission(row)">权限设置</a-button>
|
||||
</div>
|
||||
</template>
|
||||
</vxe-grid>
|
||||
</div>
|
||||
<vxe-modal v-model="showPermission" @confirm="confirmPermission" width="900" show-footer>
|
||||
<template #title>
|
||||
<span>设置权限</span>
|
||||
</template>
|
||||
<template #default>
|
||||
|
||||
<vxe-table show-overflow auto-resize height="500" row-id="id" ref="xPermissionTable" :data="permissionData"
|
||||
:tree-config="{ transform: true, expandAll: true }"
|
||||
:checkbox-config="{ reserve: true, highlight: true, trigger: 'row', labelField: 'nodeTitle' }">
|
||||
<vxe-column type="checkbox" title="权限" width="400" tree-node></vxe-column>
|
||||
<vxe-column field="desc" title="描述"></vxe-column>
|
||||
</vxe-table>
|
||||
|
||||
</template>
|
||||
</vxe-modal>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
|
@ -58,9 +78,18 @@ export default {
|
|||
keyName: 'id',
|
||||
actions: {
|
||||
getList: `${BASE_URL.BASE_URL}/BasePermission/v1/role/list`,
|
||||
delete: `${BASE_URL.BASE_URL}/BasePermission/v1/role/batchDelete`
|
||||
delete: `${BASE_URL.BASE_URL}/BasePermission/v1/role/batchDelete`,
|
||||
|
||||
permissionList: `${BASE_URL.BASE_URL}/BasePermission/v1/service/permission/list`,
|
||||
rolePermissionList: `${BASE_URL.BASE_URL}/BasePermission/v1/role/permission/list`,
|
||||
savePermission: `${BASE_URL.BASE_URL}/BasePermission/v1/role/permission/batchHandle`,
|
||||
},
|
||||
|
||||
permissionData: [],
|
||||
|
||||
showPermission: false,
|
||||
currentRow: null,
|
||||
|
||||
start_time: 0,
|
||||
end_time: 0,
|
||||
|
||||
|
|
@ -130,6 +159,7 @@ export default {
|
|||
{ type: 'checkbox', width: 50 },
|
||||
{ type: 'seq', width: 50 },
|
||||
{ title: '操作', slots: { default: 'op' },width:120 },
|
||||
{ title: '权限设置', slots: { default: 'op3' }, width: 120 },
|
||||
{ field: 'name', sortable: true, title: '名称' },
|
||||
{ field: 'desc', sortable: true, title: '描述', showHeaderOverflow: true }
|
||||
]
|
||||
|
|
@ -150,6 +180,8 @@ export default {
|
|||
// 将表格和工具栏进行关联
|
||||
this.$refs.xGrid.connect(this.$refs.xToolbar)
|
||||
});
|
||||
|
||||
this.permissionDataInit();
|
||||
},
|
||||
// 监听 - 页面每次【加载时】执行
|
||||
onLoad() {
|
||||
|
|
@ -242,6 +274,121 @@ export default {
|
|||
})
|
||||
},
|
||||
|
||||
savePermission({ adds, removes }) {
|
||||
if(!adds.length && !removes.length){
|
||||
return;
|
||||
}
|
||||
let rolePermissionCreateRequest = [];
|
||||
adds.forEach(id => {
|
||||
rolePermissionCreateRequest.push({
|
||||
"permission_code": id,
|
||||
"role_id": this.currentRow.id
|
||||
});
|
||||
})
|
||||
|
||||
this.$mk.post({
|
||||
url: this.actions.savePermission,
|
||||
data: {
|
||||
ids: removes,
|
||||
rolePermissionCreateRequest: rolePermissionCreateRequest
|
||||
}
|
||||
}).then(a => {
|
||||
this.$mk.success(a.msg);
|
||||
}).catch(a=>{
|
||||
this.$mk.error(a.data.msg);
|
||||
})
|
||||
},
|
||||
confirmPermission() {
|
||||
let rows = this.$refs.xPermissionTable.getCheckboxRecords();
|
||||
rows = rows.filter(row=>row.permission_code);
|
||||
|
||||
this.$mk.post({
|
||||
url: this.actions.rolePermissionList,
|
||||
data: {
|
||||
role_id: this.currentRow.id
|
||||
}
|
||||
}).then(a => {
|
||||
let customList = a.data.RolePermission || [];
|
||||
let adds = [];
|
||||
let removes = [];
|
||||
customList.forEach(customItem => {
|
||||
if (rows.filter(row => row.permission_code == customItem.permission_code).length == 0) {
|
||||
removes.push(customItem.id);
|
||||
}
|
||||
});
|
||||
rows.forEach(row => {
|
||||
if (customList.filter(customItem => row.permission_code == customItem.permission_code).length == 0) {
|
||||
adds.push(row.permission_code);
|
||||
}
|
||||
})
|
||||
this.savePermission({ adds, removes });
|
||||
});
|
||||
},
|
||||
permissionDataInit() {
|
||||
|
||||
this.$mk.post({
|
||||
url: this.actions.permissionList,
|
||||
data: {
|
||||
}
|
||||
}).then(a => {
|
||||
let arr = [];
|
||||
a.data.BasePermission.forEach(item => {
|
||||
if (arr.filter(a => a.id == "s-" + item.service_id).length) {
|
||||
return;
|
||||
}
|
||||
arr.push({
|
||||
id: "s-" + item.service_id,
|
||||
parentId: null,
|
||||
nodeTitle: item.service
|
||||
})
|
||||
});
|
||||
a.data.BasePermission.forEach(item => {
|
||||
|
||||
arr.push({
|
||||
id: item.id,
|
||||
parentId: "s-" + item.service_id,
|
||||
nodeTitle: item.title,
|
||||
service_id: item.service_id,
|
||||
permission_id: item.id,
|
||||
permission_code: item.permission_code
|
||||
})
|
||||
});
|
||||
this.permissionData = arr;
|
||||
|
||||
}).catch((a) => {
|
||||
this.$mk.error(a.data.msg);
|
||||
});
|
||||
},
|
||||
pagePermission(row) {
|
||||
if (!row) {
|
||||
this.$mk.msg("请选择行");
|
||||
return;
|
||||
}
|
||||
this.currentRow = row;
|
||||
this.$mk.post({
|
||||
url: this.actions.rolePermissionList,
|
||||
data: {
|
||||
role_id: row.id
|
||||
}
|
||||
}).then(a => {
|
||||
this.showPermission = true;
|
||||
let rows = [];
|
||||
let rolePermission = a.data.RolePermission || [];
|
||||
this.permissionData.forEach(item => {
|
||||
if (rolePermission.filter(customerItem => item.permission_code == customerItem.permission_code).length) {
|
||||
rows.push(item);
|
||||
}
|
||||
})
|
||||
|
||||
setTimeout(() => {
|
||||
this.$refs.xPermissionTable.clearCheckboxRow();
|
||||
this.$refs.xPermissionTable.setCheckboxRow(rows, true);
|
||||
}, 100);
|
||||
|
||||
});
|
||||
|
||||
|
||||
},
|
||||
pageDelete(row) {
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue