Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
9
91isoft_vue_manage
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
杨硕
91isoft_vue_manage
Commits
3fa32d71
Commit
3fa32d71
authored
Dec 30, 2020
by
shen_yan_pu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改
parent
05f8024f
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
261 additions
and
235 deletions
+261
-235
user.js
src/api/system/user.js
+55
-24
index.vue
src/views/system/user/index.vue
+206
-211
No files found.
src/api/system/user.js
View file @
3fa32d71
import
request
from
'@/utils/request'
import
{
praseStrEmpty
}
from
'@/utils/common'
import
Qs
from
'qs'
// 查询用户列表
export
function
listUser
(
query
)
{
return
request
({
url
:
'/
authority/
system/user/list'
,
url
:
'/system/user/list'
,
method
:
'get'
,
params
:
query
})
...
...
@@ -12,23 +12,24 @@ export function listUser(query) {
// selectUserIdsListDept 新查询用户接-口
export
function
selectUserIdsListDept
(
params
)
{
return
request
({
url
:
'/
authority/
system/user/listByDept'
,
method
:
'
ge
t'
,
url
:
'/system/user/listByDept'
,
method
:
'
pos
t'
,
params
})
}
// 查询用户详细
export
function
getUser
(
userId
)
{
return
request
({
url
:
'/
authority/
system/user/'
+
praseStrEmpty
(
userId
),
url
:
'/system/user/'
+
praseStrEmpty
(
userId
),
method
:
'get'
})
}
// 新增用户
export
function
addUser
(
data
)
{
data
=
Qs
.
stringify
(
data
)
return
request
({
url
:
'/
authority/system/user
'
,
url
:
'/
system/user/add
'
,
method
:
'post'
,
data
:
data
})
...
...
@@ -36,8 +37,9 @@ export function addUser(data) {
// 修改用户
export
function
updateUser
(
data
)
{
const
businessId
=
data
.
businessId
return
request
({
url
:
'/
authority/system/user'
,
url
:
'/
system/user/update/'
+
businessId
,
method
:
'put'
,
data
:
data
})
...
...
@@ -46,7 +48,7 @@ export function updateUser(data) {
// 删除用户
export
function
delUser
(
userId
)
{
return
request
({
url
:
'/
authority/system/user
/'
+
userId
,
url
:
'/
system/user/deleteLogical
/'
+
userId
,
method
:
'delete'
})
}
...
...
@@ -54,33 +56,34 @@ export function delUser(userId) {
// 导出用户
export
function
exportUser
(
query
)
{
return
request
({
url
:
'/
authority/
system/user/export'
,
url
:
'/system/user/export'
,
method
:
'post'
,
params
:
query
params
:
query
,
responseType
:
'blob'
})
}
// 用户密码重置
export
function
resetUserPwd
(
user
Id
,
password
)
{
export
function
resetUserPwd
(
business
Id
,
password
)
{
const
data
=
{
user
Id
,
business
Id
,
password
}
return
request
({
url
:
'/
authority/system/user/resetPw
d'
,
url
:
'/
system/user/resetPasswor
d'
,
method
:
'put'
,
data
:
data
})
}
// 用户状态修改
export
function
changeUserStatus
(
user
Id
,
status
)
{
export
function
changeUserStatus
(
business
Id
,
status
)
{
const
data
=
{
user
Id
,
business
Id
,
status
}
return
request
({
url
:
'/
authority/
system/user/changeStatus'
,
url
:
'/system/user/changeStatus'
,
method
:
'put'
,
data
:
data
})
...
...
@@ -89,7 +92,7 @@ export function changeUserStatus(userId, status) {
// 查询用户个人信息
export
function
getUserProfile
()
{
return
request
({
url
:
'/
authority/
system/user/profile'
,
url
:
'/system/user/profile'
,
method
:
'get'
})
}
...
...
@@ -97,7 +100,7 @@ export function getUserProfile() {
// 修改用户个人信息
export
function
updateUserProfile
(
data
)
{
return
request
({
url
:
'
/authority/
system/user/profile'
,
url
:
'system/user/profile'
,
method
:
'put'
,
data
:
data
})
...
...
@@ -106,7 +109,7 @@ export function updateUserProfile(data) {
// 用户密码重置
export
function
updateUserPwd
(
data
)
{
return
request
({
url
:
'/
authority/system/user/profile/updatePw
d'
,
url
:
'/
system/user/resetPasswor
d'
,
method
:
'put'
,
params
:
data
})
...
...
@@ -115,23 +118,51 @@ export function updateUserPwd(data) {
// 用户头像上传
export
function
uploadAvatar
(
data
)
{
return
request
({
url
:
'/
authority/
system/user/profile/avatar'
,
url
:
'/system/user/profile/avatar'
,
method
:
'post'
,
data
:
data
})
}
// 下载用户导入模板
export
function
importTemplate
()
{
export
function
importTemplate
(
params
)
{
return
request
({
url
:
'/authority/system/user/importTemplate'
,
method
:
'get'
url
:
'/system/user/importTemplate'
,
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
)
{
return
request
({
url
:
'/
authority/
system/user/updateAllowLogin'
,
url
:
'/system/user/updateAllowLogin'
,
method
:
'post'
,
data
})
...
...
src/views/system/user/index.vue
View file @
3fa32d71
...
...
@@ -2,9 +2,9 @@
<div
class=
"user-manage"
>
<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-item
label=
"登录名"
prop=
"user
N
ame"
class=
"noMargin"
>
<el-form-item
label=
"登录名"
prop=
"user
n
ame"
class=
"noMargin"
>
<el-input
v-model=
"queryParams.user
N
ame"
v-model=
"queryParams.user
n
ame"
placeholder=
"请输入登录名"
clearable
:maxlength=
"30"
...
...
@@ -13,17 +13,6 @@
@
keyup
.
enter
.
native=
"handleQuery"
/>
</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-select
v-model=
"queryParams.allowLogin"
...
...
@@ -34,9 +23,9 @@
>
<el-option
v-for=
"dict in statusOptions"
:key=
"dict.
dictValue
"
:label=
"dict.
dictLabel
"
:value=
"dict.
dictValue
"
:key=
"dict.
status
"
:label=
"dict.
status
"
:value=
"dict.
status
"
/>
</el-select>
</el-form-item>
...
...
@@ -44,9 +33,21 @@
<el-button
type=
"primary"
size=
"small"
@
click=
"handleQuery"
>
查询
</el-button>
</el-form-item>
<el-form-item
style=
"float: right"
>
<!--
<el-button
size=
"small"
@
click=
"resetQuery"
>
重置
</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"
size=
"small"
@
click=
"handleExport"
...
...
@@ -79,7 +80,7 @@
:current-node-key=
"currentNode"
@
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>
</div>
</el-tree>
...
...
@@ -99,44 +100,39 @@
label=
"用户编号"
>
<template
v-slot:default=
"scope"
>
{{
scope
.
row
.
user
Id
||
'-'
}}
{{
scope
.
row
.
business
Id
||
'-'
}}
</
template
>
</el-table-column>
<el-table-column
label=
"登录名"
prop=
"user
N
ame"
:show-overflow-tooltip=
"true"
>
<el-table-column
label=
"登录名"
prop=
"user
n
ame"
:show-overflow-tooltip=
"true"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
user
N
ame
||
'-'
}}
{{
scope
.
row
.
user
n
ame
||
'-'
}}
</
template
>
</el-table-column>
<el-table-column
label=
"
姓名"
prop=
"nickNam
e"
:show-overflow-tooltip=
"true"
>
<el-table-column
label=
"
用户类型"
prop=
"userTyp
e"
:show-overflow-tooltip=
"true"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
nickName
||
'-'
}}
</
template
>
</el-table-column>
<el-table-column
label=
"
部门"
prop=
"dept.deptNam
e"
:show-overflow-tooltip=
"true"
>
<el-table-column
label=
"
手机号"
prop=
"phon
e"
:show-overflow-tooltip=
"true"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
dept
?
(
scope
.
row
.
dept
.
deptName
||
'-'
)
:
'-'
}}
{{
scope
.
row
.
phone
||
'-'
}}
</
template
>
</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"
>
<el-switch
v-model=
"scope.row.
allowLogin
"
v-model=
"scope.row.
flag
"
class=
"switchDisabledStyle"
:disabled=
"true"
inactive-value=
"0"
active-value=
"1"
@
click
.
native=
"
toggleLoginAuth
(scope.row)"
@
click
.
native=
"
handleStatusChange
(scope.row)"
/>
</
template
>
</el-table-column>
<!-- <el-table-column :show-overflow-tooltip="true" label="手机号码" prop="phonenumber" width="120">-->
<!-- <template slot-scope="scope">-->
<!-- {{ scope.row.phonenumber || '-' }}-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column
:show-overflow-tooltip=
"true"
label=
"创建时间"
prop=
"createTime"
width=
"160"
>
<el-table-column
:show-overflow-tooltip=
"true"
label=
"创建时间"
prop=
"createDate"
width=
"160"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
create
Tim
e
|
transformDateByFormat
(
'YYYY-MM-DD HH:mm'
)
}}
</span>
<span>
{{
scope
.
row
.
create
Dat
e
|
transformDateByFormat
(
'YYYY-MM-DD HH:mm'
)
}}
</span>
</
template
>
</el-table-column>
<el-table-column
...
...
@@ -146,47 +142,29 @@
>
<
template
slot-scope=
"scope"
>
<el-button
v-hasPermi=
"['sys
tem:user:edit
']"
v-hasPermi=
"['sys
:user:update
']"
size=
"mini"
type=
"text"
style=
"color: #49cec9"
@
click=
"handleUpdate(scope.row)"
>
修改
</el-button>
<el-button
v-hasPermi=
"['sys
tem:user:resetp
wd']"
v-hasPermi=
"['sys
:user:resetP
wd']"
size=
"mini"
type=
"text"
@
click=
"handleResetPwd(scope.row)"
>
重置
</el-button>
<!--
<el-switch-->
<!-- v-model="scope.row.status"-->
<!-- v-hasPermi="['system:user:toggle']"-->
<!-- active-value="0"-->
<!-- inactive-value="1"-->
<!-- @change="handleStatusChange(scope.row)"-->
<!-- />-->
<!--
<el-dropdown
class=
"table-drop"
>
-->
<!--
<span
class=
"el-dropdown-link"
>
-->
<!-- ...-->
<!--
</span>
-->
<!--
<el-dropdown-menu
slot=
"dropdown"
>
-->
<!--
<el-dropdown-item>
-->
<!--
</el-dropdown-item>
-->
<!-- <!–
<el-dropdown-item>
–>
-->
<!-- <!–
<el-button
&
ndash
;&
gt
;
--
>
<!-- <!– v-if="scope.row.userId !== 1"–>-->
<!-- <!– v-hasPermi="['system:user:remove']"–>-->
<!-- <!– size="mini"–>-->
<!-- <!– type="text"–>-->
<!-- <!– @click="handleDelete(scope.row)"–>-->
<!-- <!– >删除
</el-button>
–>
-->
<!-- <!–
</el-dropdown-item>
–>
-->
<!--
</el-dropdown-menu>
-->
<!--
</el-dropdown>
-->
<el-button
v-if=
"scope.row.businessId !== 1"
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"handleDelete(scope.row)"
v-hasPermi=
"['sys:user:delete']"
>
删除
</el-button>
</
template
>
</el-table-column>
</el-table>
<pagination
v-show=
"total>0"
:total=
"total"
...
...
@@ -196,130 +174,104 @@
/>
</el-col>
</el-row>
<!-- 添加或修改参数配置对话框 -->
<el-dialog
title=
"用户信息"
:visible
.
sync=
"open"
width=
"45%
"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
size=
"small"
label-width=
"4.2vw
"
>
<el-dialog
:title=
"title"
:visible
.
sync=
"open"
width=
"600px
"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"80px
"
>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"
登录名"
prop=
"user
Name"
>
<el-input
v-model
.
trim=
"form.userName"
maxlength=
"10"
show-word-limit
placeholder=
"请输入登录名
"
/>
<el-form-item
label=
"
用户昵称"
prop=
"nick
Name"
>
<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>
<!-- <treeselect-->
<!-- v-model="form.deptId"-->
<!-- disabled-->
<!-- :options=""-->
<!-- :show-count="true"-->
<!-- placeholder="请选择归属部门"-->
<!-- @node-click="handleClick"-->
<!-- />-->
<!-- </el-form-item>-->
</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-form-item
label=
"用户性别"
>
<el-select
v-model=
"form.sex"
style=
"width: 100%"
disabled
clearable
placeholder=
"请选择用户性别
"
>
<el-select
v-model=
"form.sex"
placeholder=
"请选择
"
>
<el-option
v-for=
"dict in sexOptions"
:key=
"dict.
v
alue"
:key=
"dict.
dictV
alue"
:label=
"dict.label"
:value=
"dict.value"
/
>
></el-option
>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"职务"
>
<el-select
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
label=
"手机号码"
prop=
"phone"
>
<el-input
v-model=
"form.phone"
placeholder=
"请输入手机号码"
maxlength=
"11"
/>
</el-form-item>
</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-form-item
label=
"
角色"
>
<
el-s
elect
v-model=
"form.roleIds
"
style=
"width: 100%
"
<el-form-item
label=
"
岗位"
prop=
"postId"
>
<
treeS
elect
:disable-branch-nodes=
"true
"
v-model=
"form.postIds
"
multiple
clearable
placeholder=
"请选择角色"
>
<el-option
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>
:options=
"deptChildren"
:show-count=
"true"
@
input=
"changeValue"
placeholder=
"请选择归属部门"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<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-col>
</el-row>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
size=
"small"
@
click=
"cancel"
>
取 消
</el-button>
<el-button
:loading=
"userInfoLoading"
:disabled=
"userInfoLoading"
type=
"primary"
size=
"small"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
type=
"primary"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
</div>
</el-dialog>
<!-- 用户导入对话框 -->
<el-dialog
:title=
"upload.title"
:visible
.
sync=
"upload.open"
width=
"400px"
append-to-body
>
<el-upload
...
...
@@ -389,7 +341,7 @@
<
script
>
import
{
listUser
,
selectUserIdsListDept
,
//
selectUserIdsListDept,
getUser
,
delUser
,
addUser
,
...
...
@@ -398,16 +350,16 @@ import {
resetUserPwd
,
changeUserStatus
,
importTemplate
,
userLoginManage
//
userLoginManage
}
from
'@/api/system/user'
import
{
getToken
}
from
'@/utils/auth'
import
{
treeselect
}
from
'@/api/system/dept'
import
Tree
s
elect
from
'@riophae/vue-treeselect'
import
{
getChildrenDept
,
treeselect
}
from
'@/api/system/dept'
import
Tree
S
elect
from
'@riophae/vue-treeselect'
import
'@riophae/vue-treeselect/dist/vue-treeselect.css'
export
default
{
name
:
'User'
,
components
:
{
Tree
s
elect
},
components
:
{
Tree
S
elect
},
data
()
{
var
trueGroupName
=
(
rule
,
value
,
callback
)
=>
{
if
(
!
value
.
trim
())
{
...
...
@@ -480,6 +432,8 @@ export default {
postOptions
:
[],
// 角色选项
roleOptions
:
[],
// 子部门信息
deptChildren
:
[],
// 表单参数
form
:
{},
defaultProps
:
{
...
...
@@ -509,15 +463,16 @@ export default {
queryParams
:
{
pageNum
:
1
,
pageSize
:
10
,
user
N
ame
:
''
,
phonenumber
:
''
,
user
n
ame
:
''
,
userType
:
''
,
allowLogin
:
''
,
status
:
''
,
phone
:
''
,
deptId
:
''
},
// 表单校验
rules
:
{
user
N
ame
:
[
user
n
ame
:
[
{
required
:
true
,
message
:
'请输入登录名'
,
trigger
:
'blur'
}
],
nickName
:
[
...
...
@@ -551,7 +506,7 @@ export default {
trigger
:
'blur'
}
],
phone
number
:
[
phone
:
[
{
required
:
false
,
message
:
'请输入手机号码'
,
trigger
:
'blur'
},
{
pattern
:
/^1
[
3|4|5|6|7|8|9
][
0-9
]\d{8}
$/
,
...
...
@@ -573,19 +528,19 @@ export default {
},
created
()
{
this
.
getList
()
this
.
getTreeselect
()
// this.getDicts('sys_normal_disable').then(response => {
// this.statusOptions = response.data
// })
this
.
getTreeSelect
()
this
.
getConfigKey
(
'sys.user.initPassword'
).
then
(
response
=>
{
this
.
initPassword
=
response
.
msg
})
},
methods
:
{
changeValue
()
{
this
.
$refs
.
form
.
validateField
(
'id'
)
},
// 用户登录控制
toggleLoginAuth
(
row
)
{
/**
toggleLoginAuth(row) {
const status = row.allowLogin === '1' ? '禁止' : '允许'
this
.
$confirm
(
`“
${
row
.
user
N
ame
}
”即将被
${
status
}
登录, 是否继续?`
,
'提示'
,
{
this.$confirm(`“${row.user
n
ame}”即将被${status}登录, 是否继续?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
...
...
@@ -600,11 +555,11 @@ export default {
}).catch(() => {
})
},
},
*/
/** 查询用户列表 */
getList
()
{
this
.
loading
=
true
selectUserIdsListDept
(
this
.
queryParams
).
then
(
response
=>
{
listUser
(
this
.
queryParams
).
then
(
response
=>
{
this
.
userList
=
response
.
rows
this
.
total
=
response
.
total
this
.
loading
=
false
...
...
@@ -612,7 +567,7 @@ export default {
)
},
/** 查询部门下拉树结构 */
getTree
s
elect
()
{
getTree
S
elect
()
{
treeselect
().
then
(
response
=>
{
this
.
deptOptionsTree
=
response
.
data
.
concat
({
id
:
-
1
,
...
...
@@ -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
)
{
if
(
!
value
)
return
true
...
...
@@ -647,20 +609,20 @@ export default {
},
// 用户状态修改
handleStatusChange
(
row
)
{
const
text
=
row
.
status
===
'0'
?
'启用'
:
'停用'
this
.
$confirm
(
`“
${
row
.
userName
}
”用户即将被
${
text
}
,是否继续?`
,
'提示
'
,
{
const
text
=
row
.
flag
===
'0'
?
'启用'
:
'停用'
this
.
$confirm
(
'确认要"'
+
text
+
'""'
+
row
.
name
+
'"用户吗?'
,
'警告
'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(
function
()
{
return
changeUserStatus
(
row
.
userId
,
row
.
status
)
return
changeUserStatus
(
row
.
businessId
,
row
.
flag
)
}).
then
(()
=>
{
this
.
$message
({
message
:
text
+
'成功'
,
type
:
'success'
})
}).
catch
(
function
()
{
row
.
status
=
row
.
status
===
'0'
?
'1'
:
'0'
row
.
flag
=
row
.
flag
===
'0'
?
'1'
:
'0'
})
},
// 取消按钮
...
...
@@ -673,10 +635,11 @@ export default {
this
.
form
=
{
userId
:
undefined
,
deptId
:
undefined
,
userName
:
undefined
,
phone
:
undefined
,
username
:
undefined
,
userType
:
undefined
,
nickName
:
undefined
,
password
:
undefined
,
phonenumber
:
undefined
,
email
:
undefined
,
sex
:
undefined
,
status
:
'0'
,
...
...
@@ -704,39 +667,54 @@ export default {
},
/** 新增按钮操作 */
handleAdd
()
{
this
.
open
=
true
this
.
reset
()
this
.
getTreeselect
()
this
.
getChildrenDept
()
this
.
getTreeSelect
()
// this.title = '添加用户'
// this.form.password = '111111'
getUser
().
then
(
response
=>
{
this
.
postOptions
=
response
.
posts
this
.
roleOptions
=
response
.
roles
this
.
open
=
true
//
this.open = true
this
.
title
=
'添加'
this
.
form
.
password
=
this
.
initPassword
})
},
/** 修改按钮操作 */
handleUpdate
(
row
)
{
this
.
open
=
true
this
.
reset
()
this
.
getTree
s
elect
()
const
userId
=
row
.
user
Id
||
this
.
ids
getUser
(
user
Id
).
then
(
response
=>
{
this
.
getTree
S
elect
()
const
businessId
=
row
.
business
Id
||
this
.
ids
getUser
(
business
Id
).
then
(
response
=>
{
this
.
form
=
response
.
data
this
.
postOptions
=
response
.
posts
this
.
roleOptions
=
response
.
roles
this
.
form
.
postIds
=
response
.
postIds
[
0
]
this
.
form
.
roleIds
=
response
.
roleIds
this
.
form
.
roleIdsSave
=
JSON
.
parse
(
JSON
.
stringify
(
response
.
roleIds
)).
sort
()
this
.
open
=
true
//
this.open = true
this
.
title
=
'修改'
this
.
form
.
password
=
''
})
},
/** 重置密码按钮操作 */
handleResetPwd
(
row
)
{
this
.
ruleForm
.
newPassword
=
''
this
.
ruleForm
.
row
=
row
.
userId
this
.
resetPwdDiaLog
=
!
this
.
resetPwdDiaLog
this
.
$prompt
(
'请输入"'
+
row
.
name
+
'"的新密码'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
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
()
{
this
.
$refs
.
ruleForm
.
validate
(
pass
=>
{
if
(
pass
)
{
...
...
@@ -768,16 +746,33 @@ export default {
},
/** 提交按钮 */
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
=>
{
if
(
valid
)
{
if
(
this
.
form
.
user
Id
)
{
if
(
this
.
form
.
business
Id
)
{
const
temp
=
Object
.
assign
({},
this
.
form
)
if
(
typeof
(
temp
.
postIds
)
===
'number'
)
{
temp
.
postIds
=
[
this
.
form
.
postIds
]
}
else
{
temp
.
postIds
=
[]
}
delete
temp
.
phone
number
delete
temp
.
phone
delete
temp
.
email
const
saveRoleList
=
JSON
.
stringify
(
temp
.
roleIdsSave
)
const
nowRoleList
=
JSON
.
stringify
(
JSON
.
parse
(
JSON
.
stringify
(
temp
.
roleIds
)).
sort
())
...
...
@@ -844,7 +839,7 @@ export default {
},
/** 删除按钮操作 */
handleDelete
(
row
)
{
const
userIds
=
row
.
user
Id
||
this
.
ids
const
userIds
=
row
.
business
Id
||
this
.
ids
this
.
$confirm
(
'所选择数据被删除后不可再恢复,是否继续?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
...
...
@@ -862,18 +857,24 @@ export default {
/** 导出按钮操作 */
handleExport
()
{
const
queryParams
=
this
.
queryParams
exportUser
(
queryParams
).
then
(
res
=>
{
this
.
download
(
res
.
msg
)
}).
catch
(()
=>
{})
// this.$confirm('是否确认导出所有用户数据项?', '提示', {
// confirmButtonText: '确定',
// cancelButtonText: '取消',
// type: 'warning'
// }).then(function() {
// return exportUser(queryParams)
// }).then(response => {
//
// }).catch(function() {})
this
.
$confirm
(
'是否确认导出所有用户信息?'
,
'警告'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(
function
()
{
return
exportUser
(
queryParams
).
then
(
response
=>
{
const
blob
=
new
Blob
([
response
])
const
downloadElement
=
document
.
createElement
(
'a'
)
const
href
=
window
.
URL
.
createObjectURL
(
blob
)
// 创建下载的链接
downloadElement
.
href
=
href
downloadElement
.
download
=
'用户信息'
+
'.xls'
// 下载后文件名
document
.
body
.
appendChild
(
downloadElement
)
downloadElement
.
click
()
// 点击下载
document
.
body
.
removeChild
(
downloadElement
)
// 下载完成移除元素
window
.
URL
.
revokeObjectURL
(
href
)
// 释放掉blob对象
// this.download(response.msg);
})
})
},
/** 导入按钮操作 */
handleImport
()
{
...
...
@@ -923,12 +924,6 @@ export default {
<
style
lang=
"scss"
>
.user-manage
{
.formClass
{
.el-form-item
{
margin-top
:
0
;
margin-right
:
10px
;
margin-bottom
:
15px
;
margin-left
:
0
;
}
}
.noMargin
{
.el-form-item__label-wrap
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment