1280 lines
35 KiB
Vue
1280 lines
35 KiB
Vue
|
|
<style lang="scss">
|
|||
|
|
.header {
|
|||
|
|
height: 342rpx;
|
|||
|
|
background-color: red;
|
|||
|
|
background: url('../../static/images/user/nav_bg.png') center center no-repeat;
|
|||
|
|
|
|||
|
|
.history {
|
|||
|
|
margin-top: 50rpx;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.setting {
|
|||
|
|
position: relative;
|
|||
|
|
z-index: 22;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.share_wrapper {
|
|||
|
|
padding: 20rpx;
|
|||
|
|
margin-top: 10rpx;
|
|||
|
|
border-radius: 20rpx 20rpx 0 0;
|
|||
|
|
background: linear-gradient(90deg, rgb(54, 55, 57), rgb(22, 22, 22));
|
|||
|
|
|
|||
|
|
.left {
|
|||
|
|
.text {
|
|||
|
|
color: gold;
|
|||
|
|
padding-bottom: 20rpx;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.btn_share {
|
|||
|
|
padding: 10rpx 14rpx;
|
|||
|
|
border-radius: 10rpx;
|
|||
|
|
background: linear-gradient(90deg, rgb(247, 246, 231), rgb(249, 220, 178));
|
|||
|
|
|
|||
|
|
.text {
|
|||
|
|
margin-right: 4rpx;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.nick_name {
|
|||
|
|
color: #000;
|
|||
|
|
font-weight: bold;
|
|||
|
|
font-size: 36rpx;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.user_id {
|
|||
|
|
margin-left: 20rpx;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.grade {
|
|||
|
|
color: gold;
|
|||
|
|
background-color: rgb(79, 55, 36);
|
|||
|
|
// width: 140rpx;
|
|||
|
|
border-radius: 30rpx;
|
|||
|
|
padding: 4rpx 16rpx;
|
|||
|
|
margin: 4rpx 0;
|
|||
|
|
margin-right: 10rpx;
|
|||
|
|
|
|||
|
|
.zyhs {
|
|||
|
|
margin-right: 6rpx;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.con {
|
|||
|
|
.zyhs {
|
|||
|
|
color: rgb(110, 108, 126);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.grod-item {
|
|||
|
|
|
|||
|
|
// width: auto !important;
|
|||
|
|
// flex: 1 !important;
|
|||
|
|
.zyhs {
|
|||
|
|
padding-bottom: 40rpx;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.tabs_item {
|
|||
|
|
margin-bottom: 20rpx;
|
|||
|
|
padding-right: 20rpx;
|
|||
|
|
|
|||
|
|
.left {
|
|||
|
|
margin-right: 20rpx;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
border-right: 1rpx solid #e6e6e6;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.btn_logout {
|
|||
|
|
color: red;
|
|||
|
|
background-color: #fff;
|
|||
|
|
padding: 20rpx;
|
|||
|
|
border-radius: 40rpx;
|
|||
|
|
margin-top: 40rpx;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.scroll_view {
|
|||
|
|
position: fixed;
|
|||
|
|
left: 0;
|
|||
|
|
right: 0;
|
|||
|
|
bottom: 100rpx;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.btn_copy {
|
|||
|
|
padding: 4rpx 26rpx;
|
|||
|
|
font-size: 24rpx;
|
|||
|
|
border-radius: 8rpx;
|
|||
|
|
margin-left: 10rpx;
|
|||
|
|
border: 1rpx solid rgb(75, 136, 254);
|
|||
|
|
}
|
|||
|
|
</style>
|
|||
|
|
<template>
|
|||
|
|
<view class="main">
|
|||
|
|
<u-navbar bgColor="transparent" leftIconSize="0"></u-navbar>
|
|||
|
|
<view id="header" class="header flex flex-align-center">
|
|||
|
|
<view class="flex-grow " style="justify-content: space-between;" v-if="userDetailInfo.username">
|
|||
|
|
<view class="flex flex-space-end setting padding-50" @click="toNav('/pages/setting/index')">
|
|||
|
|
<text class="iconfont blod font48"></text>
|
|||
|
|
</view>
|
|||
|
|
<view class="flex padding-50" @click="toNav('/pages/setting/personal')">
|
|||
|
|
<view>
|
|||
|
|
<image :src="filterImg(avatar)" mode="aspectFill" class="avatar"></image>
|
|||
|
|
</view>
|
|||
|
|
<view>
|
|||
|
|
<view class="flex flex-align-center">
|
|||
|
|
<text class="font38 line nick_name">{{ userDetailInfo.nickname }}</text>
|
|||
|
|
<text class="user_id font24">ID:{{ userDetailInfo.username }}</text>
|
|||
|
|
<view @click.stop="handlerCopy(userDetailInfo.username)" class="flex flex-center btn_copy">复制</view>
|
|||
|
|
</view>
|
|||
|
|
<view class="flex flex-align-center flex-wrap">
|
|||
|
|
<view v-if="consumer != null" class="grade">
|
|||
|
|
<u-rate activeColor="gold" inactiveColor="#fff" gutter="0" count="5"
|
|||
|
|
v-model="consumer.identityStatus"></u-rate>
|
|||
|
|
</view>
|
|||
|
|
<view class="flex flex-align-center flex-center grade font24" v-if="!isVip">
|
|||
|
|
<text class="zyhs zyhs-huangguan"></text>
|
|||
|
|
普通用户
|
|||
|
|
</view>
|
|||
|
|
<block v-for="(item, index) in identity" :key="index">
|
|||
|
|
<view class="flex flex-align-center grade font24"
|
|||
|
|
v-if="item.identityNameCode == 1 && item.identityStatus == 1">
|
|||
|
|
<text class="zyhs zyhs-huangguan"></text>
|
|||
|
|
VIP
|
|||
|
|
</view>
|
|||
|
|
<view class="flex flex-align-center grade font24"
|
|||
|
|
v-if="item.identityNameCode == 2 && item.identityStatus == 1">
|
|||
|
|
<text class="zyhs zyhs-lianchuangdaili-33"></text>
|
|||
|
|
联创
|
|||
|
|
</view>
|
|||
|
|
<view class="flex flex-align-center grade font24"
|
|||
|
|
v-if="item.identityNameCode == 3 && item.identityStatus == 1">
|
|||
|
|
<text class="zyhs zyhs-hehuoren"></text>
|
|||
|
|
合伙人
|
|||
|
|
</view>
|
|||
|
|
<view class="flex flex-align-center grade font24"
|
|||
|
|
v-if="item.identityNameCode == 4 && item.identityStatus == 1">
|
|||
|
|
<text class="zyhs zyhs-wodefenxiaoshang"></text>
|
|||
|
|
分销商
|
|||
|
|
</view>
|
|||
|
|
<!-- <view class="flex flex-align-center grade font24" v-if="item.identityNameCode == 5 && item.identityStatus > 0">
|
|||
|
|
<text class="zyhs zyhs-dailishang"></text>
|
|||
|
|
消费商
|
|||
|
|
</view> -->
|
|||
|
|
</block>
|
|||
|
|
<block v-if="userDetailInfo.storeIsOpen === 1">
|
|||
|
|
<view class="flex flex-align-center grade font24">
|
|||
|
|
<text style="font-size: 24rpx;" class="zyhs zyhs-shangjiaguanli"></text> 商家
|
|||
|
|
</view>
|
|||
|
|
</block>
|
|||
|
|
</view>
|
|||
|
|
<!-- <view class="flex flex-align-center">
|
|||
|
|
<view class="six" v-if="userDetailInfo.distributorIsOpen === 1">
|
|||
|
|
<text class="font24">配送员</text>
|
|||
|
|
</view>
|
|||
|
|
<view class="six" v-if="userDetailInfo.storeIsOpen === 1">
|
|||
|
|
<text class="font24">商家</text>
|
|||
|
|
</view>
|
|||
|
|
</view> -->
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
<view class="culist history padding-50" v-if="myAsset.length">
|
|||
|
|
<view class="grod pad flex flex-between">
|
|||
|
|
<view class="grod-item flex flex-column flex-align-center"
|
|||
|
|
@click="toNav('/pages/user/record/list?title=贡献值&type=getConsumeRecord')">
|
|||
|
|
<text class="f-b">{{ myAsset[0].assetAccount }}</text>
|
|||
|
|
<text class="font26">贡献值</text>
|
|||
|
|
</view>
|
|||
|
|
<view class="grod-item flex flex-column flex-align-center"
|
|||
|
|
@click="toNav('/pages/user/record/list?title=绿色积分&type=getGreenRecord&transferType=2')">
|
|||
|
|
<text class="f-b">{{ myAsset[1].assetAccount }}</text>
|
|||
|
|
<text class="font26">绿色积分</text>
|
|||
|
|
</view>
|
|||
|
|
<view class="grod-item flex flex-column flex-align-center"
|
|||
|
|
@click="toNav('/pages/user/balance/list?title=余额&type=getBalanceRecord')">
|
|||
|
|
<text class="f-b">{{ myAsset[2].assetAccount }}</text>
|
|||
|
|
<text class="font26">余额</text>
|
|||
|
|
</view>
|
|||
|
|
<!-- <view class="grod-item" @click="toNav('/pages/user/coupon')">
|
|||
|
|
<text>{{cbfcAcountData.coupon}}</text>
|
|||
|
|
<text class="font26">优惠券</text>
|
|||
|
|
</view>
|
|||
|
|
<view class="grod-item" @click="toNav('/pages/user/cardBag')">
|
|||
|
|
<text>{{cardsTotal}}</text>
|
|||
|
|
<text class="font26">卡包</text>
|
|||
|
|
</view> -->
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
<view class="padding-30">
|
|||
|
|
<view class="share_wrapper flex flex-align-center flex-between">
|
|||
|
|
<view class="left">
|
|||
|
|
<view class="font32 f-b text">分享好友</view>
|
|||
|
|
<view class="color-w font24">分享好友可获得贡献值奖励</view>
|
|||
|
|
</view>
|
|||
|
|
<view class="btn_share font24 flex flex-center" @click="goPage('/pages/user/invite')">
|
|||
|
|
<text class="text f-b">立即分享</text>
|
|||
|
|
<text class="zyhs zyhs-fenxiang1"></text>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
<view class="flex flex-grow padding-30" style="justify-content: space-between;" v-else>
|
|||
|
|
<view class="flex flex-align-center" @click="toNav('/pages/login/login')">
|
|||
|
|
<view>
|
|||
|
|
<image :src="filterImg(avatar)" mode="aspectFill" class="avatar"></image>
|
|||
|
|
</view>
|
|||
|
|
<view>
|
|||
|
|
<view class="flex flex-align-center">
|
|||
|
|
<text class="font38 line">登录/注册</text>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
|
|||
|
|
<scroll-view scroll-y="true" class="scroll_view" :style="{ top: scrollTop + 'px' }">
|
|||
|
|
<view class="con">
|
|||
|
|
<view class="culist flex flex-between">
|
|||
|
|
<view @click="goPage(tab.path)" class="tabs_item flex flex-align-center" v-for="(tab, i) in tabsList" :key="i">
|
|||
|
|
<view class="left">
|
|||
|
|
<text class="fb font28">{{ tab.name }}</text>
|
|||
|
|
<view class="font24">
|
|||
|
|
{{ tab.text }}
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
<text class="zyhs font40" :style="{ color: tab.color }" :class="tab.icon"></text>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
<view class="culist">
|
|||
|
|
<view class="title flex flex-between" @click="goOrder(false)">
|
|||
|
|
<text class="blod font30">我的订单</text>
|
|||
|
|
<view class="flex flex-align-center color-b9">
|
|||
|
|
<text class="font28">查看全部</text>
|
|||
|
|
<text class="iconfont font38"></text>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
<view class="grod flex flex-between">
|
|||
|
|
<view class="grod-item" style="width: 16%;" v-for="(item, i) in cuList" :key="i"
|
|||
|
|
@click="goOrder(item.status)">
|
|||
|
|
<text class="zyhs" :style="{ fontSize: item.size + 'rpx' }" :class="item.icon"></text>
|
|||
|
|
|
|||
|
|
<text class="color-b5 font26">{{ item.name }}</text>
|
|||
|
|
<text class="tips" v-if="item.tip">{{ item.tip > 99 ? '99+' : item.tip }}</text>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
<view class="culist">
|
|||
|
|
<view class="title flex flex-between" @click="goOrder(false)">
|
|||
|
|
<text class="blod font30">常用工具</text>
|
|||
|
|
</view>
|
|||
|
|
<view class="grod flex">
|
|||
|
|
<view class="grod-item" style="width: 16%; margin-right: 40rpx;" v-for="(item, i) in toolList" :key="i"
|
|||
|
|
@click="goPage(item.path)">
|
|||
|
|
<text class="zyhs" :style="{ fontSize: item.size + 'rpx' }" :class="item.icon"></text>
|
|||
|
|
|
|||
|
|
<text class="color-b5 font26">{{ item.name }}</text>
|
|||
|
|
<text class="tips" v-if="item.tip">{{ item.tip > 99 ? '99+' : item.tip }}</text>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
<view class="culist">
|
|||
|
|
<view class="title flex flex-between" @click="goOrder(false)">
|
|||
|
|
<text class="blod font30">商家管理</text>
|
|||
|
|
</view>
|
|||
|
|
<view class="grod flex flex-between">
|
|||
|
|
<view class="grod-item" style="width: 16%;" v-for="(item, i) in shopManageList" :key="i"
|
|||
|
|
@click="merchantMenuClick(item)">
|
|||
|
|
<text class="zyhs" :style="{ fontSize: item.size + 'rpx' }" :class="item.icon"></text>
|
|||
|
|
|
|||
|
|
<text class="color-b5 font26">{{ item.name }}</text>
|
|||
|
|
<text class="tips" v-if="item.tip">{{ item.tip > 99 ? '99+' : item.tip }}</text>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
<view class="culist">
|
|||
|
|
<view class="title flex flex-between" @click="goOrder(false)">
|
|||
|
|
<text class="blod font30">教育中心</text>
|
|||
|
|
</view>
|
|||
|
|
<view class="grod flex">
|
|||
|
|
<view class="grod-item" style="width: 16%; margin-right: 40rpx;" v-for="(item, i) in educationList" :key="i"
|
|||
|
|
@click="goPage(item.path)">
|
|||
|
|
<text class="zyhs" :style="{ fontSize: item.size + 'rpx' }" :class="item.icon"></text>
|
|||
|
|
|
|||
|
|
<text class="color-b5 font26">{{ item.name }}</text>
|
|||
|
|
<text class="tips" v-if="item.tip">{{ item.tip > 99 ? '99+' : item.tip }}</text>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
<view class="culist">
|
|||
|
|
<view class="title flex" @click="goOrder(false)">
|
|||
|
|
<text class="blod font30">实用工具</text>
|
|||
|
|
</view>
|
|||
|
|
<view class="grod flex flex-between">
|
|||
|
|
<view class="grod-item" style="width: 21%;" v-for="(item, i) in practicalList" :key="i"
|
|||
|
|
@click="goPage(item.path)">
|
|||
|
|
<text class="zyhs" :style="{ fontSize: item.size + 'rpx' }" :class="item.icon"></text>
|
|||
|
|
|
|||
|
|
<text class="color-b5 font26">{{ item.name }}</text>
|
|||
|
|
<text class="tips" v-if="item.tip">{{ item.tip > 99 ? '99+' : item.tip }}</text>
|
|||
|
|
</view>
|
|||
|
|
<view style="width: 21%;">
|
|||
|
|
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
|
|||
|
|
<!-- <view class="fixed">
|
|||
|
|
<text class="p2" style="margin-bottom: 88upx;">Copyright©️2018 南宁物芊科技有限公司 版权所有</text>
|
|||
|
|
</view> -->
|
|||
|
|
<view class="btn_logout flex flex-center" @click="toLogout">退出登录</view>
|
|||
|
|
<u-gap height="50rpx"></u-gap>
|
|||
|
|
</view>
|
|||
|
|
|
|||
|
|
</scroll-view>
|
|||
|
|
|
|||
|
|
<!-- 弹框 -->
|
|||
|
|
<modal v-if="showModal">
|
|||
|
|
<image :src="advertData.ossUrl" mode="widthFix" @click="imgJump"></image>
|
|||
|
|
<text class="iconfont color-w font60" style="margin-top: 20rpx;" @click="showModal = false"></text>
|
|||
|
|
</modal>
|
|||
|
|
|
|||
|
|
<!-- 福利红包 -->
|
|||
|
|
<!-- <red-envelopes v-for="(item, i) in redList" :key="i" :data="item" :type="3" :bottom="i === 0 ? 100 : i*80+100"></red-envelopes> -->
|
|||
|
|
|
|||
|
|
<!-- <tabbar></tabbar> -->
|
|||
|
|
</view>
|
|||
|
|
</template>
|
|||
|
|
|
|||
|
|
<script>
|
|||
|
|
import {
|
|||
|
|
mapMutations,
|
|||
|
|
mapState
|
|||
|
|
} from "vuex"
|
|||
|
|
import modal from "@/components/modal.vue"
|
|||
|
|
import redEnvelopes from "@/components/red-envelopes.vue"
|
|||
|
|
import uniPopup from "@/components/uni-popup/uni-popup.vue"
|
|||
|
|
import tabbar from "@/components/tabbar.vue"
|
|||
|
|
import url from "@/common/http/url.js"
|
|||
|
|
import publics from "@/common/utils/public.js"
|
|||
|
|
export default {
|
|||
|
|
components: {
|
|||
|
|
modal,
|
|||
|
|
redEnvelopes,
|
|||
|
|
uniPopup,
|
|||
|
|
tabbar
|
|||
|
|
},
|
|||
|
|
data () {
|
|||
|
|
return {
|
|||
|
|
userDetailInfo: {},
|
|||
|
|
staticUrl: this.$staticUrl,
|
|||
|
|
avatar: this.$staticUrl + "user/avatar.png",
|
|||
|
|
tabsList: [{
|
|||
|
|
name: "管理钱包",
|
|||
|
|
text: '天天领钱',
|
|||
|
|
icon: "zyhs-daifukuan",
|
|||
|
|
color: 'rgb(75, 136, 254)',
|
|||
|
|
size: '34',
|
|||
|
|
path: '/pages/user/record/list?title=管理钱包&type=getWalletRecord&transferType=3'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
name: "积分统计",
|
|||
|
|
text: '今日释放',
|
|||
|
|
icon: "zyhs-tongji1",
|
|||
|
|
color: 'rgb(236, 72, 69)',
|
|||
|
|
size: '40',
|
|||
|
|
path: '/pages/user/myScore'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
name: "我的团队",
|
|||
|
|
text: '团队分红',
|
|||
|
|
icon: "zyhs-jiangbei-",
|
|||
|
|
color: 'rgb(253, 178, 114)',
|
|||
|
|
size: '40',
|
|||
|
|
path: "/pages/user/team"
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
toolList: [{
|
|||
|
|
name: "我的资产",
|
|||
|
|
tip: 0,
|
|||
|
|
icon: "zyhs-zichan",
|
|||
|
|
status: 0,
|
|||
|
|
size: '46',
|
|||
|
|
path: '/pages/user/wallet/index'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
name: "地址管理",
|
|||
|
|
tip: 0,
|
|||
|
|
icon: "zyhs-dizhi",
|
|||
|
|
status: 2,
|
|||
|
|
size: '44',
|
|||
|
|
path: '/pages/user/address/index?type=1'
|
|||
|
|
},
|
|||
|
|
// {name: "其他资产", tip: 0, icon: "zyhs-dashanghongbao", status: 3, size: '40'},
|
|||
|
|
{
|
|||
|
|
name: "线下订单",
|
|||
|
|
tip: 0,
|
|||
|
|
icon: "zyhs-xianxiadingdan",
|
|||
|
|
status: 3,
|
|||
|
|
size: '42'
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
cuList: [{
|
|||
|
|
name: "全部",
|
|||
|
|
tip: 0,
|
|||
|
|
icon: "zyhs-quanbu",
|
|||
|
|
status: 1,
|
|||
|
|
size: '34'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
name: "待付款",
|
|||
|
|
tip: 0,
|
|||
|
|
icon: "zyhs-daifukuan1",
|
|||
|
|
status: 2,
|
|||
|
|
size: '40'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
name: "待发货",
|
|||
|
|
tip: 0,
|
|||
|
|
icon: "zyhs-daifahuo",
|
|||
|
|
status: 3,
|
|||
|
|
size: '40'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
name: "待收货",
|
|||
|
|
tip: 0,
|
|||
|
|
icon: "zyhs-daishouhuo",
|
|||
|
|
status: 4,
|
|||
|
|
size: '42'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
name: "线下订单",
|
|||
|
|
tip: 0,
|
|||
|
|
icon: "zyhs-xianxiadingdan",
|
|||
|
|
status: 5,
|
|||
|
|
size: '42'
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
shopManageList: [{
|
|||
|
|
name: "商家入驻",
|
|||
|
|
tip: 0,
|
|||
|
|
icon: "zyhs-shangjiaruzhu",
|
|||
|
|
status: 0,
|
|||
|
|
size: '46',
|
|||
|
|
type: 1,
|
|||
|
|
path: 'merchants'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
name: "商家管理",
|
|||
|
|
tip: 0,
|
|||
|
|
icon: "zyhs-shangjiaguanli",
|
|||
|
|
status: 2,
|
|||
|
|
size: '38',
|
|||
|
|
type: 2,
|
|||
|
|
path: 'merchants'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
name: "商家打赏",
|
|||
|
|
tip: 0,
|
|||
|
|
icon: "zyhs-dashang2",
|
|||
|
|
status: 3,
|
|||
|
|
size: '40',
|
|||
|
|
type: 3,
|
|||
|
|
path: "reward"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
name: "商家转账",
|
|||
|
|
tip: 0,
|
|||
|
|
icon: "zyhs-zhuanzhang2",
|
|||
|
|
status: 3,
|
|||
|
|
size: '44',
|
|||
|
|
type: 4
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
educationList: [{
|
|||
|
|
name: "应知应会",
|
|||
|
|
tip: 0,
|
|||
|
|
icon: "zyhs-jurassic_book",
|
|||
|
|
status: 0,
|
|||
|
|
size: '46'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
name: "精彩课程",
|
|||
|
|
tip: 0,
|
|||
|
|
icon: "zyhs-kechengtixi",
|
|||
|
|
status: 2,
|
|||
|
|
size: '44'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
name: "分公司",
|
|||
|
|
tip: 0,
|
|||
|
|
icon: "zyhs-VIP1",
|
|||
|
|
status: 3,
|
|||
|
|
size: '40'
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
practicalList: [{
|
|||
|
|
name: "设置",
|
|||
|
|
tip: 0,
|
|||
|
|
icon: "zyhs-shezhi1",
|
|||
|
|
status: 0,
|
|||
|
|
size: '46',
|
|||
|
|
path: '/pages/setting/index'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
name: "银行卡",
|
|||
|
|
tip: 0,
|
|||
|
|
icon: "zyhs-yinhangka",
|
|||
|
|
status: 2,
|
|||
|
|
size: '38',
|
|||
|
|
path: ''
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
name: "忘记密码",
|
|||
|
|
tip: 0,
|
|||
|
|
icon: "zyhs-mima",
|
|||
|
|
status: 3,
|
|||
|
|
size: '40',
|
|||
|
|
path: '/pages/login/forget'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
name: "收藏",
|
|||
|
|
tip: 0,
|
|||
|
|
icon: "zyhs-shoucang",
|
|||
|
|
status: 0,
|
|||
|
|
size: '46',
|
|||
|
|
path: '/pages/user/collect'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
name: "客服",
|
|||
|
|
tip: 0,
|
|||
|
|
icon: "zyhs-kefu1",
|
|||
|
|
status: 2,
|
|||
|
|
size: '38',
|
|||
|
|
path: 'service'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
name: "帮助中心",
|
|||
|
|
tip: 0,
|
|||
|
|
icon: "zyhs-bangzhu1",
|
|||
|
|
status: 3,
|
|||
|
|
size: '40'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
name: "余额充值",
|
|||
|
|
tip: 0,
|
|||
|
|
icon: "zyhs-chongzhi",
|
|||
|
|
status: 3,
|
|||
|
|
size: '40'
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
servicePhone: "",
|
|||
|
|
cbfcAcountData: {},
|
|||
|
|
teamTotal: 0,
|
|||
|
|
balance: 0,
|
|||
|
|
cardsTotal: 0,
|
|||
|
|
showModal: false,
|
|||
|
|
advertData: false,
|
|||
|
|
redList: [],
|
|||
|
|
mobileList: [],
|
|||
|
|
threeData: [],
|
|||
|
|
platform: uni.getSystemInfoSync().platform,
|
|||
|
|
uniPlatform: uni.getSystemInfoSync().uniPlatform,
|
|||
|
|
configAppstoreHidePage: false,
|
|||
|
|
wxBtnHeight: 20,
|
|||
|
|
scrollTop: 516 / uni.getStorageSync('dpi') + 44 + uni.getStorageSync('system').statusBarHeight,
|
|||
|
|
loading: true,
|
|||
|
|
identity: [],
|
|||
|
|
isVip: false,
|
|||
|
|
consumer: null
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
onPullDownRefresh () {
|
|||
|
|
this.init()
|
|||
|
|
},
|
|||
|
|
computed: {
|
|||
|
|
...mapState(["userInfo", "myAsset"])
|
|||
|
|
},
|
|||
|
|
onLoad () {
|
|||
|
|
|
|||
|
|
// #ifdef MP-WEIXIN
|
|||
|
|
this.wxBtnHeight = wx.getMenuButtonBoundingClientRect().height
|
|||
|
|
// #endif
|
|||
|
|
// #ifdef APP-PLUS
|
|||
|
|
|
|||
|
|
this.wxBtnHeight = uni.getStorageSync('system').statusBarHeight + 10
|
|||
|
|
|
|||
|
|
// this.scrollTop = 516/uni.getStorageSync('dpi') + 44;
|
|||
|
|
// #endif
|
|||
|
|
// 广告弹框
|
|||
|
|
this.$http("GET", url.cms.advertisingMap, {
|
|||
|
|
position: 8
|
|||
|
|
}).then(res => {
|
|||
|
|
if (res.data && res.data.length > 0) {
|
|||
|
|
this.advertData = res.data[0]
|
|||
|
|
if (this.advertData.popupMode === 2) {
|
|||
|
|
if (!publics.advertShowToStorage(this.advertData.id)) {
|
|||
|
|
this.showModal = true
|
|||
|
|
}
|
|||
|
|
} else {
|
|||
|
|
this.showModal = true
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
mounted () {
|
|||
|
|
console.log('**********************')
|
|||
|
|
this.userDetailInfo = this.userInfo || null;
|
|||
|
|
if (this.userDetailInfo.username) this.loading = false
|
|||
|
|
console.log('this.wxBtnHeight', this.userDetailInfo)
|
|||
|
|
if (!this.userDetailInfo.username) {
|
|||
|
|
this.getHeaderHeight(); this.loading = false;
|
|||
|
|
}
|
|||
|
|
this.init()
|
|||
|
|
this.getRedBagList()
|
|||
|
|
this.getUserIdentity()
|
|||
|
|
// this.getMyAsset();
|
|||
|
|
this.$store.dispatch('getMyAsset');
|
|||
|
|
// 获取 苹果应用商店需要隐藏的页面和功能模块 配置
|
|||
|
|
if (this.platform === "ios" && this.uniPlatform === 'app') {
|
|||
|
|
this.$http("GET", url.common.appstoreHidePage).then(res => {
|
|||
|
|
console.log(this.platform)
|
|||
|
|
if (res.data) {
|
|||
|
|
this.configAppstoreHidePage = res.data.keyValue === "1" ? false : true
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
} else { //其它设备则显示
|
|||
|
|
this.configAppstoreHidePage = true
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
onShow () {
|
|||
|
|
console.log('**********************')
|
|||
|
|
this.userDetailInfo = this.userInfo;
|
|||
|
|
if (this.userDetailInfo.username) this.loading = false
|
|||
|
|
console.log('this.wxBtnHeight', this.userDetailInfo)
|
|||
|
|
this.init()
|
|||
|
|
this.getRedBagList()
|
|||
|
|
this.getUserIdentity()
|
|||
|
|
// this.getMyAsset();
|
|||
|
|
this.$store.dispatch('getMyAsset');
|
|||
|
|
// 获取 苹果应用商店需要隐藏的页面和功能模块 配置
|
|||
|
|
if (this.platform === "ios" && this.uniPlatform === 'app') {
|
|||
|
|
this.$http("GET", url.common.appstoreHidePage).then(res => {
|
|||
|
|
console.log(this.platform)
|
|||
|
|
if (res.data) {
|
|||
|
|
this.configAppstoreHidePage = res.data.keyValue === "1" ? false : true
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
} else { //其它设备则显示
|
|||
|
|
this.configAppstoreHidePage = true
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
onBackPress () {
|
|||
|
|
//隐藏到后台,不退出app
|
|||
|
|
let main = plus.android.runtimeMainActivity();
|
|||
|
|
main.moveTaskToBack(false);
|
|||
|
|
return true;
|
|||
|
|
},
|
|||
|
|
methods: {
|
|||
|
|
...mapMutations(["setUserInfo", "logout"]),
|
|||
|
|
getUserIdentity () {
|
|||
|
|
this.$http("GET", url.user.getUserIdentity).then(({ code, data }) => {
|
|||
|
|
if (code == 200) data.map((item) => {
|
|||
|
|
if (item.identityStatus >= 1) this.identity.push(item);
|
|||
|
|
this.isVip = data.some((item) => {
|
|||
|
|
return item.identityNameCode == 1 && item.identityStatus == 1
|
|||
|
|
});
|
|||
|
|
this.consumer = data.find((item) => {
|
|||
|
|
return item.identityNameCode == 5 && item.identityStatus > 0
|
|||
|
|
})
|
|||
|
|
})
|
|||
|
|
console.log('this.identity', this.identity)
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
handlerCopy (str) {
|
|||
|
|
uni.setClipboardData({
|
|||
|
|
data: str,
|
|||
|
|
success: () => {
|
|||
|
|
this.$msg('复制成功')
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
},
|
|||
|
|
getMyAsset () {
|
|||
|
|
this.$http("GET", url.user.getMyAsset).then(res => {
|
|||
|
|
let {
|
|||
|
|
code,
|
|||
|
|
data
|
|||
|
|
} = res;
|
|||
|
|
console.log('res', res)
|
|||
|
|
if (code == 200) {
|
|||
|
|
this.myAsset = data;
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
getHeaderHeight () {
|
|||
|
|
let query = uni.createSelectorQuery().in(this);
|
|||
|
|
setTimeout(() => {
|
|||
|
|
query.select('#header').boundingClientRect(data => {
|
|||
|
|
console.log('=============', data);
|
|||
|
|
this.scrollTop = data.height + 44 + uni.getStorageSync('system').statusBarHeight;
|
|||
|
|
|
|||
|
|
}).exec();
|
|||
|
|
}, 300)
|
|||
|
|
},
|
|||
|
|
goPage (path) {
|
|||
|
|
if (path.indexOf('getWalletRecord') >= 0) {
|
|||
|
|
this.$http("GET", url.asset.checkManageIdentity).then(({ code, data }) => {
|
|||
|
|
if (code == 200 && data) this.toNav(path)
|
|||
|
|
})
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
if (!path) this.$msg("暂未开放", 2000)
|
|||
|
|
if (path == 'service') this.onContact();
|
|||
|
|
else if (path == 'merchants') this.toMerchants();
|
|||
|
|
else this.toNav(path)
|
|||
|
|
},
|
|||
|
|
//退出登录
|
|||
|
|
toLogout () {
|
|||
|
|
let that = this;
|
|||
|
|
uni.showModal({
|
|||
|
|
title: "提示",
|
|||
|
|
content: '确定要退出登陆么',
|
|||
|
|
success: e => {
|
|||
|
|
if (e.confirm) {
|
|||
|
|
that.logout();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
},
|
|||
|
|
// 红包福利
|
|||
|
|
getRedBagList () {
|
|||
|
|
this.$http("GET", url.cms.redEnvelopesList).then(res => {
|
|||
|
|
this.redList = res.data
|
|||
|
|
if (res.data.length > 0) {
|
|||
|
|
this.redList.map(v => {
|
|||
|
|
v.show = true
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
init () {
|
|||
|
|
// 获取收藏、足迹、关注、优惠券数量
|
|||
|
|
this.$http("GET", url.user.cbfcAcount).then(res => {
|
|||
|
|
this.cbfcAcountData = res.data
|
|||
|
|
})
|
|||
|
|
// 获取订单状态数量
|
|||
|
|
this.$http("GET", url.order.getOrderAmount).then(res => {
|
|||
|
|
this.cuList[0].tip = res.data.unpaid
|
|||
|
|
this.cuList[1].tip = res.data.ongoing
|
|||
|
|
this.cuList[2].tip = res.data.evaluated
|
|||
|
|
this.cuList[3].tip = res.data.completed
|
|||
|
|
this.cuList[4].tip = res.data.refund
|
|||
|
|
})
|
|||
|
|
// 获取团队总数
|
|||
|
|
this.$http("GET", url.user.getTeamList, {
|
|||
|
|
pageSize: 1
|
|||
|
|
}).then(res => {
|
|||
|
|
this.teamTotal = res.data.total
|
|||
|
|
})
|
|||
|
|
// 获取卡包总数
|
|||
|
|
this.$http("GET", url.user.getUserCards, {
|
|||
|
|
pageSize: 1
|
|||
|
|
}).then(res => {
|
|||
|
|
this.cardsTotal = res.data.total
|
|||
|
|
})
|
|||
|
|
// 获取用户信息
|
|||
|
|
this.getUserInfo()
|
|||
|
|
// 获取钱包余额
|
|||
|
|
this.$http('GET', url.user.getWalletInfo).then(res => {
|
|||
|
|
// this.balance = res.data.balance
|
|||
|
|
})
|
|||
|
|
// 获取客服信息
|
|||
|
|
this.$http("GET", url.common.customerService).then(res => {
|
|||
|
|
let mobileList = res.data.mobile
|
|||
|
|
mobileList.map(v => {
|
|||
|
|
v.type = "电话"
|
|||
|
|
})
|
|||
|
|
let qqList = res.data.qq
|
|||
|
|
qqList.map(v => {
|
|||
|
|
v.type = "QQ"
|
|||
|
|
})
|
|||
|
|
let wechatList = res.data.wechat
|
|||
|
|
wechatList.map(v => {
|
|||
|
|
v.type = "微信"
|
|||
|
|
})
|
|||
|
|
this.mobileList = wechatList.concat(qqList).concat(mobileList)
|
|||
|
|
})
|
|||
|
|
// 获取第三方服务比例
|
|||
|
|
this.$http("GET", url.common.threeProportion).then(res => {
|
|||
|
|
this.threeData = res.data
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
getUserInfo () {
|
|||
|
|
this.$http("GET", url.user.getUserInfoBasic).then(res => {
|
|||
|
|
this.setUserInfo(res.data)
|
|||
|
|
this.userDetailInfo = res.data
|
|||
|
|
this.avatar = res.data.headPortrait
|
|||
|
|
this.loading = false
|
|||
|
|
this.getHeaderHeight();
|
|||
|
|
if (!this.avatar && res.data.userResources) {
|
|||
|
|
let userResources = res.data.userResources
|
|||
|
|
userResources.forEach(v => {
|
|||
|
|
if (v.type === 0) {
|
|||
|
|
this.avatar = v.ossUrl
|
|||
|
|
return
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
uni.stopPullDownRefresh()
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
getScale (code) {
|
|||
|
|
if (!code || this.threeData.length === 0) return
|
|||
|
|
let scale = null
|
|||
|
|
this.threeData.forEach(v => {
|
|||
|
|
if (v.keyCode === code) {
|
|||
|
|
scale = v.remarks
|
|||
|
|
return
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
return scale
|
|||
|
|
},
|
|||
|
|
showThreeItem (code) {
|
|||
|
|
if (!code || this.threeData.length === 0) return
|
|||
|
|
let show = false
|
|||
|
|
this.threeData.forEach(v => {
|
|||
|
|
if (v.keyCode === code) {
|
|||
|
|
show = v.keyValue === "1" ? true : false
|
|||
|
|
return
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
return show
|
|||
|
|
},
|
|||
|
|
filterImg (img) {
|
|||
|
|
return publics.filterImgUrl(img, 1)
|
|||
|
|
},
|
|||
|
|
callPhoto (phone) {
|
|||
|
|
uni.makePhoneCall({
|
|||
|
|
phoneNumber: phone
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
goUser (imAccount) {
|
|||
|
|
this.$navigateTo("/pages/interaction/user?userId=" + imAccount)
|
|||
|
|
this.closePopup()
|
|||
|
|
},
|
|||
|
|
toAgent () {
|
|||
|
|
if (this.userDetailInfo.distributorIsOpen === 1) {
|
|||
|
|
this.toNav("/pages/agent/index")
|
|||
|
|
} else {
|
|||
|
|
this.$http("GET", url.distributor.getApplyInfo).then(res => {
|
|||
|
|
// status: 1=审核中,2=审核通过,3=审核失败
|
|||
|
|
if (!res.data) {
|
|||
|
|
this.toNav("/pages/agent/apply")
|
|||
|
|
} else if (res.data.status === 2) {
|
|||
|
|
this.toNav("/pages/agent/index")
|
|||
|
|
} else {
|
|||
|
|
uni.setStorageSync("examineData", res.data)
|
|||
|
|
this.toNav("/pages/merchants/settleIn/result")
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
/**
|
|||
|
|
* item.type === 1 商家入住
|
|||
|
|
* item.type === 2 商家管理
|
|||
|
|
* item.type === 3 商家打赏
|
|||
|
|
* item.type === 4 商家转账
|
|||
|
|
*
|
|||
|
|
*
|
|||
|
|
*/
|
|||
|
|
merchantMenuClick (item) {
|
|||
|
|
const { storeIsOpen } = this.userDetailInfo || {};
|
|||
|
|
switch (item.type) {
|
|||
|
|
case 1:
|
|||
|
|
if (storeIsOpen) {
|
|||
|
|
this.$msg("商家已入驻,请进入商家管理", 2000)
|
|||
|
|
} else {
|
|||
|
|
this.toMerchants()
|
|||
|
|
}
|
|||
|
|
break;
|
|||
|
|
case 2:
|
|||
|
|
if (!storeIsOpen) {
|
|||
|
|
this.$msg("请先商家入驻", 2000)
|
|||
|
|
} else {
|
|||
|
|
this.toMerchants()
|
|||
|
|
}
|
|||
|
|
break;
|
|||
|
|
case 3:
|
|||
|
|
this.toNav("/pages/merchants/reward/reward")
|
|||
|
|
break;
|
|||
|
|
default:
|
|||
|
|
this.$msg("暂未开放", 2000)
|
|||
|
|
break;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
toMerchants () {
|
|||
|
|
this.$http("GET", url.store.getApplyInfo).then(res => {
|
|||
|
|
// status: 1=审核中,2=审核通过,3=审核失败
|
|||
|
|
if (!res.data) {
|
|||
|
|
this.toNav("/pages/merchants/settleIn/step")
|
|||
|
|
} else if (res.data.status === 2) { // 审核通过
|
|||
|
|
this.toNav("/pages/merchants/home")
|
|||
|
|
} else if (res.data.status === 1) { // 审核中
|
|||
|
|
uni.setStorageSync("examineData", res.data)
|
|||
|
|
this.toNav("/pages/merchants/settleIn/result")
|
|||
|
|
} else { //审核失败
|
|||
|
|
uni.setStorageSync("examineData", res.data)
|
|||
|
|
this.toNav("/pages/merchants/settleIn/result")
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
// 客服电话
|
|||
|
|
onContact () {
|
|||
|
|
if (this.mobileList.length === 0) return
|
|||
|
|
let _this = this
|
|||
|
|
let itemList = []
|
|||
|
|
let phoneList = []
|
|||
|
|
this.mobileList.map(v => {
|
|||
|
|
itemList.push(`[${v.type}]${v.name}(${v.keyValue})`)
|
|||
|
|
phoneList.push(v.keyValue)
|
|||
|
|
})
|
|||
|
|
uni.showActionSheet({
|
|||
|
|
itemList: itemList,
|
|||
|
|
success (res) {
|
|||
|
|
if (itemList[res.tapIndex].indexOf("QQ") > -1) {
|
|||
|
|
_this.$onCopy(phoneList[res.tapIndex])
|
|||
|
|
_this.$msg("QQ号已复制, 请打开QQ添加客服联系", 2000)
|
|||
|
|
} else if (itemList[res.tapIndex].indexOf("微信") > -1) {
|
|||
|
|
_this.$onCopy(phoneList[res.tapIndex])
|
|||
|
|
_this.$msg("微信号已复制, 请打开微信添加客服联系", 2000)
|
|||
|
|
} else {
|
|||
|
|
uni.makePhoneCall({
|
|||
|
|
phoneNumber: phoneList[res.tapIndex]
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
// 扫一扫
|
|||
|
|
scanCode () {
|
|||
|
|
let _this = this
|
|||
|
|
uni.scanCode({
|
|||
|
|
scanType: ["qrCode"],
|
|||
|
|
success: function (res) {
|
|||
|
|
console.log('条码内容:' + res.result);
|
|||
|
|
let result = res.result
|
|||
|
|
// 判断内容是url,并且存在data
|
|||
|
|
if ((result.indexOf("https") > -1 || result.indexOf("http") > -1) && result.indexOf(
|
|||
|
|
"data") > -1) {
|
|||
|
|
let reg = new RegExp("(^|&)data=([^&]*)(&|$)");
|
|||
|
|
let json = result.substr(1).match(reg)
|
|||
|
|
try {
|
|||
|
|
let r = JSON.parse(json[2])
|
|||
|
|
if (r && r.type && r.data) {
|
|||
|
|
if (r.type === 99) {
|
|||
|
|
_this.$navigateTo("/pages/interaction/user?userId=" + r.data)
|
|||
|
|
} else {
|
|||
|
|
uni.setStorageSync("codeResultData", r)
|
|||
|
|
_this.$navigateTo("scan/index")
|
|||
|
|
}
|
|||
|
|
} else {
|
|||
|
|
_this.$msg("暂不支持扫码该类型二维码,目前只支持扫商户收款码付款", 5000)
|
|||
|
|
}
|
|||
|
|
} catch (err) {
|
|||
|
|
_this.$msg("暂不支持扫码该类型二维码,目前只支持扫商户收款码付款", 5000)
|
|||
|
|
}
|
|||
|
|
} else {
|
|||
|
|
_this.$msg("暂不支持扫码该类型二维码,目前只支持扫商户收款码付款", 5000)
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
},
|
|||
|
|
goOrder (status) {
|
|||
|
|
let url = "/pages/order/index"
|
|||
|
|
if (status) {
|
|||
|
|
url = url + "?status=" + status
|
|||
|
|
}
|
|||
|
|
this.toNav(url)
|
|||
|
|
},
|
|||
|
|
toNav (path) {
|
|||
|
|
console.log('path', path)
|
|||
|
|
if (!path) return this.$msg('暂未开放')
|
|||
|
|
this.$navigateTo(path)
|
|||
|
|
},
|
|||
|
|
imgJump () {
|
|||
|
|
this.showModal = false
|
|||
|
|
this.$http("POST", url.cms.clickAdvertisingMap, {
|
|||
|
|
id: this.advertData.id
|
|||
|
|
})
|
|||
|
|
publics.advertOption(this.advertData.operationCode, this.advertData.operationValue)
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
</script>
|
|||
|
|
|
|||
|
|
<style lang="scss" scoped>
|
|||
|
|
.main {
|
|||
|
|
// min-height: 100vh;
|
|||
|
|
// background-color: #f2f2f2;
|
|||
|
|
// padding-bottom: 50rpx;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.header {
|
|||
|
|
// height: 300rpx;
|
|||
|
|
padding: 0 20rpx 20rpx 20rpx;
|
|||
|
|
background: linear-gradient(180deg, #F6D5D2, #FFFFFF);
|
|||
|
|
// background-color: rgb(249, 249, 249);
|
|||
|
|
background: url('../../static/images/user/nav_bg.png') center center no-repeat;
|
|||
|
|
background-size: cover;
|
|||
|
|
|
|||
|
|
.avatar {
|
|||
|
|
width: 100rpx;
|
|||
|
|
height: 100rpx;
|
|||
|
|
background-color: white;
|
|||
|
|
border-radius: 50%;
|
|||
|
|
margin-right: 30rpx;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.six {
|
|||
|
|
margin-top: 10rpx;
|
|||
|
|
margin-right: 10rpx;
|
|||
|
|
border-radius: 10rpx;
|
|||
|
|
padding: 0 10rpx 10rpx;
|
|||
|
|
line-height: 28rpx;
|
|||
|
|
// background: linear-gradient(to bottom, #a60ab8 0%, #5c04c3 100%);
|
|||
|
|
border: 2rpx solid white;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.yellow {
|
|||
|
|
background: linear-gradient(to bottom, #b69700 0%, #c66d00 100%);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.green {
|
|||
|
|
background: linear-gradient(to bottom, #38b948 0%, #238300 100%);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.orange {
|
|||
|
|
background: linear-gradient(to bottom, #be5b00 0%, #ff9400 100%);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.redd {
|
|||
|
|
background: linear-gradient(to bottom, #dc4839 0%, #e20b3b 100%);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.con {
|
|||
|
|
padding: 0 20rpx;
|
|||
|
|
padding-top: 30rpx;
|
|||
|
|
background-color: rgb(242, 242, 242);
|
|||
|
|
border-radius: 40rpx 40rpx 0 0;
|
|||
|
|
|
|||
|
|
.culist {
|
|||
|
|
background-color: white;
|
|||
|
|
border-radius: 16rpx;
|
|||
|
|
|
|||
|
|
margin-bottom: 20rpx;
|
|||
|
|
padding: 0 30rpx;
|
|||
|
|
padding-top: 20rpx;
|
|||
|
|
|
|||
|
|
.title {
|
|||
|
|
|
|||
|
|
border-bottom: 2rpx solid #eee;
|
|||
|
|
padding-bottom: 20rpx;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.pad {
|
|||
|
|
padding: 30rpx 0;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.grod {
|
|||
|
|
border-radius: 14rpx;
|
|||
|
|
display: flex;
|
|||
|
|
flex-wrap: wrap;
|
|||
|
|
padding-bottom: 30rpx;
|
|||
|
|
|
|||
|
|
&-item {
|
|||
|
|
width: 20%;
|
|||
|
|
margin-top: 30rpx;
|
|||
|
|
display: flex;
|
|||
|
|
align-items: center;
|
|||
|
|
justify-content: center;
|
|||
|
|
flex-direction: column;
|
|||
|
|
position: relative;
|
|||
|
|
|
|||
|
|
.img {
|
|||
|
|
width: 60rpx;
|
|||
|
|
height: 60rpx;
|
|||
|
|
margin-bottom: 10rpx;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.icon {
|
|||
|
|
font-size: 50rpx;
|
|||
|
|
margin-bottom: 10rpx;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.tips {
|
|||
|
|
position: absolute;
|
|||
|
|
left: 80rpx;
|
|||
|
|
top: -20rpx;
|
|||
|
|
color: white;
|
|||
|
|
font-size: 24rpx;
|
|||
|
|
padding: 0 14rpx;
|
|||
|
|
border-radius: 50rpx;
|
|||
|
|
z-index: 9;
|
|||
|
|
background-color: #CA0400;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.flex-start {
|
|||
|
|
padding: 30rpx 0 0;
|
|||
|
|
|
|||
|
|
.grod-item {
|
|||
|
|
justify-content: flex-start !important;
|
|||
|
|
margin-bottom: 30rpx;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.history {
|
|||
|
|
padding-top: 0;
|
|||
|
|
background-color: rgba($color: #fff, $alpha: 0) !important;
|
|||
|
|
margin: 0;
|
|||
|
|
margin-top: 50rpx;
|
|||
|
|
// margin-bottom: 50rpx;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.list {
|
|||
|
|
margin-bottom: 20rpx;
|
|||
|
|
|
|||
|
|
&-item {
|
|||
|
|
height: 110rpx;
|
|||
|
|
padding: 0 30rpx;
|
|||
|
|
border-radius: 14rpx;
|
|||
|
|
margin-bottom: 10rpx;
|
|||
|
|
|
|||
|
|
.icon {
|
|||
|
|
width: 40rpx;
|
|||
|
|
height: 40rpx;
|
|||
|
|
margin-right: 10rpx;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.carousel-section {
|
|||
|
|
margin-bottom: 20rpx;
|
|||
|
|
padding: 0;
|
|||
|
|
display: flex;
|
|||
|
|
align-items: center;
|
|||
|
|
justify-content: space-between;
|
|||
|
|
|
|||
|
|
.carousel {
|
|||
|
|
width: 48%;
|
|||
|
|
height: 220upx;
|
|||
|
|
|
|||
|
|
.img {
|
|||
|
|
width: 100%;
|
|||
|
|
height: 100%;
|
|||
|
|
border-radius: 16rpx;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.swiper-dots {
|
|||
|
|
left: 45upx;
|
|||
|
|
bottom: 40upx;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.third {
|
|||
|
|
padding-bottom: 100rpx;
|
|||
|
|
|
|||
|
|
.title {
|
|||
|
|
margin-bottom: 20rpx;
|
|||
|
|
|
|||
|
|
.xian {
|
|||
|
|
margin: 0 40rpx;
|
|||
|
|
color: #C0C0C0;
|
|||
|
|
font-size: 30rpx;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.grid {
|
|||
|
|
flex-flow: wrap;
|
|||
|
|
display: flex;
|
|||
|
|
background-color: white;
|
|||
|
|
border-radius: 14rpx;
|
|||
|
|
|
|||
|
|
&-item {
|
|||
|
|
display: flex;
|
|||
|
|
flex-direction: column;
|
|||
|
|
align-items: center;
|
|||
|
|
justify-content: center;
|
|||
|
|
width: 226rpx;
|
|||
|
|
padding: 30rpx 0;
|
|||
|
|
border-right: 2rpx solid #f5f5f5;
|
|||
|
|
border-bottom: 2rpx solid #f5f5f5;
|
|||
|
|
|
|||
|
|
.icon {
|
|||
|
|
font-size: 50rpx;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.name {
|
|||
|
|
margin-top: 10rpx;
|
|||
|
|
font-size: 28rpx;
|
|||
|
|
color: #666666;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.popup {
|
|||
|
|
width: 600rpx;
|
|||
|
|
background-color: white;
|
|||
|
|
padding: 30rpx;
|
|||
|
|
border-radius: 16rpx;
|
|||
|
|
|
|||
|
|
.img {
|
|||
|
|
width: 120rpx;
|
|||
|
|
height: 120rpx;
|
|||
|
|
border-radius: 50%;
|
|||
|
|
margin-right: 20rpx;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.btn {
|
|||
|
|
font-size: 24rpx;
|
|||
|
|
color: #F8D247;
|
|||
|
|
border: 2rpx solid #F8D247;
|
|||
|
|
border-radius: 6rpx;
|
|||
|
|
padding: 4rpx 20rpx;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.fixed {
|
|||
|
|
// position: fixed;
|
|||
|
|
// bottom: 30rpx;
|
|||
|
|
// left: 0;
|
|||
|
|
// right: 0;
|
|||
|
|
margin-top: 80rpx;
|
|||
|
|
margin-bottom: 50rpx;
|
|||
|
|
display: flex;
|
|||
|
|
align-items: center;
|
|||
|
|
justify-content: center;
|
|||
|
|
flex-direction: column;
|
|||
|
|
|
|||
|
|
.p1 {
|
|||
|
|
font-size: 30rpx;
|
|||
|
|
color: #666;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.p2 {
|
|||
|
|
font-size: 24rpx;
|
|||
|
|
color: #999999;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
</style>
|