index.jsx 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import React, { Component } from "react";
  2. import ReactDom from 'react-dom';
  3. import { getAllDataList, getAllDataStringList } from '@utils/tools';
  4. import { dragBox } from '@utils/drag';
  5. import style from "./index.less";
  6. import PreviewBody from "../PreviewBody";
  7. import store from '@store';
  8. import Notify from '@commonComp/Notify';
  9. import close from '../../common/images/icon_close.png';
  10. class PrintPreview extends Component {
  11. constructor(props) {
  12. super(props)
  13. }
  14. componentDidMount(){
  15. dragBox('previewPrintWrapper','previewPrintStatic','add')
  16. }
  17. render() {
  18. const { onClose, visible, preInfo,save } = this.props;
  19. let baseList = store.getState();
  20. const dataJson = getAllDataList(baseList);
  21. const dataStr = getAllDataStringList(baseList);
  22. const domNode = document.getElementById('root');
  23. return ReactDom.createPortal(<React.Fragment>
  24. <div className={style['container']}>
  25. <div className={style['shade']} onClick={onClose}></div>
  26. <div className={style['modal']} id="previewPrintWrapper">
  27. <div id="previewPrintStatic" className={`${style['close']} drag-title`}>打印</div>
  28. <img className={style.closeImg} src={close} onClick={onClose} />
  29. <PreviewBody
  30. preInfo={preInfo}
  31. dataJson={dataJson}
  32. dataStr={dataStr}
  33. show={true}
  34. onClose={onClose}
  35. save={save}
  36. come={'preview'}
  37. ></PreviewBody>
  38. </div>
  39. </div>
  40. </React.Fragment>,domNode)
  41. }
  42. }
  43. export default PrintPreview;