uniapp 话费返回详情
parent
ca79db833d
commit
6fadb15d27
|
@ -375,7 +375,7 @@ export default {
|
|||
logistics.shippingRegion({ tempId: this.tempId }).then(res => {
|
||||
res.data.forEach((item, index) => {
|
||||
// item.title = JSON.parse(item.title)
|
||||
item.city_ids = item.title
|
||||
item.city_ids = JSON.parse(item.title)
|
||||
})
|
||||
this.ruleForm.region = res.data
|
||||
})
|
||||
|
@ -385,10 +385,9 @@ export default {
|
|||
logistics.shippingFree({ tempId: this.tempId }).then(res => {
|
||||
res.data.forEach((item, index) => {
|
||||
// item.title = JSON.parse(item.title)
|
||||
item.city_ids = item.cityId.split(',')
|
||||
item.city_ids = JSON.parse(item.title)
|
||||
})
|
||||
this.ruleForm.free = res.data
|
||||
console.log(this.ruleForm.free )
|
||||
|
||||
})
|
||||
},
|
||||
|
@ -462,9 +461,11 @@ export default {
|
|||
}
|
||||
this.ruleForm.region.forEach((el, index) => {
|
||||
if(el.city_ids.length > 0){
|
||||
el.cityId = JSON.stringify(el.city_ids)
|
||||
el.title = JSON.stringify(el.city_ids)
|
||||
el.cityId = el.city_ids.join(",")
|
||||
}else{
|
||||
el.cityId = 'all'
|
||||
el.title = 0
|
||||
}
|
||||
})
|
||||
param.shippingTemplatesRegionRespVOList = this.ruleForm.region
|
||||
|
@ -484,9 +485,11 @@ export default {
|
|||
if (this.ruleForm.appoint) {
|
||||
this.ruleForm.free.forEach((el, index) => {
|
||||
if(el.city_ids.length > 0){
|
||||
el.cityId = JSON.stringify(el.city_ids)
|
||||
el.title = JSON.stringify(el.city_ids)
|
||||
el.cityId = el.city_ids.join(",")
|
||||
}else{
|
||||
el.cityId = 'all'
|
||||
el.title = 0
|
||||
}
|
||||
})
|
||||
param.shippingTemplatesFreeRespVOList = this.ruleForm.free
|
||||
|
|
|
@ -1,30 +1,16 @@
|
|||
<template>
|
||||
<view class="box">
|
||||
<view class="box-member">
|
||||
<view class="member-left">
|
||||
<text class="left-title">{{memberDetail.grade}}</text>
|
||||
<view class="left-info">
|
||||
<text>{{userInfo.mobile}}</text>
|
||||
<text>会员积分:{{memberDetail.integral}}</text>
|
||||
</view>
|
||||
<text>再升1级即可获得【XX】等6项权益</text>
|
||||
<view class="left-button">
|
||||
<view class="left-shopping" @click="handleRouter('购买记录')">
|
||||
<text>购买记录</text>
|
||||
<image src="../../static/images/shopping-right.png" ></image>
|
||||
</view>
|
||||
<view class="left-others" @click="handleRouter('为他人充值')">
|
||||
为他人充值
|
||||
<image src="../../static/images/others-right.png" ></image>
|
||||
</view>
|
||||
<view class="list-item" >
|
||||
<view class="item-title">
|
||||
<view class="item-phone">
|
||||
<view></view>
|
||||
<text>充值号码:{{memberDetail.userPhone}}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="member-right">
|
||||
<image src='../../static/images/vipStar.png'></image>
|
||||
<text>会员等级{{vipData.findIndex((item) => item == memberDetail.grade) +1}}级</text>
|
||||
<button @click="handleRenew">立即续费</button>
|
||||
</view>
|
||||
</view>
|
||||
<view class="item-text">
|
||||
<text>充值档次:{{memberDetail.grade}}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="box-equity">
|
||||
<view class="equity-text">
|
||||
<view >
|
||||
|
@ -61,7 +47,7 @@
|
|||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<u-navbar leftIcon="" title="会员申请"></u-navbar>
|
||||
<u-navbar leftIcon="" title="话费返回情况"></u-navbar>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
|
@ -81,15 +67,15 @@
|
|||
list: [
|
||||
{
|
||||
img:'../../static/images/member240.png',
|
||||
name:'360'
|
||||
name:360
|
||||
},
|
||||
{
|
||||
img:'../../static/images/member400.png',
|
||||
name:'600'
|
||||
name:600
|
||||
},
|
||||
{
|
||||
img:'../../static/images/member960.png',
|
||||
name:'900'
|
||||
name:900
|
||||
},
|
||||
],
|
||||
vipData:['普通会员','中级会员','高级会员'],
|
||||
|
@ -99,24 +85,8 @@
|
|||
};
|
||||
},
|
||||
computed: mapGetters(['userInfo']),
|
||||
async onLoad() {
|
||||
const resful = await memberGradeInfo()
|
||||
if(resful.data.some((item) => !!parseInt(item.isExist))){
|
||||
uni.setTabBarItem({
|
||||
index: 0,
|
||||
pagePath: '/pages/member_equity/index'
|
||||
})
|
||||
}else{
|
||||
uni.setTabBarItem({
|
||||
index: 0,
|
||||
pagePath: '/pages/member_application/index'
|
||||
})
|
||||
uni.switchTab({
|
||||
url:'/pages/member_application/index'
|
||||
})
|
||||
}
|
||||
const res = await memberHeadInfo()
|
||||
this.memberDetail = res.data
|
||||
async onLoad(options) {
|
||||
this.memberDetail = options
|
||||
const equity = await query(this.userInfo.mobile)
|
||||
this.equityData = equity.data
|
||||
},
|
||||
|
@ -153,7 +123,7 @@
|
|||
|
||||
<style lang="scss" scoped>
|
||||
.box {
|
||||
margin-bottom: 30%;
|
||||
padding: 40rpx 20rpx;
|
||||
margin-top: 10%;
|
||||
background: #fff;
|
||||
height: 100vh;
|
||||
|
@ -162,116 +132,52 @@
|
|||
background-repeat: no-repeat;
|
||||
background-attachment: fixed;
|
||||
|
||||
.u-nav-slot{
|
||||
::v-deep .u-popup__content{
|
||||
padding-bottom: 20% !important;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.box-member {
|
||||
padding: 36rpx 40rpx;
|
||||
.list-item{
|
||||
margin-bottom: 10%;
|
||||
padding: 30rpx 16rpx 25rpx 16rpx;
|
||||
background: #FDF0F1;
|
||||
border-radius: 20rpx;
|
||||
width: 100%;
|
||||
// padding: 20rpx 20rpx 30rpx 20rpx;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
line-height: 50rpx;
|
||||
.member-left {
|
||||
.item-title{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
width: 69%;
|
||||
font-size: 28rpx;
|
||||
font-family: PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #000000;
|
||||
|
||||
.left-title {
|
||||
font-size: 35rpx;
|
||||
font-family: PingFang SC;
|
||||
font-weight: 600;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
.left-info {
|
||||
.item-phone{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
font-size: 30rpx;
|
||||
color: #E91D51;
|
||||
view{
|
||||
border-radius: 3rpx;
|
||||
margin-right: 10rpx;
|
||||
width: 5rpx;
|
||||
height: 12rpx;
|
||||
background: #E91D51;
|
||||
}
|
||||
}
|
||||
.left-button{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin-top: 10rpx;
|
||||
image{
|
||||
width: 24rpx;
|
||||
height: 24rpx;
|
||||
margin-left: 13rpx;
|
||||
}
|
||||
.left-shopping{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 204rpx;
|
||||
height: 61rpx;
|
||||
background: #F8EFF0;
|
||||
border: 1px solid #F783B0;
|
||||
border-radius: 30rpx;
|
||||
font-size: 28rpx;
|
||||
font-family: PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #000000;
|
||||
}
|
||||
.left-others{
|
||||
background-image: url("../../static/images/others-button.png");
|
||||
background-size: 204rpx 61rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 204rpx;
|
||||
height: 61rpx;
|
||||
font-size: 28rpx;
|
||||
font-family: PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
button{
|
||||
padding: 6rpx ;
|
||||
font-size: 26rpx;
|
||||
background: rgb(22,155,213);
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
|
||||
.member-right {
|
||||
.item-text{
|
||||
padding: 34rpx 12rpx;
|
||||
background: #fff;
|
||||
margin-top: 20rpx;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
width: 22%;
|
||||
font-size: 22rpx;
|
||||
font-family: PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #000000;
|
||||
|
||||
image {
|
||||
width: 100rpx;
|
||||
height: 100rpx;
|
||||
border-radius: 50%;
|
||||
margin-bottom: 10rpx;
|
||||
}
|
||||
|
||||
button {
|
||||
margin-top: 10rpx;
|
||||
padding: 7rpx 16rpx;
|
||||
background: #F22E60;
|
||||
border-image: linear-gradient(0deg, #A8052E, #FFFFFF) 10 10;
|
||||
border-radius: 18rpx;
|
||||
font-size: 22rpx;
|
||||
font-family: PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
font-size: 30rpx;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
.box-equity {
|
||||
// border-radius: 20rpx;
|
||||
width: 100%;
|
||||
padding: 0 40rpx;
|
||||
background: url(../../static/images/memberEquity.png);
|
||||
|
|
|
@ -14,14 +14,14 @@
|
|||
<image src="../../static/images/shopping-right.png" ></image>
|
||||
</view>
|
||||
<view class="left-others" @click="handleRouter('为他人充值')">
|
||||
为他人充值
|
||||
代他人充值
|
||||
<image src="../../static/images/others-right.png" ></image>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="member-right">
|
||||
<image src='../../static/images/vipStar.png'></image>
|
||||
<text>会员等级{{vipData.findIndex((item) => item == memberDetail.grade) +1}}级</text>
|
||||
<text>会员等级{{vipData.findIndex((item) => item == parseInt(memberDetail.grade)) +1}}级</text>
|
||||
<button @click="handleRenew">立即续费</button>
|
||||
</view>
|
||||
</view>
|
||||
|
@ -47,11 +47,11 @@
|
|||
</view>
|
||||
</view>
|
||||
<view class="money-box money-treat">
|
||||
<text>带返还金额 (元) </text>
|
||||
<text>待返还金额 (元) </text>
|
||||
<text class="money-text">{{list[list.findIndex((i) => item.gear == i.name)].name-item.totalMoney}}</text>
|
||||
</view>
|
||||
<view class="money-box money-term">
|
||||
<text>带返还期额</text>
|
||||
<text>待返还期额</text>
|
||||
<text class="money-text">{{item.frequency}}x12</text>
|
||||
</view>
|
||||
<view class="money-box money-time">
|
||||
|
@ -81,15 +81,15 @@
|
|||
list: [
|
||||
{
|
||||
img:'../../static/images/member240.png',
|
||||
name:'360'
|
||||
name:360
|
||||
},
|
||||
{
|
||||
img:'../../static/images/member400.png',
|
||||
name:'600'
|
||||
name:600
|
||||
},
|
||||
{
|
||||
img:'../../static/images/member960.png',
|
||||
name:'900'
|
||||
name:900
|
||||
},
|
||||
],
|
||||
vipData:['普通会员','中级会员','高级会员'],
|
||||
|
|
|
@ -3,13 +3,13 @@
|
|||
<view class="box-seach">
|
||||
<u-search placeholder="按手机号搜索查询" v-model="keyword" border-color="#F94B78" height="70" margin="0 0 35rpx 0" placeholder-color="#9C9C9C" bg-color="#fff" :show-action="false"></u-search>
|
||||
</view>
|
||||
<view class="list-item" v-for="(item,index) in memberData" :key="index">
|
||||
<view class="list-item" v-for="(item,index) in memberData" :key="index" @click.stop="handleBack(item)">
|
||||
<view class="item-title">
|
||||
<view class="item-phone">
|
||||
<view></view>
|
||||
<text>充值号码:{{item.userPhone}}</text>
|
||||
</view>
|
||||
<button v-show="item.bool" @click="handleService(item.orderId)">申请退款</button>
|
||||
<button v-show="item.bool" @click.stop="handleService(item.orderId)">申请退款</button>
|
||||
</view>
|
||||
<view class="item-text">
|
||||
<text>充值档次:{{item.grade}}</text>
|
||||
|
@ -34,23 +34,13 @@
|
|||
};
|
||||
},
|
||||
async onLoad() {
|
||||
let milliseconds = 2 * 3600 * 1000 // 7200000 毫秒
|
||||
let timestamp = new Date().getTime()
|
||||
const res = await memberOrderInfo()
|
||||
const arr = res.data.map((item) => {
|
||||
return {
|
||||
...item,
|
||||
bool:item.createTime+milliseconds>timestamp
|
||||
}
|
||||
})
|
||||
this.memberData = arr
|
||||
await this.getList()
|
||||
},
|
||||
watch:{
|
||||
keyword :Debounce (function (){
|
||||
this.memberData.sort((a,b) =>{
|
||||
let aIndex = this.keyword.indexOf(a.userPhone)
|
||||
let bIndex = this.keyword.indexOf(b.userPhone)
|
||||
console.log(aIndex,bIndex)
|
||||
if(aIndex > bIndex) return -1
|
||||
if(aIndex < bIndex) return 1
|
||||
if(a.userPhone == b.userPhone){
|
||||
|
@ -64,8 +54,30 @@
|
|||
},1000)
|
||||
},
|
||||
methods: {
|
||||
handleBack(item){
|
||||
console.log(item)
|
||||
uni.navigateTo({
|
||||
url:`/pages/member_back/index?userPhone=${item.userPhone}&grade=${item.grade}`
|
||||
})
|
||||
},
|
||||
async getList(){
|
||||
let milliseconds = 2 * 3600 * 1000 // 7200000 毫秒
|
||||
let timestamp = new Date().getTime()
|
||||
const res = await memberOrderInfo()
|
||||
const arr = res.data.map((item) => {
|
||||
return {
|
||||
...item,
|
||||
bool:item.createTime+milliseconds>timestamp
|
||||
}
|
||||
})
|
||||
this.memberData = arr
|
||||
},
|
||||
async handleService(orderId){
|
||||
await memberApplyRefund({orderId})
|
||||
this.$util.Tips({
|
||||
title: '申请成功'
|
||||
});
|
||||
await this.getList()
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue