Commit 3fa32d71 authored by shen_yan_pu's avatar shen_yan_pu

修改

parent 05f8024f
import request from '@/utils/request' import request from '@/utils/request'
import { praseStrEmpty } from '@/utils/common' import { praseStrEmpty } from '@/utils/common'
import Qs from 'qs'
// 查询用户列表 // 查询用户列表
export function listUser(query) { export function listUser(query) {
return request({ return request({
url: '/authority/system/user/list', url: '/system/user/list',
method: 'get', method: 'get',
params: query params: query
}) })
...@@ -12,23 +12,24 @@ export function listUser(query) { ...@@ -12,23 +12,24 @@ export function listUser(query) {
// selectUserIdsListDept 新查询用户接-口 // selectUserIdsListDept 新查询用户接-口
export function selectUserIdsListDept(params) { export function selectUserIdsListDept(params) {
return request({ return request({
url: '/authority/system/user/listByDept', url: '/system/user/listByDept',
method: 'get', method: 'post',
params params
}) })
} }
// 查询用户详细 // 查询用户详细
export function getUser(userId) { export function getUser(userId) {
return request({ return request({
url: '/authority/system/user/' + praseStrEmpty(userId), url: '/system/user/' + praseStrEmpty(userId),
method: 'get' method: 'get'
}) })
} }
// 新增用户 // 新增用户
export function addUser(data) { export function addUser(data) {
data = Qs.stringify(data)
return request({ return request({
url: '/authority/system/user', url: '/system/user/add',
method: 'post', method: 'post',
data: data data: data
}) })
...@@ -36,8 +37,9 @@ export function addUser(data) { ...@@ -36,8 +37,9 @@ export function addUser(data) {
// 修改用户 // 修改用户
export function updateUser(data) { export function updateUser(data) {
const businessId = data.businessId
return request({ return request({
url: '/authority/system/user', url: '/system/user/update/' + businessId,
method: 'put', method: 'put',
data: data data: data
}) })
...@@ -46,7 +48,7 @@ export function updateUser(data) { ...@@ -46,7 +48,7 @@ export function updateUser(data) {
// 删除用户 // 删除用户
export function delUser(userId) { export function delUser(userId) {
return request({ return request({
url: '/authority/system/user/' + userId, url: '/system/user/deleteLogical/' + userId,
method: 'delete' method: 'delete'
}) })
} }
...@@ -54,33 +56,34 @@ export function delUser(userId) { ...@@ -54,33 +56,34 @@ export function delUser(userId) {
// 导出用户 // 导出用户
export function exportUser(query) { export function exportUser(query) {
return request({ return request({
url: '/authority/system/user/export', url: '/system/user/export',
method: 'post', method: 'post',
params: query params: query,
responseType: 'blob'
}) })
} }
// 用户密码重置 // 用户密码重置
export function resetUserPwd(userId, password) { export function resetUserPwd(businessId, password) {
const data = { const data = {
userId, businessId,
password password
} }
return request({ return request({
url: '/authority/system/user/resetPwd', url: '/system/user/resetPassword',
method: 'put', method: 'put',
data: data data: data
}) })
} }
// 用户状态修改 // 用户状态修改
export function changeUserStatus(userId, status) { export function changeUserStatus(businessId, status) {
const data = { const data = {
userId, businessId,
status status
} }
return request({ return request({
url: '/authority/system/user/changeStatus', url: '/system/user/changeStatus',
method: 'put', method: 'put',
data: data data: data
}) })
...@@ -89,7 +92,7 @@ export function changeUserStatus(userId, status) { ...@@ -89,7 +92,7 @@ export function changeUserStatus(userId, status) {
// 查询用户个人信息 // 查询用户个人信息
export function getUserProfile() { export function getUserProfile() {
return request({ return request({
url: '/authority/system/user/profile', url: '/system/user/profile',
method: 'get' method: 'get'
}) })
} }
...@@ -97,7 +100,7 @@ export function getUserProfile() { ...@@ -97,7 +100,7 @@ export function getUserProfile() {
// 修改用户个人信息 // 修改用户个人信息
export function updateUserProfile(data) { export function updateUserProfile(data) {
return request({ return request({
url: '/authority/system/user/profile', url: 'system/user/profile',
method: 'put', method: 'put',
data: data data: data
}) })
...@@ -106,7 +109,7 @@ export function updateUserProfile(data) { ...@@ -106,7 +109,7 @@ export function updateUserProfile(data) {
// 用户密码重置 // 用户密码重置
export function updateUserPwd(data) { export function updateUserPwd(data) {
return request({ return request({
url: '/authority/system/user/profile/updatePwd', url: '/system/user/resetPassword',
method: 'put', method: 'put',
params: data params: data
}) })
...@@ -115,23 +118,51 @@ export function updateUserPwd(data) { ...@@ -115,23 +118,51 @@ export function updateUserPwd(data) {
// 用户头像上传 // 用户头像上传
export function uploadAvatar(data) { export function uploadAvatar(data) {
return request({ return request({
url: '/authority/system/user/profile/avatar', url: '/system/user/profile/avatar',
method: 'post', method: 'post',
data: data data: data
}) })
} }
// 下载用户导入模板 // 下载用户导入模板
export function importTemplate() { export function importTemplate(params) {
return request({ return request({
url: '/authority/system/user/importTemplate', url: '/system/user/importTemplate',
method: 'get' method: 'get',
responseType: 'blob',
params
})
}
// 导入用户信息
export function importExcel(data) {
return request({
url: '/system/user/importExcel',
method: 'post',
headers: {
'Content-Type': 'multipart/form-data'
},
transformRequest: [(data) => {
return data
}],
data
}) })
} }
// 下载错误文件
export function uploadFalseFile(params) {
console.log(params)
return request({
url: '/system/user/downFalseFile',
method: 'post',
data: params,
responseType: 'blob'
})
}
// 控制用户能否登录 // 控制用户能否登录
export function userLoginManage(data) { export function userLoginManage(data) {
return request({ return request({
url: '/authority/system/user/updateAllowLogin', url: '/system/user/updateAllowLogin',
method: 'post', method: 'post',
data data
}) })
......
...@@ -2,9 +2,9 @@ ...@@ -2,9 +2,9 @@
<div class="user-manage"> <div class="user-manage">
<div class="search" style="border-bottom: 14px solid #f4f4f4"> <div class="search" style="border-bottom: 14px solid #f4f4f4">
<el-form ref="queryForm" style="padding: 0 0 0 10px" class="formClass" :model="queryParams" :inline="true" label-width="auto"> <el-form ref="queryForm" style="padding: 0 0 0 10px" class="formClass" :model="queryParams" :inline="true" label-width="auto">
<el-form-item label="登录名" prop="userName" class="noMargin"> <el-form-item label="登录名" prop="username" class="noMargin">
<el-input <el-input
v-model="queryParams.userName" v-model="queryParams.username"
placeholder="请输入登录名" placeholder="请输入登录名"
clearable clearable
:maxlength="30" :maxlength="30"
...@@ -13,17 +13,6 @@ ...@@ -13,17 +13,6 @@
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<!-- <el-form-item label="手机号码" prop="phonenumber">-->
<!-- <el-input-->
<!-- v-model="queryParams.phonenumber"-->
<!-- placeholder="请输入手机号码"-->
<!-- clearable-->
<!-- size="small"-->
<!-- style="width:12.5vw"-->
<!-- :maxlength="11"-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<el-form-item label="能否登录" prop="status"> <el-form-item label="能否登录" prop="status">
<el-select <el-select
v-model="queryParams.allowLogin" v-model="queryParams.allowLogin"
...@@ -34,9 +23,9 @@ ...@@ -34,9 +23,9 @@
> >
<el-option <el-option
v-for="dict in statusOptions" v-for="dict in statusOptions"
:key="dict.dictValue" :key="dict.status"
:label="dict.dictLabel" :label="dict.status"
:value="dict.dictValue" :value="dict.status"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
...@@ -44,9 +33,21 @@ ...@@ -44,9 +33,21 @@
<el-button type="primary" size="small" @click="handleQuery">查询</el-button> <el-button type="primary" size="small" @click="handleQuery">查询</el-button>
</el-form-item> </el-form-item>
<el-form-item style="float: right"> <el-form-item style="float: right">
<!-- <el-button size="small" @click="resetQuery">重置</el-button>-->
<el-button <el-button
v-hasPermi="['system:user:export']" v-hasPermi="['sys:user:add']"
type="primary"
size="small"
@click="handleAdd"
>新增</el-button>
<el-button
style="padding: 8px 7px;"
type="warning"
icon="el-icon-upload"
size="small"
@click="handleImport"
>导入</el-button>
<el-button
v-hasPermi="['sys:user:export']"
type="success" type="success"
size="small" size="small"
@click="handleExport" @click="handleExport"
...@@ -79,7 +80,7 @@ ...@@ -79,7 +80,7 @@
:current-node-key="currentNode" :current-node-key="currentNode"
@node-click="handleNodeClick" @node-click="handleNodeClick"
> >
<div slot-scope="{ node, data }" style="white-space: nowrap;text-overflow: ellipsis;overflow: hidden" class="custom-tree-node"> <div slot-scope="{ node }" style="white-space: nowrap;text-overflow: ellipsis;overflow: hidden" class="custom-tree-node">
<span style="font-size: 14px" :title="node.label">{{ node.label }}</span> <span style="font-size: 14px" :title="node.label">{{ node.label }}</span>
</div> </div>
</el-tree> </el-tree>
...@@ -99,44 +100,39 @@ ...@@ -99,44 +100,39 @@
label="用户编号" label="用户编号"
> >
<template v-slot:default="scope"> <template v-slot:default="scope">
{{ scope.row.userId || '-' }} {{ scope.row.businessId || '-' }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="登录名" prop="userName" :show-overflow-tooltip="true"> <el-table-column label="登录名" prop="username" :show-overflow-tooltip="true">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.userName || '-' }} {{ scope.row.username || '-' }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="姓名" prop="nickName" :show-overflow-tooltip="true"> <el-table-column label="用户类型" prop="userType" :show-overflow-tooltip="true">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.nickName || '-' }} {{ scope.row.nickName || '-' }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="部门" prop="dept.deptName" :show-overflow-tooltip="true"> <el-table-column label="手机号" prop="phone" :show-overflow-tooltip="true">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.dept ? (scope.row.dept.deptName || '-') : '-' }} {{ scope.row.phone || '-' }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column v-hasPermi="['system:user:login']" width="120" label="能否登录" prop="allowLogin"> <el-table-column width="120" label="状态" prop="status">
<template slot-scope="scope"> <template slot-scope="scope">
<el-switch <el-switch
v-model="scope.row.allowLogin" v-model="scope.row.flag"
class="switchDisabledStyle" class="switchDisabledStyle"
:disabled="true" :disabled="true"
inactive-value="0" inactive-value="0"
active-value="1" active-value="1"
@click.native="toggleLoginAuth(scope.row)" @click.native="handleStatusChange(scope.row)"
/> />
</template> </template>
</el-table-column> </el-table-column>
<!-- <el-table-column :show-overflow-tooltip="true" label="手机号码" prop="phonenumber" width="120">--> <el-table-column :show-overflow-tooltip="true" label="创建时间" prop="createDate" width="160">
<!-- <template slot-scope="scope">-->
<!-- {{ scope.row.phonenumber || '-' }}-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column :show-overflow-tooltip="true" label="创建时间" prop="createTime" width="160">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.createTime | transformDateByFormat('YYYY-MM-DD HH:mm') }}</span> <span>{{ scope.row.createDate | transformDateByFormat('YYYY-MM-DD HH:mm') }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
...@@ -146,47 +142,29 @@ ...@@ -146,47 +142,29 @@
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
v-hasPermi="['system:user:edit']" v-hasPermi="['sys:user:update']"
size="mini" size="mini"
type="text" type="text"
style="color: #49cec9" style="color: #49cec9"
@click="handleUpdate(scope.row)" @click="handleUpdate(scope.row)"
>修改</el-button> >修改</el-button>
<el-button <el-button
v-hasPermi="['system:user:resetpwd']" v-hasPermi="['sys:user:resetPwd']"
size="mini" size="mini"
type="text" type="text"
@click="handleResetPwd(scope.row)" @click="handleResetPwd(scope.row)"
>重置</el-button> >重置</el-button>
<!-- <el-switch--> <el-button
<!-- v-model="scope.row.status"--> v-if="scope.row.businessId !== 1"
<!-- v-hasPermi="['system:user:toggle']"--> size="mini"
<!-- active-value="0"--> type="text"
<!-- inactive-value="1"--> icon="el-icon-delete"
<!-- @change="handleStatusChange(scope.row)"--> @click="handleDelete(scope.row)"
<!-- />--> v-hasPermi="['sys:user:delete']"
<!-- <el-dropdown class="table-drop">--> >删除</el-button>
<!-- <span class="el-dropdown-link">-->
<!-- ...-->
<!-- </span>-->
<!-- <el-dropdown-menu slot="dropdown">-->
<!-- <el-dropdown-item>-->
<!-- </el-dropdown-item>-->
<!-- &lt;!&ndash; <el-dropdown-item>&ndash;&gt;-->
<!-- &lt;!&ndash; <el-button&ndash;&gt;-->
<!-- &lt;!&ndash; v-if="scope.row.userId !== 1"&ndash;&gt;-->
<!-- &lt;!&ndash; v-hasPermi="['system:user:remove']"&ndash;&gt;-->
<!-- &lt;!&ndash; size="mini"&ndash;&gt;-->
<!-- &lt;!&ndash; type="text"&ndash;&gt;-->
<!-- &lt;!&ndash; @click="handleDelete(scope.row)"&ndash;&gt;-->
<!-- &lt;!&ndash; >删除</el-button>&ndash;&gt;-->
<!-- &lt;!&ndash; </el-dropdown-item>&ndash;&gt;-->
<!-- </el-dropdown-menu>-->
<!-- </el-dropdown>-->
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination <pagination
v-show="total>0" v-show="total>0"
:total="total" :total="total"
...@@ -196,130 +174,104 @@ ...@@ -196,130 +174,104 @@
/> />
</el-col> </el-col>
</el-row> </el-row>
<!-- 添加或修改参数配置对话框 --> <!-- 添加或修改参数配置对话框 -->
<el-dialog title="用户信息" :visible.sync="open" width="45%" append-to-body> <el-dialog :title="title" :visible.sync="open" width="600px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="4.2vw"> <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="userName"> <el-form-item label="用户昵称" prop="nickName">
<el-input v-model.trim="form.userName" maxlength="10" show-word-limit placeholder="请输入登录名" /> <el-input v-model="form.nickName" placeholder="请输入用户昵称" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="姓名" prop="nickName">
<el-input v-model.trim="form.nickName" disabled maxlength="10" show-word-limit placeholder="请输入姓名" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="归属部门" prop="deptId">
<el-cascader
ref="deptSelectd"
v-model="form.deptId"
style="width: 100%"
:disabled="true"
:options="deptOptions"
:props="{
label: 'label',
value: 'id',
children: 'children',
checkStrictly: true,
emitPath: false,
expandTrigger: 'hover'
}"
:show-all-levels="false"
@change="$refs['deptSelectd'].dropDownVisible = false"
/>
</el-form-item> </el-form-item>
<!-- <treeselect-->
<!-- v-model="form.deptId"-->
<!-- disabled-->
<!-- :options=""-->
<!-- :show-count="true"-->
<!-- placeholder="请选择归属部门"-->
<!-- @node-click="handleClick"-->
<!-- />-->
<!-- </el-form-item>-->
</el-col> </el-col>
<!-- <el-col :span="12">-->
<!-- <el-form-item label="手机号码" prop="phonenumber">-->
<!-- <el-input v-model.trim="form.phonenumber" disabled maxlength="11" show-word-limit placeholder="请输入手机号码" />-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="12">-->
<!-- <el-form-item label="邮箱" prop="email">-->
<!-- <el-input v-model.trim="form.email" disabled show-word-limit placeholder="请输入邮箱" maxlength="50" />-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<el-col :span="12"> <el-col :span="12">
<el-form-item label="用户性别"> <el-form-item label="用户性别">
<el-select v-model="form.sex" style="width: 100%" disabled clearable placeholder="请选择用户性别"> <el-select v-model="form.sex" placeholder="请选择">
<el-option <el-option
v-for="dict in sexOptions" v-for="dict in sexOptions"
:key="dict.value" :key="dict.dictValue"
:label="dict.label" :label="dict.label"
:value="dict.value" :value="dict.value"
/> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="职务"> <el-form-item label="手机号码" prop="phone">
<el-select <el-input v-model="form.phone" placeholder="请输入手机号码" maxlength="11" />
v-model="form.postIds"
disabled
clearable
style="width: 100%"
placeholder="请选择职务"
>
<el-option
v-for="item in postOptions"
:key="item.postId"
:disabled="item.status === '1'"
:label="item.postName"
:value="item.postId"
>
<span style="float: left">{{ item.postName }}</span>
<span v-if="item.status === '1'" style="float: right; color: #8492a6; font-size: 12px;padding-left: 10px">{{ '已停用' }}</span>
</el-option>
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12">
<el-form-item label="邮箱" prop="email">
<el-input v-model="form.email" placeholder="请输入邮箱" maxlength="50" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item v-if="form.businessId == undefined" label="登录名" prop="username">
<el-input v-model="form.username" placeholder="请输入登录名" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item v-if="form.businessId == undefined" label="用户密码" prop="password">
<el-input v-model="form.password" placeholder="请输入用户密码" type="password" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="用户姓名" prop="name">
<el-input v-model="form.name" placeholder="请输入用户姓名" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="身份证号" prop="idNumber">
<el-input v-model="form.idNumber" placeholder="请输入身份证号" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="状态" >
<el-radio-group v-model="form.flag">
<el-radio
v-for="dict in statusOptions"
:key="dict.dictValue"
:label="dict.dictValue"
>{{dict.dictLabel}}</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="角色"> <el-form-item label="岗位" prop="postId" >
<el-select <treeSelect
v-model="form.roleIds" :disable-branch-nodes="true"
style="width: 100%" v-model="form.postIds"
multiple multiple
clearable :options="deptChildren"
placeholder="请选择角色" :show-count="true"
> @input="changeValue"
<el-option placeholder="请选择归属部门" />
v-for="item in roleOptions"
:key="item.roleId"
:disabled="item.status === '1'"
:label="item.roleName"
:value="item.roleId"
>
<span style="float: left">{{ item.roleName }}</span>
<span v-if="item.status === '1'" style="float: right; color: #8492a6; font-size: 12px;padding-left: 10px">{{ '已停用' }}</span>
</el-option>
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="备注"> <el-form-item label="备注">
<el-input v-model.trim="form.remark" maxlength="200" show-word-limit type="textarea" placeholder="请输入内容" /> <el-input v-model="form.remarks" type="textarea" placeholder="请输入内容"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button size="small" @click="cancel">取 消</el-button> <el-button type="primary" @click="submitForm">确 定</el-button>
<el-button :loading="userInfoLoading" :disabled="userInfoLoading" type="primary" size="small" @click="submitForm">确 定</el-button> <el-button @click="cancel">取 消</el-button>
</div> </div>
</el-dialog> </el-dialog>
<!-- 用户导入对话框 --> <!-- 用户导入对话框 -->
<el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body> <el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body>
<el-upload <el-upload
...@@ -389,7 +341,7 @@ ...@@ -389,7 +341,7 @@
<script> <script>
import { import {
listUser, listUser,
selectUserIdsListDept, // selectUserIdsListDept,
getUser, getUser,
delUser, delUser,
addUser, addUser,
...@@ -398,16 +350,16 @@ import { ...@@ -398,16 +350,16 @@ import {
resetUserPwd, resetUserPwd,
changeUserStatus, changeUserStatus,
importTemplate, importTemplate,
userLoginManage // userLoginManage
} from '@/api/system/user' } from '@/api/system/user'
import { getToken } from '@/utils/auth' import { getToken } from '@/utils/auth'
import { treeselect } from '@/api/system/dept' import { getChildrenDept, treeselect } from '@/api/system/dept'
import Treeselect from '@riophae/vue-treeselect' import TreeSelect from '@riophae/vue-treeselect'
import '@riophae/vue-treeselect/dist/vue-treeselect.css' import '@riophae/vue-treeselect/dist/vue-treeselect.css'
export default { export default {
name: 'User', name: 'User',
components: { Treeselect }, components: { TreeSelect },
data() { data() {
var trueGroupName = (rule, value, callback) => { var trueGroupName = (rule, value, callback) => {
if (!value.trim()) { if (!value.trim()) {
...@@ -480,6 +432,8 @@ export default { ...@@ -480,6 +432,8 @@ export default {
postOptions: [], postOptions: [],
// 角色选项 // 角色选项
roleOptions: [], roleOptions: [],
// 子部门信息
deptChildren: [],
// 表单参数 // 表单参数
form: {}, form: {},
defaultProps: { defaultProps: {
...@@ -509,15 +463,16 @@ export default { ...@@ -509,15 +463,16 @@ export default {
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
userName: '', username: '',
phonenumber: '', userType: '',
allowLogin: '', allowLogin: '',
status: '', status: '',
phone: '',
deptId: '' deptId: ''
}, },
// 表单校验 // 表单校验
rules: { rules: {
userName: [ username: [
{ required: true, message: '请输入登录名', trigger: 'blur' } { required: true, message: '请输入登录名', trigger: 'blur' }
], ],
nickName: [ nickName: [
...@@ -551,7 +506,7 @@ export default { ...@@ -551,7 +506,7 @@ export default {
trigger: 'blur' trigger: 'blur'
} }
], ],
phonenumber: [ phone: [
{ required: false, message: '请输入手机号码', trigger: 'blur' }, { required: false, message: '请输入手机号码', trigger: 'blur' },
{ {
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}$/,
...@@ -573,19 +528,19 @@ export default { ...@@ -573,19 +528,19 @@ export default {
}, },
created() { created() {
this.getList() this.getList()
this.getTreeselect() this.getTreeSelect()
// this.getDicts('sys_normal_disable').then(response => {
// this.statusOptions = response.data
// })
this.getConfigKey('sys.user.initPassword').then(response => { this.getConfigKey('sys.user.initPassword').then(response => {
this.initPassword = response.msg this.initPassword = response.msg
}) })
}, },
methods: { methods: {
changeValue() {
this.$refs.form.validateField('id')
},
// 用户登录控制 // 用户登录控制
toggleLoginAuth(row) { /** toggleLoginAuth(row) {
const status = row.allowLogin === '1' ? '禁止' : '允许' const status = row.allowLogin === '1' ? '禁止' : '允许'
this.$confirm(`“${row.userName}”即将被${status}登录, 是否继续?`, '提示', { this.$confirm(`“${row.username}”即将被${status}登录, 是否继续?`, '提示', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning' type: 'warning'
...@@ -600,11 +555,11 @@ export default { ...@@ -600,11 +555,11 @@ export default {
}).catch(() => { }).catch(() => {
}) })
}, },*/
/** 查询用户列表 */ /** 查询用户列表 */
getList() { getList() {
this.loading = true this.loading = true
selectUserIdsListDept(this.queryParams).then(response => { listUser(this.queryParams).then(response => {
this.userList = response.rows this.userList = response.rows
this.total = response.total this.total = response.total
this.loading = false this.loading = false
...@@ -612,7 +567,7 @@ export default { ...@@ -612,7 +567,7 @@ export default {
) )
}, },
/** 查询部门下拉树结构 */ /** 查询部门下拉树结构 */
getTreeselect() { getTreeSelect() {
treeselect().then(response => { treeselect().then(response => {
this.deptOptionsTree = response.data.concat({ this.deptOptionsTree = response.data.concat({
id: -1, id: -1,
...@@ -624,6 +579,13 @@ export default { ...@@ -624,6 +579,13 @@ export default {
} }
}) })
}, },
/** 查询子部门 */
getChildrenDept(userId) {
getChildrenDept(userId).then(response => {
this.deptChildren = response.data.postOptions
this.form.postIds = response.data.checkedKeys
})
},
// 筛选节点 // 筛选节点
filterNode(value, data) { filterNode(value, data) {
if (!value) return true if (!value) return true
...@@ -647,20 +609,20 @@ export default { ...@@ -647,20 +609,20 @@ export default {
}, },
// 用户状态修改 // 用户状态修改
handleStatusChange(row) { handleStatusChange(row) {
const text = row.status === '0' ? '启用' : '停用' const text = row.flag === '0' ? '启用' : '停用'
this.$confirm(`“${row.userName}”用户即将被${text},是否继续?`, '提示', { this.$confirm('确认要"' + text + '""' + row.name + '"用户吗?', '警告', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning' type: 'warning'
}).then(function() { }).then(function() {
return changeUserStatus(row.userId, row.status) return changeUserStatus(row.businessId, row.flag)
}).then(() => { }).then(() => {
this.$message({ this.$message({
message: text + '成功', message: text + '成功',
type: 'success' type: 'success'
}) })
}).catch(function() { }).catch(function() {
row.status = row.status === '0' ? '1' : '0' row.flag = row.flag === '0' ? '1' : '0'
}) })
}, },
// 取消按钮 // 取消按钮
...@@ -673,10 +635,11 @@ export default { ...@@ -673,10 +635,11 @@ export default {
this.form = { this.form = {
userId: undefined, userId: undefined,
deptId: undefined, deptId: undefined,
userName: undefined, phone: undefined,
username: undefined,
userType: undefined,
nickName: undefined, nickName: undefined,
password: undefined, password: undefined,
phonenumber: undefined,
email: undefined, email: undefined,
sex: undefined, sex: undefined,
status: '0', status: '0',
...@@ -704,39 +667,54 @@ export default { ...@@ -704,39 +667,54 @@ export default {
}, },
/** 新增按钮操作 */ /** 新增按钮操作 */
handleAdd() { handleAdd() {
this.open = true
this.reset() this.reset()
this.getTreeselect() this.getChildrenDept()
this.getTreeSelect()
// this.title = '添加用户'
// this.form.password = '111111'
getUser().then(response => { getUser().then(response => {
this.postOptions = response.posts this.postOptions = response.posts
this.roleOptions = response.roles this.roleOptions = response.roles
this.open = true // this.open = true
this.title = '添加' this.title = '添加'
this.form.password = this.initPassword this.form.password = this.initPassword
}) })
}, },
/** 修改按钮操作 */ /** 修改按钮操作 */
handleUpdate(row) { handleUpdate(row) {
this.open = true
this.reset() this.reset()
this.getTreeselect() this.getTreeSelect()
const userId = row.userId || this.ids const businessId = row.businessId || this.ids
getUser(userId).then(response => { getUser(businessId).then(response => {
this.form = response.data this.form = response.data
this.postOptions = response.posts this.postOptions = response.posts
this.roleOptions = response.roles this.roleOptions = response.roles
this.form.postIds = response.postIds[0] this.form.postIds = response.postIds[0]
this.form.roleIds = response.roleIds this.form.roleIds = response.roleIds
this.form.roleIdsSave = JSON.parse(JSON.stringify(response.roleIds)).sort() this.form.roleIdsSave = JSON.parse(JSON.stringify(response.roleIds)).sort()
this.open = true // this.open = true
this.title = '修改' this.title = '修改'
this.form.password = '' this.form.password = ''
}) })
}, },
/** 重置密码按钮操作 */ /** 重置密码按钮操作 */
handleResetPwd(row) { handleResetPwd(row) {
this.ruleForm.newPassword = '' this.$prompt('请输入"' + row.name + '"的新密码', '提示', {
this.ruleForm.row = row.userId confirmButtonText: '确定',
this.resetPwdDiaLog = !this.resetPwdDiaLog cancelButtonText: '取消'
}).then(({ value }) => {
resetUserPwd(row.businessId, value).then(response => {
this.$message({
message: '修改成功,新密码是:' + value
})
})
}).catch(() => {})
}, },
// this.ruleForm.newPassword = ''
// this.ruleForm.row = row.userId
// this.resetPwdDiaLog = !this.resetPwdDiaLog
handleResetPwdSure() { handleResetPwdSure() {
this.$refs.ruleForm.validate(pass => { this.$refs.ruleForm.validate(pass => {
if (pass) { if (pass) {
...@@ -768,16 +746,33 @@ export default { ...@@ -768,16 +746,33 @@ export default {
}, },
/** 提交按钮 */ /** 提交按钮 */
submitForm() { submitForm() {
// this.$refs[ 'form' ].validate(valid => {
// if (valid) {
// if (this.form.businessId !== undefined) {
// updateUser(this.form).then(response => {
// this.$message('修改成功')
// this.open = false
// this.getList()
// })
// } else {
// addUser(this.form).then(response => {
// this.$message('新增成功')
// this.open = false
// this.getList()
// })
// }
// }
// })
this.$refs['form'].validate(valid => { this.$refs['form'].validate(valid => {
if (valid) { if (valid) {
if (this.form.userId) { if (this.form.businessId) {
const temp = Object.assign({}, this.form) const temp = Object.assign({}, this.form)
if (typeof (temp.postIds) === 'number') { if (typeof (temp.postIds) === 'number') {
temp.postIds = [this.form.postIds] temp.postIds = [this.form.postIds]
} else { } else {
temp.postIds = [] temp.postIds = []
} }
delete temp.phonenumber delete temp.phone
delete temp.email delete temp.email
const saveRoleList = JSON.stringify(temp.roleIdsSave) const saveRoleList = JSON.stringify(temp.roleIdsSave)
const nowRoleList = JSON.stringify(JSON.parse(JSON.stringify(temp.roleIds)).sort()) const nowRoleList = JSON.stringify(JSON.parse(JSON.stringify(temp.roleIds)).sort())
...@@ -844,7 +839,7 @@ export default { ...@@ -844,7 +839,7 @@ export default {
}, },
/** 删除按钮操作 */ /** 删除按钮操作 */
handleDelete(row) { handleDelete(row) {
const userIds = row.userId || this.ids const userIds = row.businessId || this.ids
this.$confirm('所选择数据被删除后不可再恢复,是否继续?', '提示', { this.$confirm('所选择数据被删除后不可再恢复,是否继续?', '提示', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
...@@ -862,18 +857,24 @@ export default { ...@@ -862,18 +857,24 @@ export default {
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {
const queryParams = this.queryParams const queryParams = this.queryParams
exportUser(queryParams).then(res => { this.$confirm('是否确认导出所有用户信息?', '警告', {
this.download(res.msg) confirmButtonText: '确定',
}).catch(() => {}) cancelButtonText: '取消',
// this.$confirm('是否确认导出所有用户数据项?', '提示', { type: 'warning'
// confirmButtonText: '确定', }).then(function() {
// cancelButtonText: '取消', return exportUser(queryParams).then(response => {
// type: 'warning' const blob = new Blob([response])
// }).then(function() { const downloadElement = document.createElement('a')
// return exportUser(queryParams) const href = window.URL.createObjectURL(blob)// 创建下载的链接
// }).then(response => { downloadElement.href = href
// downloadElement.download = '用户信息' + '.xls' // 下载后文件名
// }).catch(function() {}) document.body.appendChild(downloadElement)
downloadElement.click()// 点击下载
document.body.removeChild(downloadElement)// 下载完成移除元素
window.URL.revokeObjectURL(href)// 释放掉blob对象
// this.download(response.msg);
})
})
}, },
/** 导入按钮操作 */ /** 导入按钮操作 */
handleImport() { handleImport() {
...@@ -923,12 +924,6 @@ export default { ...@@ -923,12 +924,6 @@ export default {
<style lang="scss"> <style lang="scss">
.user-manage { .user-manage {
.formClass { .formClass {
.el-form-item {
margin-top: 0;
margin-right: 10px;
margin-bottom: 15px;
margin-left: 0;
}
} }
.noMargin { .noMargin {
.el-form-item__label-wrap { .el-form-item__label-wrap {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment