297 lines
5.9 KiB
Vue
297 lines
5.9 KiB
Vue
<template>
|
||
<view class="content">
|
||
<uni-nav-bar
|
||
left-icon="left"
|
||
:title="$config.getAppSetting('balance_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"
|
||
:class="{ active: show == i }"
|
||
>
|
||
{{ item }}
|
||
|
||
<view v-if="show == i" class="arrow"></view>
|
||
</view>
|
||
</view>
|
||
|
||
<!-- <view class="head">
|
||
<view class="qiehuan">
|
||
<view @click="getlist(i)" v-for="(v, i) in arr" :key="i">
|
||
<view :class="show == i ? 'xzs' : 'wzs'">{{ v }}</view>
|
||
<view class="qiehuan_line" v-if="show == i">
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view> -->
|
||
<!-- 内容 -->
|
||
<mescroll-body
|
||
ref="mescrollRef"
|
||
@init="mescrollInit"
|
||
:down="downOption"
|
||
@down="downCallback"
|
||
@up="upCallback"
|
||
>
|
||
<view class="coupon">
|
||
<view
|
||
v-for="(item, index) in listData"
|
||
:key="index"
|
||
class="coupon_item"
|
||
>
|
||
<view class="coupon_item_1">
|
||
<view>{{ item.content }}</view>
|
||
<view>{{ item.addtime }}</view>
|
||
</view>
|
||
<view class="coupon_r">{{ item.change_money }}</view>
|
||
</view>
|
||
</view>
|
||
</mescroll-body>
|
||
</view>
|
||
</template>
|
||
|
||
<script>
|
||
import { getProfitMoney } from '@/common/server/user.js';
|
||
|
||
export default {
|
||
data() {
|
||
return {
|
||
z_imgPath: this.$z_img2 + "mine/",
|
||
statusBarHeight: uni.getSystemInfoSync().statusBarHeight,
|
||
arr: ["全部", "收入", "支出"],//, "兑换"
|
||
show: 0,
|
||
listData: [],
|
||
|
||
// 是否显示参与
|
||
downOption: {
|
||
auto: false,
|
||
},
|
||
};
|
||
},
|
||
onLoad(e) {
|
||
// setTimeout(() => {
|
||
// this.listData=[
|
||
// {
|
||
// content:'哈哈哈哈哈哈哈哈哈',
|
||
// addtime:'2333-23-23 23:23:23',
|
||
// change_money:233
|
||
// }
|
||
// ]
|
||
// }, 1000);
|
||
},
|
||
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 getProfitMoney(pageNo, 10, this.show);
|
||
// 兼容新旧接口:新接口返回 list,旧接口返回 data
|
||
const list = res.data.list ;
|
||
this.mescroll.endByPage(list.length, res.data.last_page);
|
||
if (pageNo == 1) {
|
||
this.listData = list;
|
||
} else {
|
||
this.listData = this.listData.concat(list);
|
||
}
|
||
},
|
||
},
|
||
};
|
||
</script>
|
||
|
||
<style lang="scss">
|
||
.coupon_r > image {
|
||
width: 32rpx;
|
||
height: 32rpx;
|
||
margin-left: 10rpx;
|
||
}
|
||
|
||
.coupon_r {
|
||
font-size: 24rpx;
|
||
/* font-family: 'zcq'; */
|
||
color: #333333;
|
||
}
|
||
|
||
.coupon_item_1 > view:nth-of-type(2) {
|
||
font-size: 16rpx;
|
||
color: #676767;
|
||
margin-top: 10rpx;
|
||
}
|
||
|
||
.coupon_item_1 > view:nth-of-type(1) {
|
||
font-size: 20rpx;
|
||
// 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;
|
||
border-bottom: 1px solid #f3f3f3;
|
||
}
|
||
|
||
.coupon {
|
||
width: 690rpx;
|
||
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;
|
||
padding: 0 32rpx;
|
||
border-radius: 16rpx;
|
||
/* border-radius: 20rpx; */
|
||
}
|
||
|
||
.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;
|
||
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 {
|
||
width: 88rpx;
|
||
height: 40rpx;
|
||
margin-right: 40rpx;
|
||
position: relative;
|
||
font-size: 20rpx;
|
||
font-weight: 400;
|
||
color: #333333;
|
||
background-color: #ffffff;
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
border-radius: 8rpx;
|
||
|
||
&.active {
|
||
font-weight: 400;
|
||
color: #333333;
|
||
background-color: #e6f791;
|
||
}
|
||
}
|
||
}
|
||
</style> |