HaniBlindBox/honey_box/pages/user/bi_jl.vue
2026-02-03 13:39:57 +08:00

262 lines
5.2 KiB
Vue

<template>
<view class="content">
<uni-nav-bar left-icon="left" :title="$config.getAppSetting('currency1_name') + '记录'" color="#000000"
backgroundColor="transparent" :fixed="true" :statusBar="true" :border="false"
@clickLeft="$c.back"></uni-nav-bar>
<view class="tab-list align-center">
<view @click="getlist(i)" v-for="(item, i) in arr" :key="i" class="tab-list-item flex center"
:class="{active: show == i}">
{{ item }}
<view v-if="show == i" class="arrow"></view>
</view>
</view>
<!-- 内容 -->
<mescroll-body ref="mescrollRef" @init="mescrollInit" :down="downOption" @down="downCallback" @up="upCallback">
<view class="coupon flex column">
<view v-for="(item, index) in aixuanArr" :key="index" class="coupon_item"
:style="'border:' + (index == aixuanArr.length - 1 ? 'none' : '')">
<view class="coupon_item_1" style="margin-left: 32rpx">
<view>{{ item.content }}</view>
<view>{{ item.addtime }}</view>
</view>
<view class="coupon_r flex_center" style="margin-right: 32rpx">
<text>{{ item.change_money }}</text>
</view>
<view style="
width: 622rpx;
height: 2rpx;
background-color: #f3f3f3;
position: absolute;
bottom: 2rpx;
left: 32rpx;
">
</view>
</view>
</view>
</mescroll-body>
</view>
</template>
<script>
import { getProfitIntegral } from '@/common/server/user.js';
export default {
data() {
return {
z_imgPath: this.$z_img2 + "mine/",
statusBarHeight: uni.getSystemInfoSync().statusBarHeight,
arr: ["全部", "收入", "支出"],
show: 0,
aixuanArr: [],
downOption: {
auto: false,
},
};
},
onLoad(e) {},
methods: {
back() {
uni.navigateBack();
},
getlist(v) {
this.show = v;
this.aixuanArr = [];
this.mescroll.resetUpScroll();
},
/*下拉刷新的回调 */
downCallback() {
this.mescroll.resetUpScroll();
},
/*上拉加载的回调: 其中page.num:当前页 从1开始, page.size:每页数据条数,默认10 */
upCallback(page) {
//联网加载数据
this.loadData(page.num);
},
async loadData(pageNo) {
// 模拟接口
const res = await getProfitIntegral(pageNo, 10, this.show);
this.mescroll.endByPage(res.data.list.length, res.data.last_page);
if (pageNo == 1) {
this.aixuanArr = res.data.list;
} else {
this.aixuanArr = this.aixuanArr.concat(res.data.list);
}
},
},
};
</script>
<style lang="scss">
.coupon_r>image {
width: 32rpx;
height: 32rpx;
margin-left: 10rpx;
}
.coupon_r {
font-size: 32rpx;
/* font-family: 'zcq'; */
color: #333333;
}
.coupon_item_1>view:nth-of-type(2) {
font-size: 24rpx;
color: #676767;
margin-top: 10rpx;
}
.coupon_item_1>view:nth-of-type(1) {
font-size: 28rpx;
// font-weight: bold;
color: #333333;
}
.coupon_item {
display: flex;
justify-content: space-between;
align-items: center;
padding: 30rpx 0;
box-sizing: border-box;
// background-color: rgba(255, 255, 255, 0.08);
// margin-top: 20rpx;
// border-radius: 10rpx;
position: relative;
}
.coupon {
width: 686rpx;
margin: 20rpx auto;
/* background: #11141D;
box-shadow: 0px 0px 10rpx 0px rgba(150, 255, 254, 0.7);
padding: 0 30rpx; */
box-sizing: border-box;
background-color: #ffffff;
border-radius: 16rpx;
}
.qiehuan {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 16rpx;
width: 400rpx;
}
.qiehuan_line {
margin: -10rpx auto;
width: 30rpx;
height: 20rpx;
border-bottom: 4rpx solid #70ede8;
border-radius: 2rpx;
}
.qiehuan_line>image {
width: 30rpx;
height: 20rpx;
}
.qiehuan>view {
flex: 1;
text-align: center;
}
.wzs {
font-size: 34rpx;
color: rgba(255, 255, 255, 0.6);
}
.xzs {
font-size: 34rpx;
color: #ffffff;
}
.header {
width: 750rpx;
/* height: 176rpx; */
padding-bottom: 30rpx;
background: #222222;
font-size: 28rpx;
color: #333333;
box-sizing: border-box;
position: fixed;
/* #ifdef MP */
top: 0;
/* #endif */
/* #ifndef MP */
top: 88rpx;
/* #endif */
z-index: 15;
}
.content {
width: 100vw;
min-height: 100vh;
box-sizing: border-box;
// color: #fff;
background: linear-gradient(180deg, #5FCDFF 0%, #F5F5F5 100%);
.head {
position: fixed;
top: 0;
z-index: 20;
.header_title {
height: 70rpx;
line-height: 70rpx;
width: 100%;
box-sizing: border-box;
font-weight: bold;
display: flex;
align-items: center;
padding-left: 30rpx;
box-sizing: border-box;
>view:nth-of-type(1) {
display: flex;
align-items: center;
}
>view:nth-of-type(2) {
width: 520rpx;
text-align: center;
/* margin: auto; */
}
image {
width: 48rpx;
height: 48rpx;
}
}
}
}
.tab-list {
display: flex;
padding: 30rpx;
.tab-list-item {
margin-right: 40rpx;
position: relative;
font-size: 20rpx;
font-weight: 400;
color: #333333;
width: 88rpx;
height: 40rpx;
border-radius: 8rpx;
background-color: #FFFFFF;
&.active {
font-weight: 500;
font-size: 20rpx;
background-color: #E6F791;
}
}
}
</style>