UNPKG

wui-print

Version:

前端打印插件,包含打印设计器、打印表单、打印API

88 lines (87 loc) 3.14 kB
import { deepCopy } from "../../print-designer-utils"; import useDefault from "./use-default"; import useFixedHeight from "./use-fixed-height"; import useAutoHeightPreview from "./use-auto-height-preview"; import useAutoHeight from "./use-auto-height"; import usePaginationPreview from "./use-pagination-preview"; import usePagination from "./use-pagination"; export default ({ printData, printConfig, formConfig, layoutConfig, createHtmlByComponentItem, errorLogs } = {}) => { const createComplexTableHtml = (item) => { let complexTableHtml = ""; if (!item.props || !item.props.headerRow || !item.props.col) { return complexTableHtml; } if (!item.props.canContinue && !item.props.isPaginationMode) { const defaultInstance = useDefault({ printData, printConfig, formConfig, layoutConfig, createHtmlByComponentItem, errorLogs }); return defaultInstance.createComplexTableHtml(item); } if (!!item.props.canContinue && item.props.continuePrintMode == "fixedHeight") { const fixedHeightInstance = useFixedHeight({ printData, printConfig, formConfig, layoutConfig, createHtmlByComponentItem, errorLogs }); return fixedHeightInstance.createComplexTableHtml(item); } if (!!item.props.canContinue && item.props.continuePrintMode == "_autoHeight_previewElements") { // _autoHeight_previewElements 该值是代码运行中动态赋予的,无法在设计器中设置 const autoHeightPreviewInstance = useAutoHeightPreview({ printData, printConfig, formConfig, layoutConfig, createHtmlByComponentItem, errorLogs }); return autoHeightPreviewInstance.createComplexTableHtml(item); } if (!!item.props.canContinue && item.props.continuePrintMode == "autoHeight") { const autoHeightInstance = useAutoHeight({ printData, printConfig, formConfig, layoutConfig, createHtmlByComponentItem, errorLogs }); return autoHeightInstance.createComplexTableHtml(item); } if (!!item.props.isPaginationMode && !!item.props._paginationModePreview) { // _paginationModePreview 该属性是代码运行中动态赋予的,无法在设计器中设置 const paginationPreviewInstance = usePaginationPreview({ printData, printConfig, formConfig, layoutConfig, createHtmlByComponentItem, errorLogs }); return paginationPreviewInstance.createComplexTableHtml(item); } if (!!item.props.isPaginationMode && !item.props._paginationModePreview) { const paginationInstance = usePagination({ printData, printConfig, formConfig, layoutConfig, createHtmlByComponentItem, errorLogs }); return paginationInstance.createComplexTableHtml(item); } return complexTableHtml; }; return { createComplexTableHtml }; };