fastest-progress.vue 2.92 KB
Newer Older
leiqingsong's avatar
leiqingsong committed
1 2 3
<template>
  <div class="fastest-progress">
    <div class="bg">
leiqingsong's avatar
leiqingsong committed
4
      <van-icon name="arrow-left" @click="handlerBack" />
leiqingsong's avatar
leiqingsong committed
5
      <span class="title">本月进步最大奖励池</span>
xulili's avatar
xulili committed
6
      <span class="award">{{ growthTotal }}</span>
leiqingsong's avatar
leiqingsong committed
7 8 9 10 11
    </div>
    <div class="rank">
      <div class="header rank-flex">
        <span style="flex:1;text-align:center;">排名</span>
        <span style="flex:1"></span>
12
        <span style="flex:2;text-align:center">用户名</span>
leiqingsong's avatar
leiqingsong committed
13 14 15 16 17 18
        <span style="flex:2">本月业绩增长率</span>
        <span style="flex:1;text-align:center">奖金</span>
      </div>
      <div class="rank-flex rank-content">
        <base-refresh-scroll>
          <div slot="content">
leiqingsong's avatar
leiqingsong committed
19
            <rank-item
xulili's avatar
xulili committed
20
              v-for="(item, index) in prizeVos"
leiqingsong's avatar
leiqingsong committed
21 22
              :key="index"
              :rank-index="index + 1"
xulili's avatar
xulili committed
23
              :prizeVos="item"
leiqingsong's avatar
leiqingsong committed
24
            />
leiqingsong's avatar
leiqingsong committed
25 26 27 28 29 30 31 32
          </div>
        </base-refresh-scroll>
      </div>
    </div>
  </div>
</template>

<script>
leiqingsong's avatar
leiqingsong committed
33
import { navigateBack, showBottomBar } from "@/utils/bridgeToAppFun";
leiqingsong's avatar
leiqingsong committed
34 35
import BaseRefreshScroll from "../../components/BaseRefreshScroll.vue";
import RankItem from "./compoments/rankItem.vue";
xulili's avatar
xulili committed
36
import { getProgressPrizes } from "@/api/progressPrizes";
leiqingsong's avatar
leiqingsong committed
37 38 39 40 41
export default {
  name: "FastestProgress",
  components: {
    RankItem,
    BaseRefreshScroll
xulili's avatar
xulili committed
42 43 44 45 46 47 48 49 50 51 52
  },
  data() {
    return {
      growthTotal: 0,
      prizeVos: []
    };
  },
  mounted() {
    this.getProgressPrizes();
  },
  methods: {
leiqingsong's avatar
leiqingsong committed
53 54
    handlerBack() {
      navigateBack();
leiqingsong's avatar
leiqingsong committed
55
      showBottomBar(true);
leiqingsong's avatar
leiqingsong committed
56
    },
xulili's avatar
xulili committed
57 58 59 60 61 62 63 64 65 66 67 68
    getProgressPrizes() {
      const _this = this;
      getProgressPrizes().then(res => {
        if (res.code === 0) {
          _this.growthTotal = res.data.growthTotal;
          _this.prizeVos = res.data.prizeVos;
        } else {
          _this.growthTotal = 0;
          _this.prizeVos = [];
        }
      });
    }
leiqingsong's avatar
leiqingsong committed
69 70 71 72 73 74 75
  }
};
</script>

<style lang="scss" scoped>
.fastest-progress {
  position: relative;
leiqingsong's avatar
leiqingsong committed
76
  height: 100vh;
leiqingsong's avatar
leiqingsong committed
77 78 79 80 81 82 83 84
}
.bg {
  position: relative;
  height: 178px;
  color: #ffffff;
  background-image: url("../../assets/images/进步奖背景图.png");
  background-size: cover;
  .van-icon {
leiqingsong's avatar
leiqingsong committed
85 86 87 88 89 90 91 92
    position: absolute;
    top: 0;
    bottom: 0;
    width: 52px;
    height: 46px;
    line-height: 46px;
    text-align: center;
    font-size: 16px;
leiqingsong's avatar
leiqingsong committed
93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113
    color: #ffffff;
  }
  .title {
    position: absolute;
    top: 113px;
    left: 35px;
    font-size: 14px;
  }
  .award {
    position: absolute;
    top: 136px;
    left: 35px;
    font-size: 16px;
  }
}
.rank {
  position: absolute;
  top: 168px;
  box-sizing: border-box;
  width: 100%;
  height: calc(100% - 178px);
leiqingsong's avatar
leiqingsong committed
114
  overflow: hidden;
leiqingsong's avatar
leiqingsong committed
115 116 117 118 119 120 121
  padding: 10px;
  background-color: #ffffff;
  border-radius: 12px;

  .header {
    height: 36px;
    font-size: 13px;
leiqingsong's avatar
leiqingsong committed
122
    font-weight: bold;
leiqingsong's avatar
leiqingsong committed
123 124
    border-bottom: 1px solid #eeeeee;
  }
leiqingsong's avatar
leiqingsong committed
125 126 127 128 129
  .rank-content {
    position: relative;
    height: 100%;
    overflow: hidden;
  }
leiqingsong's avatar
leiqingsong committed
130 131 132 133 134
  .rank-flex {
    display: flex;
  }
}
</style>