Snapshot.js 2.3 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
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';

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;
		}
		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('/#/');
		const iframeUrl = `${url[0]}/#/IFrameSnapshot?token=${getToken()}`;
		// iframeUrl = `http://localhost:8000/onestop/IframeForDetail?id=${id}&token=${getToken()}`;
		return (
wanyielin's avatar
wanyielin committed
48 49 50
			<div style={{ position: 'relative' }}>
				<PageHeaderWrapper title="">
					{/* <Shell>
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
					<div
						style={{
							height: '54px',
							padding: '12px 0 12px 12px',
						}}>
						{showAll ? (
							<ButtonDiy
								name="返回"
								className="defaultBlue"
								handleClick={() => {
									router.goBack();
								}}
								icon="arrow-left"
							/>
						) : null}
					</div>
wanyielin's avatar
wanyielin committed
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
				</Shell> */}
					{showAll ? (
						<div
							style={{
								position: 'absolute',
								width: 335,
								height: 38,
								background: '#fff',
								top: 77,
								left: 0,
								zIndex: 10,
							}}
						/>
					) : (
						''
					)}
					<Shell>
						<iframe
							src={iframeUrl}
							frameBorder={0}
							id="detailIframeId"
							name="applyIframe"
							marginWidth="0"
							marginHeight="0"
							onLoad={this.showAll}
92
							allowtransparency="yes"
wanyielin's avatar
wanyielin committed
93 94 95 96 97 98 99 100 101 102 103
							seamless
							scrolling={'no'}
							style={{
								width: '100%',
								overflowY: 'hidden',
								minHeight: '800px',
							}}
						/>
					</Shell>
				</PageHeaderWrapper>
			</div>
104 105 106
		);
	}
}