|
@@ -1,80 +1,79 @@
|
|
|
-<!-- 我的主页 -->
|
|
|
<template>
|
|
|
- <view class="container">
|
|
|
- <u-navbar
|
|
|
- title="我的"
|
|
|
- bgColor="#ffffff"
|
|
|
- titleStyle="color: #333333; font-weight: 500;"
|
|
|
- placeholder
|
|
|
- v-show="isCustom"
|
|
|
- leftIcon="">
|
|
|
- </u-navbar>
|
|
|
-
|
|
|
+ <view>
|
|
|
<view class="bg-container"></view>
|
|
|
|
|
|
- <view class="title-container">我的</view>
|
|
|
+ <zj-page-layout
|
|
|
+ :hasFooter="false"
|
|
|
+ :isScroll="true"
|
|
|
+ :refresherTriggered="refresherTriggered"
|
|
|
+ @refresherrefresh="refresherrefresh">
|
|
|
+ <template slot="header">
|
|
|
+ <view class="header-container">我的</view>
|
|
|
+ </template>
|
|
|
|
|
|
- <view class="user-container card">
|
|
|
- <view class="user">
|
|
|
- <image src="@/static/common/logo.png" mode="aspectFill"></image>
|
|
|
- <view class="main">
|
|
|
- <view class="name">张三</view>
|
|
|
- <view class="real">实名认证</view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view class="stats">
|
|
|
- <view class="item" v-for="(item, index) in userStats" :key="index" @tap="$navPage(item.url)">
|
|
|
- <view class="num">{{item.num}}</view>
|
|
|
- <view class="text">{{item.name}}</view>
|
|
|
+ <view class="all-container">
|
|
|
+ <view class="user-container card">
|
|
|
+ <view class="user">
|
|
|
+ <image src="@/static/common/logo.png" mode="aspectFill"></image>
|
|
|
+ <view class="main">
|
|
|
+ <view class="name">张三</view>
|
|
|
+ <view class="real">实名认证</view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="stats">
|
|
|
+ <view class="item" v-for="(item, index) in userStats" :key="index" @tap="$navPage(item.url)">
|
|
|
+ <view class="num">{{item.num}}</view>
|
|
|
+ <view class="text">{{item.name}}</view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
|
|
|
- <view class="stats-container card">
|
|
|
- <view class="top">
|
|
|
- <view class="left">我发布的</view>
|
|
|
- <view class="right">全部<text class="iconfont icon-jinru"></text></view>
|
|
|
- </view>
|
|
|
- <view class="stats">
|
|
|
- <view class="item" v-for="(item, index) in issueStats" :key="index">
|
|
|
- <view class="icon">
|
|
|
- <text class="iconfont" :class="item.icon"></text>
|
|
|
- <u-badge max="99" :value="item.num" :absolute="true" :offset="[-4, -4]"></u-badge>
|
|
|
+ <view class="stats-container card">
|
|
|
+ <view class="top">
|
|
|
+ <view class="left">我发布的</view>
|
|
|
+ <view class="right">全部<text class="iconfont icon-jinru"></text></view>
|
|
|
+ </view>
|
|
|
+ <view class="stats">
|
|
|
+ <view class="item" v-for="(item, index) in issueStats" :key="index">
|
|
|
+ <view class="icon">
|
|
|
+ <text class="iconfont" :class="item.icon"></text>
|
|
|
+ <u-badge max="99" :value="item.num" :absolute="true" :offset="[-4, -4]"></u-badge>
|
|
|
+ </view>
|
|
|
+ <view class="text">{{item.name}}</view>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
- <view class="text">{{item.name}}</view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
|
|
|
- <view class="stats-container card">
|
|
|
- <view class="top">
|
|
|
- <view class="left">我买到的</view>
|
|
|
- <view class="right">全部<text class="iconfont icon-jinru"></text></view>
|
|
|
- </view>
|
|
|
- <view class="stats">
|
|
|
- <view class="item" v-for="(item, index) in buyStats" :key="index">
|
|
|
- <view class="icon">
|
|
|
- <text class="iconfont" :class="item.icon"></text>
|
|
|
- <u-badge max="99" :value="item.num" :absolute="true" :offset="[-4, -4]"></u-badge>
|
|
|
+ <view class="stats-container card">
|
|
|
+ <view class="top">
|
|
|
+ <view class="left">我买到的</view>
|
|
|
+ <view class="right">全部<text class="iconfont icon-jinru"></text></view>
|
|
|
+ </view>
|
|
|
+ <view class="stats">
|
|
|
+ <view class="item" v-for="(item, index) in buyStats" :key="index">
|
|
|
+ <view class="icon">
|
|
|
+ <text class="iconfont" :class="item.icon"></text>
|
|
|
+ <u-badge max="99" :value="item.num" :absolute="true" :offset="[-4, -4]"></u-badge>
|
|
|
+ </view>
|
|
|
+ <view class="text">{{item.name}}</view>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
- <view class="text">{{item.name}}</view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
|
|
|
- <view class="menu-container card">
|
|
|
- <block v-for="(item, index) in pageList" :key="index">
|
|
|
- <view class="item" v-if="item.url != 'contact'" @tap="$navPage(item.url)">
|
|
|
- <view class="name">{{item.name}}</view>
|
|
|
- <text class="iconfont icon-jinru"></text>
|
|
|
+ <view class="menu-container card">
|
|
|
+ <block v-for="(item, index) in pageList" :key="index">
|
|
|
+ <view class="item" v-if="item.url != 'contact'" @tap="$navPage(item.url)">
|
|
|
+ <view class="name">{{item.name}}</view>
|
|
|
+ <text class="iconfont icon-jinru"></text>
|
|
|
+ </view>
|
|
|
+ <button class="item" v-else open-type="contact" :plain="true">
|
|
|
+ <view class="name">{{item.name}}</view>
|
|
|
+ <text class="iconfont icon-jinru"></text>
|
|
|
+ </button>
|
|
|
+ </block>
|
|
|
</view>
|
|
|
- <button class="item" v-else open-type="contact" :plain="true">
|
|
|
- <view class="name">{{item.name}}</view>
|
|
|
- <text class="iconfont icon-jinru"></text>
|
|
|
- </button>
|
|
|
- </block>
|
|
|
- </view>
|
|
|
-
|
|
|
+ </view>
|
|
|
+ </zj-page-layout>
|
|
|
</view>
|
|
|
</template>
|
|
|
|
|
@@ -82,8 +81,7 @@
|
|
|
export default {
|
|
|
data() {
|
|
|
return {
|
|
|
- scrollTop: 0, // 滚动高度(用于控制自定义导航)
|
|
|
- isCustom: false, // 是否显示自定义导航
|
|
|
+ refresherTriggered: false,
|
|
|
userInfo: uni.getStorageSync('recycle_mobile_user'),
|
|
|
|
|
|
userStats: [
|
|
@@ -113,13 +111,7 @@ export default {
|
|
|
},
|
|
|
|
|
|
watch: {
|
|
|
- scrollTop() {
|
|
|
- if(this.scrollTop > 100) {
|
|
|
- this.isCustom = true;
|
|
|
- }else {
|
|
|
- this.isCustom = false;
|
|
|
- }
|
|
|
- }
|
|
|
+
|
|
|
},
|
|
|
|
|
|
onShow() {
|
|
@@ -128,36 +120,26 @@ export default {
|
|
|
})
|
|
|
},
|
|
|
|
|
|
- onPageScroll(res) {
|
|
|
- this.scrollTop = res.scrollTop;
|
|
|
- },
|
|
|
+ methods: {
|
|
|
+ // 触发下拉刷新
|
|
|
+ refresherrefresh(e) {
|
|
|
+ this.refresherTriggered = true;
|
|
|
+
|
|
|
+ },
|
|
|
+ }
|
|
|
}
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
-.container {
|
|
|
- margin-bottom: 20rpx;
|
|
|
- // background-color: #fff;
|
|
|
- overflow: auto;
|
|
|
+.all-container {
|
|
|
+ padding: 0 30rpx 30rpx;
|
|
|
}
|
|
|
|
|
|
.card {
|
|
|
- background: #ffffff;
|
|
|
- border-radius: 20rpx;
|
|
|
- position: relative;
|
|
|
- margin: 0 30rpx;
|
|
|
-}
|
|
|
-
|
|
|
-.bg-container {
|
|
|
- position: fixed;
|
|
|
- top: 0;
|
|
|
- left: 0;
|
|
|
- width: 750rpx;
|
|
|
- height: 750rpx;
|
|
|
- background: linear-gradient(to bottom, $theme-color, #f4f2f2);
|
|
|
+ @include zj-card;
|
|
|
}
|
|
|
|
|
|
-.title-container {
|
|
|
+.header-container {
|
|
|
font-size: 32rpx;
|
|
|
color: #ffffff;
|
|
|
height: 88rpx;
|
|
@@ -168,8 +150,16 @@ export default {
|
|
|
position: relative;
|
|
|
}
|
|
|
|
|
|
+.bg-container {
|
|
|
+ position: fixed;
|
|
|
+ top: 0;
|
|
|
+ left: 0;
|
|
|
+ width: 750rpx;
|
|
|
+ height: 750rpx;
|
|
|
+ background: linear-gradient(to bottom, $theme-color, #f4f2f2);
|
|
|
+}
|
|
|
+
|
|
|
.user-container {
|
|
|
- margin-top: 10rpx;
|
|
|
padding: 20rpx 20rpx 40rpx;
|
|
|
.user {
|
|
|
display: flex;
|