<template>
  <view class="balance">
    <view class="header-box">
      <view class="balance-header">
        <view class="header-top">
          <view class="price-left">
            <text>{{ financeInfo.withdrawableMoney || 0 }}</text>
            <text>可提现</text>
          </view>
          <view
            class="price-right"
            @click="navigateTo(`/pages_module/withdrawal/index`)"
            >提现</view
          >
        </view>
        <view class="header-bottom">
          <view class="text-box">
            <text>已提现</text>
            <text>{{ financeInfo.alreadyArrived || 0 }}</text>
          </view>
          <view class="text-box">
            <text>累计营业额</text>
            <text>{{ financeInfo.turnover || 0 }}</text>
          </view>
        </view>
      </view>
      <view class="header-tool">
        <view class="tool-item" @click="goShow(1)">去充值</view>
        <view class="tool-item" @click="goShow(0)">去转赠</view>
      </view>
    </view>

    <view class="balance-container">
      <view class="text-tab">
        <view
          v-for="(item, index) in tabList"
          :key="item"
          :class="idx == index ? 'active' : ''"
          @click="changeTab(index)"
          >{{ item }}</view
        >
      </view>
      <view v-show="idx == 0">
        <template v-if="recordList.length > 0">
          <view class="record-list">
            <view class="record-item" v-for="item in recordList" :key="item">
              <view class="item-left">
                <text>提现支出</text>
                <text>{{ item.time }}</text>
              </view>
              <template v-if="item.state == 0">
                <view class="item-right">+{{ item.income }}</view>
              </template>
              <template v-else>
                <view class="item-right">-{{ item.expenditure }}</view>
              </template>
            </view>
            <view class="no-more">没有更多啦</view>
          </view>
        </template>
        <template v-else>
          <view class="empty">
            <image class="" src="@/static/image/order/empty.png" />
            <text>暂无提现记录</text>
          </view>
        </template>
      </view>
      <view v-show="idx == 1">
        <template v-if="withdrawalList.length > 0">
          <view class="record-list">
            <view
              class="record-item"
              v-for="item in withdrawalList"
              :key="item"
            >
              <view class="item-left">
                <text v-if="item.state == 1">已处理</text>
                <text v-else-if="item.state == 0">待处理</text>
                <text v-else-if="item.state == 2">通过</text>
                <text v-else-if="item.state == 3">拒绝</text>
                <text v-else-if="item.state == 4">待确认</text>
                <text>{{ item.applyTime }}</text>
              </view>
              <view class="item-right">-{{ item.withdrawalMoney }}</view>
              <!-- <template v-if="item.state == 0">
                <view class="item-right">+{{ item.income }}</view>
              </template>
              <template v-else>
                <view class="item-right">-{{ item.withdrawalMoney }}</view>
              </template> -->
            </view>
            <view class="no-more">没有更多啦</view>
          </view>
        </template>
        <template v-else>
          <view class="empty">
            <image class="" src="@/static/image/order/empty.png" />
            <text>暂无提现记录</text>
          </view>
        </template>
      </view>
    </view>
    <tui-bottom-popup
      :zIndex="1000"
      backgroundColor="#FFFFFF"
      :show="showPopup"
      @close="clonePopup"
    >
      <template v-if="isShowComponent == 0">
        <transferPopup
          :voucherWithdrawalIn="financeInfo.voucherWithdrawalIn"
          @cancel="clonePopup"
        />
      </template>
      <template v-else>
        <rechargePopup @cancel="clonePopup" />
      </template>
    </tui-bottom-popup>
  </view>
</template>

<script>
import { getFinanceCount, getWithdrawal } from "@/config/index.js";

import transferPopup from "./components/transferPopup/index.vue";
import rechargePopup from "./components/rechargePopup/index.vue";

export default {
  onLoad(option) {
    //  获取流水接口
    this.getFinance();
    //  获取提现记录
    this.getWithList();
  },
  components: {
    transferPopup,
    rechargePopup,
  },
  data() {
    return {
      idx: 0,
      tabList: ["收支明细", "提现记录"],
      //  提现记录的请求参数
      queryData: {
        page: 1,
        pageSize: 10,
        paymentMode: 3,
      },
      //  提现记录的请求参数
      withdeQuery: {
        page: 1,
        pageSize: 10,
        withdrawalType: 3,
      },
      //  提现记录列表
      withdrawalList: [],
      //  流水信息
      financeInfo: {},
      //  收支明细列表
      recordList: [],
      //  控制 转赠 弹框
      showPopup: false,
      //  控制显示组件
      isShowComponent: 1,
    };
  },
  methods: {
    // 获取流水
    async getFinance() {
      this.$loading.show("加载中");
      try {
        let res = await getFinanceCount(this.queryData);
        this.financeInfo = res.data;
        //  对于数据进行处理 如果有支出的话就加上这一个支出
        let list = res.data.finances.reduce((prev, item, index) => {
          prev.push({ ...item, state: 0 });
          if (item.expenditure > 0) {
            prev.push({ ...item });
          }
          return prev;
        }, []);
        this.recordList = list;
      } finally {
        this.$loading.hide();
      }
    },
    //  获取体现记录
    async getWithList() {
      let res = await getWithdrawal(this.withdeQuery);
      this.withdrawalList = res.data;
      console.log(res);
    },
    //  获取体现记录
    changeTab(idx) {
      this.idx = idx;
    },
    //  关闭转赠弹框
    clonePopup() {
      this.showPopup = false;
    },
    goShow(val) {
      this.isShowComponent = val;
      this.showPopup = true;
    },
  },
};
</script>

<style lang="scss" scoped>
@import "./index.scss";
</style>
