mall_client/zyhs3_uniapp/pages/user/indexCopy.vue

1280 lines
35 KiB
Vue
Raw Normal View History

2026-03-13 07:50:35 +00:00
<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">&#xe62a;</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">&#xe770;</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">&#xe64a;</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>