Commit 83706d56 authored by guoyou's avatar guoyou

会员订单管理导出

parent fe362dcc
......@@ -123,7 +123,7 @@ export function downloadExcel(params) {
return fetch({
url: '/api/order/orderStatistics/excel',
method: 'post',
data:params,
data: params,
responseType: 'blob'
});
}
......@@ -140,7 +140,7 @@ export function pageList(params) {
//会员订单管理导出
export function orderMemberExcel(params) {
return fetch({
url: '/api/order/orderMember/page',
url: '/api/order/orderMember/export',
method: 'post',
data: params,
responseType: 'blob'
......
......@@ -118,7 +118,7 @@
</el-card>
<el-button class="filter-item" type="primary" v-waves icon="search" @click="handleFilter">搜索</el-button>
<el-button class="filter-item" type="primary" v-waves icon="delete" @click="clearSearch">清除搜索</el-button>
<!-- <el-button class="filter-item" type="primary" @click="excel">导出表格</el-button> -->
<el-button class="filter-item" type="primary" @click="excel">导出表格</el-button>
</div>
<el-table
......@@ -141,7 +141,7 @@
<p>{{scope.row.creatTime}}</p>
</template>
</el-table-column>
<el-table-column width="110" align="center" label="订单状态">
<el-table-column width="90" align="center" label="订单状态">
<template scope="scope">
<span v-if="scope.row.status == '2'">取消</span>
<span v-if="scope.row.status == '3'">待付款</span>
......@@ -197,12 +197,11 @@
<span>{{!!scope.row.payTime ? timestamp(new Date(scope.row.payTime)) : ''}}</span>
</template>
</el-table-column>
<!-- <el-table-column align="center" label="操作" width="150">
<el-table-column align="center" label="操作" >
<template scope="scope">
<el-button v-if="btn_buy && scope.row.state == 0" size="small" type="success" @click="handleBuy(scope.row)">订单详情</el-button>
<el-button v-if="btn_buy && scope.row.state == 0" size="small" type="success" @click="handleBuy(scope.row)">操作</el-button>
<el-button size="small" type="text" @click="handleBuy(scope.row)">订单详情</el-button>
</template>
</el-table-column>-->
</el-table-column>
</el-table>
<div v-show="!listLoading" class="pagination-container">
......@@ -216,6 +215,157 @@
:total="total"
></el-pagination>
</div>
<!-- 用户详细信息窗口-->
<el-dialog title="用户详情" :visible.sync="detailsDialogFormVisible" type="text" label-width="95px"
class="user-list-dialog">
<el-form>
<el-row>
<el-form-item label="基础信息">
<span v-if="userDetails.status!=1">(状态-正常)</span>
<span v-if="userDetails.status==1">(状态-已禁用)</span>
</el-form-item>
</el-row>
<el-row style="border-bottom: 1px dashed #ccc;padding: 10px 0;">
<el-col :span="3">
<div class="demo-type">
<img :src="userDetails.headimgurl" style="width: 80px;border-radius: 50%;"/>
</div>
</el-col>
<el-col :span="18">
<el-row>
<el-col :span="6">
<el-form-item label="用户Id:">
<span>{{userDetails.userId}}</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="昵称:">
<span>{{userDetails.nickName}}</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="手机号:">
<span>{{userDetails.username}}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<el-form-item label="注册终端:">
<span>{{userDetails.channel}}</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="注册时间:">
<span>{{userDetails.createTime}}</span>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="最近登录时间:">
<span>{{userDetails.lastTime}}</span>
</el-form-item>
</el-col>
</el-row>
</el-col>
</el-row>
<el-row>
<el-form-item label="实名认证状态">
<span v-if="!statusBoolean">(状态-未认证)</span>
<span v-if="statusBoolean">(状态-已认证)</span>
</el-form-item>
</el-row>
<el-row style="border-bottom: 1px dashed #ccc;padding-bottom: 10px;">
<el-col :span="6">
<el-form-item label="真实姓名: ">
<span>{{userDetails.realName}}</span>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="身份证号: ">
<span>{{userDetails.idNumber}}</span>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="性别: ">
<span>{{userDetails.sex}}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<div style="margin: 20px 0;"><span style="font-size: 16px;font-weight: bold;">会员信息</span></div>
</el-row>
<el-row>
<el-col :span="6">
<el-form-item label="会员类型:">
<span>{{userDetails.memberName}}</span>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="有效期:">
<span>{{userDetails.validTime}}</span>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="充值次数:">
<span>{{userDetails.buyCount}}次</span>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="加入时间:">
<span>{{userDetails.timeOfMembership}}</span>
</el-form-item>
</el-col>
</el-row>
<el-row style="border-bottom: 1px dashed #ccc;padding-bottom: 10px;">
<el-col :span="12">
<el-form-item label="最近充值时间:">
<span>{{userDetails.recentRecharge}}</span>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="赠送总天数:">
<span>{{userDetails.totalNumber}}</span>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="剩余总天数:">
<span>{{userDetails.rentFreeDays}}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<div style="margin: 20px 0;"><span style="font-size: 16px;font-weight: bold;">用户来源</span></div>
</el-row>
<el-row>
<el-col :span="6">
<el-form-item label="来源:">
<span>{{userDetails.source}}</span>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="邀请人账号:">
<span>{{userDetails.inviter}}</span>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="所属地区:">
<span>{{userDetails.cityName}}</span>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="上级:">
<span>{{getSuperiorInformation(userDetails.nameOfSuperior,userDetails.superiorMobileNumber,2)}}</span>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="detailsDialogFormVisible = false">关 闭</el-button>
</div>
</el-dialog>
</div>
</template>
......@@ -230,6 +380,9 @@ export default {
name: 'branchCompanyStock',
data() {
return {
detailsDialogFormVisible:false,//用户信息弹窗
userDetails:{},//用户信息
statusBoolean:false,//实名认证
form: {
id: null,
companyId: null,
......@@ -349,6 +502,16 @@ export default {
}
},
methods: {
//上级信息
getSuperiorInformation(name,mobile,type){
if (type==1&&name && mobile) {
return name+'/'+mobile;
}
if (type==2&&name && mobile) {
return name+' '+mobile;
}
return '';
},
changeCreate(val){
!val ? this.clearSearch() :''
},
......@@ -370,11 +533,10 @@ export default {
return year+"-"+month+"-"+date+' '+ Hours+':'+Minutes+":"+Seconds
},
excel() {
this.listQuery.isExport = true
orderMemberExcel(this.listQuery).then(res => {
const content = res
const blob = new Blob([content])
const fileName = this.timestamp(new Date())
const fileName = this.timestamp(new Date())+'.xlsx'
if ('download' in document.createElement('a')) {
// 非IE下载
const elink = document.createElement('a')
......@@ -392,63 +554,13 @@ export default {
})
},
handleBuy(row) {
this.$confirm('此操作将确认购买, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
buyStock(row.id).then(() => {
this.$notify({
title: '成功',
message: '操作成功',
type: 'success',
duration: 2000
})
this.getList()
})
})
},
handleCancel(row) {
this.$confirm('此操作将放弃购买, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
cancelApply(row.id).then(() => {
this.$notify({
title: '成功',
message: '操作成功',
type: 'success',
duration: 2000
})
this.getList()
})
})
},
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)
})
})
console.log(row);
},
handleFilter() {
this.listQuery.page = 1
this.$refs.queryForm.validate(valid => {
if (valid) {
this.getList()
} else {
return false
}
......@@ -517,6 +629,12 @@ export default {
}
</script>
<style>
.member .el-dialog--small {
width: 500px;
}
.user-list-dialog .el-form-item {
margin-bottom: 0px;
}
.el-card__body {
overflow: hidden;
padding: 0;
......
......@@ -9,21 +9,21 @@
<el-form-item label="注册终端">
<el-select class="filter-item" v-model="listQuery.channel" placeholder="请选注册终端">
<el-option :key="undefined" label="全部" :value="undefined"></el-option>
<el-option v-for="(val, key, index) in mobileList " :key="val.id" :label="val.name"
<el-option v-for="(val,index) in mobileList " :key="index" :label="val.name"
:value="val.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="会员类型">
<el-select class="filter-item" v-model="listQuery.memberLevel" placeholder="请选会员类型">
<el-option :key="undefined" label="全部用户" :value="undefined"></el-option>
<el-option v-for="(val, key, index) in queryMemberLevelList " :key="val.id" :label="val.name"
<el-option v-for="(val,index) in queryMemberLevelList " :key="index" :label="val.name"
:value="val.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="用户身份">
<el-select class="filter-item" v-model="listQuery.postionState" placeholder="选择会员身份">
<el-option :key="undefined" label="全部" :value="undefined"></el-option>
<el-option v-for="(val, key, index) in postionStatelList " :key="val.id" :label="val.name"
<el-option v-for="(val,index) in postionStatelList " :key="index" :label="val.name"
:value="val.id"></el-option>
</el-select>
</el-form-item>
......@@ -59,7 +59,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,index) in sourceList" :key="index" :label="val.name"
:value="val.id"></el-option>
</el-select>
</el-form-item>
......@@ -332,7 +332,7 @@
<el-form-item label="会员等级" prop="memberLevel">
<el-select class="filter-item" v-model="userMembershipInformation.memberLevel" placeholder="请选择会员等级">
<!-- <el-option :key="undefined" label="无" :value="undefined"></el-option>-->
<el-option v-for="(val, key, index) in setMemberLevelList " :key="val.id" :label="val.name"
<el-option v-for="(val,index) in setMemberLevelList " :key="index" :label="val.name"
:value="val.id"></el-option>
</el-select>
</el-form-item>
......@@ -409,7 +409,7 @@
<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 setMemberLevelList " :key="val.id" :label="val.name"
<el-option v-for="(val,index) in setMemberLevelList " :key="index" :label="val.name"
:value="val.id"></el-option>
</el-select>
</el-form-item>
......@@ -439,7 +439,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"
<el-option v-for="(val,index) in orderTypeList " :key="index" :label="val.name"
:value="val.id"></el-option>
</el-select>
</el-form-item>
......@@ -448,7 +448,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"
<el-option v-for="(val,index) in orderStatusList " :key="index" :label="val.name"
:value="val.id"></el-option>
</el-select>
</el-form-item>
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment