Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
cloud-platform-ui
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
youjj
cloud-platform-ui
Commits
2cae7524
Commit
2cae7524
authored
Jul 31, 2019
by
hanfeng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改后台用户管理
parent
8d909f23
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
521 additions
and
485 deletions
+521
-485
index.vue
src/views/admin/user/index.vue
+521
-485
No files found.
src/views/admin/user/index.vue
View file @
2cae7524
<
template
>
<div
class=
"app-container calendar-list-container"
>
<div
class=
"filter-container"
>
<el-input
@
keyup
.
enter
.
native=
"handleFilter"
style=
"width: 200px;"
class=
"filter-item"
placeholder=
"姓名或账户"
v-model=
"listQuery.name"
>
</el-input>
<el-button
class=
"filter-item"
type=
"primary"
v-waves
icon=
"search"
@
click=
"handleFilter"
>
搜索
</el-button>
<el-button
class=
"filter-item"
v-if=
"userManager_btn_add"
style=
"margin-left: 10px;"
@
click=
"handleCreate"
type=
"primary"
icon=
"edit"
>
添加
</el-button>
</div>
<el-table
:key=
'tableKey'
:data=
"list"
v-loading
.
body=
"listLoading"
border
fit
highlight-current-row
style=
"width: 100%"
>
<el-table-column
align=
"center"
label=
"序号"
width=
"65"
>
<template
scope=
"scope"
>
<div
class=
"app-container calendar-list-container"
>
<div
class=
"filter-container"
>
<el-input
@
keyup
.
enter
.
native=
"handleFilter"
style=
"width: 200px;"
class=
"filter-item"
placeholder=
"姓名或账户"
v-model=
"listQuery.name"
></el-input>
<el-button
class=
"filter-item"
type=
"primary"
v-waves
icon=
"search"
@
click=
"handleFilter"
>
搜索
</el-button>
<el-button
class=
"filter-item"
v-if=
"userManager_btn_add"
style=
"margin-left: 10px;"
@
click=
"handleCreate"
type=
"primary"
icon=
"edit"
>
添加
</el-button>
</div>
<el-table
:key=
'tableKey'
:data=
"list"
v-loading
.
body=
"listLoading"
border
fit
highlight-current-row
style=
"width: 100%"
>
<el-table-column
align=
"center"
label=
"序号"
width=
"65"
>
<template
scope=
"scope"
>
<span>
{{
scope
.
row
.
id
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"200"
align=
"center"
label=
"姓名"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
name
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"110"
align=
"center"
label=
"账户"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
username
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"110"
align=
"center"
label=
"性别"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
sex
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"300"
align=
"center"
label=
"备注"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
description
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"180"
align=
"center"
label=
"最后时间"
>
<
template
scope=
"scope"
>
</
template
>
</el-table-column>
<el-table-column
width=
"200"
align=
"center"
label=
"姓名"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
name
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"110"
align=
"center"
label=
"账户"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
username
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"110"
align=
"center"
label=
"性别"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
sex
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"300"
align=
"center"
label=
"备注"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
description
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"180"
align=
"center"
label=
"最后时间"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
updTime
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"200"
align=
"center"
label=
"最后更新人"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
updName
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"操作"
width=
"150"
>
<
template
scope=
"scope"
>
<el-button
v-if=
"userManager_btn_edit"
size=
"small"
type=
"success"
@
click=
"handleUpdate(scope.row)"
>
编辑
</el-button>
<el-button
v-if=
"userManager_btn_del"
size=
"small"
type=
"danger"
@
click=
"handleDelete(scope.row)"
>
删除
</el-button>
</
template
>
</el-table-column>
</el-table>
<div
v-show=
"!listLoading"
class=
"pagination-container"
>
<el-pagination
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"listQuery.page"
:page-sizes=
"[10,20,30, 50]"
:page-size=
"listQuery.limit"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"total"
>
</el-pagination>
</div>
<el-dialog
:title=
"textMap[dialogStatus]"
:visible
.
sync=
"dialogFormVisible"
>
<el-form
:model=
"form"
:rules=
"rules"
ref=
"form"
label-width=
"100px"
>
<el-form-item
label=
"姓名"
prop=
"name"
>
<el-input
v-model=
"form.name"
placeholder=
"请输入姓名"
></el-input>
</el-form-item>
<el-form-item
label=
"账户"
prop=
"username"
>
<!--v-if="dialogStatus == 'create'"-->
<el-input
v-model=
"form.username"
placeholder=
"请输入账户"
></el-input>
<!--<el-input v-else v-model="form.username" placeholder="请输入账户" readonly></el-input>-->
</el-form-item>
<el-form-item
v-if=
"dialogStatus == 'create'"
label=
"密码"
placeholder=
"请输入密码"
prop=
"password"
>
<el-input
type=
"password"
v-model=
"form.password"
></el-input>
</el-form-item>
<el-form-item
v-if=
"dialogStatus == 'update'"
label=
"密码"
placeholder=
"请输入密码"
>
<el-input
type=
"password"
v-model=
"form.passwordEdit"
></el-input>
</el-form-item>
<el-form-item
label=
"性别"
>
<el-select
class=
"filter-item"
v-model=
"form.sex"
placeholder=
"请选择"
>
<el-option
v-for=
"item in sexOptions"
:key=
"item"
:label=
"item"
:value=
"item"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"是否开启"
prop=
"status"
>
<el-radio-group
class=
"filter-item"
v-model
.
number=
"form.status"
>
<el-radio
v-for=
"item in statusOptions"
:key=
"item.val"
:label=
"item.id"
>
{{item.val}}
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
label=
"所属片区"
prop=
"zoneId"
>
<el-select
class=
"filter-item"
v-model=
"form.zoneId"
clearable
placeholder=
"请选择"
@
change=
"getProvinceRegions"
>
<el-option
v-for=
"val in getAllZoneList"
:key=
"val.id"
:label=
"val.name"
:value=
"val.id"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"所属分公司"
prop=
"companyId"
>
<!--<el-autocomplete-->
</
template
>
</el-table-column>
<el-table-column
width=
"200"
align=
"center"
label=
"最后更新人"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
updName
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"操作"
width=
"150"
>
<
template
scope=
"scope"
>
<el-button
v-if=
"userManager_btn_edit"
size=
"small"
type=
"success"
@
click=
"handleUpdate(scope.row)"
>
编辑
</el-button>
<el-button
v-if=
"userManager_btn_del"
size=
"small"
type=
"danger"
@
click=
"handleDelete(scope.row)"
>
删除
</el-button>
</
template
>
</el-table-column>
</el-table>
<div
v-show=
"!listLoading"
class=
"pagination-container"
>
<el-pagination
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"listQuery.page"
:page-sizes=
"[10,20,30, 50]"
:page-size=
"listQuery.limit"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"total"
></el-pagination>
</div>
<el-dialog
:title=
"textMap[dialogStatus]"
:visible
.
sync=
"dialogFormVisible"
>
<el-form
:model=
"form"
:rules=
"rules"
ref=
"form"
label-width=
"100px"
>
<el-form-item
label=
"姓名"
prop=
"name"
>
<el-input
v-model=
"form.name"
placeholder=
"请输入姓名"
></el-input>
</el-form-item>
<el-form-item
label=
"账户"
prop=
"username"
>
<!--v-if="dialogStatus == 'create'"-->
<el-input
v-model=
"form.username"
placeholder=
"请输入账户"
></el-input>
<!--<el-input v-else v-model="form.username" placeholder="请输入账户" readonly></el-input>-->
</el-form-item>
<el-form-item
v-if=
"dialogStatus == 'create'"
label=
"密码"
placeholder=
"请输入密码"
prop=
"password"
>
<el-input
type=
"password"
v-model=
"form.password"
></el-input>
</el-form-item>
<el-form-item
v-if=
"dialogStatus == 'update'"
label=
"密码"
placeholder=
"请输入密码"
>
<el-input
type=
"password"
v-model=
"form.passwordEdit"
></el-input>
</el-form-item>
<el-form-item
label=
"性别"
>
<el-select
class=
"filter-item"
v-model=
"form.sex"
placeholder=
"请选择"
>
<el-option
v-for=
"item in sexOptions"
:key=
"item"
:label=
"item"
:value=
"item"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"是否开启"
prop=
"status"
>
<el-radio-group
class=
"filter-item"
v-model
.
number=
"form.status"
>
<el-radio
v-for=
"item in statusOptions"
:key=
"item.val"
:label=
"item.id"
>
{{item.val}}
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
label=
"所属片区"
prop=
"zoneId"
>
<el-select
class=
"filter-item"
v-model=
"form.zoneId"
clearable
placeholder=
"请选择"
@
change=
"getProvinceRegions"
>
<el-option
v-for=
"val in getAllZoneList"
:key=
"val.id"
:label=
"val.name"
:value=
"val.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"所属分公司"
prop=
"companyId"
>
<!--<el-autocomplete-->
<!--class="inline-input"-->
<!--v-model="form.companyName"-->
<!--:fetch-suggestions="querySearch"-->
<!--placeholder="请输入内容"-->
<!--@select="handleSelectSubordinate"-->
<!--></el-autocomplete>-->
<el-select
class=
"filter-item"
v-model=
"form.companyId"
clearable
filterable
placeholder=
"请选择分公司"
>
<el-option
v-for=
"val in allBranchCompany"
:key=
"val.id"
:label=
"val.name"
:value=
"val.id"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"所属角色"
prop=
"members"
>
<el-autocomplete
<!--></el-autocomplete>-->
<el-select
class=
"filter-item"
v-model=
"form.companyId"
clearable
filterable
placeholder=
"请选择分公司"
>
<el-option
v-for=
"val in allBranchCompany"
:key=
"val.id"
:label=
"val.name"
:value=
"val.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"所属角色"
prop=
"members"
>
<el-autocomplete
class=
"inline-input"
v-model=
"membersName"
:fetch-suggestions=
"querySearch"
placeholder=
"请选择"
@
select=
"handleSelect2"
></el-autocomplete>
<!-- <el-select v-model="form.members" multiple filterable placeholder="请选择" :loading="loading" :remote-method="remoteGroupsMethod" remote>
<el-option
v-for="item in myGroups"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select> -->
</el-form-item>
<el-form-item
label=
"数据权限"
prop=
"dataState"
>
<el-checkbox-group
v-model=
"form.dataLimit"
>
<!--<el-checkbox v-for="item in dataOptions" :label="item.id" >{{item.val}}</el-checkbox>-->
<el-checkbox
label=
"1"
>
所属分公司
</el-checkbox>
<el-checkbox
label=
"2"
>
所属片区
</el-checkbox>
<el-checkbox
label=
"3"
>
所有数据
</el-checkbox>
</el-checkbox-group>
</el-form-item>
<el-form-item
label=
"描述"
>
<el-input
type=
"textarea"
:autosize=
"{ minRows: 3, maxRows: 5}"
placeholder=
"请输入内容"
v-model=
"form.description"
>
</el-input>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"cancel('form')"
>
取 消
</el-button>
<el-button
v-if=
"dialogStatus=='create'"
type=
"primary"
@
click=
"create('form')"
>
确 定
</el-button>
<el-button
v-else
type=
"primary"
@
click=
"update('form')"
>
确 定
</el-button>
</div>
</el-dialog>
</div>
<!-- <el-select v-model="form.members" multiple filterable placeholder="请选择" :loading="loading" :remote-method="remoteGroupsMethod" remote>
<el-option
v-for="item in myGroups"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select> -->
</el-form-item>
<el-form-item
label=
"数据权限"
prop=
"dataState"
>
<!-- <el-checkbox-group v-model="form.dataLimit" >-->
<!-- <!–<el-checkbox v-for="item in dataOptions" :label="item.id" >{{item.val}}</el-checkbox>–>-->
<!-- <el-checkbox label="1">所属分公司</el-checkbox>-->
<!-- <el-checkbox label="2">所属片区</el-checkbox>-->
<!-- <el-checkbox label="3">所有数据</el-checkbox>-->
<!-- </el-checkbox-group>-->
<el-radio-group
v-model=
"form.dataLimit"
>
<el-radio
label=
"1"
>
所属分公司
</el-radio>
<el-radio
label=
"2"
>
所属片区
</el-radio>
<el-radio
label=
"3"
>
所有数据
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
label=
"描述"
>
<el-input
type=
"textarea"
:autosize=
"{ minRows: 3, maxRows: 5}"
placeholder=
"请输入内容"
v-model=
"form.description"
></el-input>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"cancel('form')"
>
取 消
</el-button>
<el-button
v-if=
"dialogStatus=='create'"
type=
"primary"
@
click=
"create('form')"
>
确 定
</el-button>
<el-button
v-else
type=
"primary"
@
click=
"update('form')"
>
确 定
</el-button>
</div>
</el-dialog>
</div>
</template>
<
script
>
import
{
page
,
addObj
,
getObj
,
delObj
,
putObj
}
from
'api/admin/user/index'
;
import
{
page
,
addObj
,
getObj
,
delObj
,
putObj
}
from
'api/admin/user/index'
;
import
{
mapGetters
}
from
'vuex'
;
import
{
mapGetters
}
from
'vuex'
;
import
{
getAllCompany
,
getAll
}
from
'api/base_info/branch_company/'
;
import
{
getAllCompany
,
getAll
}
from
'api/base_info/branch_company/'
;
import
{
getAllZone
}
from
'api/base_info/constant/'
;
import
{
getAllZone
}
from
'api/base_info/constant/'
;
import
{
fetchTree
,
getUserGroups
,
getCurrentGroups
,
listAll
}
from
'api/admin/group/index'
;
import
{
getAllBranchCompanyByZoneId
}
from
"../../../api/order/rentVehicle"
;
import
{
fetchTree
,
getUserGroups
,
getCurrentGroups
,
listAll
}
from
'api/admin/group/index'
;
import
{
getAllBranchCompanyByZoneId
}
from
"../../../api/order/rentVehicle"
;
export
default
{
name
:
'user'
,
data
()
{
return
{
membersName
:
''
,
//角色
form
:
{
username
:
undefined
,
name
:
undefined
,
sex
:
'男'
,
status
:
1
,
zoneId
:
undefined
,
//所属片区
companyId
:
undefined
,
//所属分公司id
companyName
:
""
,
//所属公司
state2
:
''
,
password
:
undefined
,
passwordEdit
:
undefined
,
description
:
undefined
,
dataLimit
:
[],
//数据权限
members
:
[],
},
editCompanyId
:
undefined
,
//编辑时公司id
baranchQuery
:
{
zoneId
:
null
},
rules
:
{
name
:
[
{
required
:
true
,
message
:
'请输入用户'
,
trigger
:
'blur'
},
{
min
:
3
,
max
:
20
,
message
:
'长度在 3 到 20 个字符'
,
trigger
:
'blur'
}
],
username
:
[
{
required
:
true
,
message
:
'请输入账户'
,
trigger
:
'blur'
},
{
min
:
3
,
max
:
20
,
message
:
'长度在 3 到 20 个字符'
,
trigger
:
'blur'
}
],
password
:
[
{
export
default
{
name
:
'user'
,
data
()
{
return
{
membersName
:
''
,
//角色
form
:
{
username
:
undefined
,
name
:
undefined
,
sex
:
'男'
,
status
:
1
,
zoneId
:
undefined
,
//所属片区
companyId
:
undefined
,
//所属分公司id
companyName
:
""
,
//所属公司
state2
:
''
,
password
:
undefined
,
passwordEdit
:
undefined
,
description
:
undefined
,
// dataLimit: [],//数据权限
dataLimit
:
undefined
,
//数据权限
members
:
[],
},
editCompanyId
:
undefined
,
//编辑时公司id
baranchQuery
:
{
zoneId
:
null
},
rules
:
{
name
:
[
{
required
:
true
,
message
:
'请输入用户'
,
trigger
:
'blur'
},
{
min
:
3
,
max
:
20
,
message
:
'长度在 3 到 20 个字符'
,
trigger
:
'blur'
}
],
username
:
[
{
required
:
true
,
message
:
'请输入账户'
,
trigger
:
'blur'
},
{
min
:
3
,
max
:
20
,
message
:
'长度在 3 到 20 个字符'
,
trigger
:
'blur'
}
],
password
:
[
{
required
:
true
,
message
:
'请输入密码'
,
trigger
:
'blur'
},
{
min
:
5
,
max
:
20
,
message
:
'长度在 5 到 20 个字符'
,
trigger
:
'blur'
}
],
status
:
[
{
type
:
'integer'
,
required
:
true
,
message
:
'请选择'
,
trigger
:
'blur'
}
],
zoneId
:
{
required
:
true
,
message
:
'请输入密码'
,
trigger
:
'blur'
message
:
'请选择所属片区'
,
},
{
min
:
5
,
max
:
20
,
message
:
'长度在 5 到 20 个字符'
,
trigger
:
'blur'
}
],
status
:
[
{
type
:
'integer'
,
required
:
true
,
message
:
'请选择'
,
trigger
:
'blur'
}
],
zoneId
:{
companyId
:
{
required
:
true
,
message
:
'请选择所属
片区
'
,
message
:
'请选择所属
分公司
'
,
},
companyId
:{
required
:
true
,
message
:
'请选择所属分公司'
,
},
// members:{
// type: 'array',
// required: true,
// message: '请选择角色'
// }
},
list
:
null
,
total
:
null
,
listLoading
:
true
,
listQuery
:
{
page
:
1
,
limit
:
20
,
name
:
undefined
},
sexOptions
:
[
'男'
,
'女'
],
zoneOptions
:
[
'男'
,
'女'
],
dataOptions
:
[{
id
:
"1"
,
val
:
"所属分公司"
},
{
id
:
"2"
,
val
:
"所属片区"
},
{
id
:
"3"
,
val
:
"所有数据"
}],
statusOptions
:
[{
id
:
1
,
val
:
'开启'
},
{
id
:
2
,
val
:
'禁用'
}],
dialogFormVisible
:
false
,
dialogStatus
:
''
,
userManager_btn_edit
:
false
,
userManager_btn_del
:
false
,
userManager_btn_add
:
false
,
allCompanies
:
{},
allCompaniesArr
:
[],
myGroups
:
[],
//角色列表
loading
:
false
,
textMap
:
{
update
:
'编辑'
,
create
:
'创建'
},
tableKey
:
0
,
allBranchCompany
:
[],
//所有分公司列表
list_All
:
[]
}
},
created
()
{
this
.
getList
();
getAll
()
.
then
(
response
=>
{
this
.
allCompaniesArr
=
response
.
data
;
})
getAllCompany
(
codeAndBranchCompany
=>
{
this
.
allCompanies
=
codeAndBranchCompany
;
});
listAll
().
then
(
response
=>
{
},
list
:
null
,
total
:
null
,
listLoading
:
true
,
listQuery
:
{
page
:
1
,
limit
:
20
,
name
:
undefined
},
sexOptions
:
[
'男'
,
'女'
],
zoneOptions
:
[
'男'
,
'女'
],
dataOptions
:
[{
id
:
"1"
,
val
:
"所属分公司"
},
{
id
:
"2"
,
val
:
"所属片区"
},
{
id
:
"3"
,
val
:
"所有数据"
}],
statusOptions
:
[{
id
:
1
,
val
:
'开启'
},
{
id
:
2
,
val
:
'禁用'
}],
dialogFormVisible
:
false
,
dialogStatus
:
''
,
userManager_btn_edit
:
false
,
userManager_btn_del
:
false
,
userManager_btn_add
:
false
,
allCompanies
:
{},
allCompaniesArr
:
[],
myGroups
:
[],
//角色列表
loading
:
false
,
textMap
:
{
update
:
'编辑'
,
create
:
'创建'
},
tableKey
:
0
,
allBranchCompany
:
[],
//所有分公司列表
list_All
:
[]
}
},
created
()
{
this
.
getList
();
getAll
()
.
then
(
response
=>
{
this
.
allCompaniesArr
=
response
.
data
;
})
getAllCompany
(
codeAndBranchCompany
=>
{
this
.
allCompanies
=
codeAndBranchCompany
;
});
listAll
().
then
(
response
=>
{
this
.
list_All
=
response
;
})
this
.
remoteGroupsMethod
(
''
);
// getCurrentGroups().then(result => {
// this.myGroups = result.data;
// const mems = [];
// for (let i = 0; i
<
result
.
data
.
length
;
i
++
)
{
// mems.push(result.data[i].id);
// }
// this.members = mems;
// });
this
.
userManager_btn_edit
=
this
.
elements
[
'userManager:btn_edit'
];
this
.
userManager_btn_del
=
this
.
elements
[
'userManager:btn_del'
];
this
.
userManager_btn_add
=
this
.
elements
[
'userManager:btn_add'
];
},
computed
:
{
...
mapGetters
([
'elements'
]),
getAllZoneList
(){
console
.
log
(
'getAllZoneList'
)
this
.
allZoneArr
=
getAllZone
();
return
getAllZone
();
})
this
.
remoteGroupsMethod
(
''
);
// getCurrentGroups().then(result => {
// this.myGroups = result.data;
// const mems = [];
// for (let i = 0; i
<
result
.
data
.
length
;
i
++
)
{
// mems.push(result.data[i].id);
// }
// this.members = mems;
// });
this
.
userManager_btn_edit
=
this
.
elements
[
'userManager:btn_edit'
];
this
.
userManager_btn_del
=
this
.
elements
[
'userManager:btn_del'
];
this
.
userManager_btn_add
=
this
.
elements
[
'userManager:btn_add'
];
},
computed
:
{
...
mapGetters
([
'elements'
]),
getAllZoneList
()
{
console
.
log
(
'getAllZoneList'
)
this
.
allZoneArr
=
getAllZone
();
return
getAllZone
();
},
},
},
methods
:
{
getAllZone
,
remoteGroupsMethod
(
query
)
{
methods
:
{
getAllZone
,
remoteGroupsMethod
(
query
)
{
// if (query !== '') {
this
.
loading
=
true
;
this
.
loading
=
false
;
...
...
@@ -313,222 +342,228 @@ export default {
// } else {
// this.myGroups = [];
// }
},
/**
* 所属分公司
* */
handleSelectSubordinate
(
item
){
this
.
form
.
companyId
=
item
.
id
;
this
.
form
.
companyName
=
item
.
name
;
},
// 角色
handleSelect2
(
item
){
this
.
form
.
members
=
item
.
id
;
},
/**
* 获取后台用户管理列表数据
* */
getList
()
{
this
.
listLoading
=
true
;
page
(
this
.
listQuery
)
.
then
(
response
=>
{
this
.
list
=
response
.
data
.
rows
;
this
.
total
=
response
.
data
.
total
;
this
.
listLoading
=
false
;
})
},
handleFilter
()
{
this
.
getList
();
},
handleSizeChange
(
val
)
{
this
.
listQuery
.
limit
=
val
;
this
.
getList
();
},
handleCurrentChange
(
val
)
{
this
.
listQuery
.
page
=
val
;
this
.
getList
();
},
handleCreate
()
{
this
.
resetTemp
();
// this.getGroups()
this
.
dialogStatus
=
'create'
;
this
.
dialogFormVisible
=
true
;
},
/**
* 编辑后台账号
* */
handleUpdate
(
row
)
{
this
.
resetTemp
();
if
(
row
.
zoneId
){
getAllBranchCompanyByZoneId
({
zoneId
:
row
.
zoneId
})
.
then
(
res
=>
{
this
.
allBranchCompany
=
res
.
data
;
getObj
(
row
.
id
).
then
(
response
=>
{
this
.
form
.
id
=
response
.
data
.
id
;
this
.
editCompanyId
=
response
.
data
.
companyId
,
//所属分公司id
this
.
form
.
username
=
response
.
data
.
username
,
this
.
form
.
name
=
response
.
data
.
name
,
this
.
form
.
sex
=
response
.
data
.
sex
,
this
.
form
.
status
=
response
.
data
.
status
,
this
.
form
.
zoneId
=
response
.
data
.
zoneId
,
//所属片区
this
.
form
.
companyId
=
response
.
data
.
companyId
,
//所属分公司id
this
.
form
.
description
=
response
.
data
.
description
let
dataLimit
=
[];
if
(
response
.
data
.
dataCompany
)
{
let
companys
=
response
.
data
.
dataCompany
.
split
(
","
);
if
(
companys
.
includes
(
response
.
data
.
companyId
+
""
))
{
dataLimit
.
push
(
"1"
);
}
}
if
(
response
.
data
.
dataZone
)
{
let
zones
=
response
.
data
.
dataZone
.
split
(
","
);
if
(
zones
.
includes
(
response
.
data
.
zoneId
+
""
))
{
dataLimit
.
push
(
"2"
);
},
/**
* 所属分公司
* */
handleSelectSubordinate
(
item
)
{
this
.
form
.
companyId
=
item
.
id
;
this
.
form
.
companyName
=
item
.
name
;
},
// 角色
handleSelect2
(
item
)
{
this
.
form
.
members
=
item
.
id
;
},
/**
* 获取后台用户管理列表数据
* */
getList
()
{
this
.
listLoading
=
true
;
page
(
this
.
listQuery
)
.
then
(
response
=>
{
this
.
list
=
response
.
data
.
rows
;
this
.
total
=
response
.
data
.
total
;
this
.
listLoading
=
false
;
})
},
handleFilter
()
{
this
.
getList
();
},
handleSizeChange
(
val
)
{
this
.
listQuery
.
limit
=
val
;
this
.
getList
();
},
handleCurrentChange
(
val
)
{
this
.
listQuery
.
page
=
val
;
this
.
getList
();
},
handleCreate
()
{
this
.
resetTemp
();
// this.getGroups()
this
.
dialogStatus
=
'create'
;
this
.
dialogFormVisible
=
true
;
},
/**
* 编辑后台账号
* */
handleUpdate
(
row
)
{
this
.
resetTemp
();
if
(
row
.
zoneId
)
{
getAllBranchCompanyByZoneId
({
zoneId
:
row
.
zoneId
})
.
then
(
res
=>
{
this
.
allBranchCompany
=
res
.
data
;
getObj
(
row
.
id
).
then
(
response
=>
{
this
.
form
.
id
=
response
.
data
.
id
;
this
.
editCompanyId
=
response
.
data
.
companyId
,
//所属分公司id
this
.
form
.
username
=
response
.
data
.
username
,
this
.
form
.
name
=
response
.
data
.
name
,
this
.
form
.
sex
=
response
.
data
.
sex
,
this
.
form
.
status
=
response
.
data
.
status
,
this
.
form
.
zoneId
=
response
.
data
.
zoneId
,
//所属片区
this
.
form
.
companyId
=
response
.
data
.
companyId
,
//所属分公司id
this
.
form
.
description
=
response
.
data
.
description
// let dataLimit = [];
let
dataLimit
=
undefined
;
if
(
response
.
data
.
dataCompany
)
{
let
companys
=
response
.
data
.
dataCompany
.
split
(
","
);
if
(
companys
.
includes
(
response
.
data
.
companyId
+
""
))
{
// dataLimit.push("1");
dataLimit
=
'1'
}
}
}
if
(
response
.
data
.
dataAll
&&
response
.
data
.
dataAll
==
1
)
{
dataLimit
.
push
(
"3"
);
}
let
mems
=
[];
for
(
let
i
=
1
;
i
<
10
;
i
++
){
this
.
myGroups
.
push
({
name
:
"q"
+
i
,
id
:
i
});
}
this
.
$set
(
this
.
form
,
"dataLimit"
,
dataLimit
);
getUserGroups
(
response
.
data
.
id
).
then
(
result
=>
{
if
(
result
.
data
){
this
.
myGroups
=
result
.
data
;
for
(
let
i
=
0
;
i
<
result
.
data
.
length
;
i
++
)
{
mems
.
push
(
result
.
data
[
i
].
id
);
if
(
response
.
data
.
dataZone
)
{
let
zones
=
response
.
data
.
dataZone
.
split
(
","
);
if
(
zones
.
includes
(
response
.
data
.
zoneId
+
""
))
{
// dataLimit.push("2");
dataLimit
=
'2'
}
this
.
$set
(
this
.
form
,
"members"
,
mems
)
}
if
(
response
.
data
.
dataAll
&&
response
.
data
.
dataAll
==
1
)
{
// dataLimit.push("3");
dataLimit
=
'3'
}
let
mems
=
[];
for
(
let
i
=
1
;
i
<
10
;
i
++
)
{
this
.
myGroups
.
push
({
name
:
"q"
+
i
,
id
:
i
});
}
this
.
$set
(
this
.
form
,
"dataLimit"
,
dataLimit
);
// console.log(JSON.stringify(this.form))
getUserGroups
(
response
.
data
.
id
).
then
(
result
=>
{
if
(
result
.
data
)
{
this
.
myGroups
=
result
.
data
;
for
(
let
i
=
0
;
i
<
result
.
data
.
length
;
i
++
)
{
mems
.
push
(
result
.
data
[
i
].
id
);
}
this
.
$set
(
this
.
form
,
"members"
,
mems
)
}
});
this
.
dialogFormVisible
=
true
;
this
.
dialogStatus
=
'update'
;
console
.
log
(
this
.
form
);
// console.log(JSON.stringify(this.form))
});
this
.
dialogFormVisible
=
true
;
this
.
dialogStatus
=
'update'
;
console
.
log
(
this
.
form
);
});
});
}
else
{
this
.
dialogFormVisible
=
true
;
this
.
dialogStatus
=
'update'
;
}
},
}
else
{
this
.
dialogFormVisible
=
true
;
this
.
dialogStatus
=
'update'
;
}
},
// changeMembers(){debugger
// this.$set(this.form, "members", this.form.members)
// },
handleDelete
(
row
)
{
this
.
$confirm
(
'此操作将永久删除, 是否继续?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
})
.
then
(()
=>
{
delObj
(
row
.
id
)
.
then
(()
=>
{
this
.
$notify
({
title
:
'成功'
,
message
:
'删除成功'
,
type
:
'success'
,
duration
:
2000
handleDelete
(
row
)
{
this
.
$confirm
(
'此操作将永久删除, 是否继续?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
})
.
then
(()
=>
{
delObj
(
row
.
id
)
.
then
(()
=>
{
this
.
$notify
({
title
:
'成功'
,
message
:
'删除成功'
,
type
:
'success'
,
duration
:
2000
});
const
index
=
this
.
list
.
indexOf
(
row
);
this
.
list
.
splice
(
index
,
1
);
});
const
index
=
this
.
list
.
indexOf
(
row
);
this
.
list
.
splice
(
index
,
1
);
});
});
},
/**
* 创建后台账号
* */
create
(
formName
)
{
const
set
=
this
.
$refs
;
set
[
formName
].
validate
(
valid
=>
{
if
(
valid
)
{
addObj
(
this
.
form
)
.
then
(()
=>
{
this
.
dialogFormVisible
=
false
;
this
.
getList
();
this
.
$notify
({
title
:
'成功'
,
message
:
'创建成功'
,
type
:
'success'
,
duration
:
2000
});
})
}
else
{
return
false
;
}
});
},
/**
* 创建后台账号
* */
create
(
formName
)
{
const
set
=
this
.
$refs
;
set
[
formName
].
validate
(
valid
=>
{
if
(
valid
)
{
addObj
(
this
.
form
)
.
then
(()
=>
{
},
cancel
(
formName
)
{
this
.
dialogFormVisible
=
false
;
this
.
$refs
[
formName
].
resetFields
();
},
querySearch
(
queryString
,
cb
)
{
let
selectArry
=
[];
this
.
list_All
.
map
(
function
(
item
)
{
item
.
value
=
item
.
name
;
selectArry
.
push
(
item
);
});
this
.
selectArry
=
selectArry
;
var
results
=
queryString
?
selectArry
.
filter
(
this
.
createFilter
(
queryString
))
:
selectArry
;
// 调用 callback 返回建议列表的数据
cb
(
results
);
},
createFilter
(
queryString
)
{
return
(
restaurant
)
=>
{
return
(
restaurant
.
name
.
indexOf
(
queryString
.
toLowerCase
())
!=
-
1
);
};
},
update
(
formName
)
{
const
set
=
this
.
$refs
;
set
[
formName
].
validate
(
valid
=>
{
if
(
valid
)
{
this
.
dialogFormVisible
=
false
;
if
(
this
.
form
.
passwordEdit
)
{
this
.
form
.
password
=
this
.
form
.
passwordEdit
;
this
.
form
.
passwordEdit
=
undefined
;
}
else
{
this
.
form
.
password
=
undefined
;
}
putObj
(
this
.
form
.
id
,
this
.
form
).
then
(()
=>
{
this
.
dialogFormVisible
=
false
;
this
.
getList
();
this
.
form
.
password
=
undefined
;
this
.
$notify
({
title
:
'成功'
,
message
:
'
创建
成功'
,
message
:
'
编辑
成功'
,
type
:
'success'
,
duration
:
2000
});
})
}
else
{
return
false
;
}
});
},
cancel
(
formName
)
{
this
.
dialogFormVisible
=
false
;
this
.
$refs
[
formName
].
resetFields
();
},
querySearch
(
queryString
,
cb
)
{
let
selectArry
=
[];
this
.
list_All
.
map
(
function
(
item
){
item
.
value
=
item
.
name
;
selectArry
.
push
(
item
);
});
this
.
selectArry
=
selectArry
;
var
results
=
queryString
?
selectArry
.
filter
(
this
.
createFilter
(
queryString
))
:
selectArry
;
// 调用 callback 返回建议列表的数据
cb
(
results
);
},
createFilter
(
queryString
)
{
return
(
restaurant
)
=>
{
return
(
restaurant
.
name
.
indexOf
(
queryString
.
toLowerCase
())
!=
-
1
);
};
},
update
(
formName
)
{
const
set
=
this
.
$refs
;
set
[
formName
].
validate
(
valid
=>
{
if
(
valid
)
{
this
.
dialogFormVisible
=
false
;
if
(
this
.
form
.
passwordEdit
){
this
.
form
.
password
=
this
.
form
.
passwordEdit
;
this
.
form
.
passwordEdit
=
undefined
;
}
else
{
this
.
form
.
password
=
undefined
;
}
putObj
(
this
.
form
.
id
,
this
.
form
).
then
(()
=>
{
this
.
dialogFormVisible
=
false
;
this
.
getList
();
this
.
form
.
password
=
undefined
;
this
.
$notify
({
title
:
'成功'
,
message
:
'编辑成功'
,
type
:
'success'
,
duration
:
2000
});
});
}
else
{
return
false
;
}
else
{
return
false
;
}
});
},
/**
* 所属片区改变事件
* @param item
*/
getProvinceRegions
(
item
)
{
this
.
form
.
zoneId
=
item
;
this
.
form
.
companyId
=
undefined
;
//片区修改后所属公司联动
this
.
baranchQuery
.
zoneId
=
item
;
if
(
this
.
baranchQuery
.
zoneId
)
{
getAllBranchCompanyByZoneId
(
this
.
baranchQuery
)
.
then
(
response
=>
{
this
.
allBranchCompany
=
response
.
data
;
if
(
this
.
editCompanyId
)
{
this
.
form
.
companyId
=
this
.
editCompanyId
;
this
.
editCompanyId
=
undefined
;
}
})
}
});
},
/**
* 所属片区改变事件
* @param item
*/
getProvinceRegions
(
item
)
{
this
.
form
.
zoneId
=
item
;
this
.
form
.
companyId
=
undefined
;
//片区修改后所属公司联动
this
.
baranchQuery
.
zoneId
=
item
;
if
(
this
.
baranchQuery
.
zoneId
){
getAllBranchCompanyByZoneId
(
this
.
baranchQuery
)
.
then
(
response
=>
{
debugger
this
.
allBranchCompany
=
response
.
data
;
if
(
this
.
editCompanyId
){
this
.
form
.
companyId
=
this
.
editCompanyId
;
this
.
editCompanyId
=
undefined
;
}
})
}
},
resetTemp
()
{
this
.
editCompanyId
=
undefined
;
this
.
form
=
{
username
:
undefined
,
},
resetTemp
()
{
this
.
editCompanyId
=
undefined
;
this
.
form
=
{
username
:
undefined
,
name
:
undefined
,
sex
:
'男'
,
status
:
1
,
...
...
@@ -539,9 +574,10 @@ export default {
password
:
undefined
,
passwordEdit
:
undefined
,
description
:
undefined
,
dataLimit
:
[],
//数据权限
// dataLimit: [],//数据权限
dataLimit
:
undefined
,
//数据权限
members
:
[],
};
};
// this.form = {
// username: undefined,
// name: undefined,
...
...
@@ -555,22 +591,22 @@ export default {
// dataLimit: [],
// members: [],
// };
},
// initGroups() {
// getUsers(this.groupId).then(response => {
// this.lItems = response.data.leaders;
// this.mItems = response.data.members;
// const mems = [], leas = [];
// for (let i = 0; i
<
response
.
data
.
members
.
length
;
i
++
)
{
// mems.push(response.data.members[i].id);
// }
// for (let i = 0; i
<
response
.
data
.
leaders
.
length
;
i
++
)
{
// leas.push(response.data.leaders[i].id);
// }
// this.members = mems;
// this.leaders = leas;
// });
// }
},
// initGroups() {
// getUsers(this.groupId).then(response => {
// this.lItems = response.data.leaders;
// this.mItems = response.data.members;
// const mems = [], leas = [];
// for (let i = 0; i
<
response
.
data
.
members
.
length
;
i
++
)
{
// mems.push(response.data.members[i].id);
// }
// for (let i = 0; i
<
response
.
data
.
leaders
.
length
;
i
++
)
{
// leas.push(response.data.leaders[i].id);
// }
// this.members = mems;
// this.leaders = leas;
// });
// }
}
}
}
</
script
>
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