<template>
	<view class="container">
		<view class="vheigh"></view>
		<view class="top-image"><image src="../../static/user/user-top.png" mode=""></image></view>
		<view class="user-set flex">
			<view class="set-logo" @click="navTo('/pages/set/userinfo')"><image src="../../static/user/user1.png" mode=""></image></view>
			<!-- <view class="xx-logo"><image src="../../static/user/user2.png" mode=""></image></view> -->
		</view>
		<view class="user-wrap">
			<view class="info-left flex">
				<view class="user-name">
					<image :src="userInfo.avatar || '../../static/error/missing-face.png'" mode=""></image>
					<view class="user-font">
						<view class="name clamp">{{ userInfo.nickname }}</view>
						<view class="phone">{{ userInfo.phone }}</view>
						<view class="phone uid">UID：{{ userInfo.uid }}</view>
					</view>
				</view>
				<view class="kpi" v-if="userInfo.level != 0">
					<view class="kpi-bg"><image class="bg" src="../../static/user/vip.png" mode=""></image></view>
					<view class="kpi-font">{{ userInfo.level_name }}</view>
				</view>
			</view>
			<view class="flex">
				<view class="info-right" @click="navTo('/pages/money/wallet')">
					<image class="iright-icon" src="../../static/user/user3.png" mode=""></image>
					<view class="iright-font">钱包余额：{{ userInfo.now_money }}</view>
				</view>
				<view class="info-right" @click="navTo('/pages/money/recharge')">
					<image class="iright-icon" src="../../static/user/user3.png" mode=""></image>
					<view class="iright-font">充值钱包</view>
				</view>
			</view>
		</view>
		<view class="main-box">
			<view class="title flex">
				<view class="title-left">
					<image class="title-icon" src="../../static/user/user4.png" mode=""></image>
					<view class="title-font">我的资产</view>
				</view>
				<!-- <image class="title-right" src="../../static/img/back.png" mode=""></image> -->
			</view>
			<view class="main flex">
				<view class="item" @click="navTo('/pages/user/award')">
					<view class="item-num">{{ userInfo.brokerage_price }}</view>
					<view class="item-font">绿色积分</view>
				</view>
				<!-- <view class="item" @click="navTo('/pages/user/scoreAccumulate')">
					<view class="item-num">{{ userInfo.integral }}</view>
					<view class="item-font">我的积分</view>
				</view> -->
				<!-- <view class="item" @click="navTo('/pages/user/cash')">
					<view class="item-num">{{ userInfo.voucher }}</view>
					<view class="item-font">抵用券</view>
				</view> -->
				<view class="item" @click="navTo('/pages/user/tradeList')">
					<view class="item-num">{{ userInfo.award_range }}</view>
					<view class="item-font">分红额度</view>
				</view>
			</view>
		</view>
		<view class="main-box">
			<view class="title flex" @click="navTo('/pages/order/order?state=0')">
				<view class="title-left">
					<image class="title-icon" src="../../static/user/user5.png" mode=""></image>
					<view class="title-font">我的订单</view>
				</view>
				<image class="title-right" src="../../static/img/back.png" mode=""></image>
			</view>
			<view class="main flex">
				<view class="oitem" @click="navTo('/pages/order/order?state=0')">
					<image class="oitem-image" src="../../static/user/user6.png" mode=""></image>
					<view class="oitem-font">待付款</view>
				</view>
				<view class="oitem" @click="navTo('/pages/order/order?state=1')">
					<image class="oitem-image" src="../../static/user/user7.png" mode=""></image>
					<view class="oitem-font">待发货</view>
				</view>
				<view class="oitem" @click="navTo('/pages/order/order?state=2')">
					<image class="oitem-image" src="../../static/user/user8.png" mode=""></image>
					<view class="oitem-font">待收货</view>
				</view>
				<view class="oitem" @click="navTo('/pages/order/order?state=3')">
					<image class="oitem-image" src="../../static/user/user9.png" mode=""></image>
					<view class="oitem-font">已完成</view>
				</view>
			</view>
		</view>
		<uni-list class="tool-list">
			<uni-list-item title="商家专区" v-if="userInfo.is_store==1" @click="navTo('/pages/shoping/storelist')" thumb="/static/user/user16.png"></uni-list-item>
			<uni-list-item title="我的推广" @click="navTo('/pages/user/team')" thumb="/static/user/user15.png"></uni-list-item>
			<uni-list-item title="邀请有礼" @click="navTo('/pages/user/shareQrCode')" thumb="/static/user/user10.png"></uni-list-item>
			<uni-list-item title="我的收藏" @click="navTo('/pages/user/favorites')" thumb="/static/user/user11.png"></uni-list-item>
			<uni-list-item title="客服中心" @click="openKf()" thumb="/static/user/user09.png"></uni-list-item>
			<uni-list-item title="设置" @click="navTo('/pages/set/userinfo')" thumb="/static/user/user13.png"></uni-list-item>
		</uni-list>
		<uni-popup ref="popupkf" type="center">
			<view class="popup-box">
				<view class="img"><image src="../../static/img/img009.png" mode=""></image></view>
				<view class="mian">
					<view class="delivery">
						<view class="title">已经为您定制专属客服</view>
						<image src="../../static/img/img010.png" mode=""></image>
					</view>
					<view class="nocancel">客服VX:{{ text }}</view>
					<view class="comfirm-box">
						<view class="cancel" @click="cancel">取消</view>
						<view class="comfirm" @click="comfirm(text)">复制微信</view>
					</view>
				</view>
			</view>
		</uni-popup>
	</view>
</template>
<script>
import { tabbar1 } from '@/utils/tabbar.js';
import { mapState, mapMutations } from 'vuex';
import uniList from '@/components/uni-list/uni-list.vue';
import uniListItem from '@/components/uni-list-item/uni-list-item.vue';
import { orderData, getUserInfo } from '@/api/user.js';
import { saveUrl, interceptor } from '@/utils/loginUtils.js';
let startY = 0,
	moveY = 0,
	pageAtTop = true;
export default {
	components: {
		uniList,
		uniListItem
	},
	data() {
		return {
			current: 4,
			tabbar: tabbar1,
			qded: false, //是否已签到
			text: '' //客服微信
		};
	},
	onShow() {
		// 判断是否已经登录
		if (this.hasLogin) {
			this.loadBaseData();
		}
		this.loadBaseData();
	},
	onReady() {
		// 初始化获取页面宽度
		uni.createSelectorQuery()
			.select('.container')
			.fields(
				{
					size: true
				},
				data => {
					// 计算最多下拉的高度
					this.userDowm = Math.floor((data.width / 750) * 185);
					// 计算最大触发修改高度事件
					this.userMaxDowm = Math.floor((data.width / 750) * 250);
				}
			)
			.exec();
	},
	// #ifndef MP
	// onNavigationBarButtonTap(e) {
	// 	const index = e.index;
	// 	if (index === 0) {
	// 		this.navTo('/pages/set/set');
	// 	} else if (index === 1) {
	// 		// #ifdef APP-PLUS
	// 		const pages = getCurrentPages();
	// 		const page = pages[pages.length - 1];
	// 		const currentWebview = page.$getAppWebview();
	// 		currentWebview.hideTitleNViewButtonRedDot({
	// 			index
	// 		});
	// 		// #endif
	// 		uni.navigateTo({
	// 			url: '/pages/user/notice'
	// 		});
	// 	}
	// },
	// #endif
	computed: {
		...mapState('user', ['userInfo', 'orderInfo', 'hasLogin'])
	},
	methods: {
		...mapMutations('user', ['setUserInfo', 'setOrderInfo']),
		// 加载初始数据
		loadBaseData() {
			getUserInfo({})
				.then(({ data }) => {
					this.setUserInfo(data);
					// 获取用户数据完毕后在获取订单数据防止多次跳转到登录页
					orderData({})
						.then(({ data }) => {
							this.setOrderInfo(data);
						})
						.catch(e => {
							this.setOrderInfo({
								complete_count: 0, //完成
								received_count: 0, //待收货
								unshipped_count: 0, //待发货
								order_count: 0, //订单总数
								unpaid_count: 0 //待付款
							});
						});
				})
				.catch(e => {
					console.log(e);
				});
		},
		/**
		 * 统一跳转接口,拦截未登录路由
		 * navigator标签现在默认没有转场动画，所以用view
		 */
		navTo(url) {
			console.log(url);
			// if (!this.hasLogin) {
			// 	// 保存地址
			// 	saveUrl();
			// 	// 登录拦截
			// 	interceptor();
			// } else {
			uni.navigateTo({
				url
			});
			// }
		},
		useTool(e) {
			this.navTo(e.path);
		},
		// 签到弹窗
		goQd() {
			this.$refs.popupqd.open();
			this.qded = true;
		},
		// 关闭签到弹窗
		closeQd() {
			this.$refs.popupqd.close();
		},
		// 打开客服
		openKf() {
			this.$refs.popupkf.open();
		},
		// 关闭客服
		cancel() {
			this.$refs.popupkf.close();
		}
	}
};
</script>
<style lang="scss">
%flex-center {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

%section {
	display: flex;
	justify-content: space-around;
	align-content: center;
	background: #fff;
	border-radius: 10rpx;
}

.container,
page {
	min-height: 100%;
	height: auto;
	background-color: $page-color-base;
}

.vheigh {
	height: var(--status-bar-height);
	background-color: $base-color;
}

.top-image {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 230rpx;
	image {
		width: 100%;
		height: 100%;
	}
}

.tool-list {
	width: 690rpx;
	margin: auto;
	margin-top: 20rpx;
	background: #ffffff;
	box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.06);
	border-radius: 20rpx;
}

.popup-box {
	width: 522rpx;
	height: 605rpx;
	background-color: #ffffff;
	border-radius: 20rpx;
	position: relative;

	.img {
		position: relative;
		top: -56rpx;
		left: 0;
		width: 522rpx;
		height: 132rpx;
		display: flex;
		justify-content: center;

		image {
			border-radius: 20rpx 20rpx 0 0;
			width: 450rpx;
			height: 132rpx;
		}
	}

	.mian {
		margin-top: -44rpx;
		display: flex;
		flex-direction: column;
		align-items: center;
		// padding: 32rpx 32rpx;
		background-color: #ffffff;
		border-radius: 0 0 20rpx 20rpx;
		text-align: center;

		.delivery {
			font-size: 40rpx;
			color: #333333;
			display: flex;
			align-items: center;
			flex-direction: column;

			image {
				margin-top: 48rpx;
				width: 172rpx;
				height: 160rpx;
			}
		}

		.nocancel {
			font-size: 32rpx;
			color: #333333;
			margin-top: 14rpx;
		}

		.comfirm-box {
			margin-top: 52rpx;
			display: flex;
			// margin-bottom: 32rpx;

			// justify-content: space-around;
			.cancel {
				display: flex;
				align-items: center;
				justify-content: center;
				width: 197rpx;
				height: 74rpx;
				border: 1px solid #dcc786;
				border-radius: 38rpx;

				font-size: 32rpx;
				color: #605128;
			}

			.comfirm {
				margin-left: 32rpx;
				display: flex;
				align-items: center;
				justify-content: center;
				width: 197rpx;
				height: 74rpx;
				background: linear-gradient(-90deg, #d1ba77 0%, #f7e8ad 100%);
				border-radius: 38px;
				font-size: 32rpx;
				color: #605128;
			}
		}
	}
}

.popup {
	width: 560rpx;
	padding-bottom: 45rpx;
	background-color: #ffffff;
	border-radius: 15rpx;
	text-align: center;
	line-height: 1;

	.popup-dox {
		position: relative;

		.popup-logo {
			margin: -160rpx auto 0;
			width: 400rpx;
			height: 200rpx;
		}
	}

	.popup-title {
		margin-top: 85rpx;
		font-size: 40rpx;
		font-family: PingFang SC;
		font-weight: bold;
		color: #2a2a2a;

		text {
			font-size: 56rpx;
			color: #e83f30;
		}
	}

	.popup-tip {
		margin-top: 20rpx;
		font-size: 28rpx;
		font-family: PingFang SC;
		font-weight: 500;
		color: #8c8c8c;

		text {
			color: #e83f30;
		}
	}

	.popup-btn {
		margin: 58rpx auto 0;
		width: 270rpx;
		height: 66rpx;
		background: #f0c838;
		border-radius: 34rpx;
		text-align: center;
		line-height: 66rpx;
		font-size: 36rpx;
		font-family: Source Han Sans CN;
		font-weight: 500;
		color: #ffffff;
	}
}
.user-wrap {
	position: relative;
	z-index: 10;
	width: 690rpx;
	height: 283rpx;
	background: #ffffff;
	box-shadow: 0px 4rpx 13rpx 0px rgba(229, 229, 229, 0.46);
	border-radius: 20rpx;
	padding: 34rpx 0 40rpx;
	margin: auto;
	.info-left {
		padding-left: 34rpx;
		.user-name {
			display: flex;
			align-items: center;
			image {
				width: 120rpx;
				height: 120rpx;
				border-radius: 50%;
			}
			.user-font {
				padding-left: 34rpx;
				.name {
					width: 250rpx;
					font-size: 40rpx;
					font-family: Source Han Sans CN;
					font-weight: 400;
					color: #333333;
				}
				.phone {
					margin-top: 10rpx;
					font-size: 20rpx;
					font-weight: 500;
					color: #999999;
					&.uid{
						font-size: 32rpx;
						font-weight: bold;
					}
				}
			}
		}
		.kpi {
			position: relative;
			background: #f5eede;
			border-radius: 30rpx 0px 0px 30rpx;
			width: 178rpx;
			height: 54rpx;
			border-radius: 26px 0px 0px 25px;
			font-size: 26rpx;
			font-family: PingFang SC;
			font-weight: bold;
			color: #c6914e;
			.kpi-bg {
				position: absolute;
				top: 0;
				right: 0;
				left: 0;
				.bg {
					width: 178rpx;
					height: 54rpx;
				}
			}
			.kpi-font {
				position: relative;
				z-index: 2;
				line-height: 54rpx;
				text-align: right;
				margin-right: 16rpx;
				font-size: 26rpx;
				font-family: PingFang SC;
				font-weight: 500;
				color: #93794b;
			}
		}
	}
	.info-right {
		display: flex;
		align-items: center;
		margin-top: 54rpx;
		padding: 0 34rpx;
		.iright-icon {
			width: 32rpx;
			height: 32rpx;
		}
		.iright-font {
			margin-left: 12rpx;
			font-size: 28rpx;
			font-family: PingFang SC;
			font-weight: bold;
			color: #333333;
		}
	}
}
.user-set {
	view {
		flex-shrink: 0;
	}
	padding: 30rpx;
	image {
		height: 40rpx;
		width: 40rpx;
	}
}
.main-box {
	margin: 20rpx auto 0;
	width: 690rpx;
	background: #ffffff;
	box-shadow: 0px 4rpx 14rpx 0px rgba(229, 229, 229, 0.46);
	border-radius: 20rpx;
	.title {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 24rpx;
		border-bottom: 1px solid #eeeeee;
		.title-left {
			display: flex;
			align-items: center;
			.title-icon {
				width: 32rpx;
				height: 32rpx;
			}
			.title-font {
				margin-left: 20rpx;
				font-size: 28rpx;
				font-family: PingFang SC;
				font-weight: bold;
				color: #333333;
			}
		}
		.title-right {
			width: 14rpx;
			height: 24rpx;
		}
	}
	.main {
		padding: 50rpx 0 30rpx;
		.item {
			padding-bottom: 20rpx;
			width: 33%;
			flex-grow: 1;
			display: flex;
			flex-direction: column;
			align-items: center;
			.item-num {
				font-size: 36rpx;
				font-family: PingFang SC;
				font-weight: bold;
				color: #333333;
			}
			.item-font {
				margin-top: 18rpx;
				font-size: 22rpx;
				font-family: PingFang SC;
				font-weight: 500;
				color: #666666;
			}
		}
		.oitem {
			width: 25%;
			display: flex;
			flex-direction: column;
			align-items: center;
			.oitem-image {
				height: 50rpx;
				width: 48rpx;
			}
			.oitem-font {
				margin-top: 20rpx;
				font-size: 24rpx;
				font-family: PingFang SC;
				font-weight: 500;
				color: #333333;
			}
		}
	}
}
</style>
