Browse Source

系统管理--用户管理列表中添加是否可用的按钮

master
yunuo970428 3 years ago
parent
commit
64fa966d1b
  1. 12
      anrui-system-ui/src/api/system/userManage/index.js
  2. 634
      anrui-system-ui/src/views/userManage/userManageList.vue

12
anrui-system-ui/src/api/system/userManage/index.js

@ -136,3 +136,15 @@ export function getCode(data){
} }
}) })
} }
// 设置是否可用:isEnable:1可用,0不可用
export function setRoleEnable(data) {
return request({
url: '/portal/v1/sysuser/setIsEnable/' + data.sid + '/' + data.isEnable,
method: 'post',
data: data,
headers: {
'Content-Type': 'application/json'
}
})
}

634
anrui-system-ui/src/views/userManage/userManageList.vue

@ -9,11 +9,7 @@
</el-form-item> </el-form-item>
<el-form-item label="角色"> <el-form-item label="角色">
<el-select v-model="search.roleSid" clearable placeholder="请选择"> <el-select v-model="search.roleSid" clearable placeholder="请选择">
<el-option v-for="(item,i) in roleListAll" <el-option v-for="(item,i) in roleListAll" :key="i" :label="item.name" :value="item.sid"></el-option>
:key="i"
:label="item.name"
:value="item.sid"
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-button @click="getOrgUserList(1)">查询</el-button> <el-button @click="getOrgUserList(1)">查询</el-button>
@ -33,34 +29,40 @@
<el-button @click="initPwd(scope.row)" type="danger" size="mini"> <el-button @click="initPwd(scope.row)" type="danger" size="mini">
初始化密码 初始化密码
</el-button> </el-button>
<!-- <el-button @click="del(scope.row)" type="danger" size="mini"> <!-- <el-button @click="del(scope.row)" type="danger" size="mini">
删除 删除
</el-button>--> </el-button>-->
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="userName" label="用户名" align="center"> <el-table-column prop="userName" label="用户名" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<!-- <span class="tablerow-click" @click="userinfoChange(scope.row)">-->{{scope.row.userName}}<!--</span>--> <!-- <span class="tablerow-click" @click="userinfoChange(scope.row)">-->{{ scope.row.userName }}<!--</span>-->
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="userType" label="用户类型" align="center"></el-table-column> <el-table-column prop="userType" label="用户类型" align="center"></el-table-column>
<el-table-column prop="name" label="姓名" width="120px" align="center"></el-table-column> <el-table-column prop="name" label="姓名" width="120px" align="center"></el-table-column>
<el-table-column prop="departmentName" label="部门" align="center"></el-table-column> <el-table-column prop="departmentName" label="部门" align="center"></el-table-column>
<el-table-column prop="postName" label="岗位" align="center"></el-table-column> <el-table-column prop="postName" label="岗位" align="center"></el-table-column>
<el-table-column prop="isEnable" label="是否可用" align="center">
<template slot-scope="scope">
<el-switch
v-model="scope.row.isEnable"
active-value='1'
inactive-value='0'
active-color="#13ce66"
inactive-color="#ff4949"
@change="enabledChange($event,scope.row)">
</el-switch>
</template>
</el-table-column>
</el-table> </el-table>
<pagination :total="page.total" :page.sync="page.current" :limit.sync="page.size" @pagination="pagination"/> <pagination :total="page.total" :page.sync="page.current" :limit.sync="page.size" @pagination="pagination"/>
<!-- 角色设置 --> <!-- 角色设置 -->
<el-dialog title="设置角色" :visible.sync="roleDialog" width="30%"> <el-dialog title="设置角色" :visible.sync="roleDialog" width="30%">
<el-form :model="roleForm" :rules="rules" ref="roleForm"> <el-form :model="roleForm" :rules="rules" ref="roleForm">
<el-form-item label="角色名称" :label-width="formLabelWidth" prop="roleSid"> <el-form-item label="角色名称" :label-width="formLabelWidth" prop="roleSid">
<el-select v-model="roleForm.roleSid" placeholder="请选择" <el-select v-model="roleForm.roleSid" placeholder="请选择" multiple>
multiple <el-option v-for="(item,i) in roleList" :key="i" :label="item.name" :value="item.sid"></el-option>
>
<el-option v-for="(item,i) in roleList"
:key="i"
:label="item.name"
:value="item.sid"
></el-option>
</el-select> </el-select>
<!--<el-button type="primary" size='mini' @click="toNav('RoleAdminister')" style="margin-left: 10px;" circle icon="el-icon-plus"></el-button>--> <!--<el-button type="primary" size='mini' @click="toNav('RoleAdminister')" style="margin-left: 10px;" circle icon="el-icon-plus"></el-button>-->
</el-form-item> </el-form-item>
@ -107,11 +109,7 @@
<td>用户类型</td> <td>用户类型</td>
<td> <td>
<el-select v-model="form.userTypeKey" @change="$forceUpdate()" style="width:300px"> <el-select v-model="form.userTypeKey" @change="$forceUpdate()" style="width:300px">
<el-option <el-option v-for="(item, i) in userTypeData" :key="i" :label="item.name" :value="item.value">
v-for="(item, i) in userTypeData"
:key="i"
:label="item.name"
:value="item.value">
</el-option> </el-option>
</el-select> </el-select>
</td> </td>
@ -121,11 +119,7 @@
<td> <td>
<el-select v-model="form.deptSid" placeholder="请选择" @change="$forceUpdate()" style="width:300px"> <el-select v-model="form.deptSid" placeholder="请选择" @change="$forceUpdate()" style="width:300px">
<el-option hidden :key="form.deptSid" :label="orgName" :value="form.deptSid"></el-option> <el-option hidden :key="form.deptSid" :label="orgName" :value="form.deptSid"></el-option>
<el-tree :data="treedata" ref="Tree" show-checkbox accordion node-key="sid" <el-tree :data="treedata" ref="Tree" show-checkbox accordion node-key="sid" :default-checked-keys="checkedId" :default-expand-all='true' :check-strictly='true' :props="defaultProps" @check-change="checkchange">
:default-checked-keys="checkedId"
:default-expand-all='true' :check-strictly='true'
:props="defaultProps" @check-change="checkchange"
>
</el-tree> </el-tree>
</el-select> </el-select>
</td> </td>
@ -134,12 +128,7 @@
<td>岗位</td> <td>岗位</td>
<td> <td>
<el-select v-model="form.postSid" @change="$forceUpdate()" style="width:300px"> <el-select v-model="form.postSid" @change="$forceUpdate()" style="width:300px">
<el-option <el-option v-for="(item, i) in postSidData" :key="i" :label="item.name" :value="item.sid"></el-option>
v-for="(item, i) in postSidData"
:key="i"
:label="item.name"
:value="item.sid">
</el-option>
</el-select> </el-select>
<!--<el-input v-model="form.postSid"></el-input>--> <!--<el-input v-model="form.postSid"></el-input>-->
</td> </td>
@ -155,7 +144,7 @@
<td> <td>
<el-input v-model="form.verificationCode" placeholder="请输入验证码" style="width:300px"> <el-input v-model="form.verificationCode" placeholder="请输入验证码" style="width:300px">
<el-button v-show="showCode" slot="append" @click.native="getIdentifying">获取验证码</el-button> <el-button v-show="showCode" slot="append" @click.native="getIdentifying">获取验证码</el-button>
<el-button v-show="!showCode" slot="append">{{phoneCodeCount}} s</el-button> <el-button v-show="!showCode" slot="append">{{ phoneCodeCount }} s</el-button>
</el-input> </el-input>
</td> </td>
</tr> </tr>
@ -169,313 +158,316 @@
</template> </template>
<script> <script>
import { import {
userList, userList,
delUser, delUser,
initPwd, initPwd,
setRole, setRole,
orgList, orgList,
postList, postList,
saveOrgRole, saveOrgRole,
roleList, roleList,
userUpdata setRoleEnable,
} from '@/api/system/userManage/index.js' userUpdata
import {saveSourcesInfo} from "@/api/system/sources"; } from '@/api/system/userManage/index.js'
export default { export default {
data() { data() {
return { return {
editDialog: false, editDialog: false,
form: {}, form: {},
userTypeData: [{ userTypeData: [{
value: '1', value: '1',
name: '员工' name: '员工'
}, { }, {
value: '2', value: '2',
name: '客户' name: '客户'
}, { }, {
value: '3', value: '3',
name: '供应商' name: '供应商'
}], }],
checkedId: [], checkedId: [],
orgName: '', orgName: '',
defaultProps: { defaultProps: {
children: 'children', children: 'children',
label: 'name' label: 'name'
},
showCode: true,
postSidData: [],
phoneCodeCount: '',
timer: null,
roleListAll: [],
search: {
userName: '',
roleSid: '',
},
props: {
value: "sid",
label: "name",
children: "orgDepartmentVoList"
},
treedata: null,
page: {
total: 0, //
current: 1, //
size: 10, //
},
userTable: [],
clientTable: [],
//
formLabelWidth: '100',
roleDialog: false,
roleList: [],
roleForm: {
roleSid: "",
userSid: ""
},
//
bm_Dialog: false,
postSid: '',
bm_Form: {departmentSid: ''},
bm_List: [],
rules: {
roleSid: [
{required: true, message: '请选择角色名称', trigger: 'blur'}
],
departmentSid: [
{required: true, message: '请选择部门名称', trigger: 'blur'}
],
}
};
},
props: ['dataObj'],
watch: {
dataObj: {
handler(val) {
this.getOrgUserList()
},
deep: true,
}, },
}, showCode: true,
mounted() { postSidData: [],
this.getOrgUserList() phoneCodeCount: '',
this.getRoleList() timer: null,
this.getOrgTree() roleListAll: [],
this.getOrgList() search: {
userName: '',
}, roleSid: ''
methods: {
// +
getOrgUserList(flag) {
if (flag == '1') {
this.page.current = 1
}
let params = this.page
params.params = this.search
userList(params).then(res => {
this.page.total = res.data.total
this.userTable = res.data.records
})
}, },
getRoleList() { props: {
var param = {} value: 'sid',
roleList(param).then(res => { label: 'name',
if (res.code == "200") { children: 'orgDepartmentVoList'
this.roleListAll = res.data },
} treedata: null,
page: {
}) total: 0, //
current: 1, //
size: 10 //
},
userTable: [],
clientTable: [],
//
formLabelWidth: '100',
roleDialog: false,
roleList: [],
roleForm: {
roleSid: '',
userSid: ''
}, },
// //
pagination(val) { bm_Dialog: false,
this.page.current = val.pageNum postSid: '',
this.page.size = val.pageSize bm_Form: { departmentSid: '' },
bm_List: [],
rules: {
roleSid: [{ required: true, message: '请选择角色名称', trigger: 'blur' }],
departmentSid: [{ required: true, message: '请选择部门名称', trigger: 'blur' }]
}
}
},
props: ['dataObj'],
watch: {
dataObj: {
handler(val) {
this.getOrgUserList() this.getOrgUserList()
}, },
getOrgTree() { // deep: true
function treeArr(data) { }
if (data.length > 0) { },
for (var i = 0; i < data.length; i++) { mounted() {
if (data[i].orgDepartmentVoList.length > 0) { this.getOrgUserList()
treeArr(data[i].orgDepartmentVoList) this.getRoleList()
} else { this.getOrgTree()
delete data[i].orgDepartmentVoList this.getOrgList()
} },
} methods: {
} // +
getOrgUserList(flag) {
if (flag === '1') {
this.page.current = 1
}
let params = this.page
params.params = this.search
userList(params).then(res => {
this.page.total = res.data.total
this.userTable = res.data.records
})
},
getRoleList() {
var param = {}
roleList(param).then(res => {
if (res.code === '200') {
this.roleListAll = res.data
} }
})
// getOrgTree({organizationSid: this.$store.getters.userInfo.orgSid}).then(res => { },
// let tree = res.data[0].orgDepartmentVoList //
// treeArr(tree) pagination(val) {
// this.treedata = tree this.page.current = val.pageNum
// }) this.page.size = val.pageSize
}, this.getOrgUserList()
// ID },
setRole(row) { getOrgTree() { //
this.roleForm.roleSid = [] function treeArr(data) {
this.roleDialog = true if (data.length > 0) {
this.roleForm.sid = row.sid for (var i = 0; i < data.length; i++) {
this.roleForm.userSid = row.sid if (data[i].orgDepartmentVoList.length > 0) {
setRole(this.roleForm).then(res => { treeArr(data[i].orgDepartmentVoList)
this.roleList = res.data } else {
for (let i = 0; i < res.data.length; i++) { delete data[i].orgDepartmentVoList
if (res.data[i].checked == '0') {
this.roleForm.roleSid.push(res.data[i].sid)
} }
} }
// this.roleForm.roleSid = res.data.filter(item=> item.checked =='0') }
}) }
}, // getOrgTree({organizationSid: this.$store.getters.userInfo.orgSid}).then(res => {
// // let tree = res.data[0].orgDepartmentVoList
saveRole(formName) { // treeArr(tree)
this.$refs[formName].validate((valid) => { // this.treedata = tree
if (valid) { // })
this.roleForm.roleSid = this.roleForm.roleSid.toString() },
saveOrgRole(this.roleForm).then(res => { // ID
if (res.code == "200") { setRole(row) {
this.roleDialog = false this.roleForm.roleSid = []
this.getOrgUserList() this.roleDialog = true
this.$message({ this.roleForm.sid = row.sid
message: res.msg, this.roleForm.userSid = row.sid
type: 'success' setRole(this.roleForm).then(res => {
}) this.roleList = res.data
} for (let i = 0; i < res.data.length; i++) {
}) if (res.data[i].checked === '0') {
} else { this.roleForm.roleSid.push(res.data[i].sid)
return false;
} }
}); }
}, // this.roleForm.roleSid = res.data.filter(item=> item.checked =='0')
// })
saveOrg(formName) { },
this.$refs[formName].validate((valid) => { //
if (valid) { saveRole(formName) {
let params = { // this.$refs[formName].validate((valid) => {
departmentSid: this.bm_Form.departmentSid[this.bm_Form.departmentSid.length - 1], if (valid) {
staffSid: this.bm_Form.staffSid, this.roleForm.roleSid = this.roleForm.roleSid.toString()
saveOrgRole(this.roleForm).then(res => {
if (res.code === '200') {
this.roleDialog = false
this.getOrgUserList()
this.$message({
message: res.msg,
type: 'success'
})
} }
saveDepartment(params).then(res => { })
if (res.code == "200") { } else {
this.getOrgUserList() return false
this.bm_Dialog = false }
this.$message({ })
message: res.msg, },
type: 'success' //
}) saveOrg(formName) {
} this.$refs[formName].validate((valid) => {
}) if (valid) {
} else { let params = { //
return false; departmentSid: this.bm_Form.departmentSid[this.bm_Form.departmentSid.length - 1],
} staffSid: this.bm_Form.staffSid
});
},
//
save(formName) {
this.form.userType = this.form.userTypeKey;
userUpdata(this.form).then(res => {
if (res.code == "200") {
this.getOrgUserList()
this.bm_Dialog = false
this.$message({
message: res.msg,
type: 'success'
})
this.editDialog = false
} }
this.reset(); saveDepartment(params).then(res => {
}) if (res.code === '200') {
}, this.getOrgUserList()
initPwd(row) { this.bm_Dialog = false
this.$confirm('此操作将初始化该用户密码, 是否继续?', '提示', { this.$message({
confirmButtonText: '确定', message: res.msg,
cancelButtonText: '取消', type: 'success'
type: 'warning' })
}).then(() => { }
initPwd({sid: row.sid}).then(res => {
this.$message({
type: 'success',
message: res.msg
});
}) })
}) } else {
}, return false
// }
userinfoChange(row) { });
var postSid = row.postSid },
this.editDialog = true //
this.form = Object.assign({}, row) save(formName) {
this.postSid = postSid this.form.userType = this.form.userTypeKey;
this.$nextTick(() => { userUpdata(this.form).then(res => {
this.$refs.Tree.setChecked(this.form.departmentSid, true, true) if (res.code === '200') {
}) this.getOrgUserList()
// this.$emit('status',true) this.bm_Dialog = false
// this.$emit('item',row) this.$message({
}, message: res.msg,
// type: 'success'
del(row) { })
this.$confirm('此操作将删除该用户, 是否继续?', '提示', { this.editDialog = false
confirmButtonText: '确定', }
cancelButtonText: '取消', this.reset()
type: 'warning' })
}).then(() => { },
delUser({sid: row.sid}).then(res => { initPwd(row) {
this.$message({ this.$confirm('此操作将初始化该用户密码, 是否继续?', '提示', {
type: 'success', confirmButtonText: '确定',
message: res.msg cancelButtonText: '取消',
}); type: 'warning'
this.getOrgUserList() }).then(() => {
initPwd({sid: row.sid}).then(res => {
this.$message({
type: 'success',
message: res.msg
}) })
}) })
}, })
toNav(src) { },
this.$router.push("/" + src); //
}, userinfoChange(row) {
// var postSid = row.postSid
getOrgList(row) { this.editDialog = true
// this.roleDialog = true this.form = Object.assign({}, row)
this.checkedId = [] this.postSid = postSid
this.Thisrow = row this.$nextTick(() => {
this.loading = true this.$refs.Tree.setChecked(this.form.departmentSid, true, true)
let params = {} })
orgList(params).then(res => { // this.$emit('status',true)
this.treedata = res.data // this.$emit('item',row)
},
//
del(row) {
this.$confirm('此操作将删除该用户, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
delUser({ sid: row.sid }).then(res => {
this.$message({
type: 'success',
message: res.msg
});
this.getOrgUserList()
}) })
})
},
toNav(src) {
this.$router.push('/' + src)
},
//
getOrgList(row) {
// this.roleDialog = true
this.checkedId = []
this.Thisrow = row
this.loading = true
let params = {}
orgList(params).then(res => {
this.treedata = res.data
})
}, },
checkchange(data, checked, indeterminate) { checkchange(data, checked, indeterminate) {
if (checked) { if (checked) {
this.form.deptSid = data.sid
this.form.deptSid = data.sid this.orgName = data.name
this.orgName = data.name let arr = []
let arr = [] arr = [data.sid]
arr = [data.sid]; this.$refs.Tree.setCheckedKeys(arr)
this.$refs.Tree.setCheckedKeys(arr); this.form.postSid = ''
this.form.postSid = '' this.getPost(data.sid)
this.getPost(data.sid) return
return; }
} },
}, getPost(orgSid) {
getPost(orgSid) { let params = {
let params = { sid: orgSid
sid: orgSid }
} postList(params).then(res => {
postList(params).then(res => { this.postSidData = res.data
this.postSidData = res.data })
}) this.form.postSid = this.postSid
this.form.postSid = this.postSid },
}, reset() {
reset() { this.form = {}
this.form = {} },
}, enabledChange(value, row) {
setRoleEnable({
sid: row.sid,
isEnable: value
}).then(res => {
this.$message({
type: 'success',
message: res.msg
});
})
} }
}; }
}
</script> </script>
<style scoped="scoped"> <style scoped="scoped">
.el-select > .el-input { .el-select > .el-input {
display: block; display: block;
width: 300px; width: 300px;
} }
</style> </style>

Loading…
Cancel
Save