<template>
	<view class="userStyle">
		<view class="userBox" :style="{ 'margin-bottom': bottommargin }">
			<view
				:style="{ 'background-image': 'url(' + (meueData.user_center.top_pic_url ? meueData.user_center.top_pic_url : '') + ')', backgroundSize: '100% 330rpx' }"
				class="imgbg"
			>
				<view style="display: flex;flex-direction: row;align-items: center;width: 100%;" v-if="meueData.user_center.top_style == 1">
					<u-avatar :src="user_info.avatar" size="140" style="margin-left: 50rpx;"></u-avatar>
					<view style="display: flex;flex-direction: column;justify-content: center;">
						<Text style="color: #FFF;margin-left: 20rpx;font-size: 36rpx;" @click="login(user_info)">{{ user_info.nickname ? user_info.nickname : '立即登录' }}</Text>
						<view class="member" v-if="is_icon_members_grade == 1">
							<image :src="meueData.user_center.top_pic_url" mode="aspectFill" style="width: 26px;height: 26px;border-radius: 13px;"></image>
							<Text style="margin-right: 10px;">{{ user_info.identity.level_name != null ? user_info.identity.level_name : '普通用户' }}</Text>
						</view>
					</view>
				</view>
				<view style="display: flex;flex-direction: column;align-items: center;" v-if="meueData.user_center.top_style == 2">
					<u-avatar :src="user_info.avatar" size="140"></u-avatar>
					<Text style="color: #FFF;margin-left: 20rpx;font-size: 36rpx;" @click="login(user_info)">{{ user_info.nickname ? user_info.nickname : '立即登录' }}</Text>
					<view class="member" v-if="is_icon_members_grade == 1">
						<image :src="meueData.user_center.top_pic_url" mode="aspectFill" style="width: 26px;height: 26px;border-radius: 13px;"></image>
						<Text style="margin-right: 10px;">{{ user_info.identity.level_name != null ? user_info.identity.level_name : '普通用户' }}</Text>
					</view>
				</view>
				<view class="ReceiptAdder" @click="goUrl('/pages/address/address')" :style="{ background: mainColor }">
					<u-icon name="location" color="#fff" size="40"></u-icon>
					<Text style="color: #fff;font-size: 32;margin-left: 20rpx;">收货地址</Text>
				</view>
			</view>
			<view class="footprint" v-if="meueData.user_center.is_foot_bar_status == 1">
				<view class="footprint_item" @click="goUrl('/pages/favorite/favorite')">
					<text>{{ user_info.favorite }}</text>
					<view class="footprint_item_bottom">
						<image :src="meueData.user_center.foot_bar[0].icon_url" style="width: 40rpx;height: 40rpx;"></image>
						<Text style="margin-left: 10rpx;">{{ meueData.user_center.foot_bar[0].name }}</Text>
					</view>
				</view>
				<view style="width: 1px;height: 60rpx;background: #000000;"></view>
				<view class="footprint_item" @click="goUrl('/pages/foot/index/index')">
					<text>{{ user_info.footprint }}</text>
					<view class="footprint_item_bottom">
						<image :src="meueData.user_center.foot_bar[1].icon_url" style="width: 40rpx;height: 40rpx;"></image>
						<Text style="margin-left: 10rpx;">{{ meueData.user_center.foot_bar[1].name }}</Text>
					</view>
				</view>
			</view>

			<view class="account_bar" v-if="meueData.user_center.is_account_status == 1">
				<view class="account_bar_item" v-for="(item, index) in meueData.user_center.account" @click="goUrl(item.link_url)" :key="index">
					<!-- 优惠券 -->
					<Text :style="{ color: secondary }" v-if="item.link_url == '/pages/coupon/index/index'">{{ user_info.coupon }}</Text>
					<!-- 积分 -->
					<Text :style="{ color: secondary }" v-if="item.link_url == '/pages/user-center/integral-detail/integral-detail'">{{ user_info.integral }}</Text>
					<!-- 余额 -->
					<Text :style="{ color: secondary }" v-if="item.link_url == '/pages/balance/balance'">{{ user_info.balance }}</Text>
					<!-- 卡券 -->
					<Text :style="{ color: secondary }" v-if="item.link_url == '/pages/card/index/index'">{{ user_info.card }}</Text>
					<view class="footprint_item_bottom">
						<image :src="item.icon_url" style="width: 26rpx;height: 26rpx;"></image>
						<Text style="margin-left: 10rpx;">{{ item.name }}</Text>
					</view>
				</view>
				<view style="width: 1px;height: 60rpx;background: #f5f5f5;" v-if="meueData.user_center.account_bar.integral.status == 1"></view>
			</view>

			<view class="order_bar" v-if="meueData.user_center.is_order_bar_status == 1">
				<u-section title="我的订单" sub-title="查看更多" style="width: 100%;padding: ;" @click="goUrl('/pages/order/index/index?status=0')"></u-section>
				<view class="order_bar_list">
					<view class="order_bar_item" v-for="(item, index) in meueData.user_center.order_bar" :key="index" :name="item.name" @click="goUrl(item.link_url)">
						<image :src="item.icon_url" style="width: 66rpx;height: 60rpx;"></image>
						<Text style="margin-top: 10rpx;">{{ item.name }}</Text>
						<!-- 待付款 -->
						<view v-if="item.link_url == '/pages/order/index/index?status=1' && user_info.MyOrder.NonPayment > 0" class="badge" :style="{ background: mainColor }">
							{{ user_info.MyOrder.NonPayment }}
						</view>
						<!-- 待发货 -->
						<view v-if="item.link_url == '/pages/order/index/index?status=2' && user_info.MyOrder.WaitSendGoods > 0" class="badge" :style="{ background: mainColor }">
							{{ user_info.MyOrder.WaitSendGoods }}
						</view>
						<!-- 待收货 -->
						<view v-if="item.link_url == '/pages/order/index/index?status=3' && user_info.MyOrder.WaitReceiving > 0" class="badge" :style="{ background: mainColor }">
							{{ user_info.MyOrder.WaitReceiving }}
						</view>
						<!-- 待评价 -->
						<view v-if="item.link_url == '/pages/order/index/index?status=4' && user_info.MyOrder.WaitCommentNum > 0" class="badge" :style="{ background: mainColor }">
							{{ user_info.MyOrder.WaitCommentNum }}
						</view>
						<!-- 售后 -->
						<view v-if="item.link_url == '/pages/order/after-sale/refunds-list' && user_info.MyOrder.AfterSaleNum > 0" class="badge" :style="{ background: mainColor }">
							{{ user_info.MyOrder.AfterSaleNum }}
						</view>
					</view>
				</view>
			</view>

			<view :class="meueData.user_center.menu_style == 1 ? 'menus2' : 'menus'" v-if="meueData.user_center.is_menu_status == 1">
				<view
					:class="meueData.user_center.menu_style == 1 ? 'menus_item2' : 'menus_item'"
					v-for="(item, index) in meueData.user_center.menus"
					:key="index"
					:name="item.name"
					@click="goUrl(item.link_url)"
					v-if="item.name != '分销中心' || user_info.isShowDistributionCenter == 1"
				>
					<image :src="item.icon_url" style="width: 48rpx;height: 48rpx;"></image>
					<Text
						:style="{ 'margin-top': meueData.user_center.menu_style == 1 ? '0rpx' : '10rpx', 'margin-left': meueData.user_center.menu_style == 1 ? '10rpx' : '0rpx' }"
					>
						{{ item.name }}
					</Text>
					<button open-type="contact" v-if="item.link_url == 'contact' && item.name == '客服'">0</button>
				</view>
			</view>
			<view class="copyright">
				<image :src="meueData.user_center.copyright.pic_url" mode="widthFix" style="width: 95px;"></image>
				<Text style="margin-top: 10rpx;color: #666666;">{{ meueData.user_center.copyright.description }}</Text>
			</view>
		</view>
		<auth v-if="showAuth" @changeuserinfo="reloadUserinfo" @gbAuth="gbAuth"></auth>
		<tabbars></tabbars>
	</view>
</template>

<script>
import tabbars from '@/components/tabbar/index';
import auth from '../../components/auth/index.vue';

export default {
	data() {
		return {
			isloading: true,
			pageTitle: '用户中心',
			navHeight: 0,
			contentHeight: 0,
			cstyle: {},
			meueData: {}, //菜单
			user_info: {}, //个人信息
			bottommargin: 0,
			listbottom: 0,
			showAuth: false,
			mainColor: '',
			secondary: '',
			u: {},
			is_icon_members_grade: 0
		};
	},
	components: {
		tabbars,
		auth
	},
	created() {
		this.mainColor = this.$uiConfig.mainColor;
		this.secondary = this.$uiConfig.secondary;
	},
	onLoad() {
		this.navHeight = this.$navHeight - 2;
		this.u = wx.getStorageSync('basedata').user_info;
		// if (!this.u) {
		// 	this.u = {
		// 		nickname: '未登录',
		// 		avatarUrl: ''
		// 	};
		// 	this.showAuth = true;
		// }
	},
	mounted() {
		let currentPages = getCurrentPages();
		let c = this.$uiConfig.is_bang ? 80 : 52;
		this.bottommargin = c - 2 + 'px';
		this.listbottom = c - 2 + 50 + 'px';
		this.contentHeight = this.$utils.calcContentHeight(c);
		this.is_icon_members_grade = uni.getStorageSync('basedata') ? uni.getStorageSync('basedata').mall.setting.is_icon_members_grade : 0;
		let u = '/' + currentPages[currentPages.length - 1].route;
		let pages = wx.getStorageSync('basedata') ? wx.getStorageSync('basedata').bar_title : [];
		// pages.forEach(x => {
		// 	if (x.value == u) {
		// 		this.pageTitle = x.new_name ? x.new_name : x.name;
		// 	}
		// });
		uni.setNavigationBarTitle({
			title: '用户中心'
		});
		this.userinfo();
	},
	onShow() {
		this.userinfo();
	},
	methods: {
		goHome() {
			uni.redirectTo({ url: '/pages/index/main' });
		},

		//获取菜单配置
		userinfo() {
			uni.showNavigationBarLoading();
			this.request2(
				{
					url: '/api/Mall/GetUserCenter',
					data: {}
				},
				res => {
					uni.hideNavigationBarLoading();
					this.meueData = res.data.config;
					this.user_info = res.data.user_info;
				}
			);
		},
		goUrl(url) {
			if (url == '/pages/balance/balance') {
				uni.navigateTo({
					url: '/pages/balance/balance?balance=' + this.user_info.balance
				});
			} else {
				uni.navigateTo({
					url: url
				});
			}
		},
		reloadUserinfo() {
			this.userinfo();
			this.u = this.user_info;
			this.showAuth = false;
		},
		login(name) {
			if ((name && name.nickname == '') || !name || !name.nickname) {
				this.showAuth = true;
			}
		},
		//关闭登录窗口
		gbAuth() {
			this.showAuth = false;
		}
	}
};
</script>

<style>
.body {
	background: #f3f4f6;
}
.userStyle .userBox {
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	background: #f3f4f6;
	min-height: 100vh;
}
.userStyle .imgbg {
	width: 100%;
	height: 330rpx;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
}
.userStyle .headimg {
	width: 140rpx;
	height: 140rpx;
	border-radius: 50%;
	margin-left: 60rpx;
}
.userStyle .footprint {
	width: 80%;
	height: 140rpx;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-around;
}
.userStyle .footprint_item {
	width: 200rpx;
	height: 90rpx;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
}
.userStyle .footprint_item_bottom {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
}
.userStyle .account_bar {
	width: 94%;
	height: 110rpx;
	border-radius: 10rpx;
	background: #fff;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-around;
	padding: 0 20rpx;
}
.userStyle .account_bar_item {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	border-right: 1px solid #d1d1d1;
	width: 25%;
}
.userStyle .account_bar_item:last-child {
	border-right: 0;
}
.userStyle .order_bar {
	width: 94%;
	border-radius: 10rpx;
	background: #fff;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 30rpx;
	margin-top: 30rpx;
}
.userStyle .order_bar .order_bar_list {
	width: 100%;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
}
.userStyle .order_bar_item {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-top: 20rpx;
	position: relative;
}
.userStyle .badge {
	position: absolute;
	right: -10rpx;
	top: -10rpx;
	padding: 0 12rpx;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20rpx;
	color: #fff;
	height: 30rpx;
	border-radius: 15rpx;
}
.userStyle .menus {
	width: 94%;
	border-radius: 10rpx;
	background: #fff;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	margin-top: 30rpx;
}
.userStyle .menus2 {
	width: 94%;
	border-radius: 10rpx;
	background: #fff;
	display: flex;
	flex-direction: column;
	margin-top: 20rpx;
}
.userStyle .menus .menus_item {
	width: 25%;
	height: 110rpx;
	margin: 20rpx 0 10rpx;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	position: relative;
}
.menus_item2,
.menus_item button {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	opacity: 0;
}
.userStyle .menus2 .menus_item2 {
	width: 100%;
	height: 80rpx;
	display: flex;
	flex-direction: row;
	align-items: center;
	margin-left: 30rpx;
	position: relative;
}
.userStyle .copyright {
	padding: 70rpx 0;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.userStyle .ReceiptAdder {
	position: absolute;
	right: 0;
	top: 125rpx;
	width: 230rpx;
	height: 80rpx;
	border-top-left-radius: 40rpx;
	border-bottom-left-radius: 40rpx;
	display: flex;
	flex-direction: row;
	align-items: center;
	padding: 0 20rpx;
}
.userStyle .member {
	background: #3b3641;
	width: 80px;
	font-size: 10px;
	color: #fff;
	height: 18px;
	border-radius: 9px;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
}
</style>
