Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
9
91isoft_sys_web
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_sys_web
Commits
61bb2d1b
Commit
61bb2d1b
authored
Jul 01, 2022
by
mzx
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
系统管理修改提交
parent
bbdd90c7
Changes
8
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
450 additions
and
126 deletions
+450
-126
menu.js
src/api/menu.js
+1
-0
user.js
src/api/system/user.js
+22
-2
header.vue
src/layout/components/header.vue
+4
-3
index.vue
src/views/system/dept/index.vue
+1
-1
index.vue
src/views/system/dict/index.vue
+30
-14
index.vue
src/views/system/menu/index.vue
+15
-13
index.vue
src/views/system/role/index.vue
+95
-28
index.vue
src/views/system/user/index.vue
+282
-65
No files found.
src/api/menu.js
View file @
61bb2d1b
...
@@ -8,3 +8,4 @@ export const getRouters = () => {
...
@@ -8,3 +8,4 @@ export const getRouters = () => {
// params: { path: '/zhongtai' }
// params: { path: '/zhongtai' }
})
})
}
}
src/api/system/user.js
View file @
61bb2d1b
import
request
from
'@/utils/request'
import
request
from
'@/utils/request'
import
{
praseStrEmpty
}
from
'@/utils/common'
import
{
praseStrEmpty
}
from
'@/utils/common'
import
Qs
from
'qs'
import
Qs
from
'qs'
import
{
error
}
from
"autoprefixer/lib/utils"
;
import
test
from
"@/views/test/test"
;
// 查询用户列表
// 查询用户列表
export
function
listUser
(
query
)
{
export
function
listUser
(
query
)
{
return
request
({
return
request
({
...
@@ -40,10 +42,10 @@ export function addUser(data) {
...
@@ -40,10 +42,10 @@ export function addUser(data) {
// 修改用户
// 修改用户
export
function
updateUser
(
data
)
{
export
function
updateUser
(
data
)
{
const
businessId
=
data
.
businessId
//
const businessId = data.businessId
data
=
Qs
.
stringify
(
data
)
data
=
Qs
.
stringify
(
data
)
return
request
({
return
request
({
url
:
'/system/user/update
/'
+
businessId
,
url
:
'/system/user/update
'
,
method
:
'put'
,
method
:
'put'
,
data
:
data
,
data
:
data
,
headers
:
{
headers
:
{
...
@@ -52,6 +54,24 @@ export function updateUser(data) {
...
@@ -52,6 +54,24 @@ export function updateUser(data) {
})
})
}
}
// let instabce = axios.create({
// timeout: 3000,
// headers: {
// 'Content-Type': 'application/x-www-form-urlencoded'
// }
// })
// instabce.interceptors.request.use(
// config => {
// config.data = qs.stringify(config.data)
// return config
// },
// error => Promise.error(error)
// )
// export const getInfo = (data) => {
// return instabce.post(testSystemUrl + '/user/pageList/',data);
// };
// 删除用户
// 删除用户
export
function
delUser
(
userId
)
{
export
function
delUser
(
userId
)
{
return
request
({
return
request
({
...
...
src/layout/components/header.vue
View file @
61bb2d1b
...
@@ -80,10 +80,11 @@ export default {
...
@@ -80,10 +80,11 @@ export default {
'avatar'
'avatar'
])
])
},
},
methods
:
{
mounted
()
{
mounted
()
{
this
.
getInAdhibitions
()
this
.
getInAdhibitions
()
},
},
methods
:
{
handleCommand
(
param
)
{
handleCommand
(
param
)
{
if
(
param
)
{
if
(
param
)
{
window
.
location
.
href
=
param
window
.
location
.
href
=
param
...
...
src/views/system/dept/index.vue
View file @
61bb2d1b
...
@@ -328,7 +328,7 @@ export default {
...
@@ -328,7 +328,7 @@ export default {
leader
:
undefined
,
leader
:
undefined
,
phone
:
undefined
,
phone
:
undefined
,
email
:
undefined
,
email
:
undefined
,
flag
:
'
0
'
flag
:
'
1
'
}
}
this
.
resetForm
(
'form'
)
this
.
resetForm
(
'form'
)
},
},
...
...
src/views/system/dict/index.vue
View file @
61bb2d1b
...
@@ -96,7 +96,7 @@
...
@@ -96,7 +96,7 @@
@
click=
"handleExport"
@
click=
"handleExport"
>
导出
</el-button>
>
导出
</el-button>
</el-col>
</el-col>
<right-toolbar
:show-search
.
sync=
"showSearch"
@
queryTable=
"getList"
/
>
<!--
<right-toolbar
:show-search
.
sync=
"showSearch"
@
queryTable=
"getList"
/>
--
>
</el-row>
</el-row>
</el-form>
</el-form>
<div
class=
"placeholder"
/>
<div
class=
"placeholder"
/>
...
@@ -181,14 +181,16 @@
...
@@ -181,14 +181,16 @@
<el-input
v-model
.
trim=
"form.dictType"
:maxlength=
"30"
placeholder=
"请输入字典类型"
/>
<el-input
v-model
.
trim=
"form.dictType"
:maxlength=
"30"
placeholder=
"请输入字典类型"
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"状态"
prop=
"flag"
>
<el-form-item
label=
"状态"
prop=
"flag"
>
<el-radio-group
v-model=
"form.flag"
>
<el-radio
v-model=
"radio"
label=
"1"
>
启用
</el-radio>
<el-radio
<el-radio
v-model=
"radio"
label=
"0"
>
停用
</el-radio>
v-for=
"dict in statusOptions"
<!-- <el-radio-group v-model="form.flag">-->
:key=
"dict.dictValue"
<!-- <el-radio-->
:label=
"dict.dictValue"
<!-- v-for="dict in statusOptions"-->
>
{{ dict.dictLabel }}
<!-- :key="dict.dictValue"-->
</el-radio>
<!-- :label="dict.dictValue"-->
</el-radio-group>
<!-- >{{ dict.dictLabel }}-->
<!-- </el-radio>-->
<!-- </el-radio-group>-->
</el-form-item>
</el-form-item>
<el-form-item
label=
"父字典名称"
>
<el-form-item
label=
"父字典名称"
>
<el-select
v-model=
"form.parentId"
style=
"width: 100%"
clearable
placeholder=
"请选择父字典类型"
@
change=
"getOptions"
>
<el-select
v-model=
"form.parentId"
style=
"width: 100%"
clearable
placeholder=
"请选择父字典类型"
@
change=
"getOptions"
>
...
@@ -235,7 +237,7 @@ import { listType,
...
@@ -235,7 +237,7 @@ import { listType,
updateType
,
updateType
,
exportType
,
exportType
,
clearCache
,
clearCache
,
optionselect
,
//
optionselect,
selectRegionCode
,
selectRegionCode
,
checkDictNameUnique
,
checkDictNameUnique
,
selectDictType
selectDictType
...
@@ -300,6 +302,11 @@ export default {
...
@@ -300,6 +302,11 @@ export default {
}
}
}
}
return
{
return
{
showSearch
:
''
,
getOptions
:
''
,
statusOptions
:
''
,
//状态默认选择
radio
:
'1'
,
test
:
''
,
test
:
''
,
options
:
[],
options
:
[],
optionsDict
:
[],
optionsDict
:
[],
...
@@ -320,7 +327,16 @@ export default {
...
@@ -320,7 +327,16 @@ export default {
// 是否显示弹出层
// 是否显示弹出层
open
:
false
,
open
:
false
,
// 状态数据字典
// 状态数据字典
statusOptions
:
[],
// statusOptions: [
// {
// dictLabel: '正常',
// dictValue: '1'
// },
// {
// dictLabel: '停用',
// dictValue: '0'
// }
// ],
// 日期范围
// 日期范围
dateRange
:
[],
dateRange
:
[],
// 查询参数
// 查询参数
...
@@ -373,9 +389,9 @@ export default {
...
@@ -373,9 +389,9 @@ export default {
this
.
getDicts
(
dictCons
[
'NORMAL_DISABLE'
]).
then
(
response
=>
{
this
.
getDicts
(
dictCons
[
'NORMAL_DISABLE'
]).
then
(
response
=>
{
this
.
statusOptions
=
response
.
data
this
.
statusOptions
=
response
.
data
})
})
optionselect
().
then
(
response
=>
{
//
optionselect().then(response => {
this
.
options
=
response
.
data
//
this.options = response.data
})
//
})
},
},
methods
:
{
methods
:
{
/** 查询字典类型列表 */
/** 查询字典类型列表 */
...
...
src/views/system/menu/index.vue
View file @
61bb2d1b
...
@@ -197,14 +197,14 @@
...
@@ -197,14 +197,14 @@
</el-radio-group>
</el-radio-group>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"12"
style=
"margin-right: -1px"
>
<!-- <el-col :span="12" style="margin-right: -1px">--
>
<el-form-item
v-if=
"form.menuType !== 'F'"
label=
"是工作流"
>
<!-- <el-form-item v-if="form.menuType !== 'F'" label="是工作流">--
>
<el-radio-group
v-model=
"form.isProcess"
>
<!-- <el-radio-group v-model="form.isProcess">--
>
<el-radio
label=
"0"
>
是
</el-radio
>
<!-- <el-radio label="0">是</el-radio>--
>
<el-radio
label=
"1"
>
否
</el-radio
>
<!-- <el-radio label="1">否</el-radio>--
>
</el-radio-group
>
<!-- </el-radio-group>--
>
</el-form-item
>
<!-- </el-form-item>--
>
</el-col
>
<!-- </el-col>--
>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
v-if=
"form.menuType !== 'F'"
label=
"显示状态"
>
<el-form-item
v-if=
"form.menuType !== 'F'"
label=
"显示状态"
>
<el-radio-group
v-model=
"form.visible"
>
<el-radio-group
v-model=
"form.visible"
>
...
@@ -218,6 +218,7 @@
...
@@ -218,6 +218,7 @@
<el-radio-group
v-model=
"form.flag"
>
<el-radio-group
v-model=
"form.flag"
>
<el-radio
label=
"1"
>
启用
</el-radio>
<el-radio
label=
"1"
>
启用
</el-radio>
<el-radio
label=
"0"
>
停用
</el-radio>
<el-radio
label=
"0"
>
停用
</el-radio>
</el-radio-group>
</el-radio-group>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
...
@@ -290,11 +291,11 @@ export default {
...
@@ -290,11 +291,11 @@ export default {
statusOptions
:
[
statusOptions
:
[
{
{
dictLabel
:
'正常'
,
dictLabel
:
'正常'
,
dictValue
:
'
0
'
dictValue
:
'
1
'
},
},
{
{
dictLabel
:
'停用'
,
dictLabel
:
'停用'
,
dictValue
:
'
1
'
dictValue
:
'
0
'
}
}
],
],
// 查询参数
// 查询参数
...
@@ -304,7 +305,8 @@ export default {
...
@@ -304,7 +305,8 @@ export default {
},
},
// 表单参数
// 表单参数
form
:
{
form
:
{
parentId
:
0
parentId
:
0
,
visible
:
'1'
},
},
// 表单校验
// 表单校验
rules
:
{
rules
:
{
...
@@ -447,9 +449,9 @@ export default {
...
@@ -447,9 +449,9 @@ export default {
menuType
:
'M'
,
menuType
:
'M'
,
orderNum
:
undefined
,
orderNum
:
undefined
,
isFrame
:
'1'
,
isFrame
:
'1'
,
visible
:
'
0
'
,
visible
:
'
1
'
,
isProcess
:
'1'
,
isProcess
:
'1'
,
flag
:
'
0
'
flag
:
'
1
'
}
}
this
.
resetForm
(
'form'
)
this
.
resetForm
(
'form'
)
},
},
...
...
src/views/system/role/index.vue
View file @
61bb2d1b
...
@@ -188,28 +188,48 @@
...
@@ -188,28 +188,48 @@
<el-form-item
label=
"角色名称"
>
<el-form-item
label=
"角色名称"
>
<el-input
v-model
.
trim=
"form.roleName"
placeholder=
"请输入角色名称"
show-word-limit
:maxlength=
"30"
:disabled=
"true"
/>
<el-input
v-model
.
trim=
"form.roleName"
placeholder=
"请输入角色名称"
show-word-limit
:maxlength=
"30"
:disabled=
"true"
/>
</el-form-item>
</el-form-item>
<el-table
<!-- <el-table-->
v-loading=
"loading"
<!-- v-loading="loading"-->
:data=
"menuList"
<!-- :data="menuList"-->
row-key=
"businessId"
<!-- row-key="businessId"-->
:tree-props=
"{children: 'children', hasChildren: 'hasChildren'}"
<!-- :tree-props="{children: 'children', hasChildren: 'hasChildren'}"-->
max-height=
"400px"
<!-- max-height="400px"-->
<!-- >-->
<!-- <el-form-item label="权限字符">-->
<!-- <el-input v-model.trim="form.roleKey" placeholder="请输入角色名称" show-word-limit :maxlength="30" :disabled="true" />-->
<!-- </el-form-item>-->
<el-form-item
label=
"菜单权限"
>
<el-tree
ref=
"menu2"
class=
"tree-border"
:data=
"menuOptions"
:show-checkbox=
"false"
node-key=
"id"
empty-text=
"加载中,请稍后"
:props=
"{defaultProps, disabled: () => true}"
:default-checked-keys=
"[]"
:current-node-key=
"toString()"
:expand-on-click-node=
"false"
:check-strictly=
"false"
:filter-node-method=
"filterNodeMethod"
@
node-click=
"nodeClick"
>
>
<
!-- <el-form-item label="权限字符">--
>
<
/el-tree
>
<!-- <el-input v-model.trim="form.roleKey" placeholder="请输入角色名称" show-word-limit :maxlength="30" :disabled="true" />--
>
</el-form-item
>
<!-- </el-form-item>
-->
<!-- :default-expand-all="true"
-->
<el-table-column
prop=
"menuName"
label=
"菜单名称"
:show-overflow-tooltip=
"true"
width=
"160"
/
>
<!-- <el-table-column prop="" label="菜单名称" :show-overflow-tooltip="true" width="160" />--
>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
<!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">--
>
<
template
slot-scope=
"scope"
>
<!-- <template slot-scope="scope">--
>
<el-button
<!-- <el-button-->
size=
"mini"
<!-- size="mini"-->
type=
"text"
<!-- type="text"-->
icon=
"el-icon-circle-check"
<!-- icon="el-icon-circle-check"-->
@
click=
"handleDataScope(scope.row)"
<!-- @click="handleDataScope(scope.row)"-->
>
修改
</el-button
>
<!-- >修改</el-button>--
>
</
template
>
<!-- </template>--
>
</el-table-column
>
<!-- </el-table-column>--
>
</el-table
>
<!-- </el-table>--
>
</el-form>
</el-form>
</el-col>
</el-col>
<el-col
style=
"width: 1%"
>
<el-col
style=
"width: 1%"
>
...
@@ -219,11 +239,11 @@
...
@@ -219,11 +239,11 @@
</el-col>
</el-col>
<el-col
style=
"width: 49%"
>
<el-col
style=
"width: 49%"
>
<el-form
:model=
"form"
label-width=
"80px"
>
<el-form
:model=
"form"
label-width=
"80px"
>
<el-form-item
label=
"菜单名称"
prop=
"
roleName"
>
<el-form-item
label=
"菜单名称"
prop=
"
menuId"
>
<el-input
v-model=
"form.menu
Name"
placeholder=
"未选择菜单名称"
disabled
/>
<el-input
v-model=
"form.menu
Id"
placeholder=
"未选择菜单名称"
disabled
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"权限范围"
>
<el-form-item
label=
"权限范围"
>
<el-select
v-model=
"form.dataScope"
>
<el-select
v-model=
"form.dataScope"
>
<el-option
<el-option
v-for=
"item in dataScopeOptions"
v-for=
"item in dataScopeOptions"
:key=
"item.value"
:key=
"item.value"
...
@@ -263,11 +283,15 @@
...
@@ -263,11 +283,15 @@
import
{
listRole
,
getRole
,
delRole
,
addRole
,
updateRole
,
exportRole
,
dataScope
,
changeRoleStatus
}
from
'@/api/system/role'
import
{
listRole
,
getRole
,
delRole
,
addRole
,
updateRole
,
exportRole
,
dataScope
,
changeRoleStatus
}
from
'@/api/system/role'
import
{
roleMenuTreeselectMC
,
treeselect
as
menuTreeselect
,
roleMenuTreeselect
}
from
'@/api/system/menu'
import
{
roleMenuTreeselectMC
,
treeselect
as
menuTreeselect
,
roleMenuTreeselect
}
from
'@/api/system/menu'
import
{
treeselect
as
deptTreeselect
,
roleDeptTreeselect
}
from
'@/api/system/dept'
import
{
treeselect
as
deptTreeselect
,
roleDeptTreeselect
}
from
'@/api/system/dept'
import
{
getMenuList
}
from
'@/api/instance-payApply'
import
{
error
}
from
"autoprefixer/lib/utils"
;
// import { getRolesByInsId } from '../../../api/businessManage/template'
// import { getRolesByInsId } from '../../../api/businessManage/template'
export
default
{
export
default
{
name
:
'Role'
,
name
:
'Role'
,
data
()
{
data
()
{
return
{
return
{
data
:
[],
// 遮罩层
// 遮罩层
loading
:
true
,
loading
:
true
,
// 选中数组
// 选中数组
...
@@ -341,7 +365,12 @@ export default {
...
@@ -341,7 +365,12 @@ export default {
flag
:
undefined
flag
:
undefined
},
},
// 表单参数
// 表单参数
form
:
{},
form
:
{
menuId
:
''
,
deptCheckStrictly
:
''
,
deptIds
:
''
,
businessId
:
''
},
defaultProps
:
{
defaultProps
:
{
children
:
'children'
,
children
:
'children'
,
label
:
'label'
label
:
'label'
...
@@ -382,7 +411,29 @@ export default {
...
@@ -382,7 +411,29 @@ export default {
// this.statusOptions = response.data;
// this.statusOptions = response.data;
// });
// });
},
},
// watch: {
// menuOptions() {
// this.menuOptions.forEach(item => {
// this.defaultExpandedKey.push(item.id)
// })
// this.$forceUpdate()
// }
// },
methods
:
{
methods
:
{
nodeClick
(
data
)
{
console
.
log
(
data
)
this
.
form
.
menuId
=
data
.
label
this
.
$forceUpdate
()
},
// // 显示组件树选中节点
filterNodeMethod
(
value
,
data
,
node
)
{
if
(
node
.
checked
===
true
)
{
return
true
}
else
{
return
false
}
},
/** 查询角色列表 */
/** 查询角色列表 */
getList
()
{
getList
()
{
this
.
loading
=
true
this
.
loading
=
true
...
@@ -398,6 +449,9 @@ export default {
...
@@ -398,6 +449,9 @@ export default {
getMenuTreeselect
()
{
getMenuTreeselect
()
{
menuTreeselect
().
then
(
response
=>
{
menuTreeselect
().
then
(
response
=>
{
this
.
menuOptions
=
response
.
data
this
.
menuOptions
=
response
.
data
console
.
log
(
this
.
menuOptions
,
'this.menuOptions'
)
})
})
},
},
/** 查询菜单列表 */
/** 查询菜单列表 */
...
@@ -490,7 +544,7 @@ export default {
...
@@ -490,7 +544,7 @@ export default {
roleName
:
undefined
,
roleName
:
undefined
,
roleKey
:
undefined
,
roleKey
:
undefined
,
roleSort
:
0
,
roleSort
:
0
,
flag
:
undefined
,
flag
:
'1'
,
menuIds
:
[],
menuIds
:
[],
menuName
:
undefined
,
menuName
:
undefined
,
deptIds
:
[],
deptIds
:
[],
...
@@ -575,8 +629,14 @@ export default {
...
@@ -575,8 +629,14 @@ export default {
handleMenu
(
row
)
{
handleMenu
(
row
)
{
this
.
reset
()
this
.
reset
()
const
roleId
=
row
.
businessId
||
this
.
ids
const
roleId
=
row
.
businessId
||
this
.
ids
this
.
getMenuList
(
roleId
)
// 查询菜单列表树形显示
console
.
log
(
'row'
,
row
)
// this.getMenuList(roleId) // 查询菜单列表树形显示
getRole
(
roleId
).
then
(
response
=>
{
getRole
(
roleId
).
then
(
response
=>
{
this
.
getRoleMenuTreeselect
(
roleId
).
then
(
res
=>
{
//
this
.
$refs
.
menu2
.
setCheckedKeys
(
res
.
data
.
checkedKeys
)
//
this
.
$refs
.
menu2
.
setChecked
(
res
.
data
.
checked
)
//
this
.
$refs
.
menu2
.
filter
([])
//
})
this
.
form
=
response
.
data
this
.
form
=
response
.
data
this
.
openDataScope
=
true
this
.
openDataScope
=
true
this
.
title
=
'分配数据权限'
this
.
title
=
'分配数据权限'
...
@@ -589,6 +649,10 @@ export default {
...
@@ -589,6 +649,10 @@ export default {
const
roleId
=
this
.
form
.
businessId
const
roleId
=
this
.
form
.
businessId
this
.
form
.
menuId
=
row
.
businessId
this
.
form
.
menuId
=
row
.
businessId
this
.
form
.
menuName
=
row
.
menuName
this
.
form
.
menuName
=
row
.
menuName
// this.form.businessId = row.businessId
// this.form.deptCheckStrictly = false
// this.form.deptIds = row.deptIds
const
roleDeptTreeselect
=
this
.
getRoleDeptTreeselect
(
roleId
,
this
.
form
.
menuId
)
const
roleDeptTreeselect
=
this
.
getRoleDeptTreeselect
(
roleId
,
this
.
form
.
menuId
)
this
.
$nextTick
(()
=>
{
this
.
$nextTick
(()
=>
{
roleDeptTreeselect
.
then
(
res
=>
{
roleDeptTreeselect
.
then
(
res
=>
{
...
@@ -621,6 +685,7 @@ export default {
...
@@ -621,6 +685,7 @@ export default {
},
},
/** 提交按钮(数据权限) */
/** 提交按钮(数据权限) */
submitDataScope
:
function
()
{
submitDataScope
:
function
()
{
if
(
this
.
form
.
businessId
!==
undefined
&&
this
.
form
.
menuId
!==
undefined
)
{
if
(
this
.
form
.
businessId
!==
undefined
&&
this
.
form
.
menuId
!==
undefined
)
{
this
.
form
.
deptIds
=
this
.
getDeptAllCheckedKeys
()
this
.
form
.
deptIds
=
this
.
getDeptAllCheckedKeys
()
dataScope
(
this
.
form
).
then
(
response
=>
{
dataScope
(
this
.
form
).
then
(
response
=>
{
...
@@ -628,6 +693,8 @@ export default {
...
@@ -628,6 +693,8 @@ export default {
this
.
openDataScope
=
false
this
.
openDataScope
=
false
this
.
getList
()
this
.
getList
()
})
})
console
.
log
(
'form'
,
this
.
form
)
// console.log('tree', this.deptOptions)
}
}
},
},
/** 删除按钮操作 */
/** 删除按钮操作 */
...
...
src/views/system/user/index.vue
View file @
61bb2d1b
...
@@ -118,21 +118,31 @@
...
@@ -118,21 +118,31 @@
:data=
"userList"
:data=
"userList"
>
>
<el-table-column
type=
"index"
label=
"序号"
width=
"50"
/>
<el-table-column
type=
"index"
label=
"序号"
width=
"50"
/>
<el-table-column
label=
"用户编号"
>
<template
v-slot:default=
"scope"
>
{{
scope
.
row
.
businessId
||
'-'
}}
</
template
>
</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=
"userType
"
:show-overflow-tooltip=
"true"
>
<el-table-column
label=
"
身份证号"
prop=
"idNumber
"
:show-overflow-tooltip=
"true"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
name
||
'-'
}}
{{
scope
.
row
.
idNumber
||
'-'
}}
</
template
>
</el-table-column>
<!-- <el-table-column-->
<!-- label="用户编号"-->
<!-- >-->
<!-- <template v-slot:default="scope">-->
<!-- {{ scope.row.businessId || '-' }}-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column
label=
"用户昵称"
prop=
"nickName"
:show-overflow-tooltip=
"true"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
nickName
||
'-'
}}
</
template
>
</el-table-column>
<el-table-column
label=
"用户性别"
prop=
"sex"
:show-overflow-tooltip=
"true"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
sex
===
'0'
?
'男'
:
scope
.
row
.
sex
===
'1'
?
'女'
:
'-'
}}
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"手机号"
prop=
"phone"
:show-overflow-tooltip=
"true"
>
<el-table-column
label=
"手机号"
prop=
"phone"
:show-overflow-tooltip=
"true"
>
...
@@ -140,6 +150,22 @@
...
@@ -140,6 +150,22 @@
{{
scope
.
row
.
phone
||
'-'
}}
{{
scope
.
row
.
phone
||
'-'
}}
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"邮箱"
prop=
"email"
:show-overflow-tooltip=
"true"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
email
||
'-'
}}
</
template
>
</el-table-column>
<el-table-column
label=
"用户类型"
prop=
"name"
:show-overflow-tooltip=
"true"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
name
||
'-'
}}
</
template
>
</el-table-column>
<!-- <el-table-column label="角色" prop="roleList" :show-overflow-tooltip="true">-->
<!-- <template slot-scope="scope">-->
<!-- {{ scope.row.roleList || '-' }}-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column
width=
"120"
label=
"状态"
prop=
"flag"
>
<el-table-column
width=
"120"
label=
"状态"
prop=
"flag"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-switch
<el-switch
...
@@ -199,6 +225,23 @@
...
@@ -199,6 +225,23 @@
<!-- 添加或修改参数配置对话框 -->
<!-- 添加或修改参数配置对话框 -->
<el-dialog
:title=
"title"
:visible
.
sync=
"open"
width=
"600px"
append-to-body
>
<el-dialog
:title=
"title"
:visible
.
sync=
"open"
width=
"600px"
append-to-body
>
<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-col
:span=
"12"
>
<el-form-item
label=
"登录名"
prop=
"username"
>
<el-input
v-model=
"form.username"
placeholder=
"请输入登录名"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"身份证号"
prop=
"idNumber"
>
<el-input
v-model
.
trim=
"form.idNumber"
placeholder=
"请输入身份证号"
maxlength=
"18"
/>
</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-row>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"用户昵称"
prop=
"nickName"
>
<el-form-item
label=
"用户昵称"
prop=
"nickName"
>
...
@@ -206,7 +249,7 @@
...
@@ -206,7 +249,7 @@
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"用户性别"
>
<el-form-item
label=
"用户性别"
prop=
"sex"
>
<el-select
v-model=
"form.sex"
placeholder=
"请选择"
>
<el-select
v-model=
"form.sex"
placeholder=
"请选择"
>
<el-option
<el-option
v-for=
"dict in sexOptions"
v-for=
"dict in sexOptions"
...
@@ -235,33 +278,50 @@
...
@@ -235,33 +278,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
v-if=
"form.businessId == undefined"
label=
"登录名"
prop=
"username"
>
<el-form-item
label=
"用户类型"
prop=
"name"
required
>
<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
.
trim=
"form.name"
placeholder=
"请输入用户类型"
/>
<el-input
v-model
.
trim=
"form.name"
placeholder=
"请输入用户类型"
/>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"身份证号"
prop=
"idNumber"
>
<el-form-item
class=
"labelHeight"
label=
"角色"
prop=
"roleList"
>
<el-input
v-model
.
trim=
"form.idNumber"
placeholder=
"请输入身份证号"
maxlength=
"18"
/>
<el-select
v-model=
"form.roleList"
style=
"width: 100%"
multiple
placeholder=
"请选择角色"
>
<el-option
v-for=
"(item,index) in roleOptions"
:key=
"index"
:label=
"item.roleName"
:value=
"item.businessId"
/>
</el-select>
</el-form-item>
</el-form-item>
<!-- <el-form-item label="角色">-->
<!-- <el-select v-model="form.roleList" style="width: 100%" multiple placeholder="请选择角色">-->
<!-- <el-option-->
<!-- v-for="(item,index) in roleOptions"-->
<!-- :key="index"-->
<!-- :label="item.roleName"-->
<!-- :value="item.businessId"-->
<!-- />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
</el-col>
</el-col>
<!-- <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-row>
</el-row>
<el-row>
<el-row>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
v-if=
"form.businessId == undefined"
label=
"状态"
>
<!-- <el-form-item label="状态" >-->
<!-- <el-radio v-model="radio" label="1">启用</el-radio>-->
<!-- <el-radio v-model="radio" label="2">停用</el-radio>-->
<!-- </el-form-item>-->
<el-form-item
label=
"状态"
>
<el-radio-group
v-model=
"form.flag"
>
<el-radio-group
v-model=
"form.flag"
>
<el-radio
<el-radio
v-for=
"dict in statusOptions"
v-for=
"dict in statusOptions"
...
@@ -274,7 +334,7 @@
...
@@ -274,7 +334,7 @@
</el-row>
</el-row>
<el-row>
<el-row>
<el-col
:span=
"24"
>
<el-col
:span=
"24"
>
<el-form-item
class=
"labelHeight"
label=
"部门"
prop=
"
paren
tId"
>
<el-form-item
class=
"labelHeight"
label=
"部门"
prop=
"
dep
tId"
>
<treeSelect
<treeSelect
v-model=
"form.deptId"
v-model=
"form.deptId"
:disable-branch-nodes=
"false"
:disable-branch-nodes=
"false"
...
@@ -297,7 +357,7 @@
...
@@ -297,7 +357,7 @@
</el-form>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
type=
"primary"
@
click=
"submitForm"
:loading=
"priLoading"
>
确 定
</el-button>
</div>
</div>
</el-dialog>
</el-dialog>
<!-- 用户导入对话框 -->
<!-- 用户导入对话框 -->
...
@@ -385,6 +445,7 @@ import {
...
@@ -385,6 +445,7 @@ import {
// userLoginManage
// userLoginManage
}
from
'@/api/system/user'
}
from
'@/api/system/user'
import
{
getToken
}
from
'@/utils/auth'
import
{
getToken
}
from
'@/utils/auth'
import
{
listRole
}
from
'@/api/system/role'
import
{
getChildrenDept
,
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'
...
@@ -428,6 +489,7 @@ export default {
...
@@ -428,6 +489,7 @@ export default {
}
}
}
}
return
{
return
{
ruleOptions
:
[],
pwdTypeMap
:
{
pwdTypeMap
:
{
text
:
true
,
text
:
true
,
password
:
false
password
:
false
...
@@ -462,6 +524,11 @@ export default {
...
@@ -462,6 +524,11 @@ export default {
// 部门名称
// 部门名称
deptName
:
undefined
,
deptName
:
undefined
,
importLoading
:
false
,
importLoading
:
false
,
userInfoLoading
:
false
,
userImportLoading
:
false
,
userRestLoading
:
false
,
addLoading
:
false
,
priLoading
:
false
,
// // 时间范围
// // 时间范围
// dateRange: ['', ''],
// dateRange: ['', ''],
// 状态数据字典
// 状态数据字典
...
@@ -488,16 +555,60 @@ export default {
...
@@ -488,16 +555,60 @@ export default {
deptChildren
:
[],
deptChildren
:
[],
// 表单参数
// 表单参数
form
:
{
form
:
{
// roleList: [],
// nltStartDate: '',
// nltPosition: '',
// nltLw: '',
// nltBz: '',
// remarks: '',
// contract: '',
// username: '',
// phone: '',
// email: '',
// idNumber: '',
// flag: '',
// name: '',
// sex: ''
businessId
:
''
,
username
:
''
,
username
:
''
,
phone
:
''
,
password
:
''
,
nickName
:
''
,
userType
:
''
,
name
:
''
,
email
:
''
,
email
:
''
,
phone
:
''
,
sex
:
''
,
idNumber
:
''
,
idNumber
:
''
,
name
:
''
loginIp
:
''
,
loginDate
:
''
,
delFlag
:
''
,
remarks
:
''
,
avatar
:
''
,
flag
:
''
,
createDate
:
''
,
beginTime
:
''
,
endTime
:
''
,
identity
:
''
,
wxOpenid
:
''
,
address
:
''
,
nltBz
:
''
,
nltLw
:
''
,
nltPosition
:
''
,
nltStartDate
:
''
,
deptId
:
''
,
deptName
:
''
,
roleNames
:
''
,
roleIds
:
''
,
contract
:
''
,
roleList
:
[]
},
},
defaultProps
:
{
defaultProps
:
{
children
:
'children'
,
children
:
'children'
,
label
:
'label'
label
:
'label'
},
},
ruleForm
:
{
ruleForm
:
{
newPassword
:
''
,
newPassword
:
''
,
row
:
undefined
row
:
undefined
...
@@ -534,6 +645,9 @@ export default {
...
@@ -534,6 +645,9 @@ export default {
},
},
// 表单校验
// 表单校验
rules
:
{
rules
:
{
roleList
:
[
{
required
:
true
,
message
:
'请选择角色'
,
trigger
:
'blur'
}
],
username
:
[
username
:
[
{
required
:
true
,
message
:
'请输入登录名'
,
trigger
:
'blur'
}
{
required
:
true
,
message
:
'请输入登录名'
,
trigger
:
'blur'
}
],
],
...
@@ -542,7 +656,10 @@ export default {
...
@@ -542,7 +656,10 @@ export default {
{
validator
:
trueGroupName
,
message
:
'请输入正确的用户昵称'
}
{
validator
:
trueGroupName
,
message
:
'请输入正确的用户昵称'
}
],
],
deptId
:
[
deptId
:
[
{
required
:
false
,
message
:
'请输入归属部门'
,
trigger
:
'blur'
}
{
required
:
true
,
message
:
'请选择归属部门'
,
trigger
:
'blur'
}
],
sex
:
[
{
required
:
true
,
message
:
'请选择用户性别'
,
trigger
:
'blur'
}
],
],
password
:
[
password
:
[
{
required
:
true
,
message
:
'请输入用户密码'
,
trigger
:
'blur'
},
{
required
:
true
,
message
:
'请输入用户密码'
,
trigger
:
'blur'
},
...
@@ -553,7 +670,7 @@ export default {
...
@@ -553,7 +670,7 @@ export default {
}
}
],
],
name
:
[
name
:
[
{
require
:
true
,
message
:
'
用户姓名不能为空
'
,
trigger
:
'blur'
},
{
require
:
true
,
message
:
'
请输入用户类型
'
,
trigger
:
'blur'
},
{
validator
:
name
,
trigger
:
'blur'
}
{
validator
:
name
,
trigger
:
'blur'
}
],
],
email
:
[
email
:
[
...
@@ -568,26 +685,24 @@ export default {
...
@@ -568,26 +685,24 @@ export default {
{
required
:
true
,
message
:
'请输入密码'
,
trigger
:
'blur'
},
{
required
:
true
,
message
:
'请输入密码'
,
trigger
:
'blur'
},
{
min
:
8
,
max
:
16
,
message
:
'长度在 8 到 16 个字符'
,
trigger
:
'blur'
},
{
min
:
8
,
max
:
16
,
message
:
'长度在 8 到 16 个字符'
,
trigger
:
'blur'
},
{
validator
:
passwordCheck
,
trigger
:
'blur'
}
{
validator
:
passwordCheck
,
trigger
:
'blur'
}
],
phone
:
[
{
required
:
false
,
message
:
'请输入手机号码'
,
trigger
:
'blur'
},
{
pattern
:
/^1
[
3|4|5|6|7|8|9
][
0-9
]\d{8}
$/
,
message
:
'请输入正确的手机号码'
,
trigger
:
'blur'
},
{
validator
:
phone
,
trigger
:
'blur'
}
],
idNumber
:
[
{
require
:
true
,
message
:
'请输入身份证号'
,
trigger
:
'blur'
},
{
min
:
18
,
max
:
18
,
message
:
'长度18字符'
,
trigger
:
'blur'
},
{
validator
:
idNumber
,
trigger
:
'blur'
}
]
]
// phone: [
// { required: false, message: '请输入手机号码', trigger: 'blur' },
// {
// pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
// message: '请输入正确的手机号码',
// trigger: 'blur'
// },
// { validator: phone, trigger: 'blur' }
// ],
// idNumber: [
// { require: true, message: '请输入身份证号', trigger: 'blur' },
// { min: 18, max: 18, message: '长度18字符', trigger: 'blur' },
// { validator: idNumber, trigger: 'blur' }
// ]
},
},
userInfoLoading
:
false
,
userImportLoading
:
false
,
userRestLoading
:
false
,
addLoading
:
false
}
}
},
},
/** 路由离开前存储筛选条件*/
/** 路由离开前存储筛选条件*/
...
@@ -614,8 +729,16 @@ export default {
...
@@ -614,8 +729,16 @@ export default {
}
}
this
.
getList
()
this
.
getList
()
this
.
getTreeSelect
()
this
.
getTreeSelect
()
this
.
getRoleList
()
},
},
methods
:
{
methods
:
{
// 获取角色列表
getRoleList
()
{
listRole
().
then
(
res
=>
{
this
.
roleOptions
=
res
.
rows
})
// new Promise()
},
changeValue
()
{
changeValue
()
{
this
.
$refs
.
form
.
validateField
(
'id'
)
this
.
$refs
.
form
.
validateField
(
'id'
)
},
},
...
@@ -691,20 +814,68 @@ export default {
...
@@ -691,20 +814,68 @@ export default {
// 表单重置
// 表单重置
reset
()
{
reset
()
{
this
.
form
=
{
this
.
form
=
{
userId
:
undefined
,
// roleList: [],
deptId
:
undefined
,
// nltStartDate: undefined,
phone
:
undefined
,
// nltPosition: undefined,
// nltLw: undefined,
// nltBz: undefined,
// remarks: undefined,
// contract: undefined,
// username: undefined,
// phone: undefined,
// email: undefined,
// idNumber: undefined,
// flag: '1',
// name: undefined,
// sex: undefined,
businessId
:
undefined
,
username
:
undefined
,
username
:
undefined
,
userType
:
undefined
,
nickName
:
undefined
,
password
:
undefined
,
password
:
undefined
,
idNumber
:
undefined
,
nickName
:
undefined
,
userType
:
undefined
,
name
:
undefined
,
email
:
undefined
,
email
:
undefined
,
sex
:
undefined
,
phone
:
undefined
,
flag
:
undefined
,
sex
:
'0'
,
remark
:
undefined
,
idNumber
:
undefined
,
postIds
:
[],
loginIp
:
undefined
,
roleIds
:
[]
loginDate
:
undefined
,
delFlag
:
undefined
,
remarks
:
undefined
,
avatar
:
undefined
,
flag
:
'1'
,
createDate
:
undefined
,
beginTime
:
undefined
,
endTime
:
undefined
,
identity
:
undefined
,
wxOpenid
:
undefined
,
address
:
undefined
,
nltBz
:
undefined
,
nltLw
:
undefined
,
nltPosition
:
undefined
,
nltStartDate
:
undefined
,
deptId
:
undefined
,
deptName
:
undefined
,
roleNames
:
undefined
,
roleIds
:
undefined
,
contract
:
undefined
,
roleList
:
[]
// userId: undefined,
// deptId: undefined,
// phone: undefined,
// username: undefined,
// userType: undefined,
// nickName: undefined,
// password: undefined,
// idNumber: undefined,
// email: undefined,
// sex: undefined,
// flag: undefined,
// remark: undefined,
// postIds: [],
// roleIds: []
}
}
this
.
resetForm
(
'form'
)
this
.
resetForm
(
'form'
)
},
},
...
@@ -746,6 +917,12 @@ export default {
...
@@ -746,6 +917,12 @@ export default {
getUser
(
userId
).
then
(
response
=>
{
getUser
(
userId
).
then
(
response
=>
{
this
.
open
=
true
this
.
open
=
true
this
.
form
=
response
.
data
this
.
form
=
response
.
data
if
(
response
.
data
.
roleIds
!==
null
)
{
this
.
$set
(
this
.
form
,
'roleList'
,
response
.
data
.
roleIds
.
split
(
','
).
map
(
num
=>
{
return
Number
(
num
)
}))
}
console
.
log
(
'详情'
,
this
.
form
)
this
.
title
=
'修改'
this
.
title
=
'修改'
})
})
// this.getChildrenDept(userId)
// this.getChildrenDept(userId)
...
@@ -790,6 +967,41 @@ export default {
...
@@ -790,6 +967,41 @@ export default {
this
.
$refs
[
'form'
].
validate
(
valid
=>
{
this
.
$refs
[
'form'
].
validate
(
valid
=>
{
if
(
valid
)
{
if
(
valid
)
{
if
(
this
.
form
.
businessId
!==
undefined
)
{
if
(
this
.
form
.
businessId
!==
undefined
)
{
console
.
log
(
'form'
,
this
.
form
)
// const aaa = {
// businessId: 471,
// username: 66,
// password: '$2a$10$WSAfytKED2BHjThH3TSG6u/mHuXUXVpcmqdw/BYvajBeY0nnWSoSO',
// nickName: '',
// userType: 1,
// name: 66,
// email: '',
// phone: '',
// sex: 0,
// idNumber: '',
// loginIp: '',
// loginDate: '',
// delFlag: 0,
// remarks: '',
// avatar: '',
// flag: 1,
// createDate: '2022-06-02 14:27:15',
// beginTime: '',
// endTime: '',
// identity: '',
// wxOpenid: '',
// address: '',
// nltBz: 6,
// nltLw: 6,
// nltPosition: 66,
// nltStartDate: '2022-06-06',
// deptId: 101,
// deptName: '诺兰特移动通信配件(北京)有限公司',
// roleNames: '',
// roleIds: '',
// contract: '',
// roleList: [156]
// }
updateUser
(
this
.
form
).
then
(
response
=>
{
updateUser
(
this
.
form
).
then
(
response
=>
{
this
.
$message
({
this
.
$message
({
message
:
'修改成功'
,
message
:
'修改成功'
,
...
@@ -799,6 +1011,7 @@ export default {
...
@@ -799,6 +1011,7 @@ export default {
this
.
getList
()
this
.
getList
()
})
})
}
else
{
}
else
{
console
.
log
(
'xxxxx'
,
this
.
form
)
addUser
(
this
.
form
).
then
(
response
=>
{
addUser
(
this
.
form
).
then
(
response
=>
{
this
.
$message
({
this
.
$message
({
message
:
'新增成功'
,
type
:
'success'
message
:
'新增成功'
,
type
:
'success'
...
@@ -973,4 +1186,8 @@ export default {
...
@@ -973,4 +1186,8 @@ export default {
margin-left
:
0
!
important
;
margin-left
:
0
!
important
;
}
}
}
}
.el-form-item__label
{
width
:
80px
;
height
:
32px
;
}
</
style
>
</
style
>
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