用户管理页面开发
This commit is contained in:
@@ -69,6 +69,16 @@ public class UserInfo implements Serializable {
|
|||||||
*/
|
*/
|
||||||
private Date updateTime;
|
private Date updateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 手机号
|
||||||
|
*/
|
||||||
|
private String phone;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 性别 0=女 1=男
|
||||||
|
*/
|
||||||
|
private Integer sex;
|
||||||
|
|
||||||
public Long getId() {
|
public Long getId() {
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
@@ -155,4 +165,20 @@ public class UserInfo implements Serializable {
|
|||||||
", updateTime=" + updateTime +
|
", updateTime=" + updateTime +
|
||||||
"}";
|
"}";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getPhone() {
|
||||||
|
return phone;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPhone(String phone) {
|
||||||
|
this.phone = phone;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getSex() {
|
||||||
|
return sex;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSex(Integer sex) {
|
||||||
|
this.sex = sex;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
package com.zyplayer.doc.manage.web.manage;
|
package com.zyplayer.doc.manage.web.manage;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.RandomUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.github.pagehelper.PageHelper;
|
||||||
|
import com.github.pagehelper.PageInfo;
|
||||||
import com.zyplayer.doc.core.json.DocResponseJson;
|
import com.zyplayer.doc.core.json.DocResponseJson;
|
||||||
import com.zyplayer.doc.core.json.ResponseJson;
|
import com.zyplayer.doc.core.json.ResponseJson;
|
||||||
import com.zyplayer.doc.core.annotation.AuthMan;
|
import com.zyplayer.doc.core.annotation.AuthMan;
|
||||||
@@ -9,9 +12,11 @@ import com.zyplayer.doc.data.config.security.DocUserUtil;
|
|||||||
import com.zyplayer.doc.data.repository.manage.entity.AuthInfo;
|
import com.zyplayer.doc.data.repository.manage.entity.AuthInfo;
|
||||||
import com.zyplayer.doc.data.repository.manage.entity.UserAuth;
|
import com.zyplayer.doc.data.repository.manage.entity.UserAuth;
|
||||||
import com.zyplayer.doc.data.repository.manage.entity.UserInfo;
|
import com.zyplayer.doc.data.repository.manage.entity.UserInfo;
|
||||||
|
import com.zyplayer.doc.data.repository.manage.entity.WikiPage;
|
||||||
import com.zyplayer.doc.data.service.manage.AuthInfoService;
|
import com.zyplayer.doc.data.service.manage.AuthInfoService;
|
||||||
import com.zyplayer.doc.data.service.manage.UserAuthService;
|
import com.zyplayer.doc.data.service.manage.UserAuthService;
|
||||||
import com.zyplayer.doc.data.service.manage.UserInfoService;
|
import com.zyplayer.doc.data.service.manage.UserInfoService;
|
||||||
|
import com.zyplayer.doc.manage.web.manage.param.UserListParam;
|
||||||
import com.zyplayer.doc.manage.web.manage.vo.AuthInfoVo;
|
import com.zyplayer.doc.manage.web.manage.vo.AuthInfoVo;
|
||||||
import org.apache.commons.lang.StringUtils;
|
import org.apache.commons.lang.StringUtils;
|
||||||
import org.dozer.Mapper;
|
import org.dozer.Mapper;
|
||||||
@@ -21,6 +26,7 @@ import org.springframework.web.bind.annotation.PostMapping;
|
|||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
@@ -30,27 +36,63 @@ import java.util.stream.Collectors;
|
|||||||
@AuthMan("USER_MANAGE")
|
@AuthMan("USER_MANAGE")
|
||||||
public class UserInfoController {
|
public class UserInfoController {
|
||||||
|
|
||||||
@Autowired
|
@Resource
|
||||||
UserInfoService userInfoService;
|
UserInfoService userInfoService;
|
||||||
@Autowired
|
@Resource
|
||||||
AuthInfoService authInfoService;
|
AuthInfoService authInfoService;
|
||||||
@Autowired
|
@Resource
|
||||||
UserAuthService userAuthService;
|
UserAuthService userAuthService;
|
||||||
@Autowired
|
@Resource
|
||||||
Mapper mapper;
|
Mapper mapper;
|
||||||
|
|
||||||
@PostMapping("/list")
|
@PostMapping("/list")
|
||||||
public ResponseJson<Object> list(String userName) {
|
public ResponseJson<Object> list(UserListParam param) {
|
||||||
QueryWrapper<UserInfo> queryWrapper = new QueryWrapper<>();
|
QueryWrapper<UserInfo> queryWrapper = new QueryWrapper<>();
|
||||||
if (StringUtils.isNotBlank(userName)) {
|
if (StringUtils.isNotBlank(param.getKeyword())) {
|
||||||
queryWrapper.like("user_name", userName);
|
queryWrapper.like(param.getType() == 1, "id", param.getKeyword());
|
||||||
|
queryWrapper.like(param.getType() == 2, "user_no", param.getKeyword());
|
||||||
|
queryWrapper.like(param.getType() == 3, "user_name", param.getKeyword());
|
||||||
|
queryWrapper.like(param.getType() == 4, "phone", param.getKeyword());
|
||||||
|
queryWrapper.like(param.getType() == 5, "email", param.getKeyword());
|
||||||
}
|
}
|
||||||
queryWrapper.eq("del_flag", 0);
|
queryWrapper.ne("del_flag", 1);
|
||||||
|
PageHelper.startPage(param.getPageNum(), param.getPageSize(), true);
|
||||||
List<UserInfo> userInfoList = userInfoService.list(queryWrapper);
|
List<UserInfo> userInfoList = userInfoService.list(queryWrapper);
|
||||||
if (userInfoList != null && userInfoList.size() > 0) {
|
if (userInfoList != null && userInfoList.size() > 0) {
|
||||||
userInfoList.forEach(val -> val.setPassword(null));
|
userInfoList.forEach(val -> val.setPassword(null));
|
||||||
}
|
}
|
||||||
return DocResponseJson.ok(userInfoList);
|
PageInfo<UserInfo> pageInfo = new PageInfo<>(userInfoList);
|
||||||
|
return DocResponseJson.ok(pageInfo);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/update")
|
||||||
|
public ResponseJson<Object> update(UserInfo userInfo) {
|
||||||
|
// 不允许修改密码
|
||||||
|
userInfo.setPassword(null);
|
||||||
|
if (userInfo.getId() != null && userInfo.getId() > 0) {
|
||||||
|
userInfo.setUpdateTime(new Date());
|
||||||
|
userInfoService.updateById(userInfo);
|
||||||
|
} else {
|
||||||
|
DocUserDetails currentUser = DocUserUtil.getCurrentUser();
|
||||||
|
userInfo.setCreationTime(new Date());
|
||||||
|
userInfo.setCreateUid(currentUser.getUserId());
|
||||||
|
userInfoService.save(userInfo);
|
||||||
|
}
|
||||||
|
return DocResponseJson.ok();
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/resetPassword")
|
||||||
|
public ResponseJson<Object> resetPassword(UserInfo userInfo) {
|
||||||
|
String password = RandomUtil.randomNumbers(6);
|
||||||
|
UserInfo userInfoUp = new UserInfo();
|
||||||
|
if (StringUtils.isNotBlank(password)) {
|
||||||
|
String newPassword = DigestUtils.md5DigestAsHex(password.getBytes());
|
||||||
|
userInfoUp.setPassword(newPassword);
|
||||||
|
}
|
||||||
|
userInfoUp.setId(userInfo.getId());
|
||||||
|
userInfoUp.setUpdateTime(new Date());
|
||||||
|
userInfoService.updateById(userInfoUp);
|
||||||
|
return DocResponseJson.ok(password);
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("/auth/list")
|
@PostMapping("/auth/list")
|
||||||
@@ -111,23 +153,4 @@ public class UserInfoController {
|
|||||||
userInfoService.updateById(userInfo);
|
userInfoService.updateById(userInfo);
|
||||||
return DocResponseJson.ok();
|
return DocResponseJson.ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("/update")
|
|
||||||
public ResponseJson<Object> update(UserInfo userInfo) {
|
|
||||||
String password = userInfo.getPassword();
|
|
||||||
if (StringUtils.isNotBlank(password)) {
|
|
||||||
password = DigestUtils.md5DigestAsHex(password.getBytes());
|
|
||||||
userInfo.setPassword(password);
|
|
||||||
}
|
|
||||||
if (userInfo.getId() != null && userInfo.getId() > 0) {
|
|
||||||
userInfo.setUpdateTime(new Date());
|
|
||||||
userInfoService.updateById(userInfo);
|
|
||||||
} else {
|
|
||||||
DocUserDetails currentUser = DocUserUtil.getCurrentUser();
|
|
||||||
userInfo.setCreationTime(new Date());
|
|
||||||
userInfo.setCreateUid(currentUser.getUserId());
|
|
||||||
userInfoService.save(userInfo);
|
|
||||||
}
|
|
||||||
return DocResponseJson.ok();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,40 @@
|
|||||||
|
package com.zyplayer.doc.manage.web.manage.param;
|
||||||
|
|
||||||
|
public class UserListParam {
|
||||||
|
private Integer type;
|
||||||
|
private String keyword;
|
||||||
|
private Integer pageNum;
|
||||||
|
private Integer pageSize;
|
||||||
|
|
||||||
|
public Integer getType() {
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setType(Integer type) {
|
||||||
|
this.type = type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getKeyword() {
|
||||||
|
return keyword;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setKeyword(String keyword) {
|
||||||
|
this.keyword = keyword;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getPageNum() {
|
||||||
|
return pageNum;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPageNum(Integer pageNum) {
|
||||||
|
this.pageNum = pageNum;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getPageSize() {
|
||||||
|
return pageSize;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPageSize(Integer pageSize) {
|
||||||
|
this.pageSize = pageSize;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -33,7 +33,9 @@ CREATE TABLE `wiki_page_history` (
|
|||||||
KEY `idx_page_id` (`page_id`) USING BTREE COMMENT '页面ID索引'
|
KEY `idx_page_id` (`page_id`) USING BTREE COMMENT '页面ID索引'
|
||||||
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;
|
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;
|
||||||
|
|
||||||
|
ALTER TABLE `user_info` ADD COLUMN `phone` varchar(20) NULL COMMENT '手机号';
|
||||||
|
ALTER TABLE `user_info` ADD COLUMN `sex` tinyint NOT NULL DEFAULT 0 COMMENT '性别 0=女 1=男';
|
||||||
|
ALTER TABLE `user_info` MODIFY COLUMN `del_flag` tinyint(4) NULL DEFAULT 0 COMMENT '是否删除 0=未删除 1=已删除 2=已停用';
|
||||||
|
|
||||||
|
|
||||||
-- ------------------------全新的库:------------------------
|
-- ------------------------全新的库:------------------------
|
||||||
@@ -133,10 +135,12 @@ CREATE TABLE `user_info` (
|
|||||||
`user_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '用户名',
|
`user_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '用户名',
|
||||||
`email` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '邮箱',
|
`email` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '邮箱',
|
||||||
`avatar` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '头像',
|
`avatar` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '头像',
|
||||||
`del_flag` tinyint(4) NULL DEFAULT 0 COMMENT '是否删除 0=未删除 1=已删除',
|
`del_flag` tinyint(4) NULL DEFAULT 0 COMMENT '是否删除 0=未删除 1=已删除 2=已停用',
|
||||||
`creation_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
|
`creation_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
|
||||||
`create_uid` bigint(20) NULL DEFAULT NULL COMMENT '创建人用户ID',
|
`create_uid` bigint(20) NULL DEFAULT NULL COMMENT '创建人用户ID',
|
||||||
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
|
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
|
||||||
|
`phone` varchar(20) NULL COMMENT '手机号',
|
||||||
|
`sex` tinyint NOT NULL DEFAULT 0 COMMENT '性别 0=女 1=男',
|
||||||
PRIMARY KEY (`id`) USING BTREE,
|
PRIMARY KEY (`id`) USING BTREE,
|
||||||
UNIQUE INDEX `idx_userNo`(`user_no`) USING BTREE COMMENT '登录用户名'
|
UNIQUE INDEX `idx_userNo`(`user_no`) USING BTREE COMMENT '登录用户名'
|
||||||
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户信息表' ROW_FORMAT = Compact;
|
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户信息表' ROW_FORMAT = Compact;
|
||||||
|
|||||||
@@ -2,27 +2,10 @@ var URL = {
|
|||||||
userLogin: '/login',
|
userLogin: '/login',
|
||||||
userLogout: '/logout',
|
userLogout: '/logout',
|
||||||
getUserInfo: '/user/getUserInfo',
|
getUserInfo: '/user/getUserInfo',
|
||||||
pageUpdate: '/zyplayer-doc-wiki/page/update',
|
getUserInfoList: '/user/info/list',
|
||||||
pageChangeParent: '/zyplayer-doc-wiki/page/changeParent',
|
updateUserInfo: '/user/info/update',
|
||||||
pageList: '/zyplayer-doc-wiki/page/list',
|
resetPassword: '/user/info/resetPassword',
|
||||||
updatePage: '/zyplayer-doc-wiki/page/update',
|
|
||||||
pageDetail: '/zyplayer-doc-wiki/page/detail',
|
|
||||||
pageDelete: '/zyplayer-doc-wiki/page/delete',
|
|
||||||
pageNews: '/zyplayer-doc-wiki/page/news',
|
|
||||||
pageLock: '/zyplayer-doc-wiki/page/lock',
|
|
||||||
pageUnlock: '/zyplayer-doc-wiki/page/unlock',
|
|
||||||
spaceList: '/zyplayer-doc-wiki/space/list',
|
|
||||||
updateSpace: '/zyplayer-doc-wiki/space/update',
|
|
||||||
getPageUserAuthList: '/zyplayer-doc-wiki/page/auth/list',
|
|
||||||
assignPageUserAuth: '/zyplayer-doc-wiki/page/auth/assign',
|
|
||||||
|
|
||||||
updatePageFile: '/zyplayer-doc-wiki/page/file/update',
|
|
||||||
pageCommentList: '/zyplayer-doc-wiki/page/comment/list',
|
|
||||||
updatePageComment: '/zyplayer-doc-wiki/page/comment/update',
|
|
||||||
pageZanList: '/zyplayer-doc-wiki/page/zan/list',
|
|
||||||
updatePageZan: '/zyplayer-doc-wiki/page/zan/update',
|
|
||||||
|
|
||||||
commonUpload: '/zyplayer-doc-wiki/common/upload',
|
|
||||||
getUserBaseInfo: '/zyplayer-doc-wiki/common/user/base',
|
getUserBaseInfo: '/zyplayer-doc-wiki/common/user/base',
|
||||||
|
|
||||||
systemUpgradeInfo: '/system/info/upgrade',
|
systemUpgradeInfo: '/system/info/upgrade',
|
||||||
|
|||||||
@@ -5,11 +5,11 @@ var href = window.location.href;
|
|||||||
var _fn = {
|
var _fn = {
|
||||||
href: href,
|
href: href,
|
||||||
// 本地启动时使用本地接口调试
|
// 本地启动时使用本地接口调试
|
||||||
// HOST: 'http://local.zyplayer.com:8083/zyplayer-doc-manage',
|
HOST: 'http://local.zyplayer.com:8083/zyplayer-doc-manage',
|
||||||
// HOST1: 'http://local.zyplayer.com:8083/zyplayer-doc-manage',
|
HOST1: 'http://local.zyplayer.com:8083/zyplayer-doc-manage',
|
||||||
// 也可以直接使用线上的服务调试
|
// 也可以直接使用线上的服务调试
|
||||||
HOST: 'http://doc.zyplayer.com/zyplayer-doc-manage',
|
// HOST: 'http://doc.zyplayer.com/zyplayer-doc-manage',
|
||||||
HOST1: 'http://doc.zyplayer.com/zyplayer-doc-manage',
|
// HOST1: 'http://doc.zyplayer.com/zyplayer-doc-manage',
|
||||||
// 打包时使用下面这两行,文件就放在根目录下,所以当前路劲就好
|
// 打包时使用下面这两行,文件就放在根目录下,所以当前路劲就好
|
||||||
// HOST: './',
|
// HOST: './',
|
||||||
// HOST1: './',
|
// HOST1: './',
|
||||||
|
|||||||
@@ -24,7 +24,9 @@ export default {
|
|||||||
} else if (res.data.errCode == 400) {
|
} else if (res.data.errCode == 400) {
|
||||||
global.vue.$message('请先登录');
|
global.vue.$message('请先登录');
|
||||||
var href = encodeURIComponent(window.location.href);
|
var href = encodeURIComponent(window.location.href);
|
||||||
global.vue.$router.push({path: '/user/login', query: {redirect: href}});
|
if (global.vue.$router.currentRoute.path != '/user/login') {
|
||||||
|
global.vue.$router.push({path: '/user/login', query: {redirect: href}});
|
||||||
|
}
|
||||||
} else if (res.data.errCode == 402) {
|
} else if (res.data.errCode == 402) {
|
||||||
global.vue.$router.push("/common/noAuth");
|
global.vue.$router.push("/common/noAuth");
|
||||||
} else if (res.data.errCode !== 200) {
|
} else if (res.data.errCode !== 200) {
|
||||||
|
|||||||
@@ -1,6 +1,10 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div class="user-list-vue">
|
||||||
<div style="border-bottom: 1px solid #fafafa;padding: 10px;margin-bottom: 10px;">用户管理</div>
|
<el-breadcrumb separator-class="el-icon-arrow-right" style="padding: 20px 10px;">
|
||||||
|
<el-breadcrumb-item :to="{ path: '/' }">首页</el-breadcrumb-item>
|
||||||
|
<el-breadcrumb-item>系统管理</el-breadcrumb-item>
|
||||||
|
<el-breadcrumb-item>用户列表</el-breadcrumb-item>
|
||||||
|
</el-breadcrumb>
|
||||||
<el-form :inline="true" :model="searchParam" class="search-form-box">
|
<el-form :inline="true" :model="searchParam" class="search-form-box">
|
||||||
<el-form-item label="搜索类型">
|
<el-form-item label="搜索类型">
|
||||||
<el-select v-model="searchParam.type" placeholder="请选择">
|
<el-select v-model="searchParam.type" placeholder="请选择">
|
||||||
@@ -15,27 +19,30 @@
|
|||||||
<el-input v-model="searchParam.keyword" placeholder="输入关键字"></el-input>
|
<el-input v-model="searchParam.keyword" placeholder="输入关键字"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" @click="">查询</el-button>
|
<el-button type="primary" @click="getUserList">查询</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<div style="padding: 10px;">
|
<div style="padding: 10px;" v-loading="searchLoading">
|
||||||
<el-table :data="searchResultList" border style="width: 100%; margin-bottom: 5px;" max-height="500">
|
<el-table :data="searchResultList" border style="width: 100%; margin-bottom: 5px;" max-height="500">
|
||||||
<el-table-column prop="id" label="编号" width="60"></el-table-column>
|
<el-table-column prop="id" label="编号" width="60"></el-table-column>
|
||||||
<el-table-column prop="name" label="账号"></el-table-column>
|
<el-table-column prop="userNo" label="账号"></el-table-column>
|
||||||
<el-table-column prop="spaceExplain" label="用户名"></el-table-column>
|
<el-table-column prop="email" label="邮箱"></el-table-column>
|
||||||
<el-table-column prop="createUserName" label="手机号"></el-table-column>
|
<el-table-column prop="userName" label="用户名"></el-table-column>
|
||||||
<el-table-column prop="createUserName" label="性别"></el-table-column>
|
<el-table-column prop="phone" label="手机号"></el-table-column>
|
||||||
<el-table-column prop="createTime" label="创建时间"></el-table-column>
|
<el-table-column label="性别">
|
||||||
|
<template slot-scope="scope">{{scope.row.sex==0?'女':'男'}}</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="creationTime" label="创建时间"></el-table-column>
|
||||||
<el-table-column label="状态">
|
<el-table-column label="状态">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-switch v-model="scope.row.status" active-text="正常" inactive-text="停用">
|
<el-switch v-on:change="delFlagChange" v-model="scope.row.delFlag" :active-value="0" active-text="正常" :inactive-value="1" inactive-text="停用"></el-switch>
|
||||||
</el-switch>
|
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作">
|
<el-table-column label="操作" width="240">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button size="small" plain type="primary" v-on:click="editUserInfo(scope.row)">修改</el-button>
|
<el-button size="mini" plain type="primary" v-on:click="editUserInfo(scope.row)">修改</el-button>
|
||||||
<el-button size="small" plain type="warning" v-on:click="resetPassword(scope.row)">重置密码</el-button>
|
<el-button size="mini" plain type="warning" v-on:click="resetPassword(scope.row)">重置密码</el-button>
|
||||||
|
<el-button size="mini" plain type="danger" v-on:click="deleteUser(scope.row)">删除</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@@ -56,31 +63,31 @@
|
|||||||
<el-dialog title="修改用户" :visible.sync="editUserDialogVisible" width="600px">
|
<el-dialog title="修改用户" :visible.sync="editUserDialogVisible" width="600px">
|
||||||
<el-form ref="form" :model="editUserForm" label-width="80px">
|
<el-form ref="form" :model="editUserForm" label-width="80px">
|
||||||
<el-form-item label="账号">
|
<el-form-item label="账号">
|
||||||
<el-input v-model="editUserForm.name"></el-input>
|
<el-input v-model="editUserForm.userNo"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="用户名">
|
<el-form-item label="用户名">
|
||||||
<el-input v-model="editUserForm.name"></el-input>
|
<el-input v-model="editUserForm.userName"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="手机号">
|
<el-form-item label="手机号">
|
||||||
<el-input v-model="editUserForm.name"></el-input>
|
<el-input v-model="editUserForm.phone"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="邮箱">
|
<el-form-item label="邮箱">
|
||||||
<el-input v-model="editUserForm.name"></el-input>
|
<el-input v-model="editUserForm.email"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="性别">
|
<el-form-item label="性别">
|
||||||
<el-radio-group v-model="editUserForm.resource">
|
<el-radio-group v-model="editUserForm.sex">
|
||||||
<el-radio label="男"></el-radio>
|
<el-radio :label="1">男</el-radio>
|
||||||
<el-radio label="女"></el-radio>
|
<el-radio :label="0">女</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="角色">
|
<el-form-item label="角色">
|
||||||
<el-select v-model="editUserForm.xx" multiple filterable placeholder="请选择">
|
<el-select v-model="editUserForm.role" multiple filterable placeholder="请选择">
|
||||||
<el-option v-for="item in roleOptions" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
<el-option v-for="item in roleOptions" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" @click="">确定</el-button>
|
<el-button type="primary" @click="updateEditUser">确定</el-button>
|
||||||
<el-button>取消</el-button>
|
<el-button @click="editUserDialogVisible = false">取消</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
@@ -88,11 +95,13 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import toast from '../../common/lib/common/toast'
|
||||||
var app;
|
var app;
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
searchLoading: false,
|
||||||
editUserDialogVisible: false,
|
editUserDialogVisible: false,
|
||||||
totalCount: 0,
|
totalCount: 0,
|
||||||
searchParam: {
|
searchParam: {
|
||||||
@@ -101,9 +110,7 @@
|
|||||||
pageSize: 20,
|
pageSize: 20,
|
||||||
pageNum: 1,
|
pageNum: 1,
|
||||||
},
|
},
|
||||||
searchResultList: [
|
searchResultList: [],
|
||||||
{name: '张三'}
|
|
||||||
],
|
|
||||||
roleOptions: [
|
roleOptions: [
|
||||||
{value: '管理员'}
|
{value: '管理员'}
|
||||||
],
|
],
|
||||||
@@ -112,25 +119,73 @@
|
|||||||
},
|
},
|
||||||
mounted: function () {
|
mounted: function () {
|
||||||
app = this;
|
app = this;
|
||||||
|
this.getUserList();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
handleSizeChange(val) {
|
handleSizeChange(val) {
|
||||||
this.searchParam.pageSize = val;
|
this.searchParam.pageSize = val;
|
||||||
|
this.getUserList();
|
||||||
},
|
},
|
||||||
handleCurrentChange(val) {
|
handleCurrentChange(val) {
|
||||||
this.searchParam.pageNum = val;
|
this.searchParam.pageNum = val;
|
||||||
|
this.getUserList();
|
||||||
},
|
},
|
||||||
editUserInfo() {
|
editUserInfo(row) {
|
||||||
this.editUserDialogVisible = true;
|
this.editUserDialogVisible = true;
|
||||||
|
this.editUserForm = row;
|
||||||
},
|
},
|
||||||
resetPassword() {
|
resetPassword(row) {
|
||||||
|
this.$confirm('确定要重置此用户密码吗?', '提示', {
|
||||||
|
confirmButtonText: '确定',
|
||||||
|
cancelButtonText: '取消',
|
||||||
|
type: 'warning'
|
||||||
|
}).then(() => {
|
||||||
|
this.editUserForm = row;
|
||||||
|
this.common.post(this.apilist1.resetPassword, this.editUserForm, function (json) {
|
||||||
|
app.$confirm("重置成功!新的密码为:" + json.data).then(()=> {
|
||||||
|
done();
|
||||||
|
}).catch(()=> {});
|
||||||
|
});
|
||||||
|
}).catch(()=>{});
|
||||||
|
},
|
||||||
|
delFlagChange(row, xx) {
|
||||||
|
debugger
|
||||||
|
// this.editUserForm = row;
|
||||||
|
},
|
||||||
|
deleteUser(row) {
|
||||||
|
this.$confirm('确定要删除此用户吗?', '提示', {
|
||||||
|
confirmButtonText: '确定',
|
||||||
|
cancelButtonText: '取消',
|
||||||
|
type: 'warning'
|
||||||
|
}).then(() => {
|
||||||
|
this.editUserForm = row;
|
||||||
|
this.editUserForm.delFlag = 1;
|
||||||
|
this.updateEditUser();
|
||||||
|
}).catch(()=>{});
|
||||||
|
},
|
||||||
|
updateEditUser() {
|
||||||
|
this.common.post(this.apilist1.updateUserInfo, this.editUserForm, function (json) {
|
||||||
|
toast.success("保存成功!");
|
||||||
|
app.editUserDialogVisible = false;
|
||||||
|
app.getUserList();
|
||||||
|
});
|
||||||
|
},
|
||||||
|
getUserList() {
|
||||||
|
this.searchLoading = true;
|
||||||
|
this.common.post(this.apilist1.getUserInfoList, this.searchParam, function (json) {
|
||||||
|
// 让加载动画停留一会
|
||||||
|
setTimeout(()=>{app.searchLoading = false;}, 500);
|
||||||
|
app.totalCount = json.total;
|
||||||
|
app.searchResultList = json.data;
|
||||||
|
});
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
<style>
|
<style>
|
||||||
.search-form-box{padding: 10px;}
|
.user-list-vue .search-form-box{padding: 10px;}
|
||||||
.page-info-box{text-align: right;margin: 20px 0 50px 0;}
|
.user-list-vue .page-info-box{text-align: right;margin: 20px 0 50px 0;}
|
||||||
|
.user-list-vue .el-button+.el-button{margin-left: 5px;}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user