oil-station/gasStation-uni/pagesMy/integral/integral.vue

296 lines
7.0 KiB
Vue
Raw Normal View History

2024-08-16 18:26:19 +08:00
<template>
2024-09-18 17:24:51 +08:00
<view class="centenr">
<view class="Candywrapper">
<view class="card_box">
<view style="margin: 13px 0px;">当前积分</view>
2024-09-21 15:55:14 +08:00
<view class="r-num">{{cardBalance.points || 0}}</view>
2024-09-18 17:24:51 +08:00
</view>
<view class="tab-bs">
<view class="w_box" @click="show1 = true">类型筛选 <u-icon name="arrow-down-fill"></u-icon> </view>
<view class="w_box" @click="show = true">全部时间 <u-icon name="arrow-down-fill"></u-icon> </view>
2024-08-16 18:26:19 +08:00
</view>
2024-09-21 15:55:14 +08:00
<view class="bai_box" v-for="(item,index) in pointsList" :key="index">
2024-09-18 17:24:51 +08:00
<view class="left-img">
2024-09-21 15:55:14 +08:00
<!-- <image src="../../static/icon/hyxf.png" mode=""></image> -->
<image src="../../static/icon/jfdh.png" mode=""></image>
2024-09-18 17:24:51 +08:00
</view>
<view style="width: 85%;">
<view class="right-box">
2024-09-21 15:55:14 +08:00
<view class="l-text">{{item.changeReason}}</view>
2024-10-08 15:06:55 +08:00
<view class="r-text" v-if="item.changeType==1">+{{item.pointsChange}}</view>
<view class="r-text" v-else-if="item.changeType==0">{{item.pointsChange}}</view>
2024-09-21 15:55:14 +08:00
<view class="r-text" v-else>0</view>
2024-08-16 18:26:19 +08:00
</view>
2024-09-18 17:24:51 +08:00
<view class="right-box">
2024-09-21 15:55:14 +08:00
<view class="">会员积分</view>
<view class="">余额{{item.currentPoints || 0}}</view>
2024-08-16 18:26:19 +08:00
</view>
2024-09-18 17:24:51 +08:00
<view class="right-box">
2024-09-21 15:55:14 +08:00
<view class="">{{item.storeName}}</view>
<view class="">{{item.createTime}}</view>
2024-08-16 18:26:19 +08:00
</view>
</view>
</view>
2024-09-21 15:55:14 +08:00
<view v-if="!pointsList || pointsList.length==0">
<u-empty mode="list" icon="http://cdn.uviewui.com/uview/empty/list.png">
</u-empty>
</view>
<!-- <view class="bai_box">
2024-09-18 17:24:51 +08:00
<view class="left-img">
<image src="../../static/icon/hycz.png" mode=""></image>
</view>
<view style="width: 85%;">
<view class="right-box">
<view class="l-text">会员消费</view>
<view class="r-text">-199.00</view>
</view>
<view class="right-box">
<view class="">储值卡</view>
<view class="">余额123456.98</view>
2024-08-16 18:26:19 +08:00
</view>
2024-09-18 17:24:51 +08:00
<view class="right-box">
<view class="">中建锦绣二期站</view>
<view class="">2024-09-09 16:45:09</view>
</view>
</view>
</view>
<view class="bai_box">
<view class="left-img">
<image src="../../static/icon/jfdh.png" mode=""></image>
2024-08-16 18:26:19 +08:00
</view>
2024-09-18 17:24:51 +08:00
<view style="width: 85%;">
<view class="right-box">
<view class="l-text">会员消费</view>
<view class="r-text">-199.00</view>
</view>
<view class="right-box">
<view class="">储值卡</view>
<view class="">余额123456.98</view>
</view>
<view class="right-box">
<view class="">中建锦绣二期站</view>
<view class="">2024-09-09 16:45:09</view>
2024-08-16 18:26:19 +08:00
</view>
</view>
2024-09-21 15:55:14 +08:00
</view> -->
<u-datetime-picker :show="show" v-model="value1" mode="year-month" @cancel="cancel1" @confirm="confirm1"></u-datetime-picker>
<u-picker :show="show1" :columns="columns" @cancel="cancel" @confirm="confirm"></u-picker>
2024-08-16 18:26:19 +08:00
</view>
</view>
</template>
<script>
2024-09-21 15:55:14 +08:00
import request from '../../utils/request'
2024-08-16 18:26:19 +08:00
export default {
data() {
return {
2024-09-21 15:55:14 +08:00
query: {
chainStoreId: '',
couponType: '',
useStatus: 0,
pageNo: 1,
pageSize: 10
},
cardBalance: {},
2024-09-18 17:24:51 +08:00
show: false,
show1: false,
value1: Number(new Date()),
columns: [
2024-09-21 15:55:14 +08:00
['全部类型', '消费有礼', '充值有礼', '积分兑换', '开卡有礼', '邀请有礼', '生日有礼', '推荐会员充值有礼',
'推荐会员推荐有礼', '每日签到', '大转盘抽奖','九宫格抽奖']
2024-09-18 17:24:51 +08:00
],
2024-09-21 15:55:14 +08:00
queryParams: {
pageNo: 1,
pageSize: 30,
type: "",
storeId: uni.getStorageSync("storeId"),
changeReason: "",
startTime: ""
},
pointsList: [],
total: 0
}
},
onShow() {
this.query.chainStoreId = uni.getStorageSync('chainStoreId');
this.getUserBalance()
this.getList()
},
onPullDownRefresh() {
console.log("刷新");
this.pointsList = []
this.queryParams = {
pageNo: 1,
pageSize: 30,
type: "",
storeId: uni.getStorageSync("storeId"),
changeReason: "",
startTime: ""
}
this.getList()
},
onReachBottom() {
// 触底加载
if (this.pointsList.length < this.total) {
this.queryParams.pageNo++
this.getList()
2024-08-16 18:26:19 +08:00
}
},
methods: {
2024-09-21 15:55:14 +08:00
// 获取余额信息
getUserBalance() {
request({
url: '/business/userManager/user/getUserBalanceApplet',
method: 'get',
params: this.query
}).then(res => {
if (res.code == 200) {
this.cardBalance = res.data
}
})
},
getList() {
request({
url: '/business/integral/integralDetail/queryByPageUni',
method: 'get',
params: this.queryParams
}).then(res => {
if (res.code == 200) {
this.pointsList = res.data.records
this.total = res.data.total
}
})
},
confirm(e) {
this.queryParams.pageNo = 1
if (e.value[0] == '全部类型') {
this.queryParams.type = ""
} else {
this.queryParams.type = e.value[0]
}
this.getList()
this.show1 = false
},
2024-09-18 17:24:51 +08:00
cancel() {
this.show1 = false
2024-08-16 18:26:19 +08:00
},
2024-09-21 15:55:14 +08:00
timestampToString(timestamp) {
// 将时间戳转换为Date对象
const date = new Date(timestamp);
// 使用toLocaleDateString和toLocaleTimeString可以根据本地格式转换日期和时间
const dateString = date.toLocaleDateString()
const timeString = date.toLocaleTimeString();
// 返回日期和时间的组合
return date.getFullYear() + '-' + (date.getMonth() + 1);
},
confirm1(e) {
this.queryParams.startTime = this.timestampToString(e.value)
this.queryParams.pageNo = 1
this.getList()
this.show = false
},
2024-09-18 17:24:51 +08:00
cancel1() {
this.show = false
2024-08-16 18:26:19 +08:00
}
}
}
</script>
<style scoped lang="scss">
2024-09-18 17:24:51 +08:00
.centenr {
width: 100%;
height: 100vh;
background: #F9F9F9;
2024-08-16 18:26:19 +08:00
}
2024-09-18 17:24:51 +08:00
.Candywrapper {
background: #F9F9F9;
box-sizing: border-box;
padding: 10px;
}
.card_box {
2024-08-16 18:26:19 +08:00
width: 100%;
2024-09-18 17:24:51 +08:00
height: 90px;
background: url('../../static/imgs/jf.png') no-repeat;
background-size: 100% 100%;
2024-08-16 18:26:19 +08:00
box-sizing: border-box;
2024-09-18 17:24:51 +08:00
padding: 10px;
color: #fff;
font-size: 14px;
2024-08-16 18:26:19 +08:00
}
2024-09-18 17:24:51 +08:00
.r-size {
2024-08-16 18:26:19 +08:00
width: 100%;
display: flex;
align-items: center;
2024-09-18 17:24:51 +08:00
justify-content: flex-end;
2024-08-16 18:26:19 +08:00
}
2024-09-18 17:24:51 +08:00
.r-num {
font-weight: 600;
font-size: 20px;
color: #FFFFFF;
2024-08-16 18:26:19 +08:00
}
2024-09-18 17:24:51 +08:00
.tab-bs {
width: 100%;
2024-08-16 18:26:19 +08:00
display: flex;
align-items: center;
justify-content: space-between;
2024-09-18 17:24:51 +08:00
background: #fff;
margin: 15px auto;
2024-08-16 18:26:19 +08:00
}
2024-09-18 17:24:51 +08:00
.w_box {
width: 50%;
display: flex;
align-items: center;
justify-content: center;
2024-08-16 18:26:19 +08:00
box-sizing: border-box;
2024-09-18 17:24:51 +08:00
padding: 15px;
2024-08-16 18:26:19 +08:00
}
2024-09-18 17:24:51 +08:00
.bai_box {
width: 100%;
box-sizing: border-box;
padding: 15px 10px;
background: #fff;
display: flex;
align-items: center;
justify-content: space-between;
2024-08-16 18:26:19 +08:00
}
2024-09-18 17:24:51 +08:00
.left-img {
margin-right: 10px;
2024-08-16 18:26:19 +08:00
2024-09-18 17:24:51 +08:00
image {
width: 40px;
height: 40px;
}
2024-08-16 18:26:19 +08:00
}
2024-09-18 17:24:51 +08:00
.right-box {
2024-08-16 18:26:19 +08:00
width: 100%;
2024-09-18 17:24:51 +08:00
display: flex;
align-items: center;
2024-08-16 18:26:19 +08:00
justify-content: space-between;
font-size: 12px;
2024-09-18 17:24:51 +08:00
color: #666666;
2024-08-16 18:26:19 +08:00
}
2024-09-18 17:24:51 +08:00
.l-text {
font-size: 16px;
color: #333333;
margin-bottom: 5px;
font-weight: bold;
2024-08-16 18:26:19 +08:00
}
2024-09-18 17:24:51 +08:00
.r-text {
font-size: 16px;
color: #333333;
margin-bottom: 5px;
font-weight: bold;
2024-08-16 18:26:19 +08:00
}
</style>