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
e3a5f04a
Commit
e3a5f04a
authored
Jul 16, 2019
by
hanfeng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
app用户后台
parent
f6d161b9
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
606 additions
and
290 deletions
+606
-290
index.vue
src/views/userManagement/userList/index.vue
+606
-290
No files found.
src/views/userManagement/userList/index.vue
View file @
e3a5f04a
<
template
>
<div
class=
"app-container calendar-list-container"
>
<div
class=
"filter-container"
>
<el-form
:rules=
"rules"
ref=
"queryForm"
:model=
"listQuery"
label-width=
"100px"
>
<el-form
ref=
"queryForm"
:model=
"listQuery"
label-width=
"100px"
>
<el-row>
<el-col
:span=
"4"
>
<el-form-item
label=
"手机号"
>
...
...
@@ -33,7 +33,7 @@
type=
"daterange"
:editable=
"true"
format=
"yyyy-MM-dd"
placeholder=
"请
输入已预订日期
范围"
>
placeholder=
"请
选择注册时间
范围"
>
</el-date-picker>
</el-form-item>
</el-col>
...
...
@@ -41,7 +41,7 @@
<el-form-item
label=
"用户来源"
>
<el-select
class=
"filter-item"
v-model=
"listQuery.source"
placeholder=
"请选用户来源"
>
<el-option
:key=
"undefined"
label=
"无"
:value=
"undefined"
></el-option>
<el-option
v-for=
"(val, key, index) in sourceList
"
:key=
"val.id"
:label=
"val.name"
<el-option
v-for=
"(val, key, index) in sourceList"
:key=
"val.id"
:label=
"val.name"
:value=
"val.id"
></el-option>
</el-select>
</el-form-item>
...
...
@@ -49,8 +49,8 @@
</el-row>
</el-form>
<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=
""
type=
"primary"
icon=
"edit"
>
新增会员
<!-- handleCreate-->
<el-button
class=
"filter-item"
v-if=
"userManager_btn_add"
style=
"margin-left: 10px;"
@
click=
"
newMember
"
type=
"primary"
icon=
"edit"
>
新增会员
</el-button>
<el-button
class=
"filter-item"
v-if=
"userManager_btn_add"
style=
"margin-left: 10px;"
@
click=
"bulkUpload"
...
...
@@ -111,38 +111,46 @@
<!-- </el-table-column>-->
<el-table-column
align=
"center"
label=
"操作"
width=
"400"
>
<
template
scope=
"scope"
>
<el-button
v-if=
"userManager_btn_edit"
size=
"small"
type=
"success"
@
click=
"viewDetails(scope.row)"
>
查看详情
<el-button
size=
"small"
type=
"success"
@
click=
"viewDetails(scope.row)"
>
查看详情
</el-button>
<el-button
v-if=
"
userManager_btn_del"
size=
"small"
type=
"success"
@
click=
""
>
设置会员信息
<!-- setMember(scope.row)-->
<el-button
v-if=
"
scope.row.status!=1"
size=
"small"
type=
"success"
@
click=
" setMember(scope.row)"
>
设置会员信息
</el-button>
<el-button
v-if=
"userManager_btn_del"
size=
"small"
type=
"success"
@
click=
""
>
用户订单
<!-- handleDelete(scope.row)-->
<el-button
v-if=
"scope.row.status!=1"
size=
"small"
type=
"success"
@
click=
"userOrder(scope.row)"
>
用户订单
</el-button>
<el-button
v-if=
"userManager_btn_del"
size=
"small"
type=
"danger"
@
click=
"handleDelete(scope.row)"
>
设为禁用
<el-button
v-if=
"scope.row.status!=1"
size=
"small"
type=
"danger"
@
click=
"disable(scope.row)"
>
设为禁用
</el-button>
<el-button
v-if=
"scope.row.status==1"
size=
"small"
type=
"danger"
@
click=
"available(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
:visible
.
sync=
"detailsDialogFormVisible"
>
<span>
用户详情
</span>
<el-form
:model=
"userDetails"
:rules=
"rules"
ref=
"form"
label-width=
"100px"
>
<!-- 用户详细信息窗口-->
<el-dialog
title=
"用户详情"
:visible
.
sync=
"detailsDialogFormVisible"
type=
"text"
label-width=
"95px"
>
<el-form
:model=
"userDetails"
ref=
"form"
label-width=
"95px"
>
<el-row>
<el-row>
<el-form-item
v-if=
"userManager_btn_del"
v
label=
"基础信息"
>
<el-form-item
v-if=
"userManager_btn_del"
label=
"基础信息"
>
<span>
(状态-正常)
</span>
</el-form-item>
<el-form-item
v-if=
"!userManager_btn_del"
v
label=
"基础信息"
>
<el-form-item
v-if=
"!userManager_btn_del"
label=
"基础信息"
>
<span>
(状态-已禁用)
</span>
</el-form-item>
</el-row>
<el-row>
<el-col
:span=
"6"
>
<!-- <img src="{{userDetails.userId}}">-->
<div
class=
"demo-type"
>
<el-avatar
name=
"image"
:size=
"60"
src=
"https://cube.elemecdn.com/e/fd/0fc7d20532fdaf769a25683617711png.png"
@
error=
"errorHandler"
>
<img
:src=
"userDetails.headimgurl"
/>
</el-avatar>
</div>
</el-col>
<el-col
:span=
"18"
>
<el-row>
...
...
@@ -240,19 +248,19 @@
</el-row>
<el-row>
<el-col
:span=
"
6
"
>
<el-form-item
label=
"
注册终端
:"
>
<span>
{{userDetails.
channel
}}
</span>
<el-col
:span=
"
8
"
>
<el-form-item
label=
"
最近充值时间
:"
>
<span>
{{userDetails.
recentRecharge
}}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"
6
"
>
<el-form-item
label=
"
注册时间
:"
>
<span>
{{userDetails.
createTime
}}
</span>
<el-col
:span=
"
8
"
>
<el-form-item
label=
"
赠送总天数
:"
>
<span>
{{userDetails.
totalNumber
}}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"
6
"
>
<el-form-item
label=
"
最近登录时间
:"
>
<span>
{{userDetails.
lastTime
}}
</span>
<el-col
:span=
"
8
"
>
<el-form-item
label=
"
剩余总天数
:"
>
<span>
{{userDetails.
rentFreeDays
}}
</span>
</el-form-item>
</el-col>
</el-row>
...
...
@@ -275,7 +283,7 @@
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"邀请人账号:"
>
<span>
{{userDetails.inviter
Account
}}
</span>
<span>
{{userDetails.inviter}}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
...
...
@@ -291,60 +299,209 @@
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"c
ancelNotDeleteForm()
"
>
确 定
</el-button>
<el-button
type=
"primary"
@
click=
"c
loseMembershipWindow
"
>
确 定
</el-button>
</div>
</el-dialog>
<!-- 设置会员信息窗口-->
<el-dialog
:visible
.
sync=
"memberArea"
>
<el-form
:model=
"userMembershipInformation"
:rules=
"rules"
ref=
"form"
label-width=
"100px"
>
<el-form-item
label=
"会员等级"
placeholder=
"会员等级"
prop=
"password"
>
<el-input
type=
"password"
v-model=
"userMembershipInformation.password"
></el-input>
<!-- 设置会员信息窗口-->
<el-dialog
title=
"设置会员信息"
:visible
.
sync=
"setMemberArea"
class=
"member"
>
<el-form
:model=
"userMembershipInformation"
ref=
"userMembership"
label-width=
"100px"
>
<el-row>
<el-col
:span=
"16"
>
<el-form-item
label=
"会员等级"
prop=
"memberLevel"
>
<el-select
class=
"filter-item"
v-model=
"userMembershipInformation.memberLevel"
placeholder=
"请选择会员等级"
>
<el-option
v-for=
"(val, key, index) in memberLevelist "
:key=
"val.id"
:label=
"val.name"
:value=
"val.id"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"有效期"
prop=
"validTime"
>
<el-radio-group
v-model=
"validityType"
>
<el-radio-button
label=
"无"
></el-radio-button>
<el-radio-button
label=
"永久"
></el-radio-button>
<el-radio-button
label=
"自定义"
></el-radio-button>
</el-radio-group>
<dir></dir>
<div
class=
"block"
v-if=
"validityType=='自定义'"
>
<el-date-picker
v-model=
"validTime"
type=
"datetime"
placeholder=
"请选择注册时间范围"
>
</el-date-picker>
</div>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"16"
>
<el-form-item
label=
"充值次数/次"
prop=
"buyCount"
>
<el-input
type=
"text"
:disabled=
"true"
v-model=
"userMembershipInformation.buyCount"
placeholder=
"请填写充值次数"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"16"
>
<el-form-item
label=
"赠送天数/天"
prop=
"totalNumber"
>
<el-input
type=
"text"
v-model=
"userMembershipInformation.totalNumber"
placeholder=
"请填写赠送天数"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"16"
>
<el-form-item
label=
"剩余天数/天"
prop=
"rentFreeDays"
placeholder=
"请填写剩余天数"
>
<el-input
type=
"text"
v-model=
"userMembershipInformation.rentFreeDays"
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"cancelSetMemberArea('userMembership')"
>
取消
</el-button>
<el-button
type=
"primary"
@
click=
"saveMember('userMembership')"
>
确 定
</el-button>
</div>
</el-dialog>
<!-- 新建会员窗口-->
<el-dialog
title=
"新建会员"
:visible
.
sync=
"newMemberArea"
width=
"10%"
>
<el-form
:model=
"newMemberObject"
:rules=
"newMemberObjectVerify"
ref=
"nmo"
label-width=
"100px"
>
<el-form-item
label=
"会员等级"
>
<el-select
class=
"filter-item"
v-model=
"newMemberObject.memberLevel"
placeholder=
"选择会员等级"
>
<el-option
:key=
"undefined"
label=
"无"
:value=
"undefined"
></el-option>
<el-option
v-for=
"(val, key, index) in memberLevelist "
:key=
"val.id"
:label=
"val.name"
:value=
"val.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"手机号"
placeholder=
"手机号"
prop=
"phone"
>
<el-input
size=
"small "
type=
"text"
v-model=
"newMemberObject.phone"
></el-input>
</el-form-item>
<el-form-item
label=
"免费天数"
placeholder=
"免费天数"
prop=
"totalNumber"
>
<el-input
size=
"small "
type=
"text"
v-model=
"newMemberObject.totalNumber"
></el-input>
</el-form-item>
<el-form-item
label=
"剩余天数"
placeholder=
"剩余天数"
prop=
"rentFreeDays"
>
<el-input
size=
"small "
type=
"text"
v-model=
"newMemberObject.rentFreeDays"
></el-input>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
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>-->
<el-button
type=
"primary"
@
click=
"cancelNewMemberArea('nmo')"
>
取消
</el-button>
<el-button
type=
"primary"
@
click=
"setNewMemberObject('nmo')"
>
确 定
</el-button>
</div>
</el-dialog>
<!-- 用户订单窗口-->
<el-dialog
:visible
.
sync=
"userOrderForm"
>
<el-form
:model=
"userOrderMessage"
:rules=
"rules"
ref=
"form"
label-width=
"100px"
>
<!-- <el-form-item label="会员等级" placeholder="会员等级" prop="password">-->
<!-- <el-input type="password" v-model="userMembershipInformation.password"></el-input>-->
<!-- </el-form-item>-->
<!-- 用户订单窗口-->
<el-dialog
title=
"用户订单详情"
:visible
.
sync=
"userOrderForm"
>
<div
class=
"filter-container"
>
<el-form
ref=
"queryForm"
:model=
"orderQuery"
label-width=
"100px"
>
<el-row>
<el-col
:span=
"7"
>
<el-form-item
label=
"订单类型"
>
<el-select
class=
"filter-item"
v-model=
"orderQuery.type"
placeholder=
"请选订单装太"
>
<el-option
:key=
"undefined"
label=
"所有订单"
:value=
"undefined"
></el-option>
<el-option
v-for=
"(val, key, index) in orderTypeList "
:key=
"val.id"
:label=
"val.name"
:value=
"val.id"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"7"
>
<el-form-item
label=
"订单状态"
>
<el-select
class=
"filter-item"
v-model=
"orderQuery.status"
placeholder=
"请选会员类型"
>
<el-option
:key=
"undefined"
label=
"所有订单"
:value=
"undefined"
></el-option>
<el-option
v-for=
"(val, key, index) in orderStatusList "
:key=
"val.id"
:label=
"val.name"
:value=
"val.id"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"7"
>
<el-button
class=
"filter-item"
type=
"primary"
v-waves
icon=
"search"
@
click=
"userOrder"
>
搜索
</el-button>
</el-col>
</el-row>
</el-form>
</div>
<el-form
:model=
"userOrderMessage"
ref=
"alterUserOrder"
label-width=
"100px"
>
<el-table
:data=
"orderData"
style=
"width: 100%"
:row-class-name=
"tableRowClassName"
>
<el-table-column
prop=
"no"
label=
"订单号"
style=
"width: 100%"
align=
"center"
>
</el-table-column>
<el-table-column
prop=
"type"
label=
"订单类型"
width=
"180"
align=
"center"
>
</el-table-column>
<el-table-column
prop=
"status"
label=
"订单状态"
align=
"center"
>
</el-table-column>
<el-table-column
prop=
"crtTime"
label=
"下单时间"
align=
"center"
>
</el-table-column>
<el-table-column
prop=
"updTime"
label=
"修改时间"
align=
"center"
>
</el-table-column>
<el-table-column
label=
"操作"
align=
"center"
>
<el-button
size=
"small"
type=
"success"
>
查看详情
</el-button>
</el-table-column>
</el-table>
</el-form>
<div
v-show=
"!orderListLoading"
class=
"pagination-container"
>
<el-pagination
@
size-change=
"orderSizeChange"
@
current-change=
"orderCurrentChange"
:current-page
.
sync=
"orderQuery.page"
:page-sizes=
"[10,20,30, 50]"
:page-size=
"orderQuery.limit"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"orderTotal"
></el-pagination>
</div>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
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>-->
<el-button
type=
"primary"
@
click=
"cancelOrder('alterUserOrder')"
>
确 定
</el-button>
</div>
</el-dialog>
<!--批量导入会员窗口-->
<el-dialog
:visible
.
sync=
"bulkUploadMember"
>
<el-form
ref=
"upload"
label-width=
"100px"
>
<!--批量导入会员窗口-->
<el-dialog
title=
"导入会员"
:visible
.
sync=
"bulkUploadMember"
>
<el-form
:model=
"fileForm"
>
<el-form-item
label=
"上传文件"
:label-width=
"formLabelWidth"
>
<el-button
type=
"primary"
icon=
"el-icon-download"
>
<a
class=
"el-icon-download"
:href=
"BASE_API+'/api/admin/admin/member/app/unauth/user/excel_model/dowload'"
>
下载模板
</a>
</el-button>
<el-upload
class=
"upload-demo"
ref=
"upload"
:action=
"BASE_API+'/api/admin/member/user/export'"
:on-preview=
"handlePreview"
ref=
"uploadExcel"
:limit=
limitNum
action=
"1111"
:headers=
"getHeaderWithToken"
accept=
".xlsx"
:http-request=
"upLoad"
:on-remove=
"handleRemove"
:file-list=
"fileList"
:auto-upload=
"false"
>
<el-button
slot=
"trigger"
size=
"small"
type=
"primary"
>
选取文件
</el-button>
<el-button
style=
"margin-left: 10px;"
size=
"small"
type=
"success"
@
click=
"submitUpload"
>
上传到服务器
</el-button>
<div
slot=
"tip"
class=
"el-upload__tip"
>
只能上传xlsx格式文件
</div>
:before-remove=
"beforeRemove"
:before-upload=
"beforeUploadFile"
:on-change=
"fileChange"
:on-exceed=
"exceedFile"
:file-list=
"fileList"
>
<el-button
size=
"small"
type=
"primary"
icon=
"el-icon-edit"
>
上传文件
<i
class=
"el-icon-upload el-icon--right"
>
</i></el-button>
<div
slot=
"tip"
class=
"el-upload__tip"
>
只能上传xlsx(Excel2007以上版本)文件,且不超过10M
</div>
</el-upload>
<el-button
size=
"small"
class=
"filter-item"
type=
"primary"
@
click=
"cancelNotDeleteForm"
>
取消
</el-button>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"cancelNotDeleteForm('upload')"
>
关闭
</el-button>
</div>
</el-dialog>
<!-- <book-info-viewer ref="bookInfoViewer"></book-info-viewer>-->
...
...
@@ -354,145 +511,167 @@
<
script
>
import
{
page
,
addObj
,
getObj
,
delObj
,
putObj
appPage
,
seveObj
,
setDisable
,
setAvailable
}
from
'src/api/admin/userManagement/index'
;
import
{
getToken
}
from
'src/utils/auth'
;
import
{
mapGetters
}
from
'vuex'
;
import
{
getUserMemberByUserId
}
from
'src/api/admin/baseUserMember/index'
;
import
{
getAllCompany
,
getAll
}
from
'src/api/base_info/branch_company/index'
;
import
{
timestamp2Date
}
from
'src/utils/dateUtils'
;
import
{
fetchTree
}
from
'src/api/admin/group/index'
;
import
{
page
}
from
'src/api/order/memeber'
;
import
{
UploadMembershipList
,
saveNewMemberObject
}
from
'src/api/admin/UserMember/index'
;
export
default
{
name
:
'user'
,
data
()
{
return
{
fileList
:[],
userMembershipInformation
:{},
userOrderMessage
:{},
mobileList
:
[],
memberLevelist
:
[],
sourceList
:
[],
orderData
:
[],
validTime
:
''
,
userMembershipInformation
:
{
memberLevel
:
undefined
,
validTime
:
''
,
buyCount
:
undefined
,
totalNumber
:
undefined
,
rentFreeDays
:
undefined
,
id
:
undefined
,
userId
:
undefined
},
saveUserId
:
undefined
,
validityType
:
'无'
,
userOrderMessage
:
{},
mobileList
:
[{
id
:
1
,
name
:
'app'
},
{
id
:
2
,
name
:
"小程序"
}],
memberLevelist
:
[{
id
:
1
,
name
:
'普通会员'
},
{
id
:
2
,
name
:
'黄金会员'
},
{
id
:
3
,
name
:
'钻石会员'
}],
sourceList
:
[{
id
:
1
,
name
:
'自来'
},
{
id
:
2
,
name
:
'用户邀请'
}],
orderStatusList
:
[
{
id
:
1
,
name
:
'删除'
},
{
id
:
2
,
name
:
'创建订单'
},
{
id
:
3
,
name
:
'取消'
},
{
id
:
4
,
name
:
'待付款'
},
{
id
:
5
,
name
:
'待出行'
},
{
id
:
6
,
name
:
'出行中'
},
{
id
:
7
,
name
:
'已完成'
}
],
orderTypeList
:
[
{
id
:
1
,
name
:
'旅游'
},
{
id
:
2
,
name
:
'租车'
},
{
id
:
3
,
name
:
'会员订单'
}
],
BASE_API
:
process
.
env
.
BASE_API
,
userDetails
:
{
userDetails
:
{},
limitNum
:
1
,
formLabelWidth
:
'80px'
,
fileForm
:
{
file
:
''
},
rules
:
{
name
:
[
{
required
:
true
,
message
:
'请输入用户'
,
trigger
:
'blur'
fileList
:
[],
errorHandler
:
true
,
list
:
null
,
total
:
null
,
orderTotal
:
null
,
listLoading
:
true
,
orderListLoading
:
true
,
newMemberObject
:
{
phone
:
undefined
,
memberLevel
:
undefined
,
totalNumber
:
undefined
,
rentFreeDays
:
undefined
},
{
min
:
3
,
max
:
20
,
message
:
'长度在 3 到 20 个字符'
,
trigger
:
'blur'
}
],
username
:
[
orderQuery
:
{
limit
:
10
,
page
:
1
,
userId
:
undefined
,
type
:
undefined
,
status
:
undefined
},
newMemberObjectVerify
:
{
phone
:
[
{
required
:
true
,
message
:
'
请输入账户
'
,
message
:
'
手机号
'
,
trigger
:
'blur'
},
{
min
:
3
,
max
:
20
,
message
:
'长度在 3 到 20 个字符'
,
trigger
:
'blur'
}
],
password
:
[
memberLevel
:
[
{
required
:
true
,
message
:
'
请输入密码
'
,
message
:
'
会员等级
'
,
trigger
:
'blur'
},
{
min
:
5
,
max
:
20
,
message
:
'长度在 5 到 20 个字符'
,
trigger
:
'blur'
}
],
status
:
[
totalNumber
:
[
{
type
:
'integer'
,
required
:
true
,
message
:
'
请选择
'
,
message
:
'
免费天数
'
,
trigger
:
'blur'
}
}
,
],
zoneId
:
[
rentFreeDays
:
[
{
type
:
'integer'
,
required
:
true
,
message
:
'
请选择
'
,
message
:
'
剩余总天天数
'
,
trigger
:
'blur'
}
}
,
],
},
list
:
null
,
total
:
null
,
listLoading
:
true
,
listQuery
:
{
page
:
1
,
limit
:
20
,
mobileList
:
undefined
,
mobile
:
undefined
,
memberLevel
:
undefined
,
registrationDate
:
undefined
,
source
:
undefined
,
channel
:
undefined
,
registrationTimeEnd
:
undefined
,
registrationTimeBegin
:
undefined
,
registrationDate
:
undefined
},
source
:
{
0
:
'自来'
,
1
:
'用户邀请'
},
terminal
:
{
1
:
'app'
,
2
:
'小程序'
},
orderStatus
:
{
0
:
'删除'
,
1
:
'创建订单'
,
2
:
'取消'
,
3
:
'待付款'
,
4
:
'待出行'
,
5
:
'出行中'
,
6
:
'已完成'
,
},
orderType
:
{
1
:
'旅游'
,
2
:
'租车'
,
3
:
'会员订单'
},
sexOptions
:
[
'男'
,
'女'
],
zoneOptions
:
[
'男'
,
'女'
],
dataOptions
:
[{
id
:
"1"
,
val
:
"所属分公司"
},
{
id
:
"2"
,
val
:
"所属片区"
},
{
id
:
"3"
,
val
:
"所有数据"
}],
statusOptions
:
[{
id
:
1
,
val
:
'开启'
},
{
id
:
2
,
val
:
'禁用'
}],
detailsDialogFormVisible
:
false
,
memberArea
:
false
,
userOrderForm
:
false
,
bulkUploadMember
:
false
,
setMemberArea
:
false
,
newMemberArea
:
false
,
userOrderForm
:
false
,
bulkUploadMember
:
false
,
dialogStatus
:
''
,
userManager_btn_edit
:
false
,
userManager_btn_del
:
false
,
userManager_btn_add
:
false
,
allCompanies
:
{},
allCompaniesArr
:
[],
myGroups
:
[],
loading
:
false
,
textMap
:
{
update
:
'编辑'
,
create
:
'创建'
},
tableKey
:
0
,
tableKey
:
0
,
selectedAccItem
:
undefined
}
},
created
()
{
this
.
getList
();
getAll
()
.
then
(
response
=>
{
this
.
allCompaniesArr
=
response
.
data
;
})
getAllCompany
(
codeAndBranchCompany
=>
{
this
.
allCompanies
=
codeAndBranchCompany
;
});
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
:
{
...
...
@@ -505,97 +684,126 @@
*/
getHeaderWithToken
()
{
return
{
Authorization
:
getToken
()};
}
}
,
}
,
methods
:
{
/**
* 上传excel文件方法(批量导入会员)
*/
submitUpload
()
{
this
.
$refs
.
upload
.
submit
();
this
.
$refs
.
upload
.
clearFiles
();
},
/**
*
删除
*
上传
*/
upLoad
(
file
)
{
var
form
=
new
FormData
();
// 文件对象
form
.
append
(
"file"
,
file
.
file
);
UploadMembershipList
(
form
)
.
then
(
res
=>
{
if
(
res
.
rel
)
{
this
.
$notify
.
success
({
title
:
'上传成功'
,
message
:
`success`
})
}
else
{
this
.
$notify
.
warning
({
title
:
'上传失败'
,
message
:
`failed`
})
}
this
.
getList
();
})
},
//excel上传
handleRemove
(
file
,
fileList
)
{
console
.
log
(
file
,
fileList
);
},
/**
* 预览
*/
handlePreview
(
file
)
{
console
.
log
(
file
);
},
/**
* 弹出导入窗体
*/
bulkUpload
(){
this
.
bulkUploadMember
=
true
beforeRemove
(
file
,
fileList
)
{
return
this
.
$confirm
(
`确定移除
${
file
.
name
}
?`
);
},
/**
*
* @param query
*/
remoteGroupsMethod
(
query
)
{
if
(
query
!==
''
)
{
this
.
loading
=
true
;
this
.
loading
=
false
;
fetchTree
({
name
:
query
}).
then
(
response
=>
{
this
.
myGroups
=
response
;
// this.total = response.data.total;
this
.
loading
=
false
;
// 文件超出个数限制时的钩子
exceedFile
(
files
,
fileList
)
{
this
.
$notify
.
warning
({
title
:
'警告'
,
message
:
`只能选择
${
this
.
limitNum
}
个文件,当前共选择了
${
files
.
length
+
fileList
.
length
}
个`
});
},
// 文件状态改变时的钩子
fileChange
(
file
,
fileList
)
{
console
.
log
(
'change'
)
console
.
log
(
file
)
this
.
fileForm
.
file
=
file
.
raw
console
.
log
(
this
.
fileForm
.
file
)
console
.
log
(
fileList
)
},
// 上传文件之前的钩子, 参数为上传的文件,若返回 false 或者返回 Promise 且被 reject,则停止上传
beforeUploadFile
(
file
)
{
console
.
log
(
'before upload'
)
console
.
log
(
file
)
let
extension
=
file
.
name
.
substring
(
file
.
name
.
lastIndexOf
(
'.'
)
+
1
)
let
size
=
file
.
size
/
1024
/
1024
if
(
extension
!==
'xlsx'
)
{
this
.
$notify
.
warning
({
title
:
'警告'
,
message
:
`只能上传Excel 2007以上版本(即后缀是.xlsx)的文件`
});
}
else
{
this
.
myGroups
=
[];
}
if
(
size
>
10
)
{
this
.
$notify
.
warning
({
title
:
'警告'
,
message
:
`文件大小不得超过10M`
});
}
,
},
/**
* 弹出导入窗体
*/
bulkUpload
()
{
this
.
bulkUploadMember
=
true
},
/**
* 获取用户列表
*/
getList
()
{
this
.
listLoading
=
true
;
page
(
this
.
listQuery
)
.
then
(
response
=>
{
let
query
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
listQuery
))
query
.
source
=
query
.
source
?
query
.
source
-
1
:
''
JSON
.
stringify
(
query
)
appPage
(
query
)
.
then
(
response
=>
{
for
(
let
listKey
of
response
.
data
.
list
)
{
if
(
listKey
.
timeOfMembership
!=
undefined
&&
listKey
.
timeOfMembership
!=
''
)
{
listKey
.
timeOfMembership
=
timestamp2Date
(
listKey
.
timeOfMembership
);
}
if
(
listKey
.
recentRecharge
!=
undefined
&&
listKey
.
recentRecharge
!=
''
)
{
listKey
.
recentRecharge
=
timestamp2Date
(
listKey
.
recentRecharge
);
}
if
(
listKey
.
lastTime
!=
undefined
&&
listKey
.
lastTime
!=
''
)
{
listKey
.
lastTime
=
timestamp2Date
(
listKey
.
lastTime
);
}
if
(
listKey
.
createTime
!=
undefined
&&
listKey
.
createTime
!=
''
)
{
listKey
.
createTime
=
timestamp2Date
(
listKey
.
createTime
);
}
if
(
listKey
.
buyCount
!=
undefined
&&
listKey
.
buyCount
!=
''
)
{
listKey
.
buyCount
=
0
;
}
if
(
listKey
.
source
==
0
)
{
listKey
.
source
=
"自来"
}
if
(
listKey
.
source
==
1
)
{
listKey
.
source
=
"用户邀请"
}
listKey
=
this
.
getListKey
(
listKey
)
}
this
.
list
=
response
.
data
.
list
;
this
.
total
=
response
.
data
.
total
;
this
.
listLoading
=
false
;
})
}
,
},
/**
*
* 处理返回的列表的参数
*/
getListKey
(
listKey
)
{
listKey
.
timeOfMembership
=
listKey
.
timeOfMembership
?
timestamp2Date
(
listKey
.
timeOfMembership
)
:
''
;
listKey
.
recentRecharge
=
listKey
.
recentRecharge
?
timestamp2Date
(
listKey
.
recentRecharge
)
:
''
;
listKey
.
lastTime
=
listKey
.
lastTime
?
timestamp2Date
(
listKey
.
lastTime
)
:
''
;
listKey
.
createTime
=
listKey
.
createTime
?
timestamp2Date
(
listKey
.
createTime
)
:
''
;
listKey
.
buyCount
=
listKey
.
buyCount
?
listKey
.
buyCount
:
0
;
listKey
.
channel
=
this
.
terminal
[
listKey
.
channel
];
listKey
.
source
=
this
.
source
[
listKey
.
source
];
listKey
.
validTime
=
listKey
.
validTime
?
((
listKey
.
validTime
==
0
)
?
'永久'
:
listKey
.
validTime
)
:
'无'
;
},
/**
*查询
*/
handleFilter
()
{
this
.
listQuery
.
registrationTimeBegin
=
this
.
listQuery
.
registrationDate
?
(
new
Date
(
this
.
listQuery
.
registrationDate
[
0
]).
getTime
())
/
1000
:
null
this
.
listQuery
.
registrationTimeEnd
=
this
.
listQuery
.
registrationDate
?
(
new
Date
(
this
.
listQuery
.
registrationDate
[
1
]).
getTime
())
/
1000
:
null
alert
(
JSON
.
stringify
(
this
.
listQuery
))
this
.
getList
();
}
,
...
...
@@ -610,7 +818,6 @@
}
,
handleCreate
()
{
this
.
resetTemp
();
this
.
dialogStatus
=
'create'
;
// this.dialogFormVisible = true;
},
...
...
@@ -619,20 +826,90 @@
* @param row
*/
viewDetails
(
row
)
{
// alert(JSON.stringify(row))
this
.
userDetails
=
row
this
.
detailsDialogFormVisible
=
true
}
,
/**
*
设置会员
*
显示设置会员窗口
* @param row
*/
setMember
(
row
)
{
this
.
userMembershipInformation
=
{}
this
.
saveUserId
=
row
.
userId
getUserMemberByUserId
(
row
.
userId
).
then
(
response
=>
{
if
(
response
.
data
.
validTime
==
0
)
{
this
.
validityType
=
'永久'
}
else
if
(
response
.
data
.
validTime
)
{
this
.
validityType
=
'自定义'
response
.
data
.
validTime
=
timestamp2Date
(
response
.
data
.
validTime
);
}
else
{
this
.
validityType
=
'无'
}
this
.
userMembershipInformation
=
response
.
data
this
.
memberArea
=
true
this
.
validTime
=
response
.
data
.
validTime
console
.
log
(
this
.
userMembershipInformation
)
this
.
setMemberArea
=
true
})
this
.
userMembershipInformation
.
userId
=
this
.
saveUserId
},
/**
* 提交会员修改
* @param formName
*/
saveMember
(
formName
)
{
let
date
=
new
Date
(
this
.
validTime
);
this
.
userMembershipInformation
.
validTime
=
date
.
getTime
()
console
.
log
(
this
.
userMembershipInformation
)
seveObj
(
this
.
userMembershipInformation
).
then
(
res
=>
{
if
(
res
.
rel
)
{
this
.
$notify
.
success
({
title
:
'修改成功'
,
message
:
`success`
})
}
else
{
this
.
$notify
.
warning
({
title
:
'修改成功'
,
message
:
`failed`
})
}
this
.
setMemberArea
=
false
this
.
$refs
[
formName
].
resetFields
()
this
.
getList
();
})
},
/**
* 显示新增会员窗口
* @param row
*/
newMember
()
{
this
.
newMemberArea
=
true
},
/**
* 提交新增会员
*
*/
setNewMemberObject
(
formName
)
{
saveNewMemberObject
(
this
.
newMemberObject
)
.
then
(
res
=>
{
if
(
res
.
rel
)
{
this
.
$notify
.
success
({
title
:
'新增成功'
,
message
:
`success`
})
}
else
{
this
.
$notify
.
warning
({
title
:
'新增失败'
,
message
:
`failed`
})
}
this
.
newMemberArea
=
false
this
.
$refs
[
formName
].
resetFields
()
this
.
getList
();
}
)
},
create
(
formName
)
{
...
...
@@ -660,92 +937,131 @@
}
,
/**
* 关闭窗口,
不需要清除表单
* 关闭窗口,
清除批量上传
*/
cancelNotDeleteForm
(){
cancelNotDeleteForm
()
{
this
.
bulkUploadMember
=
false
;
this
.
$refs
.
uploadExcel
.
clearFiles
();
},
closeMembershipWindow
()
{
this
.
detailsDialogFormVisible
=
false
;
this
.
bulkUploadMember
=
false
;
this
.
$refs
.
upload
.
clearFiles
();
},
/**
* 关闭窗口,需要清除表单
*/
cancel
(
formName
)
{
//设置会员
cancelSetMemberArea
(
formName
)
{
this
.
setMemberArea
=
false
this
.
validityType
=
'永久'
this
.
$refs
[
formName
].
resetFields
();
},
//新增会员
cancelNewMemberArea
(
formName
)
{
this
.
newMemberArea
=
false
this
.
$refs
[
formName
].
resetFields
();
},
/**
* 获取用户订单列表
*/
userOrder
(
row
)
{
this
.
saveUserId
=
row
.
userId
?
row
.
userId
:
this
.
saveUserId
this
.
orderQuery
.
userId
=
this
.
saveUserId
let
query
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
orderQuery
))
query
.
status
=
query
.
status
?
query
.
status
-
1
:
null
alert
(
JSON
.
stringify
(
query
))
page
(
query
).
then
(
res
=>
{
this
.
disposeOrderList
(
res
.
data
.
data
)
this
.
orderData
=
res
.
data
.
data
this
.
orderTotal
=
res
.
data
.
totalCount
this
.
userOrderForm
=
true
;
this
.
orderListLoading
=
false
})
},
/**
* 点击确定按钮,关闭订单列表
*/
cancelOrder
(
formName
)
{
this
.
userOrderForm
=
false
if
(
!
this
.
$refs
[
formName
])
{
this
.
$refs
[
formName
].
resetFields
();
}
,
querySearch
(
queryString
,
cb
)
{
let
selectArry
=
[];
this
.
allCompaniesArr
.
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
);
}
,
handleSelect1
(
item
)
{
if
(
item
.
value
==
"全部"
)
{
this
.
form
.
companyId
=
undefined
;
}
else
{
this
.
form
.
companyId
=
item
.
id
;
}
console
.
log
(
item
);
},
/**
* 处理响应数据
*/
disposeOrderList
(
data
)
{
if
(
data
)
{
for
(
let
key
of
data
)
{
key
.
type
=
key
.
type
?
this
.
orderType
[
key
.
type
]
:
'/'
;
key
.
status
=
key
.
status
?
this
.
orderStatus
[
key
.
status
]
:
'/'
;
}
,
createFilter
(
queryString
)
{
return
(
restaurant
)
=>
{
return
(
restaurant
.
name
.
indexOf
(
queryString
.
toLowerCase
())
!=
-
1
);
};
return
null
;
}
,
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
;
},
orderSizeChange
(
val
)
{
this
.
orderQuery
.
limit
=
val
;
this
.
userOrder
(
this
.
orderQuery
);
},
orderCurrentChange
(
val
)
{
this
.
orderQuery
.
page
=
val
;
this
.
userOrder
(
this
.
orderQuery
);
},
disable
(
obj
){
setDisable
(
obj
.
userId
).
then
(
res
=>
{
if
(
res
.
rel
){
this
.
$notify
.
success
({
title
:
'成功'
,
message
:
`success`
})
}
else
{
this
.
$notify
.
warning
({
title
:
'失败'
,
message
:
`failed`
})
}
putObj
(
this
.
form
.
id
,
this
.
form
).
then
(()
=>
{
// this.dialogFormVisible = false;
this
.
getList
();
this
.
form
.
password
=
undefined
;
this
.
$notify
({
this
.
getList
()
})
},
/**
* 设置为禁用取消禁用
*/
available
(
obj
){
setAvailable
(
obj
.
userId
).
then
(
res
=>
{
if
(
res
.
rel
){
this
.
$notify
.
success
({
title
:
'成功'
,
message
:
'编辑成功'
,
type
:
'success'
,
duration
:
2000
});
});
}
else
{
return
false
;
message
:
`success`
})
}
else
{
this
.
$notify
.
warning
({
title
:
'失败'
,
message
:
`failed`
})
}
});
this
.
getList
()
})
},
tableRowClassName
({
row
,
rowIndex
})
{
if
(
rowIndex
/
2
==
0
)
{
return
'warning-row'
;
}
,
resetTemp
()
{
this
.
form
=
{
username
:
undefined
,
name
:
undefined
,
sex
:
'男'
,
status
:
1
,
zoneId
:
undefined
,
passwordEdit
:
undefined
,
companyId
:
undefined
,
state2
:
''
,
password
:
""
,
description
:
undefined
,
dataLimit
:
[],
members
:
[],
};
// else if (rowIndex === 3) {
// return 'success-row';
// }
return
''
;
}
}
}
</
script
>
<
style
>
.member
.el-dialog--small
{
width
:
500px
;
}
</
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