You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
667 lines
14 KiB
667 lines
14 KiB
<template>
|
|
<view class="user">
|
|
<view class="user-navbar">
|
|
<u-navbar :is-back="false" title="我的" :background="background">
|
|
<view slot="right">
|
|
<view class="search" @click="openPage(1)">
|
|
<image src="@/static/icon-edit.png"></image>
|
|
</view>
|
|
</view>
|
|
</u-navbar>
|
|
</view>
|
|
<view class="user-info">
|
|
<view class="a">
|
|
<view class="pic" @click="openPage(2)">
|
|
<image :src="baseUrl+userInfo.img"></image>
|
|
</view>
|
|
<view class="info" @click="openPage(2)">
|
|
<view class="name">{{userInfo.nickname}}
|
|
<view class="vip" v-if="userInfo.memberflag>=1">vip{{userInfo.memberflag}}</view>
|
|
<view class="status" v-if="userInfo.acceptStatus == 1"><text></text>接单中</view>
|
|
</view>
|
|
<view class="id">ID:{{userInfo.id}}</view>
|
|
</view>
|
|
<view class="sign" @click="openPage(3)" v-if="userInfo.isSign == 0">签到</view>
|
|
<view class="sign" v-if="userInfo.isSign == 1">已签到</view>
|
|
</view>
|
|
<view class="b">
|
|
<view class="li">{{userInfo.friendNum}}<text>好友</text></view>
|
|
<view class="li">{{userInfo.careNum}}<text>关注</text></view>
|
|
<view class="li">{{userInfo.fansNum}}<text>粉丝</text></view>
|
|
<view class="li">{{userInfo.visitorNum}}<text>访客</text></view>
|
|
</view>
|
|
<view class="c">
|
|
<view class="dt">VIP会员中心<text v-if="userInfo.memberflag>=1">{{userInfo.memberEndTime}}到期</text></view>
|
|
<view class="dd">
|
|
<view class="item">
|
|
<image src="@/static/hongbao.png"></image>
|
|
<view class="txt">每日礼包<text>福利礼包</text></view>
|
|
</view>
|
|
<view class="item">
|
|
<image src="@/static/libao.png"></image>
|
|
<view class="txt">每日礼包<text>专属特权</text></view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="d">
|
|
<view class="item">
|
|
<image src="@/static/qianbao.png"></image>我的钱包
|
|
</view>
|
|
<view class="item">
|
|
<image src="@/static/chongzhi.png"></image>充值
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="user-menu">
|
|
<view class="title">
|
|
我的订单
|
|
<view class="more">
|
|
全部订单
|
|
<image src="@/static/icon-arrow.png"></image>
|
|
</view>
|
|
</view>
|
|
<view class="content">
|
|
<view class="item">
|
|
<image src="@/static/icon-order-01.png"></image>待支付<view class="num">2</view>
|
|
</view>
|
|
<view class="item">
|
|
<image src="@/static/icon-order-02.png"></image>待接单
|
|
</view>
|
|
<view class="item">
|
|
<image src="@/static/icon-order-03.png"></image>已接单
|
|
</view>
|
|
<view class="item">
|
|
<image src="@/static/icon-order-04.png"></image>服务中
|
|
</view>
|
|
<view class="item">
|
|
<image src="@/static/icon-order-05.png"></image>已完成
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="user-menu1" v-if="userInfo.role == 2">
|
|
<view class="title">
|
|
陪玩师订单
|
|
<view class="more">
|
|
全部订单
|
|
<image src="@/static/icon-arrow.png"></image>
|
|
</view>
|
|
</view>
|
|
<view class="content">
|
|
<view class="item">
|
|
<image src="@/static/icon-order-02.png"></image>待接单<view class="num">2</view>
|
|
</view>
|
|
<view class="item">
|
|
<image src="@/static/icon-order-03.png"></image>已接单
|
|
</view>
|
|
<view class="item">
|
|
<image src="@/static/icon-order-04.png"></image>服务中
|
|
</view>
|
|
<view class="item">
|
|
<image src="@/static/icon-order-05.png"></image>已完成
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="user-menu1">
|
|
<view class="title">
|
|
常用功能
|
|
</view>
|
|
<view class="content">
|
|
<view class="item">
|
|
<image src="@/static/icon-user-01.png"></image>美颜设置
|
|
</view>
|
|
<view class="item">
|
|
<image src="@/static/icon-user-02.png"></image>认证中心<view v-if="userInfo.realnameFlag == 1" class="status">已认证</view>
|
|
</view>
|
|
<view class="item">
|
|
<image src="@/static/icon-user-03.png"></image>陪玩设置
|
|
</view>
|
|
<view class="item">
|
|
<image src="@/static/icon-user-04.png"></image>任务中心
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="user-menu1">
|
|
<view class="title">
|
|
其他
|
|
</view>
|
|
<view class="content">
|
|
<view class="item">
|
|
<image src="@/static/icon-user-05.png"></image>邀请好友
|
|
</view>
|
|
<view class="item">
|
|
<image src="@/static/icon-user-06.png"></image>我的团队
|
|
</view>
|
|
<view class="item">
|
|
<image src="@/static/icon-user-07.png"></image>系统设置
|
|
</view>
|
|
<view class="item">
|
|
<image src="@/static/icon-user-08.png"></image>帮助中心
|
|
</view>
|
|
<view class="item">
|
|
<image src="@/static/icon-user-09.png"></image>城市合作
|
|
</view>
|
|
<view class="item">
|
|
<image src="@/static/icon-user-10.png"></image>意见反馈
|
|
</view>
|
|
<view class="item">
|
|
<image src="@/static/icon-user-11.png"></image>客服
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="invite" v-if="show">
|
|
<view class="body">
|
|
<view class="content">
|
|
<image class="avatar" :src="userInfo.img"></image>
|
|
<view class="name">{{userInfo.id}}</view>
|
|
<image class="txt" src="@/static/txt.png"></image>
|
|
<image class="code" src="@/static/code.png"></image>
|
|
<view class="txt1">-长按识别图中二维码-</view>
|
|
<view class="id">邀请码:{{userInfo.invitationCode}}</view>
|
|
<image class="zw" src="@/static/zw.png"></image>
|
|
</view>
|
|
<view class="btns">
|
|
<view class="cancle">取消</view>
|
|
<view class="sure">保存</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<unverified :isPopup="isPopup" />
|
|
<insufficient :isCoins="isCoins" />
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
export default {
|
|
data() {
|
|
return {
|
|
isCoins: false,
|
|
isPopup: false,
|
|
show: false,
|
|
background: {
|
|
"background-color": "rgba(0, 0, 0, 0)"
|
|
},
|
|
userInfo: {},
|
|
baseUrl: ""
|
|
}
|
|
},
|
|
onShow() {
|
|
this.baseUrl = this.$baseUrl;
|
|
this.getUserInfo();
|
|
},
|
|
methods: {
|
|
openPage(index){
|
|
if(index == 1){
|
|
uni.navigateTo({
|
|
url: "/pages/users/edit/index"
|
|
})
|
|
}else if(index == 2){
|
|
uni.navigateTo({
|
|
url: "/pages/users/personal/index"
|
|
})
|
|
}
|
|
},
|
|
async getUserInfo() {
|
|
const { code, data , msg } = await this.$api.findUserInfo({userId: uni.getStorageSync("userInfo").id});
|
|
if(code == 200){
|
|
this.userInfo = data;
|
|
uni.setStorageSync("userInfo",data);
|
|
if(data.realnameFlag == 0){
|
|
this.isPopup = true
|
|
}
|
|
}else{
|
|
uni.showToast({
|
|
title: mgs,
|
|
position: "bottom",
|
|
icon: "none",
|
|
})
|
|
}
|
|
},
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style scoped lang="scss">
|
|
.user{
|
|
background: url(@/static/user-bg.png) center top no-repeat;
|
|
background-size: 100% auto;
|
|
overflow: hidden;
|
|
padding-bottom: 30rpx;
|
|
.invite{
|
|
width: 100%;
|
|
height: 100%;
|
|
position: fixed;
|
|
left: 0;
|
|
bottom: 0;
|
|
z-index: 12;
|
|
background-color: rgba(0, 0, 0, 0.6);
|
|
.body{
|
|
width: 680rpx;
|
|
height: 1200rpx;
|
|
position: absolute;
|
|
left: 50%;
|
|
top: 50%;
|
|
z-index: 2;
|
|
margin-left: -340rpx;
|
|
margin-top: -600rpx;
|
|
}
|
|
.btns{
|
|
text-align: center;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
margin-top: 30rpx;
|
|
.cancle{
|
|
width: 300rpx;
|
|
height: 90rpx;
|
|
background: #7B7B7B;
|
|
border-radius: 90rpx;
|
|
font-weight: 500;
|
|
font-size: 30rpx;
|
|
color: #FFFFFF;
|
|
line-height: 90rpx;
|
|
}
|
|
.sure{
|
|
width: 300rpx;
|
|
height: 90rpx;
|
|
background: linear-gradient(0deg, #000000, #3D3B38);
|
|
box-shadow: 0px 4rpx 18rpx 0px rgba(42,41,39,0.34);
|
|
border-radius: 90rpx;
|
|
font-size: 30rpx;
|
|
color: #FFFFFF;
|
|
line-height: 90rpx;
|
|
}
|
|
}
|
|
.content{
|
|
width: 100%;
|
|
height: 980rpx;
|
|
background: #FFFFFF;
|
|
border-radius: 20rpx;
|
|
text-align: center;
|
|
font-weight: 500;
|
|
font-size: 30rpx;
|
|
color: #333333;
|
|
padding-top: 50rpx;
|
|
.avatar{
|
|
width: 160rpx;
|
|
height: 160rpx;
|
|
display: block;
|
|
margin: 0 auto;
|
|
border-radius: 50%;
|
|
}
|
|
.name{
|
|
font-weight: 500;
|
|
font-size: 30rpx;
|
|
color: #333333;
|
|
margin-top: 30rpx;
|
|
}
|
|
.code{
|
|
width: 250rpx;
|
|
height: 250rpx;
|
|
margin: 0 auto;
|
|
margin-top: 40rpx;
|
|
image{
|
|
width: 100%;
|
|
height: 100%;
|
|
}
|
|
}
|
|
.txt{
|
|
width: 435rpx;
|
|
height: 117rpx;
|
|
display: block;
|
|
margin: 0 auto;
|
|
margin-top: 70rpx;
|
|
}
|
|
.txt1{
|
|
font-weight: 500;
|
|
font-size: 28rpx;
|
|
color: #999999;
|
|
margin-top: 10rpx;
|
|
}
|
|
.id{
|
|
font-weight: 500;
|
|
font-size: 28rpx;
|
|
color: #333333;
|
|
margin-top: 20rpx;
|
|
}
|
|
.zw{
|
|
width: 76rpx;
|
|
height: 76rpx;
|
|
margin: 0 auto;
|
|
margin-top: 40rpx;
|
|
}
|
|
}
|
|
}
|
|
&-navbar{
|
|
image{
|
|
width: 45rpx;
|
|
height: 45rpx;
|
|
margin-right: 30rpx;
|
|
}
|
|
}
|
|
&-info{
|
|
padding: 0 25rpx;
|
|
overflow: hidden;
|
|
.d{
|
|
margin-top: 20rpx;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
overflow: hidden;
|
|
.item{
|
|
width: 340rpx;
|
|
height: 120rpx;
|
|
background: #F9F4D8;
|
|
border-radius: 20rpx;
|
|
&:first-child{
|
|
background: #FFEADF;
|
|
}
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
font-weight: bold;
|
|
font-size: 32rpx;
|
|
color: #222222;
|
|
image{
|
|
width: 70rpx;
|
|
height: 70rpx;
|
|
margin-right: 20rpx;
|
|
}
|
|
}
|
|
}
|
|
.c{
|
|
width: 100%;
|
|
height: 185rpx;
|
|
background: url(@/static/vipcardbg.png) center top no-repeat;
|
|
background-size: cover;
|
|
margin-top: 20rpx;
|
|
.dt{
|
|
font-weight: 500;
|
|
font-size: 22rpx;
|
|
color: #5B3216;
|
|
line-height: 50rpx;
|
|
padding: 0 20rpx;
|
|
text{
|
|
margin-left: 30rpx;
|
|
color: #E8BE7F;
|
|
}
|
|
}
|
|
.dd{
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
margin-top: 25rpx;
|
|
.item{
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
flex: 1;
|
|
font-weight: 500;
|
|
font-size: 32rpx;
|
|
color: #E8BE7F;
|
|
text{
|
|
display: block;
|
|
font-weight: 500;
|
|
font-size: 24rpx;
|
|
color: #E8BE7F;
|
|
margin-top: 10rpx;
|
|
}
|
|
}
|
|
image{
|
|
width: 70rpx;
|
|
height: 70rpx;
|
|
margin-right: 20rpx;
|
|
}
|
|
}
|
|
}
|
|
.b{
|
|
display: flex;
|
|
align-items: center;
|
|
margin-top: 30rpx;
|
|
overflow: hidden;
|
|
justify-content: space-between;
|
|
.li{
|
|
width: 120rpx;
|
|
text-align: center;
|
|
font-weight: bold;
|
|
font-size: 36rpx;
|
|
color: #222222;
|
|
text{
|
|
display: block;
|
|
font-weight: 500;
|
|
font-size: 24rpx;
|
|
color: #666666;
|
|
}
|
|
}
|
|
}
|
|
.a{
|
|
display: flex;
|
|
align-items: flex-start;
|
|
.pic{
|
|
width: 110rpx;
|
|
height: 110rpx;
|
|
margin-right: 20rpx;
|
|
image{
|
|
width: 100%;
|
|
height: 100%;
|
|
border-radius: 50%;
|
|
}
|
|
}
|
|
.sign{
|
|
width: 100rpx;
|
|
line-height: 50rpx;
|
|
background: #000000;
|
|
border-radius: 50rpx;
|
|
text-align: center;
|
|
font-weight: 500;
|
|
font-size: 24rpx;
|
|
color: #FFFFFF;
|
|
margin-top: 20rpx;
|
|
}
|
|
.info{
|
|
flex: 1;
|
|
margin-top: 20rpx;
|
|
.name{
|
|
font-weight: 500;
|
|
font-size: 34rpx;
|
|
color: #222222;
|
|
display: flex;
|
|
align-items: center;
|
|
.vip{
|
|
width: 97rpx;
|
|
height: 42rpx;
|
|
line-height: 42rpx;
|
|
margin-left: 10rpx;
|
|
background: url(@/static/vipbg.png) center top no-repeat;
|
|
background-size: contain;
|
|
font-weight: 500;
|
|
font-size: 20rpx;
|
|
color: #E4C0A3;
|
|
padding-left: 45rpx;
|
|
box-sizing: border-box;
|
|
}
|
|
.status{
|
|
width: 100rpx;
|
|
line-height: 30rpx;
|
|
background: #CDF1D1;
|
|
border-radius: 30rpx;
|
|
text-align: center;
|
|
font-weight: 500;
|
|
font-size: 20rpx;
|
|
color: #27A93A;
|
|
margin-left: 15rpx;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
text{
|
|
display: block;
|
|
width: 10rpx;
|
|
height: 10rpx;
|
|
background-color: #27A93A;
|
|
border-radius: 50%;
|
|
margin-right: 10rpx;
|
|
}
|
|
}
|
|
}
|
|
.id{
|
|
font-weight: 500;
|
|
font-size: 24rpx;
|
|
color: #999999;
|
|
margin-top: 15rpx;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
&-menu{
|
|
width: 700rpx;
|
|
background: #FFFFFF;
|
|
box-sizing: border-box;
|
|
border-radius: 20rpx;
|
|
margin: 0 auto;
|
|
margin-top: 20rpx;
|
|
.title{
|
|
border-bottom: 1px dashed #EAEAEA;
|
|
height: 75rpx;
|
|
display: flex;
|
|
padding: 0 20rpx;
|
|
box-sizing: border-box;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
font-weight: 500;
|
|
font-size: 30rpx;
|
|
color: #333333;
|
|
.more{
|
|
font-size: 24rpx;
|
|
color: #999999;
|
|
display: flex;
|
|
align-items: center;
|
|
image{
|
|
width: 30rpx;
|
|
height: 30rpx;
|
|
margin-left: 5rpx;
|
|
}
|
|
}
|
|
}
|
|
.content{
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding-bottom: 20rpx;
|
|
.item{
|
|
width: 20%;
|
|
text-align: center;
|
|
font-weight: 500;
|
|
font-size: 24rpx;
|
|
color: #333333;
|
|
position: relative;
|
|
margin-top: 20rpx;
|
|
image{
|
|
width: 56rpx;
|
|
height: 56rpx;
|
|
display: block;
|
|
margin: 0 auto 10rpx;
|
|
}
|
|
.num{
|
|
width: 30rpx;
|
|
height: 30rpx;
|
|
line-height: 30rpx;
|
|
background: #FC2C2C;
|
|
border-radius: 50%;
|
|
font-weight: 500;
|
|
font-size: 18rpx;
|
|
color: #FFFFFF;
|
|
text-align: center;
|
|
position: absolute;
|
|
right: 30rpx;
|
|
top: -10rpx;
|
|
z-index: 2;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
&-menu1{
|
|
width: 700rpx;
|
|
background: #FFFFFF;
|
|
box-sizing: border-box;
|
|
border-radius: 20rpx;
|
|
margin: 0 auto;
|
|
margin-top: 20rpx;
|
|
.title{
|
|
height: 75rpx;
|
|
display: flex;
|
|
padding: 0 20rpx;
|
|
box-sizing: border-box;
|
|
font-weight: 500;
|
|
font-size: 30rpx;
|
|
color: #333333;
|
|
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
font-weight: 500;
|
|
.more{
|
|
font-size: 24rpx;
|
|
color: #999999;
|
|
display: flex;
|
|
align-items: center;
|
|
image{
|
|
width: 30rpx;
|
|
height: 30rpx;
|
|
margin-left: 5rpx;
|
|
}
|
|
}
|
|
}
|
|
.content{
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: flex-start;
|
|
flex-wrap: wrap;
|
|
padding-bottom: 20rpx;
|
|
.item{
|
|
width: 25%;
|
|
text-align: center;
|
|
font-weight: 500;
|
|
font-size: 24rpx;
|
|
color: #333333;
|
|
position: relative;
|
|
margin-top: 20rpx;
|
|
image{
|
|
width: 56rpx;
|
|
height: 56rpx;
|
|
display: block;
|
|
margin: 0 auto 10rpx;
|
|
}
|
|
.num{
|
|
width: 30rpx;
|
|
height: 30rpx;
|
|
line-height: 30rpx;
|
|
background: #FC2C2C;
|
|
border-radius: 50%;
|
|
font-weight: 500;
|
|
font-size: 18rpx;
|
|
color: #FFFFFF;
|
|
text-align: center;
|
|
position: absolute;
|
|
right: 40rpx;
|
|
top: -10rpx;
|
|
z-index: 2;
|
|
}
|
|
.status{
|
|
width: 66rpx;
|
|
line-height: 26rpx;
|
|
background: #FFE7E6;
|
|
border-radius: 4px;
|
|
font-weight: 500;
|
|
font-size: 18rpx;
|
|
color: #F82C20;
|
|
text-align: center;
|
|
position: absolute;
|
|
right: 0;
|
|
top: -10rpx;
|
|
z-index: 2;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</style>
|
|
|