myStatus.vue 3.26 KB
Newer Older
1 2
<template>
  <div class="my-status">
leiqingsong's avatar
leiqingsong committed
3 4 5 6 7 8 9 10 11 12 13 14
    <div class="userInfo">
      <img src="@/assets/images/白银树.png" alt="等级背景图" />
      <span class="level-label">我的等级</span>
      <span class="level">Lv.3白银树</span>
      <div class="userAvatar">
        <div class="avatar-box">
          <img class="avatar" src="@/assets/images/avatar.png" alt="头像" />
          <img class="level-img" src="@/assets/images/等级展示框.png" alt />
          <span class="avatar-level">Lv.3</span>
        </div>
      </div>
    </div>
15
    <div class="status">
leiqingsong's avatar
leiqingsong committed
16 17 18 19 20 21 22 23 24 25 26 27 28
      <van-tabs v-model="activeTab" swipeable sticky color="#28b537">
        <van-tab
          v-for="item in Tabs"
          :key="`tba-${item.id}`"
          :title="item.name"
        >
          <base-refresh-scroll @downLoad="onDownLoad" @upRefresh="onUpRefresh">
            <div slot="content">
              <div v-for="item in 10" :key="item.id">
                <invitee-item />
              </div>
            </div>
          </base-refresh-scroll>
29 30 31 32 33 34 35
        </van-tab>
      </van-tabs>
    </div>
  </div>
</template>

<script>
leiqingsong's avatar
leiqingsong committed
36 37
import BaseRefreshScroll from "../../components/BaseRefreshScroll.vue";
import InviteeItem from "./components/invitee";
38 39 40
export default {
  name: "MyStatus",
  components: {
leiqingsong's avatar
leiqingsong committed
41 42
    InviteeItem,
    BaseRefreshScroll
43 44 45 46 47
  },
  data() {
    return {
      activeTab: "",
      Tabs: [
48 49 50 51
        {
          id: 0,
          name: "普通用户"
        },
52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
        {
          id: 1,
          name: "幼苗"
        },
        {
          id: 2,
          name: "青铜树"
        },
        {
          id: 3,
          name: "白银树"
        },
        {
          id: 4,
          name: "黄金树"
        },
        {
          id: 5,
          name: "农场主"
        },
        {
          id: 6,
          name: "森林之星"
        },
        {
          id: 7,
          name: "西田森合伙人"
        }
      ]
    };
leiqingsong's avatar
leiqingsong committed
82 83 84 85 86 87 88 89
  },
  methods: {
    onDownLoad(val) {
      console.log("下拉加载", val);
    },
    onUpRefresh(val) {
      console.log("上拉刷新", val);
    }
90 91 92 93 94 95
  }
};
</script>

<style lang="scss" scoped>
.userInfo {
leiqingsong's avatar
leiqingsong committed
96 97 98 99 100 101
  box-sizing: border-box;
  position: relative;
  width: 364px;
  height: 119px;
  margin: 0 auto 20px;
  padding: 7px 10px 12px;
102 103
  background-color: #ffffff;
  border-radius: 4px;
leiqingsong's avatar
leiqingsong committed
104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151

  img {
    width: 345px;
    height: 100px;
  }
  .level-label {
    position: absolute;
    top: 35px;
    left: 30px;
    font-size: 12px;
  }
  .level {
    position: absolute;
    top: 56px;
    left: 31px;
    font-size: 22px;
    color: #ffffff;
  }
  .userAvatar {
    position: absolute;
    top: 26px;
    right: 43px;
    .avatar-box {
      position: relative;
      width: 60px;
      height: 60px;
      .avatar {
        width: 57px;
        height: 57px;
        border: 2px solid #ffffff;
        border-radius: 50%;
      }
      .level-img {
        position: absolute;
        top: 50px;
        right: 0px;
        width: 59px;
        height: 16px;
      }
      .avatar-level {
        position: absolute;
        top: 51px;
        right: 20px;
        font-size: 12px;
        color: #ff9600;
      }
    }
  }
152 153
}
::v-deep .van-tabs__content {
leiqingsong's avatar
leiqingsong committed
154
  position: relative;
155 156 157
  height: 100vh;
  background-color: #ffffff;
}
leiqingsong's avatar
leiqingsong committed
158 159 160
::v-deep .van-tab__pane {
  padding-top: 10px;
}
161
</style>