Browse Source

修复系统管理--角色管理中点击查询条件报错和点击是否可用报错的问题

master
yunuo970428 3 years ago
parent
commit
5ae7d32b32
  1. 9
      anrui-system-ui/src/api/system/roleAdminister/index.js
  2. 616
      anrui-system-ui/src/views/RoleAdminister/RoleAdminister.vue
  3. 6
      anrui-system-ui/src/views/system-admin/RoleAdminister/RoleAdminister.vue

9
anrui-system-ui/src/api/system/roleAdminister/index.js

@ -26,9 +26,12 @@ export function postList(data){
// 设置是否可用:isEnable:1可用,0不可用 // 设置是否可用:isEnable:1可用,0不可用
export function setRoleEnable(data) { export function setRoleEnable(data) {
return request({ return request({
url: `/system/v1/orgroles/setIsEnable/${data.sid}/${data.isEnable}`, url: '/portal/v1/sysrole/setIsEnable/' + data.sid + '/' + data.isEnable,
method: 'POST', method: 'POST',
data: qs.stringify(data) data: data,
headers: {
'Content-Type': 'application/json'
}
}) })
} }
@ -145,4 +148,4 @@ export function savefunMenu(data) {
'token':tokens 'token':tokens
} }
}) })
} }

616
anrui-system-ui/src/views/RoleAdminister/RoleAdminister.vue

@ -20,7 +20,7 @@
<el-table :data="roleTable" border style="width: 100%;"> <el-table :data="roleTable" border style="width: 100%;">
<el-table-column label="序号" width="50px" type="index" align="center"> <el-table-column label="序号" width="50px" type="index" align="center">
</el-table-column> </el-table-column>
<el-table-column label="操作" width="440px" align="center"> <el-table-column label="操作" width="440px" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button @click="sourceMenus(scope.row)" type="primary" size="mini">资源授权</el-button> <el-button @click="sourceMenus(scope.row)" type="primary" size="mini">资源授权</el-button>
<el-button @click="funMenus(scope.row)" type="primary" size="mini">功能授权</el-button> <el-button @click="funMenus(scope.row)" type="primary" size="mini">功能授权</el-button>
@ -54,18 +54,18 @@
<el-dialog :title="dialogTitle + '角色信息'" :visible.sync="editDialog" width="40%"> <el-dialog :title="dialogTitle + '角色信息'" :visible.sync="editDialog" width="40%">
<table class="e-table" cellspacing="0"> <table class="e-table" cellspacing="0">
<tr> <tr>
<td>岗位</td> <td>岗位</td>
<td> <td>
<el-select v-model="roleForm.postSid" style="width:300px"> <el-select v-model="roleForm.postSid" style="width:300px">
<el-option <el-option
v-for="(item, i) in postSidData" v-for="(item, i) in postSidData"
:key="i" :key="i"
:label="item.name" :label="item.name"
:value="item.sid"> :value="item.sid">
</el-option> </el-option>
</el-select> </el-select>
</td> </td>
</tr> </tr>
<tr> <tr>
<td>角色名称</td> <td>角色名称</td>
<td> <td>
@ -153,9 +153,9 @@
<el-input v-model="roleForm.name" readonly></el-input> <el-input v-model="roleForm.name" readonly></el-input>
</td> </td>
</tr> </tr>
<tr > <tr>
<td>可操作菜单列表</td> <td>可操作菜单列表</td>
<td > <td>
<div style="height:230px;line-height:120px;overflow:auto;overflow-x:hidden;"> <div style="height:230px;line-height:120px;overflow:auto;overflow-x:hidden;">
<el-tree v-loading="loading" :data="treedata" ref="Tree" show-checkbox accordion node-key="sid" <el-tree v-loading="loading" :data="treedata" ref="Tree" show-checkbox accordion node-key="sid"
:default-expand-all='true' :check-strictly="true" :default-expand-all='true' :check-strictly="true"
@ -225,314 +225,314 @@
</template> </template>
<script> <script>
import { import {
roleOrgList, roleOrgList,
saveOrgroles, saveOrgroles,
putOrgroles, putOrgroles,
delOrgroles, delOrgroles,
setRoleEnable, setRoleEnable,
roleMenuTree, roleMenuTree,
saveorgrolemenus, saveorgrolemenus,
sourceMenuTree, sourceMenuTree,
saveSource, saveSource,
funMenuTree, funMenuTree,
savefunMenu, savefunMenu,
postList postList
} from '@/api/system/roleAdminister/index.js' } from '@/api/system/roleAdminister/index.js'
export default { export default {
data() { data() {
return { return {
dialogTitle: '', dialogTitle: '',
activeName: 'roleList', activeName: 'roleList',
roleForm: { roleForm: {
name: '', name: '',
code: '', code: '',
sort: '', sort: '',
type: '2', type: '2',
postSid:'', postSid: '',
remarks: '' remarks: ''
},
formBackup: {},
search: {
name: ''
},
page: {
total: 0, //
current: 1, //
size: 10, //
},
roleTable: [],
postSidData:[],
editDialog: false,
//
loading: false,
defaultProps: {
children: 'children',
label: 'name'
},
checkedId: [], //
treedata: [], //
chace: [],
roleDialog: false,
Thisrow: {},
//
sourceDialog: false,
sourcetreedata: [],
sourcedefaultProps: {
children: 'children',
label: 'sourceName'
},
//
funDialog: false
};
},
mounted() {
this.formBackup = Object.assign({}, this.roleForm),
this.getroleOrgList()
this.getPostList()
},
methods: {
pagination(val) { //
this.page.current = val.pageNum
this.page.size = val.pageSize
this.getroleOrgList()
}, },
getPostList(){ formBackup: {},
postList().then((res)=>{ search: {
if(res.code==='200'){ name: ''
this.postSidData=res.data
}
})
}, },
// page: {
getroleOrgList(flag) { total: 0, //
if (flag == '1') { current: 1, //
this.page.current = 1 size: 10 //
}
let params = this.page
params.params = this.search
roleOrgList(params).then(res => {
this.page.total = res.data.total
this.roleTable = res.data.records
for (let i = 0; i < this.roleTable.length; i++) {
if (this.roleTable[i].isEnable == '1') {
this.roleTable[i].isEnableName = '是'
} else {
this.roleTable[i].isEnableName = '否'
}
}
})
}, },
handleClick(tab, event) { roleTable: [],
if (tab.name == 'addrole') { postSidData: [],
this.dialogTitle = '新增' editDialog: false,
this.roleForm = Object.assign({}, this.formBackup) //
} else { loading: false,
this.getroleOrgList() defaultProps: {
} children: 'children',
label: 'name'
}, },
editRow(row) { checkedId: [], //
this.dialogTitle = '编辑' treedata: [], //
this.editDialog = true chace: [],
this.roleForm = Object.assign({}, row) roleDialog: false,
Thisrow: {},
//
sourceDialog: false,
sourcetreedata: [],
sourcedefaultProps: {
children: 'children',
label: 'sourceName'
}, },
delRow(row) { //
this.$confirm('确定要删除该角色吗, 是否继续?', '提示', { funDialog: false
confirmButtonText: '确定', };
cancelButtonText: '取消', },
type: 'warning' mounted() {
}).then(() => { this.formBackup = Object.assign({}, this.roleForm),
delOrgroles({ this.getroleOrgList()
sid: row.sid this.getPostList()
}).then(res => { },
this.getroleOrgList() methods: {
this.$message({ pagination(val) { //
type: 'success', this.page.current = val.pageNum
message: '删除成功!' this.page.size = val.pageSize
}); this.getroleOrgList()
}) },
}) getPostList() {
}, postList().then((res) => {
// if (res.code === '200') {
save() { this.postSidData = res.data
if (this.roleForm.sid) {
putOrgroles(this.roleForm).then(res => {
if (res.code == '200') {
this.getroleOrgList()
this.editDialog = false
this.$message({
message: res.msg,
type: 'success'
})
}
})
} else {
saveOrgroles(this.roleForm).then(res => {
if (res.code == '200') {
this.$message({
message: res.msg,
type: 'success'
})
this.activeName = "roleList"
this.getroleOrgList()
}
})
} }
}, })
// },
enabledChange(value, row) { //
setRoleEnable({ getroleOrgList(flag) {
isEnable: value, if (flag == '1') {
this.page.current = 1
}
let params = this.page
params.params = this.search
roleOrgList(params).then(res => {
this.page.total = res.data.total
this.roleTable = res.data.records
for (let i = 0; i < this.roleTable.length; i++) {
if (this.roleTable[i].isEnable == '1') {
this.roleTable[i].isEnableName = '是'
} else {
this.roleTable[i].isEnableName = '否'
}
}
})
},
handleClick(tab, event) {
if (tab.name == 'addrole') {
this.dialogTitle = '新增'
this.roleForm = Object.assign({}, this.formBackup)
} else {
this.getroleOrgList()
}
},
editRow(row) {
this.dialogTitle = '编辑'
this.editDialog = true
this.roleForm = Object.assign({}, row)
},
delRow(row) {
this.$confirm('确定要删除该角色吗, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
delOrgroles({
sid: row.sid sid: row.sid
}).then(res => { }).then(res => {
this.getroleOrgList()
this.$message({ this.$message({
type: 'success', type: 'success',
message: res.msg message: '删除成功!'
}); });
}) })
}, })
sourceMenus(row) { },
this.sourceDialog = true //
this.checkedId = [] save() {
this.roleForm.name = row.name if (this.roleForm.sid) {
this.Thisrow = row putOrgroles(this.roleForm).then(res => {
this.loading = true if (res.code == '200') {
let params = { this.getroleOrgList()
roleSid: row.sid this.editDialog = false
} this.$message({
sourceMenuTree(params).then(res => { message: res.msg,
let data1 = res.data type: 'success'
for (let i = 0; i < data1.length; i++) { })
if (data1[i].checked == 0) {
this.checkedId.push(data1[i].sid)
}
} }
this.treedata = res.data
this.loading = false
}) })
}, } else {
funMenus(row) { saveOrgroles(this.roleForm).then(res => {
this.funDialog = true if (res.code == '200') {
this.checkedId = [] this.$message({
this.roleForm.name = row.name message: res.msg,
this.Thisrow = row type: 'success'
this.loading = true })
let params = { this.activeName = "roleList"
roleSid: row.sid this.getroleOrgList()
}
})
}
},
//
enabledChange(value, row) {
setRoleEnable({
sid: row.sid,
isEnable: value
}).then(res => {
this.$message({
type: 'success',
message: res.msg
});
})
},
sourceMenus(row) {
this.sourceDialog = true
this.checkedId = []
this.roleForm.name = row.name
this.Thisrow = row
this.loading = true
let params = {
roleSid: row.sid
}
sourceMenuTree(params).then(res => {
let data1 = res.data
for (let i = 0; i < data1.length; i++) {
if (data1[i].checked == 0) {
this.checkedId.push(data1[i].sid)
}
} }
funMenuTree(params).then(res => { this.treedata = res.data
let data1 = res.data this.loading = false
for (let i = 0; i < data1.length; i++) { })
if (data1[i].checked == 0) { },
this.checkedId.push(data1[i].sid) funMenus(row) {
this.funDialog = true
this.checkedId = []
this.roleForm.name = row.name
this.Thisrow = row
this.loading = true
let params = {
roleSid: row.sid
}
funMenuTree(params).then(res => {
let data1 = res.data
for (let i = 0; i < data1.length; i++) {
if (data1[i].checked == 0) {
this.checkedId.push(data1[i].sid)
}
for (let j = 0; j < data1[i].children.length; j++) {
let data2 = data1[i].children
if (data2[j].checked == 0) {
this.checkedId.push(data2[j].sid)
} }
for (let j = 0; j < data1[i].children.length; j++) { for (let k = 0; k < data2[j].children.length; k++) {
let data2 = data1[i].children let data3 = data2[j].children
if (data2[j].checked == 0) { if (data3[k].checked == 0) {
this.checkedId.push(data2[j].sid) this.checkedId.push(data3[k].sid)
}
for (let k = 0; k < data2[j].children.length; k++) {
let data3 = data2[j].children
if (data3[k].checked == 0) {
this.checkedId.push(data3[k].sid)
}
} }
} }
} }
this.treedata = res.data
this.loading = false
})
},
//
roleMenus(row) {
this.roleDialog = true
this.checkedId = []
this.roleForm.name = row.name
this.Thisrow = row
this.loading = true
let params = {
roleSid: row.sid
} }
roleMenuTree(params).then(res => { this.treedata = res.data
let data1 = res.data this.loading = false
for (let i = 0; i < data1.length; i++) { })
if (data1[i].checked == 0) { },
this.checkedId.push(data1[i].sid) //
roleMenus(row) {
this.roleDialog = true
this.checkedId = []
this.roleForm.name = row.name
this.Thisrow = row
this.loading = true
let params = {
roleSid: row.sid
}
roleMenuTree(params).then(res => {
let data1 = res.data
for (let i = 0; i < data1.length; i++) {
if (data1[i].checked == 0) {
this.checkedId.push(data1[i].sid)
}
for (let j = 0; j < data1[i].children.length; j++) {
let data2 = data1[i].children
if (data2[j].checked == 0) {
this.checkedId.push(data2[j].sid)
} }
for (let j = 0; j < data1[i].children.length; j++) { for (let k = 0; k < data2[j].children.length; k++) {
let data2 = data1[i].children let data3 = data2[j].children
if (data2[j].checked == 0) { if (data3[k].checked == 0) {
this.checkedId.push(data2[j].sid) this.checkedId.push(data3[k].sid)
}
for (let k = 0; k < data2[j].children.length; k++) {
let data3 = data2[j].children
if (data3[k].checked == 0) {
this.checkedId.push(data3[k].sid)
}
} }
} }
} }
this.treedata = res.data
this.getTreeParentNode(res.data, this.checkedId)
this.getTreeParentid(res.data)
this.loading = false
})
},
//
getTreeParentNode(menus, ids) {
for (var i = 0; i < menus.length; i++) {
if (menus[i].children && menus[i].children.length != 0) {
this.getTreeParentNode(menus[i].children, ids)
} else if (menus[i].isCheck) {
ids.push(menus[i].sid)
}
} }
}, this.treedata = res.data
// ID this.getTreeParentNode(res.data, this.checkedId)
getTreeParentid(menus) { this.getTreeParentid(res.data)
for (var i = 0; i < menus.length; i++) { this.loading = false
this.chace.push(menus[i].sid) })
},
//
getTreeParentNode(menus, ids) {
for (var i = 0; i < menus.length; i++) {
if (menus[i].children && menus[i].children.length !== 0) {
this.getTreeParentNode(menus[i].children, ids)
} else if (menus[i].isCheck) {
ids.push(menus[i].sid)
} }
}, }
},
// ID
getTreeParentid(menus) {
for (var i = 0; i < menus.length; i++) {
this.chace.push(menus[i].sid)
}
},
// //
sourceSave() { sourceSave() {
let _this = this let _this = this
let sourceMenus = this.$refs.sourceTree.getCheckedKeys() let sourceMenus = this.$refs.sourceTree.getCheckedKeys()
let params = { let params = {
sorceSid: sourceMenus.toString(), sorceSid: sourceMenus.toString(),
roleSid: _this.Thisrow.sid roleSid: _this.Thisrow.sid
} }
saveSource(params).then(res => { saveSource(params).then(res => {
this.sourceDialog = false this.sourceDialog = false
this.$message({ this.$message({
message: res.msg, message: res.msg,
type: 'success' type: 'success'
})
}) })
}, })
},
// //
funSave() { funSave() {
let _this = this let _this = this
let funMenus = this.$refs.funTree.getCheckedKeys() let funMenus = this.$refs.funTree.getCheckedKeys()
let params = { let params = {
functionSid: funMenus.toString(), functionSid: funMenus.toString(),
roleSid: _this.Thisrow.sid roleSid: _this.Thisrow.sid
} }
savefunMenu(params).then(res => { savefunMenu(params).then(res => {
this.funDialog = false this.funDialog = false
this.$message({ this.$message({
message: res.msg, message: res.msg,
type: 'success' type: 'success'
})
}) })
}, })
},
// //
getCheckedKeys() { getCheckedKeys() {
let _this = this let _this = this
let roleMenus = [] let roleMenus = []
roleMenus = this.$refs.Tree.getCheckedKeys() roleMenus = this.$refs.Tree.getCheckedKeys()
// let parentTrue = this.$refs.Tree.getHalfCheckedKeys() // let parentTrue = this.$refs.Tree.getHalfCheckedKeys()
// for (let i = 0; i < parentTrue.length; i++) { // for (let i = 0; i < parentTrue.length; i++) {
@ -542,27 +542,27 @@
// } // }
// } // }
// } // }
let params = { let params = {
menuSid: roleMenus.toString(), menuSid: roleMenus.toString(),
roleSid: _this.Thisrow.sid roleSid: _this.Thisrow.sid
} }
saveorgrolemenus(params).then(res => { saveorgrolemenus(params).then(res => {
this.roleDialog = false this.roleDialog = false
this.$message({ this.$message({
message: res.msg, message: res.msg,
type: 'success' type: 'success'
})
}) })
}, })
checkchange() { },
checkchange() {
}
} }
}; }
};
</script> </script>
<style scoped="scoped"> <style scoped="scoped">
.my-tabs { .my-tabs {
margin-top: 10px; margin-top: 10px;
} }
</style> </style>

6
anrui-system-ui/src/views/system-admin/RoleAdminister/RoleAdminister.vue

@ -258,8 +258,8 @@
// //
enabledChange(value, row) { enabledChange(value, row) {
setRoleEnable({ setRoleEnable({
isEnable: value, sid: row.sid,
sid: row.sid isEnable: value
}).then(res => { }).then(res => {
this.$message({ this.$message({
type: 'success', type: 'success',
@ -340,7 +340,7 @@
}) })
}) })
}, },
} }
}; };
</script> </script>

Loading…
Cancel
Save