<!-- 今日概况 -->
<template>
  <view class="overview">
    <!-- 顶部切换停车场和路段 -->
    <view class="overview-tabs">
      <view
        class="overview-tabs-item"
        v-for="(item, index) in tabs"
        :key="index"
        :class="{ active: tabCur === item.key }"
        @click="tabCur = item.key"
      >
        <text>{{ item.label }}</text>
      </view>
    </view>
    <template v-if="tabCur === 'road'">
      <view class="overview-content">
        <view class="overview-content-item" v-for="(item, index) in roadObj.list" :key="index">
          <view class="overview-content-item-left">
            <view>
              <text class="title">{{ item.label }}（{{ item.unit }}）</text>
            </view>
            <view>
              <count-up
                :num="roadData[item.key] || 0"
                color="#1767F2"
                width="20"
                height="42"
                fontSize="30"
              />
            </view>
          </view>
          <view class="overview-content-item-right">
            <template v-if="roadData[item.flag]">
              <u--image
                v-if="roadData[item.flag].indexOf('-') === -1"
                :showLoading="true"
                src="/static/icons/upward-trend-icon.svg"
                width="60px"
                height="35px"
              />
              <u--image
                v-if="roadData[item.flag].indexOf('-') > -1"
                :showLoading="true"
                src="/static/icons/downward-trend-icon.svg"
                width="60px"
                height="35px"
              />
            </template>
            <template v-else>--</template>
          </view>
        </view>
      </view>
    </template>
    <template v-if="tabCur === 'park'">
      <view class="overview-content">
        <view class="overview-content-item" v-for="(item, index) in roadObj.list" :key="index">
          <view class="overview-content-item-left">
            <view>
              <text class="title">{{ item.label }}（{{ item.unit }}）</text>
            </view>
            <view>
              <count-up
                :num="parkData[item.key] || 0"
                color="#1767F2"
                width="20"
                height="42"
                fontSize="30"
              />
            </view>
          </view>
          <view class="overview-content-item-right">
            <template v-if="parkData[item.flag]">
              <u--image
                v-if="parkData[item.flag].indexOf('-') === -1"
                :showLoading="true"
                src="/static/icons/upward-trend-icon.svg"
                width="60px"
                height="35px"
              />
              <u--image
                v-if="parkData[item.flag].indexOf('-') > -1"
                :showLoading="true"
                src="/static/icons/downward-trend-icon.svg"
                width="60px"
                height="35px"
              />
            </template>
            <template v-else>--</template>
          </view>
        </view>
      </view>
    </template>
    <u-toast ref="uToast"></u-toast>
  </view>
</template>

<script>
import countUp from '@/components/p-countUp/countUp.vue';
export default {
  components: {
    countUp
  },
  data() {
    return {
      tabs: [
        { key: 'road', label: '路段' },
        { key: 'park', label: '停车场' }
      ],
      tabCur: 'road',
      roadObj: {
        list: [
          { key: 'amtIn', label: '今日营收', unit: '元', flag: 'linkRatIn' },
          { key: 'amtOwe', label: '今日欠费', unit: '元', flag: 'linkRatOwe' },
          { key: 'countVehicle', label: '今日停车', unit: '次', flag: 'linkRatQr' },
          {
            key: 'countQr',
            label: '今日扫码',
            unit: '次',
            flag: 'linkRatVehicle'
          }
        ]
      },
      roadData: {},
      parkData: {}
    };
  },
  onShow() {
    this.getTodayData();
    this.getRoadData();
  },
  methods: {
    /**
     * 获取今日路段概况
     */
    getTodayData() {
      uni.$u.api.todayOverviewApi.getTodayDataApi().then((res) => {
        if (res.code === 200) {
          this.roadData = res.data;
        } else {
          this.$refs.uToast.show({
            loading: true,
            message: res.msg || '获取今日概况失败!',
            type: 'error'
          });
        }
      });
    },
    /**
     * 获取今日停车场情况
     */
    getRoadData() {
      uni.$u.api.todayOverviewApi.getParkDataApi().then((res) => {
        if (res.code === 200) {
          this.parkData = res.data;
        } else {
          this.$refs.uToast.show({
            loading: true,
            message: res.msg || '获取路段概况失败!',
            type: 'error'
          });
        }
      });
    }
  }
};
</script>

<style lang="scss">
page {
  // min-height: calc(100vh - 44px);
  background-color: #1767f2;
}
</style>

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