<template>
  <view class="centenr">
    <view class="Candywrapper">
      <view class="card_box">

        <view >消费金额(元)</view>
        <view class="r-num">{{ cardBalance || 0 }}</view>
        <view style="margin-top: 10rpx;">
          <view>消费次数: {{ total || 0 }}</view>
        </view>
      </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>
      </view>
      <view class="bai_box" v-for="(item,index) in pointsList" :key="index">
        <view class="left-img">
          <!-- <image src="../../static/icon/hyxf.png" mode=""></image> -->
          <image src="../../static/icon/jfdh.png" mode=""></image>
        </view>
        <view style="width: 85%;">
          <view class="right-box">
            <view class="l-text">{{ item.typeName }}</view>
            <view class="r-text" v-if="item.content  && item.content.includes('充值')">{{ item.payMoney }}</view>
            <view class="r-text" v-else>-{{ item.payMoney }}</view>
          </view>
          <view class="right-box">
            <view class="">{{ item.payType }}</view>
<!--            <view class="">余额{{ item.currentPoints || 0 }}</view>-->
          </view>
          <view class="right-box">
            <view class="">{{ item.storeName }}</view>
            <view class="">{{ item.createTime }}</view>
          </view>
        </view>
      </view>
      <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">
        <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>
          </view>
          <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>
        </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>
          </view>
          <view class="right-box">
            <view class="">中建锦绣二期站</view>
            <view class="">2024-09-09 16:45:09</view>
          </view>
        </view>
      </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" keyName="label" @confirm="confirm"></u-picker>
    </view>
  </view>
</template>

<script>
import request from '../../utils/request'

export default {
  data() {
    return {
      query: {
        chainStoreId: '',
        couponType: '',
        useStatus: 0,
        pageNo: 1,
        pageSize: 10
      },
      cardBalance: 0,
      show: false,
      show1: false,
      value1: Number(new Date()),
      columns: [
        [{
          label: '全部类型',
          value: null
        }, {
          label: '油品',
          value: '订单'
        }, {
          label: '会员充值',
          value: '充值'
        }, {
          label: '积分兑换',
          value: '积分'
        }]
      ],
      queryParams: {
        pageNo: 1,
        pageSize: 30,
        content: "",
        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()
    }
  },
  methods: {
    // 获取余额信息
    getUserBalance() {
      console.log('this.queryParams:', this.queryParams.storeId)
      request({
        url: 'business/allOrderInfo/getConsumptionMoney',
        method: 'get',
        params: this.queryParams
      }).then(res => {
        if (res.code == 200) {
          this.cardBalance = res.data
        }
      })
    },
    getList() {
      console.log('this.queryParams:', this.queryParams)
      request({
        url: '/business/allOrderInfo/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.content = null
      } else {
        this.queryParams.content = e.value[0].value
      }
      console.log('this.queryParams:', this.queryParams.content)
      this.getList()
      this.getUserBalance()
      this.show1 = false
    },
    cancel() {
      this.show1 = false
    },
    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
      console.log('this.queryParams:', this.queryParams)
      this.getList()
      this.getUserBalance()
      this.show = false
    },
    cancel1() {
      this.show = false
    }
  }
}
</script>

<style scoped lang="scss">
.centenr {
  width: 100%;
  height: 100vh;
  background: #F9F9F9;
}

.Candywrapper {
  background: #F9F9F9;
  box-sizing: border-box;
  padding: 10px;
}

.card_box {
  width: 100%;
  height: 90px;
  background: url('../../static/imgs/jf.png') no-repeat;
  background-size: 100% 100%;
  box-sizing: border-box;
  padding: 10px;
  color: #fff;
  font-size: 14px;
}

.r-size {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.r-num {
  font-weight: 600;
  font-size: 20px;
  color: #FFFFFF;
}

.tab-bs {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #fff;
  margin: 15px auto;
}

.w_box {
  width: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 15px;
}

.bai_box {
  width: 100%;
  box-sizing: border-box;
  padding: 15px 10px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.left-img {
  margin-right: 10px;

  image {
    width: 40px;
    height: 40px;
  }
}

.right-box {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 12px;
  color: #666666;
}

.l-text {
  font-size: 16px;
  color: #333333;
  margin-bottom: 5px;
  font-weight: bold;
}

.r-text {
  font-size: 16px;
  color: #333333;
  margin-bottom: 5px;
  font-weight: bold;
}
</style>