用户管理

This commit is contained in:
zgj_jj
2022-11-21 14:43:11 +08:00
parent 18d6e4ff83
commit 80d32fe8ac
5 changed files with 250 additions and 277 deletions
+38 -21
View File
@@ -9,32 +9,49 @@
import request from '@/utils/request'; import request from '@/utils/request';
// 用户管理 aos/auth/api/user/list // 用户管理 aos/auth/api/user/list
export function getUserList(data) { export function getUserList(data) {
return request({ return request({
url: '/aos/auth/api/user/list', url: '/aos/auth/api/user/list',
method: 'post', method: 'post',
data data
}); });
} }
// 新增用户 aos/auth/api/user/add // 新增用户 aos/auth/api/user/add
export function addUser(data) { export function addUser(data) {
return request({ return request({
url: '/aos/auth/api/user/add', url: '/aos/auth/api/user/add',
method: 'post', method: 'post',
data data
}); });
} }
// 更新用户 aos/auth/api/user/update // 更新用户 aos/auth/api/user/update
export function updateUser(data) { export function updateUser(data) {
return request({ return request({
url: '/aos/auth/api/user/update', url: '/aos/auth/api/user/update',
method: 'put', method: 'put',
data data
}); });
} }
// 删除 aos/auth/api/user/delete // 删除 aos/auth/api/user/delete
export function deleteUser(id) { export function deleteUser(data) {
return request({ return request({
url: `/aos/auth/api/user/delete`, url: `/aos/auth/api/user/delete`,
method: 'delete' method: 'delete',
}) data
} });
}
// 重置密码 aos/auth/api/user/restPassword
export function restPassword(data) {
return request({
url: '/aos/auth/api/user/restPassword',
method: 'post',
data
});
}
// 用户管理-角色列表 aos/auth/api/role/role/info/list
export function selectRoleList() {
return request({
url: '/aos/auth/api/role/role/info/list',
method: 'get',
});
}
+6 -13
View File
@@ -8,26 +8,20 @@
<tags-view v-if="needTagsView" /> <tags-view v-if="needTagsView" />
</div> </div>
<app-main /> <app-main />
<right-panel v-if="showSettings">
<settings />
</right-panel>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import RightPanel from '@/components/RightPanel' import { AppMain, Navbar, Sidebar, TagsView } from './components';
import { AppMain, Navbar, Settings, Sidebar, TagsView } from './components' import ResizeMixin from './mixin/ResizeHandler';
import ResizeMixin from './mixin/ResizeHandler' import { mapState } from 'vuex';
import { mapState } from 'vuex'
export default { export default {
name: 'Layout', name: 'Layout',
components: { components: {
AppMain, AppMain,
Navbar, Navbar,
RightPanel,
Settings,
Sidebar, Sidebar,
TagsView TagsView
}, },
@@ -36,7 +30,6 @@ export default {
...mapState({ ...mapState({
sidebar: state => state.app.sidebar, sidebar: state => state.app.sidebar,
device: state => state.app.device, device: state => state.app.device,
showSettings: state => state.settings.showSettings,
needTagsView: state => state.settings.tagsView, needTagsView: state => state.settings.tagsView,
fixedHeader: state => state.settings.fixedHeader fixedHeader: state => state.settings.fixedHeader
}), }),
@@ -46,15 +39,15 @@ export default {
openSidebar: this.sidebar.opened, openSidebar: this.sidebar.opened,
withoutAnimation: this.sidebar.withoutAnimation, withoutAnimation: this.sidebar.withoutAnimation,
mobile: this.device === 'mobile' mobile: this.device === 'mobile'
} };
} }
}, },
methods: { methods: {
handleClickOutside() { handleClickOutside() {
this.$store.dispatch('app/closeSideBar', { withoutAnimation: false }) this.$store.dispatch('app/closeSideBar', { withoutAnimation: false });
} }
} }
} };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
+4 -7
View File
@@ -1,6 +1,6 @@
/* /*
* @Descripttion: * @Descripttion:
* @version: * @version:
* @Author: zgj * @Author: zgj
* @Date: 2022-11-19 09:11:29 * @Date: 2022-11-19 09:11:29
* @LastEditors: your name * @LastEditors: your name
@@ -14,8 +14,6 @@ import 'normalize.css/normalize.css'; // a modern alternative to CSS resets
import Element from 'element-ui'; import Element from 'element-ui';
import './styles/element-variables.scss'; import './styles/element-variables.scss';
import enLang from 'element-ui/lib/locale/lang/en';// 如果使用中文语言包请默认支持,无需额外引入,请删除该依赖
import '@/styles/index.scss'; // global css import '@/styles/index.scss'; // global css
import App from './App'; import App from './App';
@@ -28,9 +26,9 @@ import './utils/error-log'; // error log
// 分页组件 // 分页组件
import Pagination from '@/components/Pagination'; import Pagination from '@/components/Pagination';
// 自定义表格工具组件 // 自定义表格工具组件
import RightToolbar from "@/components/RightToolbar" import RightToolbar from '@/components/RightToolbar';
import * as filters from './filters'; // global filters import * as filters from './filters'; // global filters
import { parseTime, resetForm, addDateRange, selectDictLabel, selectDictLabels, handleTree } from "@/utils/manager"; import { parseTime, resetForm, addDateRange, selectDictLabel, selectDictLabels, handleTree } from '@/utils/manager';
/** /**
* If you don't want to use mock-server * If you don't want to use mock-server
* you want to use MockJs for mock api * you want to use MockJs for mock api
@@ -55,7 +53,6 @@ Vue.prototype.selectDictLabels = selectDictLabels;
Vue.prototype.handleTree = handleTree; Vue.prototype.handleTree = handleTree;
Vue.use(Element, { Vue.use(Element, {
size: Cookies.get('size') || 'medium', // set element-ui default size size: Cookies.get('size') || 'medium', // set element-ui default size
locale: enLang // 如果使用中文,无需设置,请删除
}); });
// register global utility filters // register global utility filters
+4
View File
@@ -189,3 +189,7 @@ aside {
.multiselect--active { .multiselect--active {
z-index: 1000 !important; z-index: 1000 !important;
} }
.pagination-container .el-pagination {
right: 0;
position: absolute;
}
+198 -236
View File
@@ -1,22 +1,32 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form <el-form
:model="queryParams" v-show="showSearch"
ref="queryForm" ref="queryForm"
:model="queryParams"
size="small" size="small"
:inline="true" :inline="true"
v-show="showSearch"
label-width="68px" label-width="68px"
> >
<el-form-item label="用户名称" prop="name"> <el-form-item label="用户账号" prop="account">
<el-input <el-input
v-model="queryParams.name" v-model="queryParams.account"
placeholder="请输入用户账号"
clearable
style="width: 240px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="用户名称" prop="userName">
<el-input
v-model="queryParams.userName"
placeholder="请输入用户名称" placeholder="请输入用户名称"
clearable clearable
style="width: 240px" style="width: 240px"
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="手机号码" prop="phone"> <el-form-item label="手机号码" prop="phone">
<el-input <el-input
v-model="queryParams.phone" v-model="queryParams.phone"
@@ -27,12 +37,7 @@
/> />
</el-form-item> </el-form-item>
<el-form-item label="状态" prop="state"> <el-form-item label="状态" prop="state">
<el-select <el-select v-model="queryParams.state" placeholder="用户状态" clearable style="width: 240px">
v-model="queryParams.state"
placeholder="用户状态"
clearable
style="width: 240px"
>
<el-option <el-option
v-for="dict in statusOpt" v-for="dict in statusOpt"
:key="dict.value" :key="dict.value"
@@ -51,31 +56,24 @@
start-placeholder="开始日期" start-placeholder="开始日期"
end-placeholder="结束日期" end-placeholder="结束日期"
></el-date-picker> ></el-date-picker>
</el-form-item> --> </el-form-item>-->
<el-form-item> <el-form-item>
<el-button <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
type="primary" <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
icon="el-icon-search"
size="mini"
@click="handleQuery"
>搜索</el-button
>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
>重置</el-button
>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd">新增</el-button>
<el-button <el-button
type="primary" type="warning"
plain plain
icon="el-icon-plus" icon="el-icon-key"
size="mini" size="mini"
@click="handleAdd" :disabled="multiple"
>新增</el-button @click="handleInitPassword"
> >重置密码</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button
@@ -85,69 +83,46 @@
size="mini" size="mini"
:disabled="multiple" :disabled="multiple"
@click="handleDelete" @click="handleDelete"
>删除</el-button >删除</el-button>
>
</el-col> </el-col>
<right-toolbar <right-toolbar
style="text-align: right; float: right" style="text-align: right; float: right"
:showSearch.sync="showSearch" :show-search.sync="showSearch"
@queryTable="getList" @queryTable="getList"
></right-toolbar> ></right-toolbar>
</el-row> </el-row>
<el-table <el-table v-loading="loading" :data="userList" @selection-change="handleSelectionChange">
v-loading="loading"
:data="userList"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="50" align="center" /> <el-table-column type="selection" width="50" align="center" />
<el-table-column key="account" label="用户账户" align="account" prop="account" />
<el-table-column <el-table-column
label="用户账户" key="userName"
align="account"
key="account"
prop="account"
/>
<el-table-column
label="用户名称" label="用户名称"
align="center" align="center"
key="name" prop="userName"
prop="name"
:show-overflow-tooltip="true" :show-overflow-tooltip="true"
/> />
<el-table-column <el-table-column key="phone" label="手机号码" align="center" prop="phone" />
label="手机号码" <el-table-column key="email" label="邮箱" align="center" prop="email" width="280" />
align="center" <el-table-column label="创建时间" align="center" prop="createdAt">
key="phone" <template slot-scope="scope">
prop="phone" <span>{{ scope.row.createdAt }}</span>
/> </template>
<el-table-column </el-table-column>
label="邮箱" <el-table-column label="更新时间" align="center" prop="updatedAt">
align="center" <template slot-scope="scope">
key="email" <span>{{ scope.row.updatedAt }}</span>
prop="email" </template>
width="280" </el-table-column>
/> <el-table-column label="操作" align="center" width="160" class-name="small-padding fixed-width">
<el-table-column <template v-if="scope.row.userId !== 1" slot-scope="scope">
label="操作" <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)">修改</el-button>
align="center"
width="160"
class-name="small-padding fixed-width"
>
<template slot-scope="scope" v-if="scope.row.userId !== 1">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
>修改</el-button
>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
icon="el-icon-delete" icon="el-icon-delete"
@click="handleDelete(scope.row)" @click="handleDelete(scope.row)"
>删除</el-button >删除</el-button>
>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@@ -165,51 +140,31 @@
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="用户名" prop="name"> <el-form-item label="用户名" prop="userName">
<el-input <el-input v-model="form.userName" placeholder="请输入用户名" maxlength="30" />
v-model="form.name"
placeholder="请输入用户名"
maxlength="30"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="用户账户" prop="account"> <el-form-item label="用户账户" prop="account">
<el-input <el-input v-model="form.account" placeholder="请输入用户账户" maxlength="30" />
v-model="form.account"
placeholder="请输入用户账户"
maxlength="30"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="手机号码" prop="phone"> <el-form-item label="手机号码" prop="phone">
<el-input <el-input v-model="form.phone" placeholder="请输入手机号码" maxlength="11" />
v-model="form.phone"
placeholder="请输入手机号码"
maxlength="11"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="邮箱" prop="email"> <el-form-item label="邮箱" prop="email">
<el-input <el-input v-model="form.email" placeholder="请输入邮箱" maxlength="50" />
v-model="form.email"
placeholder="请输入邮箱"
maxlength="50"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item <el-form-item v-if="form.id" label="用户密码" prop="password">
v-if="form.userId == undefined"
label="用户密码"
prop="password"
>
<el-input <el-input
v-model="form.password" v-model="form.password"
placeholder="请输入用户密码" placeholder="请输入用户密码"
@@ -221,17 +176,12 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="角色"> <el-form-item label="角色">
<el-select <el-select v-model="form.hasRoleList" multiple placeholder="请选择角色">
v-model="form.roleIds"
multiple
placeholder="请选择角色"
>
<el-option <el-option
v-for="item in roleOptions" v-for="item in roleOptions"
:key="item.roleId" :key="item.id"
:label="item.roleName" :label="item.roleName"
:value="item.roleId" :value="item.id"
:disabled="item.status == 1"
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
@@ -239,14 +189,13 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="状态"> <el-form-item v-if="form.id" label="状态">
<el-radio-group v-model="form.status"> <el-radio-group v-model="form.state">
<el-radio <el-radio
v-for="dict in statusOpt" v-for="dict in statusOpt"
:key="dict.value" :key="dict.value"
:label="dict.value" :label="dict.value"
>{{ dict.label }}</el-radio >{{ dict.label }}</el-radio>
>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
</el-col> </el-col>
@@ -261,14 +210,18 @@
</template> </template>
<script> <script>
import { getUserList, addUser,deleteUser } from "@/api/system/user"; import {
import { getToken } from "@/utils/auth"; getUserList,
import Treeselect from "@riophae/vue-treeselect"; addUser,
import "@riophae/vue-treeselect/dist/vue-treeselect.css"; updateUser,
deleteUser,
restPassword,
selectRoleList
} from '@/api/system/user';
export default { export default {
name: "User", name: 'User',
components: { Treeselect }, components: {},
data() { data() {
return { return {
// 遮罩层 // 遮罩层
@@ -286,19 +239,13 @@ export default {
// 用户表格数据 // 用户表格数据
userList: [], userList: [],
// 弹出层标题 // 弹出层标题
title: "", title: '',
// 部门树选项
deptOptions: undefined,
// 是否显示弹出层 // 是否显示弹出层
open: false, open: false,
// 部门名称
deptName: undefined,
// 默认密码 // 默认密码
initPassword: undefined, initPassword: undefined,
// 日期范围 // 日期范围
dateRange: [], dateRange: [],
// 岗位选项
postOptions: [],
// 角色选项 // 角色选项
roleOptions: [], roleOptions: [],
// 表单参数 // 表单参数
@@ -306,112 +253,84 @@ export default {
statusOpt: [ statusOpt: [
{ {
value: 0, value: 0,
label: "正常", label: '停用'
}, },
{ {
value: 1, value: 1,
label: "停用", label: '启用'
}, }
], ],
sexOpt: [],
defaultProps: { defaultProps: {
children: "children", children: 'children',
label: "label", label: 'label'
},
// 用户导入参数
upload: {
// 是否显示弹出层(用户导入)
open: false,
// 弹出层标题(用户导入)
title: "",
// 是否禁用上传
isUploading: false,
// 是否更新已经存在的用户数据
updateSupport: 0,
// 设置上传的请求头部
headers: { Authorization: "Bearer " + getToken() },
// 上传的地址
url: process.env.VUE_APP_BASE_API + "/system/user/importData",
}, },
// 查询参数 // 查询参数
queryParams: { queryParams: {
pages: 1, pages: 1,
size: 10, size: 10,
name: undefined, userName: undefined,
phone: undefined, phone: undefined,
state: undefined, state: undefined
}, },
// 表单校验 // 表单校验
rules: { rules: {
name: [ userName: [
{ required: true, message: "用户名称不能为空", trigger: "blur" }, { required: true, message: '用户名称不能为空', trigger: 'blur' },
{ {
min: 2, min: 2,
max: 20, max: 20,
message: "用户名称长度必须介于 2 和 20 之间", message: '用户名称长度必须介于 2 和 20 之间',
trigger: "blur", trigger: 'blur'
}, }
],
account: [
{ required: true, message: '用户账户不能为空', trigger: 'blur' }
], ],
password: [ password: [
{ required: true, message: "用户密码不能为空", trigger: "blur" },
{ {
min: 5, min: 5,
max: 20, max: 20,
message: "用户密码长度必须介于 5 和 20 之间", message: '用户密码长度必须介于 5 和 20 之间',
trigger: "blur", trigger: 'blur'
}, }
], ],
email: [ email: [
{ required: true, message: '邮箱不能为空', trigger: 'blur' },
{ {
type: "email", type: 'email',
message: "请输入正确的邮箱地址", message: '请输入正确的邮箱地址',
trigger: ["blur", "change"], trigger: ['blur', 'change']
}, }
], ],
hasRoleList: [
{ required: true, message: '角色不能为空', trigger: 'change' }
],
state: [{ required: true, message: '状态不能为空', trigger: 'change' }],
phone: [ phone: [
{ {
required: true,
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
message: "请输入正确的手机号码", message: '请输入正确的手机号码',
trigger: "blur", trigger: 'blur'
}, }
], ]
}, }
}; };
}, },
watch: {}, watch: {},
created() { created() {
this.getList(); this.getList();
// this.getDeptTree();
// this.getConfigKey("sys.user.initPassword").then((response) => {
// this.initPassword = response.msg;
// });
}, },
methods: { methods: {
/** 查询用户列表 */ /** 查询用户列表 */
getList() { getList() {
this.loading = true; this.loading = true;
getUserList(this.queryParams).then((response) => { getUserList(this.queryParams).then(response => {
debugger;
this.userList = response.data.records; this.userList = response.data.records;
this.total = 1; // response.data.total this.total = response.data.total;
this.loading = false; this.loading = false;
}); });
}, },
// 用户状态修改
handleStatusChange(row) {
let text = row.status === "0" ? "启用" : "停用";
this.$modal
.confirm('确认要"' + text + '""' + row.userName + '"用户吗?')
.then(function () {
return changeUserStatus(row.userId, row.status);
})
.then(() => {
this.$modal.msgSuccess(text + "成功");
})
.catch(function () {
row.status = row.status === "0" ? "1" : "0";
});
},
// 取消按钮 // 取消按钮
cancel() { cancel() {
this.open = false; this.open = false;
@@ -420,20 +339,25 @@ export default {
// 表单重置 // 表单重置
reset() { reset() {
this.form = { this.form = {
userId: undefined, id: undefined,
deptId: undefined,
userName: undefined, userName: undefined,
nickName: undefined,
password: undefined, password: undefined,
phonenumber: undefined, phone: undefined,
email: undefined, email: undefined,
sex: undefined, state: 1,
status: "0", hasRoleList: []
remark: undefined,
postIds: [],
roleIds: [],
}; };
this.resetForm("form"); this.resetForm('form');
},
// 获取角色列表
getRoleList() {
selectRoleList()
.then(res => {
if (res.code === '000000') {
this.roleOptions = res.data;
}
})
.catch();
}, },
/** 搜索按钮操作 */ /** 搜索按钮操作 */
handleQuery() { handleQuery() {
@@ -443,78 +367,116 @@ export default {
/** 重置按钮操作 */ /** 重置按钮操作 */
resetQuery() { resetQuery() {
this.dateRange = []; this.dateRange = [];
this.resetForm("queryForm"); this.resetForm('queryForm');
this.$refs.tree.setCurrentKey(null); this.$refs.tree.setCurrentKey(null);
this.handleQuery(); this.handleQuery();
}, },
// 多选框选中数据 // 多选框选中数据
handleSelectionChange(selection) { handleSelectionChange(selection) {
this.ids = selection.map((item) => item.userId); this.ids = selection.map(item => item.id);
this.single = selection.length != 1; this.single = selection.length != 1;
this.multiple = !selection.length; this.multiple = !selection.length;
}, },
/** 新增按钮操作 */ /** 新增按钮操作 */
handleAdd() { handleAdd() {
debugger;
this.reset(); this.reset();
this.title = '添加用户';
this.getRoleList();
this.open = true; this.open = true;
this.title = "添加用户";
// this.form.password = this.initPassword; // this.form.password = this.initPassword;
// getUser().then((response) => {
// this.postOptions = response.posts;
// this.roleOptions = response.roles;
// });
}, },
/** 修改按钮操作 */ /** 修改按钮操作 */
handleUpdate(row) { handleUpdate(row) {
this.reset(); this.reset();
// getUser(userId).then((response) => { this.form = Object.assign({}, row);
// this.form = response.data; this.getRoleList();
// this.postOptions = response.posts; this.title = '修改用户';
// this.roleOptions = response.roles; this.open = true;
// this.$set(this.form, "postIds", response.postIds); },
// this.$set(this.form, "roleIds", response.roleIds); // 重置密码
// this.open = true; handleInitPassword() {
// this.title = "修改用户"; const userIds = this.ids;
// this.form.password = ""; this.$confirm('是否确认重置密码, 是否继续?', '提示', {
// }); confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(() => {
restPassword(userIds)
.then(res => {
if (res.code === '000000') {
this.$message({
type: 'success',
message: '重置密码成功!'
});
this.getList();
} else {
this.$message({
type: 'danger',
message: '重置密码失败!'
});
}
})
.catch();
})
.catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
});
});
}, },
/** 删除按钮操作 */ /** 删除按钮操作 */
handleDelete(row) { handleDelete(row) {
const userIds = row.id || this.ids; const userIds = row && row.id ? [row.id] : this.ids;
this.$modal this.$confirm('此操作将永久删除该数据, 是否继续?', '提示', {
.confirm('是否确认删除用户编号为"' + userIds + '"的数据项?') confirmButtonText: '确定',
.then(function () { cancelButtonText: '取消',
return deleteUser(userIds); type: 'warning'
}) })
.then(() => { .then(() => {
this.getList(); deleteUser(userIds)
this.$message({ .then(res => {
message: "删除成功", if (res.code === '000000') {
type: "success", this.$message({
}); type: 'success',
message: '删除成功!'
});
this.getList();
} else {
this.$message({
type: 'danger',
message: '删除失败!'
});
}
})
.catch();
}) })
.catch(() => {}); .catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
});
});
}, },
// 新增用户 // 新增用户
submitForm() { submitForm() {
this.$refs["form"].validate((valid) => { this.$refs['form'].validate(valid => {
if (valid) { if (valid) {
if (this.form.id != undefined) { if (this.form.id != undefined) {
updateUser(this.form).then((response) => { updateUser(this.form).then(response => {
this.$message({ this.$message({
message: "修改成功", message: '修改成功',
type: "success", type: 'success'
}); });
this.open = false; this.open = false;
this.getList(); this.getList();
}); });
} else { } else {
addUser(this.form).then((response) => { addUser(this.form).then(response => {
this.$message({ this.$message({
message: "新增成功", message: '新增成功',
type: "success", type: 'success'
}); });
this.open = false; this.open = false;
this.getList(); this.getList();
@@ -522,7 +484,7 @@ export default {
} }
} }
}); });
}, }
}, }
}; };
</script> </script>