<template>
	<view class="invoice">
		<view class="invoice-hd" v-if="invoiceDetails">
			<view class="a">
				<view class="l">开票状态</view>
				<view class="r">{{invoiceDetails.status==0?'开票中':'已开票'}}</view>
			</view>
			<view class="a">
				<view class="l">预计开票时间</view>
				<view class="r">{{invoiceDetails.created_at}}</view>
			</view>
			<view class="a">
				<view class="l">订单编号</view>
				<view class="r">{{invoiceDetails.order.order_no}} <text
						@click="handleCopy(invoiceDetails.order.order_no)">复制</text></view>
			</view>
		</view>
		<view class="invoice-info" v-if="invoiceDetails">
			<view class="a">
				发票明细<text @click="toDetail(invoiceDetails.invoice)">修改发票信息</text>
			</view>
			<view class="b">
				<view class="item">
					<view class="l">发票类型：</view>
					<view class="r">{{invoiceDetails.invoice.type==1?'普通增值税发票':'普通发票'}}</view>
				</view>
				<view class="item">
					<view class="l">抬头类型：</view>
					<view class="r">{{invoiceDetails.invoice.source==1?'个人':'单位'}}</view>
				</view>
				<view class="item">
					<view class="l">抬头名称：</view>
					<view class="r">{{invoiceDetails.invoice.header}}</view>
				</view>
				<view class="item">
					<view class="l">申请时间：</view>
					<view class="r">{{invoiceDetails.invoice.duty_no}}</view>
				</view>
			</view>
		</view>
		<view class="invoice-fd">
			<button open-type="contact">联系商家</button>
		</view>
	</view>
</template>

<script>
	import * as InvoiceApi from '@/api/invoice'
	export default {
		data() {
			return {
				invoiceDetails: ''
			};
		},
		onLoad(op) {
			this.invoiceId = op.id

		},
		onShow() {
			this.getInvoicingDitails()
		},
		methods: {
			// 复制指定内容
			handleCopy(value) {
				const app = this
				uni.setClipboardData({
					data: value,
					success: () => app.$toast('复制成功'),
					fail: ({
						errMsg
					}) => app.$toast('复制失败 ' + errMsg)
				})
			},
			toDetail(item) {
				uni.navigateTo({
					url: "/pages/invoice/edit?detail=" + JSON.stringify(item) + '&source=' + 1
				})
			},
			timestampToYds(timestamp) {
				//时间戳为10位需*1000，为13位不需乘1000
				let times = timestamp.length == 10 ? times * 1000 : timestamp;
				var date = new Date(times);
				let Y = date.getFullYear(),
					M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1),
					D = (date.getDate() < 10 ? '0' + (date.getDate()) : date.getDate()),
					h = (date.getHours() < 10 ? '0' + (date.getHours()) : date.getHours()),
					m = (date.getMinutes() < 10 ? '0' + (date.getMinutes()) : date.getMinutes()),
					s = (date.getSeconds() < 10 ? '0' + (date.getSeconds()) : date.getSeconds());
				return Y + '-' + M + '-' + D + ' ' + h + ':' + m + ':' + s
			},
			getInvoicingDitails(canReset = false) {
				let app = this;
				InvoiceApi.invoicingDetail({
						id: app.invoiceId
					})
					.then(result => {
						result.data.data.created_at = app.timestampToYds(result.data.data.created_at)
						app.invoiceDetails = result.data.data

					})
				// 相应全局事件订阅: 刷新上级页面数据
				canReset && uni.$emit('syncRefresh', true, true)
			},
		}
	}
</script>

<style lang="scss" scoped>
	.invoice {
		&-hd {
			padding: 0 20rpx 0 40rpx;
			overflow: hidden;
			background-color: #fff;

			.a {
				padding: 20rpx 0;
				display: block;
				border-top: 1px solid #F3F3F3;
				overflow: hidden;
				display: flex;
				align-items: center;
				font-size: 32rpx;
				font-weight: 400;
				color: #262626;

				&:first-child {
					border-top-cplor: #fff;
				}

				.l {
					width: 230rpx;
					font-size: 32rpx;
					font-weight: 400;
					color: #656565;
				}
			}
		}

		&-goods {
			padding: 0 20rpx 0 40rpx;
			overflow: hidden;
			background-color: #fff;
			margin-top: 20rpx;
			padding: 30rpx;
			box-sizing: border-box;
			display: flex;
			align-items: center;

			.a {
				width: 145rpx;
				height: 135rpx;
				margin-right: 20rpx;

				image {
					width: 100%;
					height: 100%;
					border-radius: 10rpx;
				}
			}

			.b {
				flex: 1;
				overflow: hidden;

				.l {
					white-space: nowrap;
					text-overflow: ellipsis;
					font-size: 32rpx;
					font-family: PingFang SC, PingFang SC;
					font-weight: 500;
					color: #262626;
					overflow: hidden;
				}

				.r {
					font-size: 30rpx;
					font-family: PingFang SC, PingFang SC;
					font-weight: 400;
					color: #838383;
					display: flex;
					align-items: center;
					justify-content: space-between;

					text {
						display: block;
						width: 104rpx;
						line-height: 60rpx;
						background: #FFFFFF;
						border-radius: 4rpx;
						text-align: center;
						border: 1px solid #CACACA;
						font-size: 28rpx;
						color: #555;
					}
				}
			}
		}

		&-info {
			margin-top: 20rpx;
			background-color: #fff;
			overflow: hidden;

			.a {
				display: flex;
				align-items: center;
				justify-content: space-between;
				padding: 20rpx 30rpx 20rpx 60rpx;
				box-sizing: border-box;
				border-bottom: 1px solid #F3F3F3;
				font-size: 32rpx;
				font-weight: 500;
				color: #262626;

				text {
					color: #006AFF;
					padding-right: 40rpx;
					position: relative;

					&::after {
						content: "";
						width: 16rpx;
						height: 16rpx;
						border-top: 1px solid #006AFF;
						border-left: 1px solid #006AFF;
						position: absolute;
						right: 0;
						top: 14rpx;
						z-index: 1;
						transform: rotate(135deg);
					}
				}
			}

			.b {
				box-sizing: border-box;
				overflow: hidden;

				.item {
					padding: 30rpx 60rpx;
					display: flex;
					align-items: center;
					justify-content: space-between;
					box-sizing: border-box;
					border-top: 1px solid #F3F3F3;
					font-size: 32rpx;
					font-weight: 500;
					color: #262626;
					overflow: hidden;

					&:first-child {
						border-top-color: #fff;
					}

					.l {
						width: 200rpx;
						font-size: 32rpx;
						font-family: PingFang SC, PingFang SC;
						font-weight: 400;
						color: #656565;
					}

					.r {
						flex: 1;
						font-size: 32rpx;
						font-family: PingFang SC, PingFang SC;
						font-weight: 400;
						color: #262626;
					}
				}

			}
		}

		&-fd {
			text-align: center;
			overflow: hidden;
			margin-top: 40rpx;

			button {
				background-color: transparent;
				border: 0;
				font-size: 32rpx;
				font-weight: 400;
				color: #006AFF;

				&::after {
					content: "";
					border: 0;
				}
			}
		}
	}
</style>
