小组权限管理中心 用户权限相关调整

This commit is contained in:
anhc 2022-07-09 21:12:16 +08:00
parent f5245db8ed
commit 44383ccafe
3 changed files with 85 additions and 10 deletions

View File

@ -135,7 +135,10 @@
<template slot-scope="scope">
<div style="width: 30px;display: inline-block;">
<div class="operate-icon-display">
<el-tooltip content="修改角色" placement="bottom" :hide-after=2000>
<el-tooltip content="用户权限" placement="bottom" :hide-after=2000>
<i class="iconfont icon-jiaoseguanli" style="cursor: pointer;padding-right: 10px;" @click="updateUser(scope.row.userId)"></i>
</el-tooltip>
<el-tooltip content="修改角色" placement="bottom" :hide-after=2000>
<i class="iconfont icon-jiaoseguanli" style="cursor: pointer;padding-right: 10px;" @click="updateRole(scope.row.userId)"></i>
</el-tooltip>
<el-tooltip v-if="scope.row.userId != currTeam.userId" content="删除成员" placement="bottom" :hide-after=2000>
@ -177,11 +180,22 @@
v-on:getResult="memberAddDone"
:title="memberAdd.title"
/>
<role-update
ref="roleUpdate"
:visible.sync="roleUpdate.visible"
:teamId="teamId"
:isUser="true"
:roleId="roleUpdate.roleId"
:userid="roleUpdate.userid"
v-on:cancel="roleUpdate.visible = false"
v-on:setUserRole="setUserRole"
v-on:getResult="updateUserDone"/>
</awsui-layout>
</template>
<script>
import RoleManage from "../role/RoleManage";
import RoleUpdate from "../role/RoleUpdate";
const header1Height = '80px';
const header2Height = '30px';
const footerHeight = '45px';
@ -189,7 +203,7 @@
import MemberAdd from "../member/MemberAdd";
export default {
name: "ManageList",
components: {MemberAdd, RoleManage},
components: {MemberAdd, RoleManage, RoleUpdate},
props: {
teamId: {
type: String,
@ -236,7 +250,12 @@
memberAdd: {
visible: false,
title: '添加小组成员'
}
},
roleUpdate: {
visible: false,
userid:'',
roleId: ''
},
}
},
mounted() {
@ -380,6 +399,19 @@
this.roleManage.type = 'roleConfig';
this.roleManage.visible = true;
},
updateUser(userId){
this.roleUpdate.userid = userId;
this.roleUpdate.visible = true;
},
updateUserDone(result) {//
this.roleUpdate.visible = false;
if (result == 'ok') {
this.initData();
}
},
setUserRole(roleId){
this.roleUpdate.roleId = roleId;
},
updateRoles() {//
if (this.checkedUsers.length == 0) {
this.$message({message: '请选择需要修改角色的用户',type: 'warning'});

View File

@ -15,7 +15,7 @@
<div style="border-top:1px solid #F2F2F2;"></div>
<div style="width: 100%;height: 258px;overflow-y: auto;">
<ul>
<li v-for="item in roleData" class="general-bgcolor-hover" :style="{'background-color': item.roleId == checkdRole ? '#F5F7FA' : ''}">
<li v-for="item in roleData" class="general-bgcolor-hover" :style="{'background-color': item.roleId == checkdRole || item.checked ? '#F5F7FA' : ''}">
<div style="width: 100%;height: 50px;line-height: 50px;vertical-align: middle;">
<div style="width: 15%;display: inline-block;text-align: center;">
<i class="iconfont" v-html="item.icon"></i>
@ -30,7 +30,8 @@
<div style="width: 15%;display: inline-block;text-align: center;">
<i v-if="type=='roleManage' && item.roleType!=0" class="awsui-iconfont general-bgcolor-text-hover operate-icon-display" style="cursor: pointer;font-size: 14px;" @click="updateRole(item.roleId)">&#xe622;</i>
<i v-if="type=='roleManage' && item.roleType!=0 && item.roleType!=1 && item.roleType!=2" class="awsui-iconfont general-bgcolor-text-hover operate-icon-display" style="padding-left: 10px;cursor: pointer;font-size: 14px;" @click="removeRole(item.roleId)">&#xe626;</i>
<awsui-radio v-if="type=='roleConfig'" v-else size="small" :label="item.roleId" :showText="false" v-model="checkdRole"></awsui-radio>
<awsui-radio v-if="type=='roleConfig' && isOlderVersion" v-else size="small" :label="item.roleId" :showText="false" v-model="checkdRole"></awsui-radio>
<el-checkbox v-if="type=='roleConfig' && !isOlderVersion" v-model="item.checked" :checked="item.checked" @change="$forceUpdate()"></el-checkbox>
</div>
</div>
</li>
@ -103,7 +104,8 @@
roleUpdate: {
visible: false,
roleId: '',
}
},
isOlderVersion:true,
};
},
created() {
@ -127,9 +129,19 @@
if (ro.result == 'ok') {
const data = ro.data;
that.roleData = data.roleData;
if (data.roleIds && data.roleIds.length > 0) {//
that.isOlderVersion= data.isOlderVersion;
if (that.isOlderVersion){
if (data.roleIds && data.roleIds.length > 0) {//
that.checkdRole = data.roleIds[0];
}
}else{
data.roleData.forEach((item)=>{
if (data.roleIds.includes(item.roleId)){
item.checked = true;
}
})
}
} else {
that.$message.error(ro.msg);
}
@ -167,6 +179,15 @@
userIds: that.userIds,
roleId: that.checkdRole
}
let arr = [];
that.roleData.forEach(item=>{
if (item.checked){
arr.push(item.roleId);
}
})
data.roleId = arr;
console.log("data:",data)
//
that.loading = true;
const params = {

View File

@ -17,7 +17,7 @@
<!-- </div>-->
<!-- </div>-->
<awsui-form-item label="角色名称" prop="roleName">
<awsui-input placeholder="请输入内容" v-model="roleForm.roleName"></awsui-input>
<awsui-input placeholder="请输入内容" v-model="roleForm.roleName" :disabled="isUser"></awsui-input>
</awsui-form-item>
<div class="awsui-form-item">
<label class="awsui-form-item__label">角色描述</label>
@ -137,6 +137,14 @@
roleId: {// id
type: String,
default: ''
},
isUser: {
type:Boolean,
default:false
},
userid:{
type: String,
default:""
}
},
data() {
@ -187,10 +195,14 @@
},
methods: {
initParams() {
if (this.roleId == '') {
if (this.isUser){
this.title = '用户权限';
}else{
if (this.roleId == '') {
this.title = '新增角色';
} else {
} else {
this.title = '修改角色';
}
}
this.initRoleSidebar();
},
@ -205,6 +217,10 @@
roleId: that.roleId
}
};
if (that.isUser){
params.data.cmd = "com.actionsoft.apps.coe.pal.cooperation_hide_role_update_data_query"
params.data.userid = that.userid
}
//
awsuiAxios.post(params).then(function (ro) {
if (ro.result == 'ok') {
@ -231,6 +247,9 @@
node.loaded = false;
node.expand();
})
//roleId
that.$emit('setUserRole', data.roleId);
} else {
that.$message.error(ro.msg);
}
@ -335,6 +354,9 @@
appPerm: that.roleForm.appPerm,
actionPerm: that.roleForm.actionPerm
};
if (that.isUser){
data.roleName = that.userid;
}
if (!that.isOlderVersion){
let dataPermArr = [];
Object.keys(that.dataActionPerm).forEach((key) => {