|
|
<template> <view> <lf-nav title="余额" :showIcon="true" :spreadOut="false" bgColor="transparent" titleColor="#fff"></lf-nav> <view class="head"> <view class="bg-left"></view> <view class="bg-right"></view> <view class="head-content"> <view> <text class="lf-iconfont icon-yuebao lf-font-50"></text> </view> <view class="point"> <text>{{ num || 0 }}</text> <text class="label">(元)</text> </view> </view> </view> <view class="main"> <view class="lf-row-between lf-m-b-30"> <view class="lf-font-32 lf-color-black lf-font-bold">余额变动明细</view> <picker mode='date' :value="date" @change="dateChange"> <view style="width: 440rpx; text-align: right;"> <text>{{ date || '2021-09-01' }}</text> <text class="lf-iconfont icon-xiangyou lf-font-24 lf-m-l-10"></text> </view> </picker> </view> <view class="item" v-for="(item, index) in 10" :key="index"> <view class="lf-row-between"> <text class="lf-font-36 lf-color-black lf-font-bold" :class="{'lf-color-price': index % 2}">{{ index % 2 ? '-250' : '+80' }}</text> <text class="lf-font-24 lf-color-555">线上-商城内消费</text> </view> <view class="lf-row-between lf-m-t-20"> <text class="lf-font-24 lf-color-555">¥374.38</text> <text class="lf-font-24 lf-color-777">2021-09-01 18:27:58</text> </view> </view> </view> </view></template>
<script> import { pageLogin, getUrl, config, is } from '@/common/js/utils.js'; export default { data(){ return { date: '', // activeIndex: 0,
// tabList: [{
// id: 0,
// name: "收入",
// init: false,
// page: 0,
// more: true,
// show: false
// }, {
// id: 1,
// name: "支出",
// init: false,
// page: 0,
// more: true,
// show: false
// }],
// dataList: {
// 0: [],
// 1: []
// },
list: [], show: false, page: 0, more: true, token: this.getToken(), num: "", showText: '正在加载下一页数据', config: '' } }, onLoad(e){ // TODO 将list数据渲染到页面上,,根据date请求筛选
// 第三方平台配置颜色
var bgConfig = this.$cookieStorage.get('globalConfig') || ''; this.setData({ config: bgConfig }); // var status=0,page=1;
// this.queryBalanceList(token);
// var status = e.type ? e.type : 0;
// var page = this.tabList[status].page;
// pageLogin(getUrl(), token => {
// this.setData({
// 'token': token
// });
// this.queryBalanceList(token, status, page);
// this.queryUserSum(token);
// });
this.queryBalanceList(); this.queryUserSum(this.token); }, methods: { dateChange(event){ this.date = event.detail.value; }, queryBalanceList() { // var type = status ? 'consume' : 'recharge';
// var params = type ? {
// type
// } : {};
// params.page = page;
let token = this.token; let params = { page: this.page }; this.$http.get({ api: 'api/users/balance/list', header: { Authorization: token }, data: params }).then(res => { if (res.statusCode == 200) { res = res.data; // this.result(res, status);
var page = res.meta.pagination; this.list = res.data; this.page = page.current_page; this.more = page.current_page < page.total_pages; this.show = false; } else { wx.showModal({ title: '提示', content: '数据请求失败', success: res => {} }); } wx.hideLoading(); }).catch(rej => { wx.showToast({ title: "请求失败", image: '../../../static/error.png' }); wx.hideLoading(); }); }, // 获取总余额
queryUserSum(token) { this.$http.get({ api: "api/users/balance/sum", header: { Authorization: token } }).then(res => { if (res.statusCode == 200) { res = res.data; this.setData({ "num": res.data.sum }); } else { wx.showModal({ title: '提示', content: '数据请求失败', success: res => {} }); } }); }, setData: function (obj) { let that = this; let keys = []; let val, data; Object.keys(obj).forEach(function (key) { keys = key.split('.'); val = obj[key]; data = that.$data; keys.forEach(function (key2, index) { if (index + 1 == keys.length) { that.$set(data, key2, val); } else { if (!data[key2]) { that.$set(data, key2, {}); } } data = data[key2]; }); }); } }, onReachBottom(e) { // var status = this.activeIndex;
// var page = this.tabList[status].page + 1;
// var tabList = `tabList[${status}]`;
if (this.more) { this.page++; this.show = true; this.queryBalanceList(); // this.setData({
// [`${tabList}.show`]: true
// });
// var token = this.token;
// this.queryBalanceList(token, status, page);
} else { wx.showToast({ image: '../../../static/error.png', title: '再拉也没有啦' }); } } }</script>
<style> page{ overflow-x: hidden; }</style><style lang="scss" scoped> .head{ width: 750rpx; // height: 512rpx;
height: 429rpx; background: linear-gradient(90deg, #22A2A0 0%, #187B7A 100%); position: relative; overflow: hidden; display: flex; align-items: flex-end; box-sizing: border-box; padding: 60rpx 32rpx; color: #FFFFFF; .bg-left{ position: absolute; width: 196rpx; height: 196rpx; border-radius: 50%; background-color: rgba(255,255,255,0.04); left: -92rpx; bottom: 60rpx; } .bg-right{ position: absolute; width: 520rpx; height: 520rpx; border-radius: 50%; background-color: rgba(255,255,255,0.04); right: -168rpx; top: -122rpx; } .head-content{ width: 100%; display: flex; flex-direction: column; justify-content: center; align-items: center; &>view{ width: 100%; text-align: center; } .point{ font-size: 72rpx; letter-spacing: 2rpx; font-weight: bold; word-break: break-all; line-height: 1; margin-top: 10rpx; .label{ font-size: 36rpx; font-weight: initial; } } } } .main{ padding: 30rpx 32rpx; width: 750rpx; height: max-content; box-sizing: border-box; .item{ width: 686rpx; height: max-content; background: #F4F8F8; border-radius: 10rpx; margin-bottom: 26rpx; padding: 30rpx; box-sizing: border-box; line-height: 1; } }</style>
|