|
@@ -1,51 +1,86 @@
|
|
|
<template>
|
|
|
- <view class="member-level">
|
|
|
+ <view class="member-level">
|
|
|
<!-- 用户会员信息 -->
|
|
|
<view class="user-wrap">
|
|
|
<view class="user-info">
|
|
|
- <up-image class="avatar" :fade="false"
|
|
|
- src="https://cube.elemecdn.com/0/88/03b0d39583f48206768a7534e55bcpng.png" width="96rpx"
|
|
|
- height="96rpx" shape="circle"></up-image>
|
|
|
+ <up-image class="avatar" :fade="false" :src="userInfo.icon" width="96rpx" height="96rpx"
|
|
|
+ shape="circle"></up-image>
|
|
|
<view class="level-wrap">
|
|
|
- <text class="name">V1 青铜守护</text>
|
|
|
+ <text class="name">V{{userLevel.id}} {{levelStr[userLevel.id]}}守护</text>
|
|
|
<view class="progress-wrap">
|
|
|
<view class="progress-value">
|
|
|
<view class="total"></view>
|
|
|
</view>
|
|
|
<view class="progress-score">
|
|
|
- <text class="cur-val">80</text>/100分
|
|
|
+ <text class="cur-val">{{ userLevel.energy }}</text>/{{ userLevel.energyMax + 1 }}分
|
|
|
</view>
|
|
|
</view>
|
|
|
<view class="level-desc">
|
|
|
- 再累计能量<text class="level-text"> 20分 </text>即可升级到 青铜等级
|
|
|
+ 再累计能量<text class="level-text"> {{ userLevel.diffLevelEnergy }}分 </text>即可升级到 {{levelStr[Number(userLevel.id) + 1]}}等级
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
<slot></slot>
|
|
|
</view>
|
|
|
- <!-- 树信息 -->
|
|
|
- <view class="tree-info">
|
|
|
- <view class="info-text">
|
|
|
- <view>汕尾妙荔</view>
|
|
|
- <text>现代农业产业园</text>
|
|
|
- </view>
|
|
|
- <view class="info-text">
|
|
|
- <view>16年老树</view>
|
|
|
- <text class="text">妃子笑荔枝</text>
|
|
|
- </view>
|
|
|
- <view class="info-text">
|
|
|
- <view>成熟期</view>
|
|
|
- <text class="text">温度适宜-梢期杀虫</text>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
+ <!-- 树信息 -->
|
|
|
+ <view class="tree-info">
|
|
|
+ <view class="info-text">
|
|
|
+ <template v-if="treeData.farmName && treeData.farmName.length > 5">
|
|
|
+ <view>{{treeData.farmName.slice(0,4)}}</view>
|
|
|
+ <text>{{treeData.farmName.slice(4)}}</text>
|
|
|
+ </template>
|
|
|
+ <view v-else>{{treeData.farmName}}</view>
|
|
|
+ </view>
|
|
|
+ <view class="info-text">
|
|
|
+ <view>{{treeData.age}}年{{ treeData.age > 9 ? "老树" : "树龄" }}</view>
|
|
|
+ <text class="text">{{ treeData.pz }}</text>
|
|
|
+ </view>
|
|
|
+ <view class="info-text">
|
|
|
+ <view>{{treeData.phenologyName}}</view>
|
|
|
+ <text class="text">气候适宜-{{ treeData.howTxt || "果园采摘" }}</text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
|
+ import TREE from '@/api/tree.js'
|
|
|
+ import {
|
|
|
+ ref,
|
|
|
+ watch
|
|
|
+ } from "vue";
|
|
|
+
|
|
|
+ const props = defineProps({
|
|
|
+ treeData: {
|
|
|
+ type: Object,
|
|
|
+ defalut: {},
|
|
|
+ },
|
|
|
+ });
|
|
|
+
|
|
|
+ const levelStr = {
|
|
|
+ 0: "平民",
|
|
|
+ 1: "青铜",
|
|
|
+ 2: "白银",
|
|
|
+ 3: "赤金",
|
|
|
+ 4: "星勋",
|
|
|
+ };
|
|
|
+
|
|
|
+ const userInfo = uni.getStorageSync('userInfo')
|
|
|
+ const userLevel = ref({})
|
|
|
+ watch(
|
|
|
+ () => props.treeData,
|
|
|
+ (newValue) => {
|
|
|
+ userLevel.value = {
|
|
|
+ ...newValue.buyList[0].level,
|
|
|
+ energy:newValue.buyList[0].energy
|
|
|
+ }
|
|
|
+ }
|
|
|
+ );
|
|
|
</script>
|
|
|
|
|
|
-<style lang="scss" scoped>
|
|
|
+<style lang="scss" scoped>
|
|
|
@import "@/static/style/mixin.scss";
|
|
|
+
|
|
|
.member-level {
|
|
|
.user-wrap {
|
|
|
display: flex;
|
|
@@ -116,41 +151,42 @@
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- .tree-info {
|
|
|
- width: 95%;
|
|
|
- height: 160rpx;
|
|
|
- box-sizing: border-box;
|
|
|
- padding: 0 50rpx 20rpx;
|
|
|
- @include ossBg("treePage/tree-info-bg.png");
|
|
|
- display: flex;
|
|
|
- justify-content: space-around;
|
|
|
- align-items: center;
|
|
|
- font-size: 28rpx;
|
|
|
- font-weight: 500;
|
|
|
- margin: auto;
|
|
|
-
|
|
|
- .info-text {
|
|
|
- text-align: center;
|
|
|
- line-height: 32rpx;
|
|
|
- font-family: 'SMILEYSANS';
|
|
|
- position: relative;
|
|
|
-
|
|
|
- .text {
|
|
|
- font-size: 22rpx;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- .info-text+.info-text {
|
|
|
- &::before {
|
|
|
- content: '';
|
|
|
- position: absolute;
|
|
|
- left: -34rpx;
|
|
|
- top: 14rpx;
|
|
|
- width: 1rpx;
|
|
|
- height: 38rpx;
|
|
|
- background: rgba(0, 0, 0, 0.26);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+
|
|
|
+ .tree-info {
|
|
|
+ width: 95%;
|
|
|
+ height: 160rpx;
|
|
|
+ box-sizing: border-box;
|
|
|
+ padding: 0 50rpx 20rpx;
|
|
|
+ @include ossBg("treePage/tree-info-bg.png");
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-around;
|
|
|
+ align-items: center;
|
|
|
+ font-size: 28rpx;
|
|
|
+ font-weight: 500;
|
|
|
+ margin: auto;
|
|
|
+
|
|
|
+ .info-text {
|
|
|
+ text-align: center;
|
|
|
+ line-height: 32rpx;
|
|
|
+ font-family: 'SMILEYSANS';
|
|
|
+ position: relative;
|
|
|
+
|
|
|
+ .text {
|
|
|
+ font-size: 22rpx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .info-text+.info-text {
|
|
|
+ &::before {
|
|
|
+ content: '';
|
|
|
+ position: absolute;
|
|
|
+ left: -34rpx;
|
|
|
+ top: 14rpx;
|
|
|
+ width: 1rpx;
|
|
|
+ height: 38rpx;
|
|
|
+ background: rgba(0, 0, 0, 0.26);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
</style>
|