update 系统管理
This commit is contained in:
parent
aec7e8757f
commit
1d5aba6455
14
src/api/api_sys.js
Normal file
14
src/api/api_sys.js
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import http from '../utils/http'
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 管理员列表
|
||||||
|
*/
|
||||||
|
// 获取管理员列表
|
||||||
|
export const apiGetSysUserList = params => {
|
||||||
|
return http({ url: '/renren-fast-server/sys/user/list', method: 'get', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取管理员列表
|
||||||
|
export const apiGetSysRoleSelect = params => {
|
||||||
|
return http({ url: '/renren-fast-server/sys/role/select', method: 'get', params })
|
||||||
|
}
|
||||||
@ -6,6 +6,6 @@ export const apiLogin = data => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 获取用户相关
|
// 获取用户相关
|
||||||
export const apiGetUserInfo = params => {
|
export const apiGetUserInfo = (params, id) => {
|
||||||
return http({ url: '/renren-fast-server/sys/user/info', method: 'get', params })
|
return http({ url: `/renren-fast-server/sys/user/info${id}`, method: 'get', params })
|
||||||
}
|
}
|
||||||
|
|||||||
@ -75,7 +75,7 @@
|
|||||||
},
|
},
|
||||||
// 获取当前登录用户的信息
|
// 获取当前登录用户的信息
|
||||||
handleGetUserInfo () {
|
handleGetUserInfo () {
|
||||||
apiGetUserInfo({}).then(res => {
|
apiGetUserInfo({}, '').then(res => {
|
||||||
if (res && res.code === 0) {
|
if (res && res.code === 0) {
|
||||||
this.loading = false
|
this.loading = false
|
||||||
this.userId = res.user.userId
|
this.userId = res.user.userId
|
||||||
|
|||||||
@ -40,6 +40,9 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { isEmail, isMobile } from '@/utils/validate'
|
import { isEmail, isMobile } from '@/utils/validate'
|
||||||
|
import { apiGetSysRoleSelect } from '@/api/api_sys'
|
||||||
|
import { apiGetUserInfo } from '@/api/api_user'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
data () {
|
data () {
|
||||||
var validatePassword = (rule, value, callback) => {
|
var validatePassword = (rule, value, callback) => {
|
||||||
@ -87,15 +90,9 @@
|
|||||||
status: 1
|
status: 1
|
||||||
},
|
},
|
||||||
dataRule: {
|
dataRule: {
|
||||||
userName: [
|
userName: [{ required: true, message: '用户名不能为空', trigger: 'blur' }],
|
||||||
{ required: true, message: '用户名不能为空', trigger: 'blur' }
|
password: [{ validator: validatePassword, trigger: 'blur' }],
|
||||||
],
|
comfirmPassword: [{ validator: validateComfirmPassword, trigger: 'blur' }],
|
||||||
password: [
|
|
||||||
{ validator: validatePassword, trigger: 'blur' }
|
|
||||||
],
|
|
||||||
comfirmPassword: [
|
|
||||||
{ validator: validateComfirmPassword, trigger: 'blur' }
|
|
||||||
],
|
|
||||||
email: [
|
email: [
|
||||||
{ required: true, message: '邮箱不能为空', trigger: 'blur' },
|
{ required: true, message: '邮箱不能为空', trigger: 'blur' },
|
||||||
{ validator: validateEmail, trigger: 'blur' }
|
{ validator: validateEmail, trigger: 'blur' }
|
||||||
@ -108,7 +105,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
init (id) {
|
init1 (id) {
|
||||||
this.dataForm.id = id || 0
|
this.dataForm.id = id || 0
|
||||||
this.$http({
|
this.$http({
|
||||||
url: this.$http.adornUrl('/sys/role/select'),
|
url: this.$http.adornUrl('/sys/role/select'),
|
||||||
@ -140,6 +137,35 @@
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
// 新增/修改
|
||||||
|
handleAdd (id) {
|
||||||
|
this.dataForm.id = id || 0
|
||||||
|
apiGetSysRoleSelect({}).then(res => {
|
||||||
|
this.roleList = res && res.code === 0 ? res.list : []
|
||||||
|
this.visible = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs['dataForm'].resetFields()
|
||||||
|
})
|
||||||
|
}).then(() => {
|
||||||
|
this.handleEdit()
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 编辑
|
||||||
|
handleEdit () {
|
||||||
|
apiGetUserInfo({}, `/${this.dataForm.id}`).then(res => {
|
||||||
|
if (res && res.code === 0) {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.dataForm.userName = res.user.username
|
||||||
|
this.dataForm.salt = res.user.salt
|
||||||
|
this.dataForm.email = res.user.email
|
||||||
|
this.dataForm.mobile = res.user.mobile
|
||||||
|
this.dataForm.roleIdList = res.user.roleIdList
|
||||||
|
this.dataForm.status = res.user.status
|
||||||
|
})
|
||||||
|
this.visible = true
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
// 表单提交
|
// 表单提交
|
||||||
dataFormSubmit () {
|
dataFormSubmit () {
|
||||||
this.$refs['dataForm'].validate((valid) => {
|
this.$refs['dataForm'].validate((valid) => {
|
||||||
|
|||||||
@ -1,84 +1,38 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="mod-user">
|
<div class="mod-user">
|
||||||
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
|
<el-form :inline="true" :model="dataForm" @keyup.enter.native="handleGetTableList()">
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-input v-model="dataForm.userName" placeholder="用户名" clearable></el-input>
|
<el-input v-model="dataForm.userName" placeholder="用户名" clearable></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button @click="getDataList()">查询</el-button>
|
<el-button @click="handleGetTableList()">查询</el-button>
|
||||||
<el-button v-if="isAuth('sys:user:save')" type="primary" @click="addOrUpdateHandle()">新增</el-button>
|
<el-button v-if="isAuth('sys:user:save')" type="primary" @click="handleAddOrUpdate()">新增</el-button>
|
||||||
<el-button v-if="isAuth('sys:user:delete')" type="danger" @click="deleteHandle()" :disabled="dataListSelections.length <= 0">批量删除</el-button>
|
<el-button v-if="isAuth('sys:user:delete')" type="danger" @click="handleDelete()" :disabled="dataListSelections.length <= 0">批量删除</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<el-table
|
<el-table :data="dataList" border v-loading="dataListLoading" @selection-change="handleChangeSelection" style="width: 100%;">
|
||||||
:data="dataList"
|
<el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column>
|
||||||
border
|
<el-table-column prop="userId" header-align="center" align="center" width="80" label="ID"></el-table-column>
|
||||||
v-loading="dataListLoading"
|
<el-table-column prop="username" header-align="center" align="center" label="用户名"></el-table-column>
|
||||||
@selection-change="selectionChangeHandle"
|
<el-table-column prop="email" header-align="center" align="center" label="邮箱"></el-table-column>
|
||||||
style="width: 100%;">
|
<el-table-column prop="mobile" header-align="center" align="center" label="手机号"></el-table-column>
|
||||||
<el-table-column
|
<el-table-column prop="status" header-align="center" align="center" label="状态">
|
||||||
type="selection"
|
|
||||||
header-align="center"
|
|
||||||
align="center"
|
|
||||||
width="50">
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column
|
|
||||||
prop="userId"
|
|
||||||
header-align="center"
|
|
||||||
align="center"
|
|
||||||
width="80"
|
|
||||||
label="ID">
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column
|
|
||||||
prop="username"
|
|
||||||
header-align="center"
|
|
||||||
align="center"
|
|
||||||
label="用户名">
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column
|
|
||||||
prop="email"
|
|
||||||
header-align="center"
|
|
||||||
align="center"
|
|
||||||
label="邮箱">
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column
|
|
||||||
prop="mobile"
|
|
||||||
header-align="center"
|
|
||||||
align="center"
|
|
||||||
label="手机号">
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column
|
|
||||||
prop="status"
|
|
||||||
header-align="center"
|
|
||||||
align="center"
|
|
||||||
label="状态">
|
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-tag v-if="scope.row.status === 0" size="small" type="danger">禁用</el-tag>
|
<el-tag v-if="scope.row.status === 0" size="small" type="danger">禁用</el-tag>
|
||||||
<el-tag v-else size="small">正常</el-tag>
|
<el-tag v-else size="small">正常</el-tag>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column prop="createTime" header-align="center" align="center" width="180" label="创建时间"></el-table-column>
|
||||||
prop="createTime"
|
<el-table-column fixed="right" header-align="center" align="center" width="150" label="操作">
|
||||||
header-align="center"
|
|
||||||
align="center"
|
|
||||||
width="180"
|
|
||||||
label="创建时间">
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column
|
|
||||||
fixed="right"
|
|
||||||
header-align="center"
|
|
||||||
align="center"
|
|
||||||
width="150"
|
|
||||||
label="操作">
|
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button v-if="isAuth('sys:user:update')" type="text" size="small" @click="addOrUpdateHandle(scope.row.userId)">修改</el-button>
|
<el-button v-if="isAuth('sys:user:update')" type="text" size="small" @click="handleAddOrUpdate(scope.row.userId)">修改</el-button>
|
||||||
<el-button v-if="isAuth('sys:user:delete')" type="text" size="small" @click="deleteHandle(scope.row.userId)">删除</el-button>
|
<el-button v-if="isAuth('sys:user:delete')" type="text" size="small" @click="handleDelete(scope.row.userId)">删除</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
<el-pagination
|
<el-pagination
|
||||||
@size-change="sizeChangeHandle"
|
@size-change="handleChangeSize"
|
||||||
@current-change="currentChangeHandle"
|
@current-change="handleChangeCurrent"
|
||||||
:current-page="pageIndex"
|
:current-page="pageIndex"
|
||||||
:page-sizes="[10, 20, 50, 100]"
|
:page-sizes="[10, 20, 50, 100]"
|
||||||
:page-size="pageSize"
|
:page-size="pageSize"
|
||||||
@ -86,12 +40,13 @@
|
|||||||
layout="total, sizes, prev, pager, next, jumper">
|
layout="total, sizes, prev, pager, next, jumper">
|
||||||
</el-pagination>
|
</el-pagination>
|
||||||
<!-- 弹窗, 新增 / 修改 -->
|
<!-- 弹窗, 新增 / 修改 -->
|
||||||
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
|
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="handleGetTableList"></add-or-update>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import AddOrUpdate from './user-add-or-update'
|
import AddOrUpdate from './user-add-or-update'
|
||||||
|
import { apiGetSysUserList } from '../../../api/api_sys'
|
||||||
export default {
|
export default {
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
@ -111,24 +66,19 @@
|
|||||||
AddOrUpdate
|
AddOrUpdate
|
||||||
},
|
},
|
||||||
activated () {
|
activated () {
|
||||||
this.getDataList()
|
this.handleGetTableList()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
// 获取数据列表
|
// 获取数据列表
|
||||||
getDataList () {
|
handleGetTableList () {
|
||||||
this.dataListLoading = true
|
apiGetSysUserList({
|
||||||
this.$http({
|
'page': this.pageIndex,
|
||||||
url: this.$http.adornUrl('/sys/user/list'),
|
'limit': this.pageSize,
|
||||||
method: 'get',
|
'username': this.dataForm.userName
|
||||||
params: this.$http.adornParams({
|
}).then(res => {
|
||||||
'page': this.pageIndex,
|
if (res && res.code === 0) {
|
||||||
'limit': this.pageSize,
|
this.dataList = res.page.list
|
||||||
'username': this.dataForm.userName
|
this.totalPage = res.page.totalCount
|
||||||
})
|
|
||||||
}).then(({data}) => {
|
|
||||||
if (data && data.code === 0) {
|
|
||||||
this.dataList = data.page.list
|
|
||||||
this.totalPage = data.page.totalCount
|
|
||||||
} else {
|
} else {
|
||||||
this.dataList = []
|
this.dataList = []
|
||||||
this.totalPage = 0
|
this.totalPage = 0
|
||||||
@ -137,29 +87,29 @@
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 每页数
|
// 每页数
|
||||||
sizeChangeHandle (val) {
|
handleChangeSize (val) {
|
||||||
this.pageSize = val
|
this.pageSize = val
|
||||||
this.pageIndex = 1
|
this.pageIndex = 1
|
||||||
this.getDataList()
|
this.handleGetTableList()
|
||||||
},
|
},
|
||||||
// 当前页
|
// 当前页
|
||||||
currentChangeHandle (val) {
|
handleChangeCurrent (val) {
|
||||||
this.pageIndex = val
|
this.pageIndex = val
|
||||||
this.getDataList()
|
this.handleGetTableList()
|
||||||
},
|
},
|
||||||
// 多选
|
// 多选
|
||||||
selectionChangeHandle (val) {
|
handleChangeSelection (val) {
|
||||||
this.dataListSelections = val
|
this.dataListSelections = val
|
||||||
},
|
},
|
||||||
// 新增 / 修改
|
// 新增 / 修改
|
||||||
addOrUpdateHandle (id) {
|
handleAddOrUpdate (id) {
|
||||||
this.addOrUpdateVisible = true
|
this.addOrUpdateVisible = true
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs.addOrUpdate.init(id)
|
this.$refs.addOrUpdate.handleAdd(id)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 删除
|
// 删除
|
||||||
deleteHandle (id) {
|
handleDelete (id) {
|
||||||
var userIds = id ? [id] : this.dataListSelections.map(item => {
|
var userIds = id ? [id] : this.dataListSelections.map(item => {
|
||||||
return item.userId
|
return item.userId
|
||||||
})
|
})
|
||||||
@ -179,7 +129,7 @@
|
|||||||
type: 'success',
|
type: 'success',
|
||||||
duration: 1500,
|
duration: 1500,
|
||||||
onClose: () => {
|
onClose: () => {
|
||||||
this.getDataList()
|
this.handleGetTableList()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user