<template>
|
<div>
|
<div class="content-main">
|
<div class="top-bar">
|
<el-form style="display: flex;align-items: center;margin-top: 10px;" ref="form" :inline="true" :model="searchData">
|
<el-form-item label="角色名称:" class="sermargin">
|
<el-input size="small" v-model="searchData.roleName" class="input-form" placeholder="请输入角色名称" style="width:250px">
|
</el-input>
|
</el-form-item>
|
<el-form-item class="rightBtn">
|
<el-col>
|
<el-button size="small" type="primary" @click="searchRole">查询</el-button>
|
<el-button size="small" type="primary" @click="clear()" plain>重置</el-button>
|
</el-col>
|
</el-form-item>
|
</el-form>
|
<el-form style="margin-top: 10px;">
|
<el-form-item class="rightBtn">
|
<el-button size="small" type="primary" @click="addClickRole" icon="el-icon-plus">新增角色</el-button>
|
</el-form-item>
|
</el-form>
|
</div>
|
<div class="library-table">
|
<div class="table-box">
|
<el-table :max-height="800" :cell-style="{ textAlign: 'left' }"
|
:header-cell-style="{ border: '0px', background: '#f5f7fa', color: '#606266', boxShadow: 'inset 0 1px 0 #ebeef5', textAlign: 'left' }"
|
:data="roleTable" style="width: 100%">
|
<el-table-column type="index" min-width="8%" />
|
<el-table-column prop="roleName" label="角色名称" min-width="20%" />
|
<el-table-column prop="createTime" label="创建时间" min-width="20%" />
|
<el-table-column prop="updateTime" label="更新时间" min-width="20%" />
|
<el-table-column label="操作" min-width="12%">
|
<template slot-scope="scope">
|
<el-button type="text" @click="selectRoleInfo(scope)" size="small">查看</el-button>
|
<el-button type="text" @click="upRole(scope)" size="small">编辑</el-button>
|
<el-button type="text" @click="removeRole(scope)" size="small">删除</el-button>
|
</template>
|
</el-table-column>
|
</el-table>
|
<!-- 分页器 -->
|
<div class="pagination">
|
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
|
:current-page="currentPage" :page-sizes="[5, 10, 20]" :page-size="pageSize"
|
layout="total, sizes, prev, pager, next, jumper" :total="total">
|
</el-pagination>
|
</div>
|
</div>
|
</div>
|
</div>
|
<el-dialog title="新增角色" :visible.sync="dialogTableVisible" width="50%">
|
<el-form :model="roleAdd" ref="roleAdd" label-position="right" label-width="100px">
|
<el-col :span="24" style="display: flex;justify-content: space-between;">
|
<el-form-item :rules="nameaRules" label="角色名:">
|
<el-input @blur="assertName" style="width: 300px" v-model="roleAdd.roleName" placeholder="请输入角色名">
|
</el-input>
|
</el-form-item>
|
<!-- <el-form-item label="菜单选择:">
|
<el-cascader style="width: 300px" collapse-tags size="medium " filterable :props="props"
|
v-model="roleAdd.menuData" :options="menuInfo">
|
<template slot-scope="{ data }">
|
<span>{{ data.label }}</span>
|
</template>
|
</el-cascader>
|
</el-form-item> -->
|
</el-col>
|
</el-form>
|
<el-col :span="24">
|
<el-table height="300" :data="menuInfo" style="width: 100%;margin-bottom: 20px;" row-key="id"
|
:default-expand-all="false" :tree-props="{ children: 'children', hasChildren: 'hasChildren' }">
|
<el-table-column highlight-current-row prop="parentId" label="菜单类型" sortable width="180">
|
<template slot-scope="scope">
|
<span v-if="scope.row.parentId == 0" style="color: #409eff;">主菜单</span>
|
<!-- <span v-if="scope.row.parentId == 0 && scope.row.children === undefined" style="color: #409eff;">
|
主菜单
|
</span> -->
|
</template>
|
</el-table-column>
|
<el-table-column prop="name" label="菜单名" sortable width="180">
|
<template slot-scope="scope">
|
<el-col v-if="scope.row.parentId == 0">
|
<span style="color: #409eff;">{{ scope.row.name }}</span>
|
</el-col>
|
<el-col v-else>
|
<span style="color: #40b815;">{{ scope.row.name }}</span>
|
</el-col>
|
</template>
|
</el-table-column>
|
<el-table-column prop="id" label="操作权限">
|
<template slot-scope="scope">
|
<el-col v-if="scope.row.parentId == 0 && scope.row.children != undefined">
|
<!-- <el-checkbox v-model="scope.row.select">查询</el-checkbox> -->
|
</el-col>
|
<el-col v-else>
|
<el-checkbox size="medium" v-model="scope.row.selected" @change="chekSelect(scope)">查询</el-checkbox>
|
<el-checkbox size="medium" v-model="scope.row.added" @change="chekAdd(scope)">添加</el-checkbox>
|
<el-checkbox size="medium" v-model="scope.row.updated" @change="chekUpdate(scope)">修改</el-checkbox>
|
<el-checkbox size="medium" v-model="scope.row.deleted" @change="chekDelet(scope)">删除</el-checkbox>
|
</el-col>
|
</template>
|
</el-table-column>
|
</el-table>
|
</el-col>
|
<span slot="footer" class="dialog-footer">
|
<el-button @click="clearAll">取 消</el-button>
|
<el-button type="primary" @click="addRole">确 定</el-button>
|
</span>
|
</el-dialog>
|
|
<el-dialog top="5vh" title="编辑角色" :visible.sync="dialogTableVisibleUpdate" width="50%">
|
<el-form :model="updateRole" ref="updateRole" label-position="right" label-width="100px">
|
<el-col :span="24" style="display: flex;justify-content: space-between;">
|
<el-form-item :rules="nameaRules" label="角色名:">
|
<el-input @blur="assertUpName" style="width: 300px" v-model="updateRole.roleName" placeholder="请输入角色名">
|
</el-input>
|
</el-form-item>
|
<!-- <el-form-item label="菜单选择:">
|
<el-cascader style="width: 300px" collapse-tags size="medium " filterable :props="props"
|
v-model="roleAdd.menuData" :options="menuInfo">
|
<template slot-scope="{ data }">
|
<span>{{ data.label }}</span>
|
</template>
|
</el-cascader>
|
</el-form-item> -->
|
</el-col>
|
</el-form>
|
<el-col :span="24">
|
<el-table height="500" :data="menuUpdateInfo" style="width: 100%;margin-bottom: 20px;" row-key="id"
|
:default-expand-all="true" :tree-props="{ children: 'children', hasChildren: 'hasChildren' }">
|
<el-table-column highlight-current-row prop="parentId" label="菜单类型" sortable width="180">
|
<template slot-scope="scope">
|
<span v-if="scope.row.parentId == 0" style="color: #409eff;">主菜单</span>
|
<!-- <span v-if="scope.row.parentId == 0 && scope.row.children === undefined" style="color: #409eff;">
|
主菜单
|
</span> -->
|
</template>
|
</el-table-column>
|
<el-table-column prop="name" label="菜单名" sortable width="180">
|
<template slot-scope="scope">
|
<el-col v-if="scope.row.parentId == 0">
|
<span style="color: #409eff;">{{ scope.row.name }}</span>
|
</el-col>
|
<el-col v-else>
|
<span style="color: #40b815;">{{ scope.row.name }}</span>
|
</el-col>
|
</template>
|
</el-table-column>
|
<el-table-column prop="id" label="操作权限">
|
<template slot-scope="scope">
|
<el-col v-if="scope.row.parentId == 0 && scope.row.children != undefined">
|
<!-- <el-checkbox v-model="scope.row.select">查询</el-checkbox> -->
|
</el-col>
|
<el-col v-else>
|
<el-checkbox size="medium" v-model="scope.row.selected" @change="chekSelect(scope)">查询</el-checkbox>
|
<el-checkbox size="medium" v-model="scope.row.added" @change="chekAdd(scope)">添加</el-checkbox>
|
<el-checkbox size="medium" v-model="scope.row.updated" @change="chekUpdate(scope)">修改</el-checkbox>
|
<el-checkbox size="medium" v-model="scope.row.deleted" @change="chekDelet(scope)">删除</el-checkbox>
|
</el-col>
|
</template>
|
</el-table-column>
|
</el-table>
|
</el-col>
|
<span slot="footer" class="dialog-footer">
|
<el-button @click="clearUPAll">取 消</el-button>
|
<el-button type="primary" @click="cilckUP">确 定</el-button>
|
</span>
|
</el-dialog>
|
|
<el-dialog top="5vh" title="角色察看" :visible.sync="dialogTableSelectVisible" width="50%">
|
<el-form :model="selectMenuInfo" ref="selectMenuInfo" label-position="right" label-width="100px">
|
<el-col :span="24" style="display: flex;justify-content: space-between;">
|
<el-form-item label="角色名:">
|
<el-input style="width: 300px" v-model="selectMenuInfo.roleName" readonly>
|
</el-input>
|
</el-form-item>
|
<!-- <el-form-item label="菜单选择:">
|
<el-cascader style="width: 300px" collapse-tags size="medium " filterable :props="props"
|
v-model="roleAdd.menuData" :options="menuInfo">
|
<template slot-scope="{ data }">
|
<span>{{ data.label }}</span>
|
</template>
|
</el-cascader>
|
</el-form-item> -->
|
</el-col>
|
</el-form>
|
<el-col :span="24">
|
<el-table height="500" :data="selectMenuInfo.menuData" style="width: 100%;margin-bottom: 20px;" row-key="menuId"
|
:default-expand-all="true" :tree-props="{ children: 'children', hasChildren: 'hasChildren' }">
|
<el-table-column highlight-current-row prop="parentId" label="菜单类型" sortable width="180">
|
<template slot-scope="scope">
|
<span v-if="scope.row.parentId == 0" style="color: #409eff;">主菜单</span>
|
<!-- <span v-if="scope.row.parentId == 0 && scope.row.children === undefined" style="color: #409eff;">
|
主菜单
|
</span> -->
|
</template>
|
</el-table-column>
|
<el-table-column prop="menuName" label="菜单名" sortable width="180">
|
<template slot-scope="scope">
|
<el-col v-if="scope.row.parentId == 0">
|
<span style="color: #409eff;">{{ scope.row.menuName }}</span>
|
</el-col>
|
<el-col v-else>
|
<span style="color: #40b815;">{{ scope.row.menuName }}</span>
|
</el-col>
|
</template>
|
</el-table-column>
|
<el-table-column prop="menuId" label="操作权限">
|
<template slot-scope="scope">
|
<el-col v-if="scope.row.parentId == 0 && scope.row.children.length > 0">
|
<!-- <el-checkbox v-model="scope.row.select">查询</el-checkbox> -->
|
</el-col>
|
<el-col id="selectRoleCheck" class="selectRoleCheck" v-else>
|
<el-checkbox size="medium" disabled v-model="scope.row.selected">查询</el-checkbox>
|
<el-checkbox size="medium" disabled v-model="scope.row.added">添加</el-checkbox>
|
<el-checkbox size="medium" disabled v-model="scope.row.updated">修改</el-checkbox>
|
<el-checkbox size="medium" disabled v-model="scope.row.deleted">删除</el-checkbox>
|
</el-col>
|
</template>
|
</el-table-column>
|
</el-table>
|
</el-col>
|
</el-dialog>
|
</div>
|
</template>
|
|
<script>
|
import { getMenusTree, addRoleInfo, assertRepeat, getAllRoleAndMenuInfo, deleteRole, updateRoleMenu } from '@/api/laboratory/role'
|
import { default as menuPower } from './menuPower.vue'
|
export default {
|
components: {
|
menuPower: () => import('./menuPower.vue')
|
},
|
data() {
|
return {
|
props: { multiple: true },
|
dialogTableVisibleUpdate: false,
|
updateRole: {
|
roleId: null,
|
roleName: null,
|
lastName: null,
|
menuData: null,
|
lastMenuSelect: null
|
},
|
selectRole: [],
|
roleAdd: {
|
roleName: null,
|
menuData: null
|
},
|
nameaRules: [{ required: true, message: '请输入角色名' }],
|
menuTableTree: null,
|
searchData: {
|
roleName: '',
|
},
|
assertRepeatName: true,
|
menuInfo: [],
|
menuUpdateInfo: [],
|
selectMenuInfo: {
|
roleName: null,
|
menuData: null
|
},
|
roleTable: [],
|
updateData: {
|
oldPassWord: '',
|
newPassWord: '',
|
confirmPassWord: ''
|
},
|
dialogTableVisible: false,
|
dialogTableSelectVisible: false,
|
addOrUp: false,
|
currentPage: 1,
|
pageSize: 5,
|
total: 20
|
}
|
},
|
created() {
|
|
},
|
mounted() {
|
this.start()
|
},
|
methods: {
|
selectRoleInfo(scope) {
|
this.selectMenuInfo.roleName = scope.row.roleName
|
this.selectMenuInfo.menuData = scope.row.roleMenuList
|
console.log(this.selectMenuInfo.menuData);
|
this.dialogTableSelectVisible = true
|
},
|
searchRole() {
|
this.start()
|
},
|
clear(){
|
this.searchData.roleName=''
|
this.start()
|
},
|
clearUPAll() {
|
this.updateRole = {
|
roleId: null,
|
roleName: null,
|
lastName: null,
|
menuData: null,
|
lastMenuSelect: null
|
}
|
this.menuUpdateInfo = []
|
this.dialogTableVisibleUpdate = false
|
},
|
async cilckUP() {
|
if (this.updateRole.roleName == null || this.updateRole.roleName == '') {
|
this.$message({
|
message: '请输入角色名',
|
type: 'warning'
|
});
|
return
|
}
|
if (!this.assertRepeatName) {
|
this.$message({
|
message: '角色名重复,请重新输入',
|
type: 'warning'
|
});
|
return
|
}
|
this.menuUpdateInfo.forEach(item => {
|
if (item.children != undefined) {
|
item.children.forEach(c => {
|
if (c.added) {
|
item.selected = true
|
}
|
if (c.selected) {
|
item.selected = true
|
}
|
if (c.updated) {
|
item.selected = true
|
}
|
if (c.deleted) {
|
item.selected = true
|
}
|
})
|
}
|
})
|
console.log(this.menuUpdateInfo);
|
this.updateRole.menuData = JSON.parse(JSON.stringify(this.menuUpdateInfo));
|
this.updateRole.menuData.forEach(item => {
|
if (item.children != undefined) {
|
let child = item.children.filter(c => {
|
return c.added == true || c.selected == true || c.deleted == true || c.updated === true
|
})
|
item.children = child
|
}
|
})
|
this.updateRole.menuData = this.updateRole.menuData.filter(item => {
|
return item.selected == true
|
})
|
this.assertDeleteOrUp()
|
console.log(this.updateRole);
|
let up = await updateRoleMenu(this.updateRole)
|
if (up.data) {
|
this.$message({
|
type: 'success',
|
message: '编辑成功!'
|
});
|
this.start()
|
this.clearUPAll()
|
} else {
|
this.$message.error('编辑失败!请重新操作');
|
}
|
|
},
|
async upRole(scope) {
|
this.updateRole.roleId = scope.row.roleId
|
this.updateRole.roleName = scope.row.roleName
|
this.updateRole.lastName = scope.row.roleName
|
let menuSelect = scope.row.roleMenuList
|
this.updateRole.lastMenuSelect = scope.row.roleMenuList
|
let res = await getMenusTree();
|
this.menuUpdateInfo = res.data
|
this.menuUpdateInfo.forEach(item => {
|
this.$set(item, 'added', false);
|
this.$set(item, 'updated', false);
|
this.$set(item, 'deleted', false);
|
this.$set(item, 'selected', false);
|
if (item.children.length == 0) {
|
delete item['children']
|
} else {
|
item.children.forEach(c => {
|
this.$set(c, 'selected', false);
|
this.$set(c, 'added', false);
|
this.$set(c, 'updated', false);
|
this.$set(c, 'deleted', false);
|
if (c.children.length == 0) {
|
delete c['children']
|
}
|
})
|
}
|
})
|
menuSelect.forEach(ms => {
|
this.menuUpdateInfo.forEach(item => {
|
if (ms.menuName === item.name) {
|
item.selected = ms.selected
|
item.added = ms.added
|
item.deleted = ms.deleted
|
item.updated = ms.updated
|
ms.children.forEach(msc => {
|
if (item.children != undefined) {
|
item.children.forEach(itemc => {
|
if (itemc.name === msc.menuName) {
|
itemc.selected = msc.selected
|
itemc.added = msc.added
|
itemc.deleted = msc.deleted
|
itemc.updated = msc.updated
|
}
|
})
|
}
|
})
|
}
|
})
|
})
|
this.dialogTableVisibleUpdate = true
|
},
|
removeRole(scope) {
|
this.$confirm('此操作将删除该角色, 是否继续?', '提示', {
|
confirmButtonText: '确定',
|
cancelButtonText: '取消',
|
type: 'warning'
|
}).then(async () => {
|
this.roleTable = this.roleTable.filter(item => {
|
return item.roleId != scope.row.roleId
|
});
|
this.$message({
|
type: 'success',
|
message: '删除成功!'
|
});
|
await deleteRole({ id: scope.row.roleId })
|
}).catch(() => {
|
this.$message({
|
type: 'info',
|
message: '已取消删除'
|
});
|
});
|
},
|
async start() {
|
let res = await getAllRoleAndMenuInfo({ currentPage: this.currentPage, pageSize: this.pageSize, name: this.searchData.roleName })
|
res.data.list.forEach(item => {
|
item.roleId = String(item.roleId)
|
})
|
this.roleTable = res.data.list
|
this.total = res.data.total
|
},
|
async assertName() {
|
if (this.roleAdd.roleName == null || this.roleAdd.roleName == '') {
|
this.$message({
|
message: '请输入角色名',
|
type: 'warning'
|
});
|
return
|
}
|
let res = await assertRepeat({ roleName: this.roleAdd.roleName })
|
if (!res.data) {
|
this.assertRepeatName = false
|
this.$message({
|
message: '角色名重复,请重新输入!',
|
type: 'warning'
|
});
|
} else {
|
this.assertRepeatName = true
|
}
|
},
|
chekAdd(scope) {
|
if (scope.row.added) {
|
scope.row.selected = true
|
}
|
this.updateFatherState(scope)
|
},
|
chekUpdate(scope) {
|
if (scope.row.updated) {
|
scope.row.selected = true
|
}
|
this.updateFatherState(scope)
|
},
|
chekDelet(scope) {
|
if (scope.row.deleted) {
|
scope.row.selected = true
|
}
|
this.updateFatherState(scope)
|
},
|
chekSelect(scope) {
|
this.updateFatherState(scope)
|
},
|
updateFatherState(scope) {
|
if (this.menuUpdateInfo != []) {
|
this.menuUpdateInfo.forEach(item => {
|
if (item.id == scope.row.parentId) {
|
if (item.children != undefined) {
|
let childrenFalse = item.children.length * 4;
|
let countFalse = 0;
|
item.children.forEach(c => {
|
if (c.added == false) {
|
countFalse++;
|
}
|
if (c.deleted == false) {
|
countFalse++;
|
}
|
if (c.updated == false) {
|
countFalse++;
|
}
|
if (c.selected == false) {
|
countFalse++;
|
}
|
})
|
if (childrenFalse === countFalse) {
|
item.selected = false
|
}
|
}
|
}
|
})
|
}
|
if (this.menuInfo != []) {
|
this.menuInfo.forEach(item => {
|
if (item.id == scope.row.parentId) {
|
if (item.children != undefined) {
|
let childrenFalse = item.children.length * 4;
|
let countFalse = 0;
|
item.children.forEach(c => {
|
if (c.added == false) {
|
countFalse++;
|
}
|
if (c.deleted == false) {
|
countFalse++;
|
}
|
if (c.updated == false) {
|
countFalse++;
|
}
|
if (c.selected == false) {
|
countFalse++;
|
}
|
})
|
if (childrenFalse === countFalse) {
|
item.selected = false
|
}
|
}
|
}
|
})
|
}
|
},
|
async addClickRole() {
|
let res = await getMenusTree();
|
this.menuInfo = res.data
|
this.menuInfo.forEach(item => {
|
this.$set(item, 'selected', false);
|
this.$set(item, 'added', false);
|
this.$set(item, 'updated', false);
|
this.$set(item, 'deleted', false);
|
if (item.children.length == 0) {
|
delete item['children']
|
} else {
|
item.children.forEach(c => {
|
this.$set(c, 'selected', false);
|
this.$set(c, 'added', false);
|
this.$set(c, 'updated', false);
|
this.$set(c, 'deleted', false);
|
if (c.children.length == 0) {
|
delete c['children']
|
}
|
})
|
}
|
})
|
this.dialogTableVisible = true
|
},
|
async addRole() {
|
if (this.roleAdd.roleName == null || this.roleAdd.roleName == '') {
|
this.$message({
|
message: '请输入角色名',
|
type: 'warning'
|
});
|
return
|
}
|
if (!this.assertRepeatName) {
|
this.$message({
|
message: '角色名重复,请重新输入',
|
type: 'warning'
|
});
|
return
|
}
|
this.menuInfo.forEach(item => {
|
if (item.children != undefined) {
|
item.children.forEach(c => {
|
if (c.added) {
|
item.selected = true
|
}
|
if (c.selected) {
|
item.selected = true
|
}
|
if (c.updated) {
|
item.selected = true
|
}
|
if (c.deleted) {
|
item.selected = true
|
}
|
})
|
}
|
})
|
console.log(this.menuInfo);
|
this.roleAdd.menuData = JSON.parse(JSON.stringify(this.menuInfo));
|
this.roleAdd.menuData.forEach(item => {
|
if (item.children != undefined) {
|
let child = item.children.filter(c => {
|
return c.added == true || c.selected == true || c.deleted == true || c.updated === true
|
})
|
item.children = child
|
}
|
})
|
this.roleAdd.menuData = this.roleAdd.menuData.filter(item => {
|
return item.selected == true
|
})
|
let res = await addRoleInfo(this.roleAdd);
|
this.start()
|
if (res.data) {
|
this.$message({
|
message: '添加角色成功',
|
type: 'success'
|
});
|
this.dialogTableVisible = false
|
} else {
|
this.$message.error('添加失败!请重新操作');
|
}
|
},
|
assertDml(a, b) {
|
a = b ? true : false
|
console.log(a);
|
return a
|
},
|
// search(){},
|
// reset(){},
|
// changePassword(){},
|
|
handleSizeChange(val) {
|
console.log(`当前每页${val}条数据`)
|
this.pageSize = val
|
},
|
handleCurrentChange(val) {
|
console.log(`当前是第${val}页`)
|
this.currentPage = val
|
},
|
clearAll() {
|
this.roleAdd.roleName = null
|
this.roleAdd.menuData = null
|
this.menuInfo = []
|
this.assertRepeatName = true
|
this.dialogTableVisible = false
|
},
|
assertDeleteOrUp() {
|
console.log("---------");
|
console.log(this.updateRole.menuData);
|
this.updateRole.lastMenuSelect
|
this.updateRole.menuData
|
let newTree = []
|
let oldTree = []
|
this.updateRole.menuData.forEach(item => {
|
const obj = {
|
menuId: item.id,
|
menuName: item.name,
|
added: item.added,
|
parentId: item.parentId,
|
deleted: item.deleted,
|
updated: item.updated,
|
selected: item.selected
|
}
|
newTree.push(obj)
|
if (item.children != undefined && obj.selected != false) {
|
item.children.forEach(c => {
|
const objc = {
|
menuId: c.id,
|
menuName: c.name,
|
parentId: c.parentId,
|
added: c.added,
|
deleted: c.deleted,
|
updated: c.updated,
|
selected: c.selected
|
}
|
newTree.push(objc)
|
})
|
}
|
})
|
console.log(newTree);
|
// this.updateRole.lastMenuSelect.forEach(item => {
|
// const obj = {
|
// menuId: item.menuId,
|
// menuName: item.menuName,
|
// added: item.added,
|
// deleted: item.deleted,
|
// updated: item.updated,
|
// selected: item.selected
|
// }
|
// if (obj.selected) {
|
// oldTree.push(obj)
|
// }
|
// if (item.children != [] && obj.selected != false) {
|
// item.children.forEach(c => {
|
// const objc = {
|
// menuId: c.menuId,
|
// menuName: c.menuName,
|
// added: c.added,
|
// deleted: c.deleted,
|
// updated: c.updated,
|
// selected: c.selected
|
// }
|
// oldTree.push(objc)
|
// })
|
// }
|
// })
|
console.log(oldTree);
|
// this.updateRole.lastMenuSelect = oldTree
|
this.updateRole.menuData = newTree
|
},
|
async assertUpName() {
|
if (this.updateRole.roleName == null || this.updateRole.roleName == '') {
|
this.$message({
|
message: '请输入角色名称!',
|
type: 'warning'
|
});
|
return
|
}
|
if (this.updateRole.roleName === this.updateRole.lastName) {
|
return
|
}
|
let res = await assertRepeat({ roleName: this.updateRole.roleName })
|
if (!res.data) {
|
this.assertRepeatName = false
|
this.$message({
|
message: '角色名重复,请重新输入!',
|
type: 'warning'
|
});
|
} else {
|
this.assertRepeatName = true
|
}
|
}
|
}
|
}
|
</script>
|
|
<style scoped>
|
.top-bar {
|
margin: -25px -15px;
|
background: #fff;
|
display: flex;
|
justify-content: space-between;
|
padding: 5px 24px 0px 24px;
|
|
.sermargin {
|
margin-right: 60px;
|
}
|
}
|
|
.rightBtn {
|
margin-right: 50px
|
}
|
|
.library-table {
|
background-color: #fff;
|
flex: 1;
|
margin: 0px -15px;
|
margin-top: 40px;
|
display: flex;
|
flex-direction: column;
|
|
.table-box {
|
padding: 10px 20px;
|
margin-top: 0px;
|
flex: 1;
|
background: #fff;
|
/* padding: 20px 20px 10px 20px; */
|
display: flex;
|
flex-direction: column;
|
|
.el-table {
|
flex: 1;
|
}
|
}
|
|
.pagination {
|
display: flex;
|
justify-content: end;
|
margin-top: 20px
|
}
|
|
}
|
</style>
|
|
<style>
|
#selectRolecheck .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after {
|
border-color: #fff !important;
|
}
|
|
#selectRoleCheck .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner {
|
background-color: #409EFF;
|
border-color: #409EFF;
|
}
|
</style>
|