wui-print
Version:
前端打印插件,包含打印设计器、打印表单、打印API
63 lines (62 loc) • 1.85 kB
JavaScript
import useComplexTableFixed from "./use-complex-table-fiexd";
import useComplexTableAuto from "./use-complex-table-auto";
export default ({
printData,
printConfig,
formConfig,
layoutConfig,
printedRowCount = 0,
printedRows = [],
continuePrintElements
} = {}) => {
const formatLayoutConfig = () => {
let continueConfig = _getContinueConfig();
if (!continueConfig) {
// 不需要续打
return layoutConfig;
}
if (!!continueConfig.props.canContinue && continueConfig.props.continuePrintMode == "fixedHeight") {
// 需要续打 固定高度
const complexTableFixedInstance = useComplexTableFixed({
printData,
printConfig,
formConfig,
layoutConfig,
printedRowCount
});
return complexTableFixedInstance.formatLayoutConfig();
}
if (!!continueConfig.props.canContinue && continueConfig.props.continuePrintMode == "autoHeight") {
// 需要续打 自适应高度
const complexTableAutoInstance = useComplexTableAuto({
printData,
printConfig,
formConfig,
layoutConfig,
printedRows,
continuePrintElements
});
return complexTableAutoInstance.formatLayoutConfig();
}
return layoutConfig;
};
function _getContinueConfig() {
let continueConfigItem = false;
if (!layoutConfig || layoutConfig.length <= 0) {
return continueConfigItem;
}
layoutConfig.forEach((item, index) => {
if (!!continueConfigItem) {
return;
}
let nowProps = !!item.props ? item.props : {};
if (item.type == "complexTable" && !!nowProps.canContinue) {
continueConfigItem = item;
}
});
return continueConfigItem;
}
return {
formatLayoutConfig
};
};