<template>
	<view>
		<lf-nav title="我的" :showIcon="true" :spreadOut="false" bgColor="transparent" titleColor="#fff"></lf-nav>
		<block v-if="$isRight(detail)">
			<view class="head">
				<view class="bg-left"></view>
				<view class="bg-right"></view>
				<view class="head-content">
					<view class="lf-flex">
						<image class="head-img" :src="detail.brand.logo"></image>
						<view class="head-title lf-line-3">{{ detail.brand.name }}</view>
					</view>
					<view class="lf-flex">
						<view class="head-menu" @click="$url('/pages/business/balance/balance')">
							<text class="lf-iconfont icon-yue"></text>
							<text>余额</text>
						</view>
						<view class="head-menu" @click="onScanCode">
							<text class="lf-iconfont icon-saoyisao"></text>
							<text>扫一扫</text>
						</view>
					</view>
				</view>
			</view>
			<view class="notice">
				<!-- <u-notice-bar mode="vertical" type="none" :volume-icon="false" :list="detail.notice"></u-notice-bar> -->
				<u-notice-bar type="none" :volume-icon="false" mode="vertical" :list="detail.notice"></u-notice-bar>
			</view>
			<view class="card">
				<view class="lf-row-between">
					<view class="title">待处理</view>
					<view class="lf-color-777" @click="$url('/pages/business/order/list')">
						<text class="lf-font-24 lf-m-r-10">订单管理</text>
						<text class="lf-iconfont icon-xiangyou lf-font-20"></text>
					</view>
				</view>
				<view class="lf-flex lf-m-t-50">
					<view class="item" :style="{width: 100 / 3 +'%'}">
						<view class="num">{{ detail.todo.new }}</view>
						<view>待付款</view>
					</view>
					<view class="item" :style="{width: 100 / 3 +'%'}">
						<view class="num">{{ detail.todo.send }}</view>
						<view>待发货</view>
					</view>
					<view class="item" :style="{width: 100 / 3 +'%'}">
						<view class="num">{{ detail.todo.pick }}</view>
						<view>待提货</view>
					</view>
				</view>
			</view>
			
			<view class="card">
				<view class="lf-row-between">
					<view class="title">今日数据</view>
				</view>
				<view class="lf-flex lf-m-t-50">
					<view class="item" :style="{width: 100 / 3 +'%'}">
						<view class="num">
							<text>{{ detail.today.pay }}</text>
							<text class="lf-font-24">(元)</text>
						</view>
						<view>支付金额</view>
					</view>
					<view class="item" :style="{width: 100 / 3 +'%'}">
						<view class="num">
							<text>{{ detail.today.online }}</text>
							<text class="lf-font-24">(笔)</text>
						</view>
						<view>线上订单</view>
					</view>
					<view class="item" :style="{width: 100 / 3 +'%'}">
						<view class="num">
							<text>{{ detail.today.offline }}</text>
							<text class="lf-font-24">(笔)</text>
						</view>
						<view>线下订单</view>
					</view>
				</view>
			</view>
			<view class="card">
				<view class="lf-row-between">
					<view class="title">我的商品</view>
				</view>
				<view class="lf-flex lf-m-t-50">
					<view class="item" :style="{width: 100 / 3 +'%'}">
						<view class="num">{{ detail.goods.del }}</view>
						<view>销售中</view>
					</view>
					<view class="item" :style="{width: 100 / 3 +'%'}">
						<view class="num">{{ detail.goods.on_sell }}</view>
						<view>待上架</view>
					</view>
					<view class="item" :style="{width: 100 / 3 +'%'}">
						<view class="num">{{ detail.goods.off_sell }}</view>
						<view>已下架</view>
					</view>
				</view>
			</view>
			<view class="card">
				<view class="lf-row-between">
					<view class="title">我的活动</view>
				</view>
				<view class="lf-flex lf-m-t-50">
					<view class="item" :style="{width: 100 / 3 +'%'}" @click="$url('/pages/business/activity/add')">
						<view class="lf-iconfont icon-a-Group21 lf-font-60 lf-color-333"></view>
						<view>新增活动</view>
					</view>
					<view class="item" :style="{width: 100 / 3 +'%'}" @click="$url('/pages/business/activity/list')">
						<view class="lf-iconfont icon-a-Group16 lf-font-60 lf-color-333"></view>
						<view>活动列表</view>
					</view>
				</view>
			</view>
			<button class="out-btn" hover-class="lf-opacity" @click="outLogin">退出登录</button>
			<view style="height: 30rpx;"></view>
		</block>
	</view>
</template>

<script>
	export default {
		data(){
			return {
				token: '',
				detail: {}
			}
		},
		onLoad(){
			let store_token = this.$cookieStorage.get('store_token');
			if(!store_token){
				this.$msg('登录状态异常, 即将跳转至登录页').then(() => {
					this.$url('/pages/business/login/login', {type: 'redirect'});
				})
			}else{
				this.token = store_token;
				this.getStoreCenter();
			}
		},
		methods: {
			getStoreCenter(){
				this.$http.get({
					api: 'api/supplier/index',
					header: {
						token: this.token
					}
				}).then(res => {
					console.log("getStoreCenter", res);
					if(res.data.code == 200){
						let detail = res.data.data;
						this.detail = detail;
					}else{
						this.$msg('您的状态异常，请重新登录').then(() => {
							this.$url('/pages/business/login/login', {type: 'redirect'});
						})
					}
				})
			},
			// 扫一扫
			onScanCode(){
				uni.scanCode({
					complete: res => {
						if(res.errMsg == 'scanCode:ok'){
							// 二维码内的内容
							let result = this.codeParse(res.result);
							if(this.$shared.isValueType(result) == 'object'){
								if(result.rand && result.time && result.u_id){
									let url = '/pages/business/payment/money';
									url += `?u_id=${result.u_id}`;
									url += `&rand=${result.rand}`;
									url += `&time=${result.time}`;
									this.$url(url);
								}else if(result.u_id && result.a_id){
									this.activityJoin(result);
								}else if(result.u_id && result.no){
									this.orderSelf(result);
								}
							}else{
								this.$msg('不是有效的支付码');
							}
						}else{
							this.$msg('请扫二维码或条形码');
						}
					}
				})
			},
			codeParse(str){
				str = String(str);
				let new_data = null;
				try{
					new_data = JSON.parse(str);
				}catch{
					new_data = str;
				}
				return new_data;
			},
			// 核销活动
			activityJoin(result){
				this.$http.post({
					api: 'api/supplier/activity/join',
					data: {
						user_id: result.u_id,
						activity_id: result.a_id
					},
					header: {
						token: this.token
					}
				}).then(res => {
					uni.showModal({
						title: '',
						content: res.data.message || '核销失败',
						showCancel: false
					})
				})
			},
			// 自提
			orderSelf(result){
				this.$http.post({
					api: `api/supplier/order/self/${result.no}`,
					data: {
						user_id: result.u_id
					},
					header: {
						token: this.token
					}
				}).then(res => {
					uni.showModal({
						title: '',
						content: res.data.message || '自提核销成功',
						showCancel: false
					})
				})
			},
			// 退出登录
			outLogin(){
				uni.showModal({
					title: '温馨提示',
					content: '您确定退出登录商家中心吗？',
					success: result => {
						if(result.confirm){
							this.$cookieStorage.clear('store_token');
							this.$msg('退出成功', {icon: 'success'}).then(() => {
								this.$toBack();
							})
						}
					}
				})
			}
		}
	}
</script>

<style lang="scss" scoped="scoped">
	.head{
		width: 750rpx;
		height: 409rpx;
		background: linear-gradient(90deg, #1339B8 0%, #092788 100%);
		position: relative;
		overflow: hidden;
		display: flex;
		align-items: flex-end;
		box-sizing: border-box;
		padding: 60rpx 32rpx 110rpx;
		color: #FFFFFF;
		.bg-left{
			position: absolute;
			width: 196rpx;
			height: 196rpx;
			border-radius: 50%;
			background-color: rgba(255,255,255,0.04);
			left: -92rpx;
			bottom: 60rpx;
		}
		.bg-right{
			position: absolute;
			width: 520rpx;
			height: 520rpx;
			border-radius: 50%;
			background-color: rgba(255,255,255,0.04);
			right: -168rpx;
			top: -142rpx;
		}
		.head-content{
			width: 100%;
			display: flex;
			justify-content: space-between;
			position: relative;
			z-index: 9;
			.head-img{
				width: 100rpx;
				height: 100rpx;
				border: 2rpx solid #FFFFFF;
				box-sizing: border-box;
				margin-right: 20rpx;
				border-radius: 50%;
			}
			.head-title{
				font-size: 36rpx;
				color: #FFFFFF;
				font-weight: bold;
				width: 390rpx;
			}
			.head-menu{
				display: flex;
				flex-direction: column;
				align-items: center;
				justify-content: center;
				color: #FFFFFF;
				&:nth-child(n+2){
					margin-left: 30rpx;
				}
				&>text:nth-child(1){
					font-size: 50rpx;
				}
				&>text:nth-child(2){
					font-size: 24rpx;
				}
			}
		}
	}
	
	.notice{
		width: 686rpx;
		// height: 100rpx;
		background: #FFFFFF;
		box-shadow: 0rpx 2rpx 8rpx 1rpx rgba(0, 0, 0, 0.1);
		border-radius: 20rpx;
		margin: -50rpx auto 0;
		position: relative;
		z-index: 9;
		padding: 16rpx 4rpx;
		box-sizing: border-box;
	}
	
	.card{
		padding: 30rpx;
		width: 686rpx;
		height: 287rpx;
		background: #FFFFFF;
		box-shadow: 0rpx 2rpx 8rpx 1rpx rgba(0, 0, 0, 0.1);
		border-radius: 20rpx;
		margin: 30rpx auto 0;
		&:last-child{
			margin-bottom: 50rpx;
		}
		.title{
			font-size: 32rpx;
			color: #222222;
			font-weight: bold;
		}
		.item{
			box-sizing: border-box;
			padding: 0 20rpx;
			text-align: center;
			font-size: 24rpx;
			color: #777777;
			.num{
				font-size: 36rpx;
				color: #222222;
				font-weight: bold;
				// word-break: break-all;
				// line-height: 1;
			}
		}
	}
	.out-btn{
		width: 686rpx;
		height: 90rpx;
		background-color: #0D2E9A;
		color: #FFFFFF;
		font-size: 32rpx;
		margin: 0 auto;
		display: flex;
		justify-content: center;
		align-items: center;
		margin-top: 60rpx;
	}
</style>
