Browse Source

账户管理相关修改完善及角色管理部分功能

master
aBin 3 years ago
parent
commit
cd6deebdea
  1. 35
      src/api/jurisdiction.js
  2. 13
      src/views/privilegeManagement/account/index.vue
  3. 14
      src/views/privilegeManagement/role/form.vue
  4. 135
      src/views/privilegeManagement/role/index.vue
  5. 35
      src/views/privilegeManagement/role/permissions.vue

35
src/api/jurisdiction.js

@ -59,7 +59,7 @@ export function ADD_ADMIN(params) {
}
/**
* 获取所有角色列表
* 账户权限管理中,获取所有角色列表
*/
export function GET_ROLE_ALL(params) {
return request({
@ -68,3 +68,36 @@ export function GET_ROLE_ALL(params) {
data: params
}).then(res => res.data)
}
/**
* 角色权限管理中,获取所有角色列表
*/
export function GET_ROLE_LIST(params) {
return request({
url: `${role}/list`,
method: 'post',
data: params
}).then(res => res.data)
}
/**
* 添加角色
*/
export function ADD_ROLE(params) {
return request({
url: `${role}/add`,
method: 'post',
data: params
}).then(res => res.data)
}
/**
* 删除角色
*/
export function DELETE_ROLE(params) {
return request({
url: `${role}/delete`,
method: 'post',
data: params
}).then(res => res.data)
}

13
src/views/privilegeManagement/account/index.vue

@ -64,11 +64,11 @@
</el-table>
<div class="pagination">
<el-pagination
background
:page-size="params.size"
layout="prev, pager, next"
:total="count"
@current-change="currentChange"
background
:page-size="params.pageSize"
layout="prev, pager, next"
:total="count"
@current-change="currentChange"
>
</el-pagination>
</div>
@ -279,8 +279,7 @@
currentChange(res) {
this.params = {
...this.params,
from: parseInt(res - 1) * this.params.size,
size: pageSize,
pageNum: res,
};
this.getList()
},

14
src/views/privilegeManagement/form.vue → src/views/privilegeManagement/role/form.vue

@ -1,11 +1,10 @@
<template>
<div class="form-container">
<el-form :inline="true" :model="formInline" class="demo-form-inline">
<el-form-item :label="label">
<el-input v-model="formInline.name" placeholder="名称搜索"></el-input>
<el-form-item label="角色名称">
<el-input v-model="formInline.roleName" placeholder="角色名称搜索"></el-input>
</el-form-item>
<el-form-item style="padding-left:30px">
<el-button type="default" @click="resetForm1('formInline')">重置</el-button>
<el-button type="primary" @click="onSubmit">查询</el-button>
</el-form-item>
</el-form>
@ -19,7 +18,7 @@
data() {
return {
formInline: {
name: ''
roleName: ''
}
}
},
@ -27,13 +26,6 @@
onSubmit() {
this.$emit('submit', this.formInline)
},
resetForm1() {
this.formInline = {
name: ''
};
this.$emit('resetForm');
}
}
}
</script>

135
src/views/privilegeManagement/role/index.vue

@ -1,6 +1,6 @@
<template>
<div class="roles">
<form-container label="名称" @submit="submitForm" @resetForm="resetForm"></form-container>
<form-container label="名称" @submit="submitForm"></form-container>
<div class="role">
<el-row>
<el-col :span="4" :xs="6" :md="5">
@ -10,41 +10,39 @@
新增角色
</el-button>
</router-link>
<el-table @row-click="openDetails"
:data="lists"
style="width: 100%">
<el-table-column
label="名称">
<template slot-scope="lists">
<span :class="{'select':lists.row.isSel}"
type="text"
size="small"
>
{{lists.row.name}}
<el-table @row-click="openDetails" :data="lists" style="width: 100%">
<el-table-column label="名称">
<template slot-scope="role">
<span :class="{'select':role.row.isSel}" type="text" size="small">
{{role.row.roleName}}
</span>
</template>
</el-table-column>
<el-table-column
fixed="right"
label="操作"
fixed="right"
label="操作"
>
<template slot-scope="lists">
<span
:class="{'select':lists.row.isSel}"
type="text"
size="small"
class="option-span"
@click="removeItem(lists.row.id)"
>
<span :class="{'select':lists.row.isSel}" type="text" size="small" class="option-span" @click="removeItem(lists.row.roleId)">
删除
</span>
</template>
</el-table-column>
</el-table>
<div class="pagination">
<el-pagination
background
:page-size="params.pageSize"
layout="prev, pager, next"
:total="count"
@current-change="currentChange"
>
</el-pagination>
</div>
</div>
</el-col>
<el-col :span="20" :xs="18" :md="19" style="border-left: 1px solid #d9d9d9">
<Permissions :currId="id" :name="name" :permissions="permissions" @success="success"></Permissions>
<Permissions :roleId="roleId" :roleName="roleName" :permissionIds="permissionIds" @success="success"></Permissions>
</el-col>
</el-row>
</div>
@ -52,9 +50,9 @@
</template>
<script>
const FormContainer = () => import('../form.vue');
const FormContainer = () => import('./form.vue');
const Permissions = () => import('./permissions.vue');
// import {ROLES_LIST, ROLES_DELETE} from '@/api/privilegeManagement'
import { GET_ROLE_LIST, DELETE_ROLE } from '@/api/jurisdiction'
import Alert from "@/utils/alert";
import {pageSize} from '../../../config';
@ -66,21 +64,21 @@
},
data() {
return {
id: '',
name: '',
permissions: '',
roleId: '',
roleName: '',
permissionIds: [],
index: 0,
params: {
from: 0,
size: pageSize,
query: ''
roleName: '',
pageNum: 1,
pageSize: 10,
},
lists: []
lists: [],
count: 0,
}
},
mounted() {
// this.getList()
this.getList()
},
methods: {
@ -88,23 +86,25 @@
* 获取列表数据
*/
getList() {
let idx = this.index;
ROLES_LIST(this.params).then(res => {
res.map((item, index) => {
item.edit = false;
item.isSel = false;
if (index === idx) {
item.isSel = true;
}
return item
});
this.lists = res;
this.id = this.lists[idx].id;
this.permissions = this.lists[idx].permissions;
this.name = this.lists[idx].name;
GET_ROLE_LIST(this.params).then(res => {
if(res.code === 200) {
this.lists = res.data.list;
this.count = res.data.total - 0;
} else {
Alert.fail('查询角色列表失败,请重试')
}
});
},
//
currentChange(res) {
this.params = {
...this.params,
pageSize: res,
}
this.getList()
},
success() {
this.getList()
},
@ -115,35 +115,30 @@
openDetails(row) {
let lists = this.lists.map((item, index) => {
item.isSel = false;
if (row.id == item.id) {
if (row.roleId == item.roleId) {
item.isSel = true;
this.index = index;
}
return item
});
this.id = row.id;
this.name = row.name;
this.permissions = row.permissions;
this.roleId = row.roleId;
this.roleName = row.roleName;
this.permissionIds = row.permissionIds;
this.lists = lists;
},
removeItem(id) {
let params = {
id
};
removeItem(roleId) {
let params = { roleId };
this.$confirm('确定删除此角色嘛?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
let params = {
id: id
};
ROLES_DELETE(params).then((res) => {
DELETE_ROLE(params).then((res) => {
let lists = [];
this.lists.map((item) => {
if (item.id != id) {
lists.push(item)
if (item.roleId != roleId) {
lists.push(item);
}
return item;
});
@ -151,35 +146,19 @@
});
Alert.success("删除成功");
this.getList()
}).catch(() => {
})
},
/**
* 查询
*/
submitForm(res) {
this.params = {
...this.params,
query: res.name
roleName: res.roleName
};
this.getList()
},
/**
* 重置
*/
resetForm() {
this.params = {
from: 0,
size: pageSize,
query: ''
};
this.getList()
},
}
}
</script>

35
src/views/privilegeManagement/role/permissions.vue

@ -19,16 +19,22 @@
<!-- <el-row class="rowBg" v-for="(items,index) in permissionsList">
<el-col :span="24">
<div class="grid-content bg-purple-dark">
<el-checkbox @change="handleCheckedChange(index,items.permission.checked)"
v-model="items.permission.checked"
:disabled="!isEdit"
:active-text="items.permission.name">{{items.permission.name}}
<el-checkbox
@change="handleCheckedChange(index,items.permission.checked)"
v-model="items.permission.checked"
:disabled="!isEdit"
:active-text="items.permission.name"
>
{{items.permission.name}}
</el-checkbox>
<div v-for="(item,idx) in items.subpermissions" class="child-item">
<el-checkbox @change="handleCheckedChangeChild(index,idx,item.checked)"
v-model="item.checked"
:disabled="!isEdit || !items.permission.checked"
:active-text="item.name">{{item.name}}
<el-checkbox
@change="handleCheckedChangeChild(index,idx,item.checked)"
v-model="item.checked"
:disabled="!isEdit || !items.permission.checked"
:active-text="item.name"
>
{{item.name}}
</el-checkbox>
</div>
</div>
@ -55,13 +61,13 @@
</el-col>
</el-row> -->
</div>
<div v-show="isEdit || add" class="detail" style="border-top: 1px solid #d9d9d9">
<!-- <div v-show="isEdit || add" class="detail" style="border-top: 1px solid #d9d9d9">
<el-checkbox v-model="checkedAll" @change="handleCheckAllChange">选择全部</el-checkbox>
<div style="text-align: right;display: inline-block;top: 7px;">
<el-button v-show="!add" @click="cancelEdit">取消</el-button>
<el-button type="primary" @click="confirmEdit">确认</el-button>
</div>
</div>
</div> -->
</div>
</template>
@ -72,7 +78,7 @@
export default {
name: "permissions",
props: ['currId', 'name', 'permissions'],
props: ['roleId', 'roleName', 'permissionIds'],
data() {
return {
ruleName: '',
@ -108,7 +114,6 @@
{
permission: {name: '货道管理', value: '27'},
subpermissions: [
// { name: '', value: '28' },
{name: "货道配货", value: '28'},
{name: '新建货道方案', value: '29'},
{name: '编辑货道方案', value: '30'},
@ -186,11 +191,11 @@
},
watch: {
currId() {
roleId() {
this.getPermissions();
},
name() {
this.ruleName = this.name
roleName() {
this.ruleName = this.roleName
},
permissions() {
}

Loading…
Cancel
Save