import React, { Fragment, Component } from 'react';
import PageHeaderWrapper from '@/components/PageHeaderWrapper';
import Shell from '@/baseComponent/Shell';
import ButtonDiy from '@/baseComponent/ButtonDiy';
import router from 'umi/router';
import { getToken } from '@/utils/authority';
import config from '@/config/config';

const getUrlInfo = (param) => {
	let url = window.document.location.href.toString();
	let u = url.split('?');
	if (typeof u[1] == 'string') {
		u = u[1].split('&');
		let get = {};
		for (let i in u) {
			let j = u[i].split('=');
			get[j[0]] = decodeURIComponent(j[1]);
		}
		return get;
	} else {
		return {};
	}
};

export default class Detail extends Component {
	constructor(props) {
		super(props);
		const { state } = this.props.location;
		let id = '';
		if (state && state.record && state.record.id) {
			const { record } = state;
			id = record.id;
		}
		if (!id) {
			id = getUrlInfo()?.id;
		}
		this.state = {
			id,
		};
	}

	componentDidMount() {
		window.addEventListener(
			'message',
			(event) => {
				if (event.data && event.data.indexOf && event.data.indexOf('iframeDetailHeight') > -1) {
					const height = Number(event.data.split('-')[1]);
					document.getElementById('detailIframeId').height = height;
				}
			},
			false,
		);
	}

	showAll = () => {
		this.setState({
			showAll: true,
		});
	};

	render() {
		const { id, showAll } = this.state;
		const url = config.onestopPC.split('/#/');
		let showPrint = this.props.location?.state?.showPrint;
		let iframeUrl = `${url[0]}/#/IframeForDetail?id=${id}&token=${getToken()}`;
		if(showPrint){
		  iframeUrl = iframeUrl + '&showPrint=true';
    }
		// iframeUrl = `http://localhost:8000/onestop/IframeForDetail?id=${id}&token=${getToken()}`;
		return (
			<PageHeaderWrapper title="">
				<Shell>
					<div
						style={{
							height: '54px',
							padding: '12px 0 12px 12px',
						}}>
						{showAll ? (
							<ButtonDiy
								name="返回"
								className="defaultBlue"
								handleClick={() => {
									router.goBack();
								}}
								icon="arrow-left"
							/>
						) : null}
					</div>
				</Shell>
				<Shell>
					<iframe
						src={iframeUrl}
						frameBorder={0}
						id="detailIframeId"
						name="applyIframe"
						marginWidth="0"
						marginHeight="0"
						onLoad={this.showAll}
						allowtransparency="yes"
						seamless
						scrolling={'no'}
						style={{
							width: '100%',
							overflowY: 'hidden',
							minHeight: '800px',
						}}
					/>
				</Shell>
			</PageHeaderWrapper>
		);
	}
}
