mirror of https://gitee.com/cf-fz/WebCAD.git
!2662 功能:cad首页增加优化生产按钮
parent
0d767e7b2f
commit
96bbfbc927
@ -0,0 +1,68 @@
|
|||||||
|
import * as React from "react";
|
||||||
|
import { forwardRef, useEffect } from "react";
|
||||||
|
import { app } from "../../ApplicationServices/Application";
|
||||||
|
import { StoreageKeys } from "../../Common/StoreageKeys";
|
||||||
|
import { ErpURL } from "./HostURL";
|
||||||
|
interface JumpProp
|
||||||
|
{
|
||||||
|
routeName: string;
|
||||||
|
routeParams: object;
|
||||||
|
}
|
||||||
|
const JumpView: React.FC<JumpProp> = forwardRef((props) =>
|
||||||
|
{
|
||||||
|
const iframe = React.createRef<HTMLIFrameElement>();
|
||||||
|
const loadedEvent = (ev) =>
|
||||||
|
{
|
||||||
|
if (ev.data.command == 'loaded')
|
||||||
|
{
|
||||||
|
iframe.current.contentWindow.postMessage(
|
||||||
|
{
|
||||||
|
command: 'jumpUrl',
|
||||||
|
content: {
|
||||||
|
route: { name: props.routeName, params: props.routeParams },
|
||||||
|
session: localStorage.getItem(StoreageKeys.PlatSession),
|
||||||
|
token: localStorage.getItem(StoreageKeys.PlatToken),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"*"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
const closeEvent = (ev) =>
|
||||||
|
{
|
||||||
|
if (ev.data.command == 'close')
|
||||||
|
{
|
||||||
|
app.Editor.ModalManage.Destory();
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
|
useEffect(() =>
|
||||||
|
{
|
||||||
|
window.addEventListener('message', loadedEvent);
|
||||||
|
window.addEventListener('message', closeEvent);
|
||||||
|
setTimeout(() =>
|
||||||
|
{
|
||||||
|
window.removeEventListener('message', loadedEvent);
|
||||||
|
window.removeEventListener('message', closeEvent);
|
||||||
|
app.Editor.ModalManage.Destory();
|
||||||
|
|
||||||
|
}, 1000);
|
||||||
|
return () =>
|
||||||
|
{
|
||||||
|
window.removeEventListener('message', loadedEvent);
|
||||||
|
window.removeEventListener('message', closeEvent);
|
||||||
|
};
|
||||||
|
});
|
||||||
|
const includes = ErpURL.host.includes('?');
|
||||||
|
const url = ErpURL.host.replace(/\/$/, '') + `${includes ? '&' : '/?'}stamp=${new Date().getTime()}#/` + 'openUrl';
|
||||||
|
return (
|
||||||
|
<iframe
|
||||||
|
width={0}
|
||||||
|
height={0}
|
||||||
|
src={url}
|
||||||
|
ref={iframe}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
export default JumpView;
|
Loading…
Reference in new issue