<template>
	<view class="details clearfix">
		<!-- <cu-custom :navbar-data='nvabarData'></cu-custom> -->
		<view class="container-details" v-show="isRequest">
			<!-- 订单信息 -->
			<view class="information-content">
				<view class="info-item"><view class="item-view"><text class="label">供应商：{{orderInfo.shopName ? orderInfo.shopName :''}}</text></view></view>
				<view class="info-item"><view class="item-view"><text class="label">订单号：{{orderInfo.shopOrderNo}}</text></view></view>
				<view class="info-item"><view class="item-view"><text class="label">下单时间：{{orderInfo.orderTime}}</text></view></view>
				<view class="info-item">
					<view class="item-view"><text class="label">收款状态：<text :style="{color:setStatusText(orderInfo.receiptStatus)}">{{setStatusTextHtml(orderInfo.receiptStatus)}}</text></text></view>
					<view class="item-view"><text class="label">结算状态：<text :style="{color:setStatusText(orderInfo.payStatus)}">{{setStatusTextHtml1(orderInfo.payStatus)}}</text></text></view>
				</view>
				<view class="info-item">
					<view class="item-view"><text class="label">发货状态：<text :style="{color:setStatusText(orderInfo.sendOutStatus)}">{{setStatusTextHtml2(orderInfo.sendOutStatus)}}</text></text></view>
				</view>
			</view>
			<!-- 地址信息 -->
			<view class="address-content">
				<view class="info-item"><text class="label">收货人：{{orderInfo.userInfo.shouHuoRen}}</text></view>
				<view class="info-item"><text class="label">联系方式：{{orderInfo.userInfo.mobile}}</text></view>
				<view class="info-item"><text class="label">收货地址：<text style="color: #666666;">{{orderInfo.userInfo.address}}</text></text></view>
			</view>
			<!-- 商品 -->
			<view class="goods-list">
				<view class="goods-item clearfix">
					<view class="productlist" v-for="(pros,idx) in orderInfo.orderProductList" :key="idx">
						<view class="goods-pros-t" @click="hanldOperationConfim(pros)">
							<view class="pros-left">
								<view class="pros-img"><image :src="pros.productImage" alt="" mode="aspectFill"/></view>
							</view>
							<view class="pros-product">
								<view class="producttitle">{{pros.aliasName ? pros.aliasName : ''}}</view>
								<view class="productspec">规格：{{pros.productUnit ? pros.productUnit : ''}}</view>
								<view class="productspec">商品编码：{{pros.productNo ? pros.productNo : ''}}</view>
								<view class="product-view">
									<view class="view-num">数量：{{pros.num+pros.presentNum}}</view>
								</view>
								<view class="product-view">
									<view class="view-num">已发货：{{pros.shipmentsNum}}</view>
									<view class="view-num">未发货：{{pros.notOutStore-pros.actualCancelNum}}</view>
								</view>
								<view class="product-view">
									<view class="view-num" v-if="pros.returnedNum>0">已退货：{{pros.returnedNum}}</view>
									<view class="view-num" v-if="pros.actualCancelNum>0">已取消：{{pros.actualCancelNum}}</view>
								</view>
							</view>	
						</view>
					</view>	
					<view class="goods-pros-m" v-show="orderInfo.note!=null">
						<view class="m-text">留言:</view>
						<view class="m-input">
							<view class="text">{{orderInfo.note ? orderInfo.note : ''}}</view>
						</view>	
					</view>
					<view class="goods-pros-b">
						<view class="count">共{{orderInfo.itemCount}}件商品</view>
					</view>
				</view>
			</view>
			<!-- 底部button -->
			<order-button ref="orderButton" 
						  v-if= "isRequest" 
						  :status= "btnStatus" 
						  :shareCode= "shareCode"
						   @buttonConfirm="handButtonConfirm">
			</order-button>
		</view>
		<share-alert  :shopOrderID="shopOrderId" 
					  v-if="isShareModal"  
					  @shareConfirm ='onShareAppMessage'>
		</share-alert>		
	</view>
</template>

<script>
	import headerBack from '@/components/cm-module/headerNavbar/header-back' 		 	 //自定义导航
	import orderAddress from '@/components/cm-module/orderDetails/orderAddress' 		 //地址信息
	import goodsList from '@/components/cm-module/orderDetails/goodsList'		 		 //商品列表
	import orderButton from '@/components/cm-module/orderDetails/supplierDetaileButton'	//底部按钮
	import shareAlert from '@/components/cm-module/modelAlert/supplierShareAlert'	  //分享弹窗
	import { queryOrderDetails,cancelOrder,deleteOrder,confirmReceipt,affirmOrder } from "@/api/order.js" 
	export default {
		components:{
			headerBack,
			orderAddress,
			goodsList,
			orderButton,
			shareAlert,
		},
		data() {
			return {
				nvabarData: {		//顶部自定义导航
					showCapsule: 1, // 是否显示左上角图标  1表示显示  0表示不显示,
					showSearch: 0,
					title: '订单详情', // 导航栏 中间的标题
					haveBack:false,
					textLeft:this.$store.state.isIphone
				},
				windowHeight: '',
				isIphoneX:this.$store.state.isIphoneX,
				CustomBar:this.CustomBar,// 顶部导航栏高度
				state:0,
				userID:'',
				shopOrderId:'',
				shareCode:'',				//分享码
				payStatus:0,
				btnStatus:0,				//按钮组件状态
				isRequest:false,			//是否加载完成渲染子组件
				isOrderShare:false,
				isShareModal:false,
				orderInfo:{},				//订单信息
				
			}
		},
		onLoad(option){
			console.log(option.shopOrderId)
			this.shopOrderId = option.shopOrderId;
			this.initShopOrderDetails()
		},
		methods: {
			initShopOrderDetails(){//初始化页面数据@参数：订单ID
				this.ShopService.GetShopOrderDetails({ shopOrderId : this.shopOrderId }).then(res =>{
					this.orderInfo  = res.data.shopOrder
					this.btnStatus = this.orderInfo.sendOutStatus
					this.isRequest = true
				}).catch(err =>{
					this.$util.msg(err.msg,2000);
				})
			},
			handButtonConfirm(data){//监听点击时间的按钮类型并执行...
				this.handShowAlert(data)
			},
			handShowAlert(type){//判断点击的按钮类型并执行...
				switch(type){
					case 'record':
						this.$api.navigateTo('/supplier/pages/deliver/deliver-record?shopOrderId='+this.shopOrderId)
						break
					case 'deliver':
						this.$api.setStorage('shopOrderId',this.shopOrderId)
						this.$api.navigateTo('/supplier/pages/deliver/deliver-goods')
						break
				}
			},
			setStatusTextHtml(status){
				let TextHtml='';
				switch(status){
					case '1':
						TextHtml = '待付款'
						break;
					case '2':
						TextHtml = '部分付款'
						break;
					case '3':
						TextHtml = '已付款'
						break;
				}
				return TextHtml
			},
			setStatusTextHtml1(status){
				let TextHtml='';
				switch(status){
					case '1':
						TextHtml = '待结算'
						break;
					case '2':
						TextHtml = '部分结算'
						break;
					case '3':
						TextHtml = '已结算'
						break;
				}
				return TextHtml
			},
			setStatusTextHtml2(status){
				let TextHtml='';
				switch(status){
					case '1':
						TextHtml = '待发货'
						break;
					case '2':
						TextHtml = '部分发货'
						break;
					case '3':
						TextHtml = '已发货'
						break;
				}
				return TextHtml
			},
			setStatusText(status){
				let textColor='';
				switch(status){
					case '1':
						textColor = '#FF2A2A'
						break;
					case '2':
						textColor = '#E15616'
						break;
					case '3':
						textColor = '#38CB3D'
						break;
				}
				return textColor
			},
			onShareCode(){
				this.isShareModal = true
			},
			onShareAppMessage(res){//分享转发
				this.isShareModal = false
				if (res.from === 'button') {
					// 来自页面内转发按钮
			    }
				return {
					title: '您有订单待处理，请点击查看~',
					path: `/supplier/pages/login/share-info?authority=3&shopOrderId=${this.shopOrderId}`,
					imageUrl:'https://img.caimei365.com/group1/M00/03/95/Cmis216Sk_SABnOFABZCgCzFV_g063.png'
				}
			}
		},
		onPullDownRefresh() {//下拉刷新
			this.initShopOrderDetails()
			uni.stopPullDownRefresh()
		},
		onShow() {

		}
	}
</script>

<style lang="scss">
	page {
		background:#F7F7F7;
	}
	.details{
		padding-bottom: 130rpx;
		width: 100%;
		height: auto;
	}
	.container-details{
		background:#F7F7F7;
	}
	.information-content{
		width: 702rpx;
		height: auto;
		padding:10rpx 24rpx;
		background: #FFFFFF;
		margin-bottom: 24rpx;
		.info-item{
			height: 58rpx;
			width: 100%;
			display: flex;
			.item-view{
				flex: 1;
				line-height: 58rpx;
				font-size: $font-size-28;
				color: #333333;
			}
		}
	}
	.address-content{
		width: 702rpx;
		height: auto;
		padding:10rpx 24rpx;
		background: #FFFFFF;
		margin-bottom: 24rpx;
		.info-item{
			width: 100%;
			display: flex;
			line-height: 50rpx;
			font-size: $font-size-28;
			color: #333333;
		}
	}
	.goods-list{
		width: 100%;
		height: auto;
		background: #F7F7F7;
		.goods-item{
			width: 702rpx;
			padding:24rpx;
			height: auto;
			background: #FFFFFF;
			margin-bottom: 24rpx;
			&:last-child{
				margin-bottom: 0;
			}
		}
		.productlist{
			width: 100%;
			height: auto;
		}	
		.goods-pros-t{
			display: flex;
			width: 100%;
			height: auto;
			padding: 12rpx 0;
			.pros-left{
				width: 210rpx;
				height: 100%;
				margin:0 26rpx 0 0;
			}
			.pros-img{
				width: 210rpx;
				height: 210rpx;
				border-radius: 10rpx;
				border:1px solid #f3f3f3;
				image{
					width: 100%;
					height: 100%;
					border-radius: 10rpx;
				}
			}
		}
		.pros-product{
			width: 468rpx;
			height: 100%;
			line-height: 36rpx;
			font-size: $font-size-26;	
			position: relative;
			.icon-genghuan{
				position: absolute;
				top: 50%;
				right: 0;
				font-size: $font-size-44;
				color: $color-system;
			}
			.product-view{
				width: 100%;
				height: auto;
				display: flex;
				.view-num{
					flex: 1;
					text-align: left;
					font-size: $font-size-26;
					color: #666666;
					line-height: 44rpx;
				}
			}
			.producttitle{
				width: 100%;
				display: inline-block;
				height: auto;							
				text-overflow:ellipsis;
				display: -webkit-box;
				word-break: break-all;
				-webkit-box-orient: vertical;
				-webkit-line-clamp: 2;
				overflow: hidden;
				margin-bottom: 8rpx;
			}
			.productspec{
				height: 44rpx;
				color: #666666;
				line-height: 44rpx;
			}
			.productprice{
				height: 48rpx;
				position: absolute;
				width: 100%;
				bottom: 0;
				.price{
					line-height: 48rpx;
					font-size: $font-size-28;
					width: 48%;
					color: #FF2A2A;
					float: left;
				}
				.count{
					height: 100%;
					float: right;
					position: relative;
					.small{
						color: #666666;
					}
				}
			}
		}
		.goods-pros-m{
			width: 100%;
			height: auto;
			line-height: 76rpx;
			font-size: $font-size-26;
			color: $text-color;
			float: left;
			padding: 10rpx 0;
			border-top: 1px solid #F7F7F7;
			border-bottom: 1px solid #F7F7F7;
			.m-text{
				width: 62rpx;
				float: left;
				padding-right: 20rpx;
				font-weight:bold;
			}
			.m-input{
				display: -webkit-box;
				display: -webkit-flex;
				display: flex;
				-webkit-box-align: center;
				-webkit-align-items: center;
				align-items: center;
				position: relative;
				width: 620rpx;
				height: auto;
				padding: 20rpx 0 10rpx 0;
				background: #FFFFFF;
				.text{
					width: 100%;
					height: 100%;
					font-size: $font-size-26;
					line-height: 36rpx;
					color: #333333;
				}
			}
		}
		.goods-pros-b{
			width:100%;
			height: 40rpx;
			margin-top: 12rpx;
			float: left;
			.count{
				float: right;
				font-size: $font-size-28;
				line-height: 40rpx;
				color: $text-color;
				display: flex;
				justify-content: flex-end;
			}
		}
	}
	.button-template{
		width: 100%;
		height: auto;
		position: fixed;
		bottom: 0;
		left: 0;
		background: #FFFFFF;
		.button-content{
			width: 702rpx;
			padding:0 24rpx;
			height: auto;
			float: left;
			position: relative;
			.btn{
				width: 160rpx;
				height:  64rpx;
				margin:22rpx;
				line-height: 64rpx;
				font-size:$font-size-26;
				color: #FFFFFF;
				text-align: center;
				border-radius: 10rpx;
				float: right;
			}
			.btn-color{
				background: $btn-confirm;
				margin: 22rpx 0 22rpx 22rpx;
				.tips{
					width: 160rpx;
					height: 34rpx;
					padding: 10rpx 10rpx;
					background:linear-gradient(45deg,rgba(0,0,0,1) 0%,rgba(87,87,87,1) 100%);
					box-shadow:0px 2px 4px 0px rgba(0,0,0,0.2);
					border-radius: 8rpx;
					position: absolute;
					color: #FFFFFF;
					line-height: 34rpx;
					font-size: $font-size-24;
					text-align: left;
					right: 24rpx;
					top: -45rpx;
					&:before{
						content: "";
						width: 25rpx;
						height: 25rpx;
						background:linear-gradient(45deg,rgba(0,0,0,1) 0%,rgba(87,87,87,1) 100%);
						position: absolute;
						bottom: -8rpx;
						right: 30rpx;
						z-index: -1;
						transform:rotate(45deg);
					}
				}
			}
		}
	}
</style>
