<template>
	<view class="content" v-if="order_no != ''">
		<view class="order-header"></view>
		<!-- 订单主要信息 -->
		<view class="order-back order-flex order-info">
			<view class="order-state">{{statusText.text}}</view>
			<view class="order-item">
				<label>服务类型</label>
				<view class="order-value nowrap">
					<text class="order-type" v-for="(item, index) in item_type" :key="index" v-if="item.number > 0">{{item.title}}×{{item.number}}</text>
				</view>
			</view>
			<view class="order-items">
				<view class="order-items-flex" v-for="(item, index) in items" :key="index" @click="$Router.push({ name: 'OrderSchemes', params: { id: item.business_order_item_id }})">
					<label class="nowrap">{{item.institution.title}}({{item.business_type.title}})</label>
					<view class="order-items-type nowrap">￥{{item.price}}<uni-icons type="right" color="gray" size="14px"></uni-icons></view>
				</view>
			</view>
			<view class="order-item">
				<label>欠款总金额</label>
				<view class="order-value order-value-price nowrap">￥{{serviceTotal}}</view>
			</view>
		</view>
		<!-- 订单服务包信息 -->
		<view class="order-back order-flex" v-if="services.length > 0">
			<view class="order-title">服务包</view>
			<view class="order-serve">
				<block v-for="(item, index) in services" :key="index">
					<view class="serve-header">
						{{item.title}}<text>￥{{item.price}}</text>
					</view>
					<view class="serve-item" v-for="(citem, cindex) in item.items" :key="cindex">
						<view class="services-flex">
							<label class="services-flex-label nowrap">服务类型</label>
							<view class="services-flex-val nowrap">{{citem.business}}({{citem.type}})</view>
						</view>
						<view class="services-flex">
							<label class="services-flex-title nowrap">{{citem.title}}</label>
							<view class="services-flex-price nowrap"><text>￥</text>{{citem.price}}</view>
						</view>
					</view>
				</block>
			</view>
		</view>
		<!-- 客户信息 -->
		<view class="order-back order-flex">
			<view class="order-title">客户信息</view>
			<view class="order-item">
				<label>客户姓名</label>
				<view class="order-value nowrap">{{user.nickname || '-'}}</view>
			</view>
			<view class="order-item">
				<label>客户性别</label>
				<view class="order-value nowrap">{{user.sex || '-'}}</view>
			</view>
			<view class="order-item">
				<label>客户电话</label>
				<view class="order-value nowrap">{{user.username || '-'}}</view>
			</view>
			<view class="order-btn" @click="onCallPhone(user.username)">联系客户</view>
		</view>
		<!-- 老师与助理 -->
		<view class="order-back order-flex" v-if="statusText.value > 5">
			<view class="order-title">法务老师与助理</view>
			<view class="order-item">
				<label>法务老师</label>
				<view class="order-value nowrap">{{teachers || '-'}}</view>
			</view>
			<view class="order-item">
				<label>法务助理</label>
				<view class="order-value nowrap">{{tutor || '-'}}</view>
			</view>
		</view>
		<!-- 订单其他信息 -->
		<view class="order-back order-flex">
			<view class="order-title">订单信息</view>
			<view class="order-item" @click="copyNo(order_no)">
				<label>订单编号</label>
				<view class="order-value nowrap">{{order_no || '-'}}<u-icon class="order-value-icon" name="file-text" color="gray" size="18"></u-icon></view>
			</view>
			<view class="order-item">
				<label>创建时间</label>
				<view class="order-value nowrap">{{created_at || '-'}}</view>
			</view>
			<view class="order-item">
				<label>订单金额</label>
				<view class="order-value nowrap">{{total || '-'}}</view>
			</view>
		</view>
	</view>
</template>

<script>
	import { info } from '@/apis/interfaces/order.js'
	export default {
		data() {
			return {
				orderId		: '',
				total		: '0.00',
				order_no	: '',
				statusText 	: '',
				created_at	: '',
				user		: {
					nickname	: '',
					sex			: '',
					username	: ''
				},
				item_type	: [],
				items		: [],
				services	: [],
				serviceTotal: '',
				tutor		: '',
				teachers	: ''
			};
		},
		onShow() {
			this.orderId = this.$Route.query.orderId
			this.getInfo()
		},
		methods: {
			// 订单详情
			getInfo(){
				info(this.orderId).then(res => {
					let { status, created_at, total, order_no, user, item_type, items, services, service_prices, tutor, teachers } = res
					this.statusText 	= status
					this.created_at 	= created_at
					this.total			= total
					this.order_no		= order_no
					this.user			= user
					this.item_type		= item_type
					this.items			= items
					this.services		= services
					this.serviceTotal 	= service_prices
					this.tutor			= tutor
					this.teachers		= teachers
				}).catch(err => {
					uni.showToast({
						title: err.message,
						icon : 'none'
					})
				})
			},
			// 刷新列表订单
			onRefreshOrder(){
				this.$store.commit('setOrderId', this.$Route.query.orderId)
			},
			// 拨打电话
			onCallPhone(phone){
				uni.makePhoneCall({
					phoneNumber: phone,
					fail: err => {
						uni.showToast({
							title: '拨打电话失败，请检查您的应用权限[电话]保持允许状态',
							icon : 'none'
						})
					}
				})
			},
			// 复制订单号码
			copyNo(no){
				uni.setClipboardData({
					data	: no,
					success	: res => {
						uni.showToast({
							title: '订单号已复制',
							icon : 'none'
						})
					}
				})
			},
		}
	}
</script>

<style lang="scss">
	// header
	.order-header{
		background: #446EFE;
		height: 150rpx;
	}
	// 订单块
	.order-back{
		background: white;
		border-radius: 20rpx;
		margin: 0 30rpx 30rpx;
	}
	// 订单信息
	.order-info{
		margin: -100rpx 30rpx 30rpx;
		.order-state{
			font-weight: bold;
			font-size: 30rpx;
			margin: 0 -30rpx;
			padding: 0 30rpx;
			border-bottom: solid 1rpx #f6f6f6;
			padding-bottom: 20rpx;
			line-height: 80rpx;
			font-size: 48rpx;
		}
	}
	// 订单列表
	.order-flex{
		padding: 20rpx 30rpx;
		.order-title{
			font-weight: bold;
			font-size: 36rpx;
			line-height: 60rpx;
		}
		// 订单信息
		.order-item{
			display: flex;
			justify-content: space-between;
			line-height: 80rpx;
			font-size: 30rpx;
			label{
				width: 200rpx;
			}
			.order-value{
				color: gray;
				width: calc(100% - 200rpx);
				text-align: right;
				.order-type{
					margin-right: 30rpx;
					position: relative;
					display: inline-block;
					&::after{
						position: absolute;
						content: "/";
						width: 30rpx;
						text-align: center;
						font-size: 30rpx;
						top: 0;
						right: -30rpx;
					}
					&:last-child{
						margin-right: 0;
						&::after{
							display: none;
						}
					}
				}
				.order-value-icon{
					display: inline-block;
					vertical-align: middle;
					margin-bottom: 10rpx;
				}
				&.order-value-price{
					color: red;
					font-weight: bold;
				}
			}
		}
		// 服务包信息
		.order-serve{
			background-color: rgba(68, 110, 254, .03);
			border-radius: 10rpx;
			margin: 15rpx 0;
			padding: 0 25rpx;
			.serve-header{
				display: flex;
				padding-top: 20rpx;
				padding-bottom: 20rpx;
				justify-content: space-between;
				font-weight: bold;
				border-bottom: solid 1rpx #f6f6f6;
				text{
					color: red;
				}
			}
			.serve-item{
				border-bottom: solid 1rpx #f6f6f6;
				padding: 20rpx 0;
				&:last-child{
					border: none;
				}
			}
			.services-flex{
				display: flex;
				font-size: 30rpx;
				line-height: 55rpx;
				.services-flex-label{
					width: 150rpx;
					color: #111111;
				}
				.services-flex-val{
					width: calc(100% - 150rpx);
					text-align: right;
					color: gray;
				}
				.services-flex-title{
					width: 50%;
					color: #111111;
					font-size: 30rpx;
				}
				.services-flex-price{
					font-size: 30rpx;
					width: 50%;
					text-align: right;
					font-weight: bold;
					color: #111111;
				}
			}
		}
		// 订单服务项目
		.order-items{
			background-color: rgba(68, 110, 254, .03);
			border-radius: 10rpx;
			margin-bottom: 10rpx;
			padding: 20rpx 30rpx;
			.order-items-flex{
				display: flex;
				justify-content: space-between;
				flex-wrap: wrap;
				line-height: 60rpx;
				font-size: 28rpx;
				label{
					width: 340rpx;
				}
				.order-items-type{
					width: calc(100% - 340rpx);
					text-align: right;
					color: gray;
				}
			}
		}
		// 订单按钮
		.order-btn{
			margin: 0 -30rpx;
			padding: 20rpx 30rpx 0;
			border-top: solid 1rpx #f6f6f6;
			text-align: center;
			line-height: 60rpx;
			color: $main-color;
			font-size: 32rpx;
		}
	}
</style>
