You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
high-mini/pages/user/unionCard/unionCard.vue

279 lines
7.0 KiB

<template>
<view>
<view class="leave_cont">
<view class="ul">
<view class="li">
<text class="font15 fcor333">选择卡号</text>
<view class="flex1">
<picker mode="selector" :range="UserCard" range-key="cardNo"
@change="bindUserCard">
<view class="date text1 margle10">{{carNo}}</view>
</picker>
</view>
</view>
<view class="li">
<text class="font15 fcor333">业务类型</text>
<view class="flex1">
<picker mode="selector" :range="title_list" range-key="name"
@change="bindtitleList">
<view class="date text1 margle10">{{titleName}}</view>
</picker>
</view>
</view>
<view class="li">
<text class="font15 fcor333">开始时间</text>
<view class="flex1">
<picker mode="date" :value="start_date" :start="startDate" :end="endDate" @change="bindDateChange">
<view class="date">{{start_date}}</view>
</picker>
</view>
</view>
<view class="li">
<text class="font15 fcor333">结束时间</text>
<view class="flex1">
<picker mode="date" :value="end_date" :start="startDate" :end="endDate" @change="bindDateChange2">
<view class="date">{{end_date}}</view>
</picker>
</view>
</view>
</view>
<view class="btnw94" @click="getHuiLianTongCardConsumeOpen()">立即查询</view>
<view class="font14 fcor666 mart15 fotct" v-if="user.hltCardNo" @click="delUserCard()">解除绑定</view>
<view class="height22 backcorfff width100"></view>
</view>
<view class="width100 backcorfff mart10">
<view class="font13 fotct fcor666 paddtop15">账号余额(元)</view>
<view class="mart15 font16 fcor089 fotct paddbotm10"><text class="font28">¥{{tongCardPrice}}</text></view>
</view>
<view class="width100 backcorfff mart10">
<view class="width100 height70 bor-botm1 paddleft5 paddtright5" v-for="(cardInfp,i) in cardConsumeList" :key="i">
<view class="width100 paddtop10 height30">
<view class="width70 flleft fcor333 font15 fontwig6 text1">订单编号:{{cardInfp.orderNo}}</view>
<view class="width30 flright fcoreb5 font15 fontwig6 fotct">-{{cardInfp.tranAmount}}</view>
</view>
<view class="width100 height30">
<view class="flleft fcor333 font14 fontwig6 text1">{{cardInfp.tranTime}}</view>
</view>
</view>
</view>
<view class="height25 width100"></view>
</view>
</template>
<script>
import {
getUserCardList,
getHuiLianTongCardBalance,
getHuiLianTongCardConsume,
delUserCard
} from '../../../Utils/Api.js';
let app = getApp();
export default {
data() {
const currentDate = this.getDate({
format: true
})
return {
start_date: currentDate,
end_date: currentDate,
other: '请输入',
UserCard: '',
carNo: '',
title_list: [{
name: '中石化加油券',
value: 'sinopec_oil_code'
},
{
name: '其他商品或服务',
value: 'hisen_consume'
}
],
titleValue:'sinopec_oil_code',
titleName:'中石化加油券',
tongCardPrice:0,
cardConsumeList : [],
pageNum: 1,
pageSize: 10,
isNoMoreData: false,
user: ''
}
},
onLoad() {
},
onShow() {
this.getUserCardList();
},
//上滑刷新
onReachBottom() {
this.getHuiLianTongCardConsume();
},
computed: {
startDate() {
return this.getDate('start');
},
endDate() {
return this.getDate('end');
}
},
methods: {
// 选择日期
bindDateChange: function(e) {
this.start_date = e.target.value
},
bindDateChange2: function(e) {
this.end_date = e.target.value;
},
//选择卡号
bindUserCard(e) {
this.carNo = this.UserCard[e.target.value].cardNo;
},
//选择类型
bindtitleList(e){
this.titleName = this.title_list[e.target.value].name;
this.titleValue = this.title_list[e.target.value].value;
},
// 获取当前时间
getDate(type) {
const date = new Date();
let year = date.getFullYear();
let month = date.getMonth() + 1;
let day = date.getDate();
if (type === 'start') {
year = year - 60;
} else if (type === 'end') {
year = year + 2;
}
month = month > 9 ? month : '0' + month;
day = day > 9 ? day : '0' + day;
return `${year}-${month}-${day}`;
},
//查询我的卡号列表
getUserCardList() {
uni.showLoading();
getUserCardList().then(res => {
uni.hideLoading();
if (res.return_code == '000000') {
this.UserCard = res.return_data;
this.carNo = res.return_data[0].cardNo;
this.getHuiLianTongCardBalance();
this.getHuiLianTongCardConsume();
return;
}
this.UserCard = '';
});
},
//查询详情
getHuiLianTongCardBalance() {
let params = {
cardNo: this.carNo
}
getHuiLianTongCardBalance(params).then(res => {
if (res.return_code == '000000') {
this.tongCardPrice = res.return_data.balance;
}
});
},
// 重新打开查询
getHuiLianTongCardConsumeOpen(){
this.pageNum = 1;
this.isNoMoreData = false;
this.cardConsumeList = [];
this.getHuiLianTongCardConsume();
this.getHuiLianTongCardBalance();
},
//查询消费记录
getHuiLianTongCardConsume() {
if (this.isNoMoreData) {
return false;
}
uni.showLoading({
title: '加载中...'
})
let pagenum = this.pageNum;
let Time1 = new Date(this.start_date);
let timestemp1 = Time1.getTime();
let Time2 = new Date(this.end_date);
let timestemp2 = Time2.getTime();
let params = {
businessType :this.titleValue,
cardNo : this.carNo,
sdate : timestemp1,
edate: timestemp2,
pageNum: pagenum,
pageSize: this.pageSize
}
getHuiLianTongCardConsume(params).then(res => {
uni.hideLoading();
if (res.return_code == '000000' && res.return_data.records != '') {
this.isNoMoreData = res.return_data.records.length == this.pageSize ? false : true;
this.cardConsumeList = this.cardConsumeList.concat(res.return_data.records);
this.pageNum = res.return_data.records.length == this.pageSize ? ++pagenum : pagenum;
} else {
this.cardConsumeList = [];
uni.hideLoading();
uni.showToast({
title:res.return_msg,
icon:'none',
duration: 2000
})
this.isNoMoreData = true;
}
});
},
}
}
</script>
<style lang="scss">
page {
background-color: #F5F5F5;
}
.leave_cont {
background: #FFFFFF;
}
.leave_cont .ul {
padding-left: 30rpx;
}
.leave_cont .ul .li {
display: flex;
align-items: center;
border-bottom: 1px solid #efefef;
}
.leave_cont .ul .li text {
padding: 40rpx 0;
}
.leave_cont .ul .li .flex1 {
flex: 1;
text-align: right;
width: 70%;
padding-right: 25rpx;
color: #999999;
font-size: 32rpx;
}
.date {
height: 42rpx;
}
.btnw94 {
width: 94%;
margin-left: 3%;
height: 45px;
line-height: 45px;
color: white;
text-align: center;
margin-top: 30px;
background-color: #0083f5;
border-radius: 25px;
}
</style>