import { FormSingleSave } from "./pages/FormSingleSave.js"; import { FormSingleDetail } from "./pages/FormSingleDetail.js"; import { TabTableDetail } from "./pages/TabTableDetail.js"; import { TabTableSave } from "./pages/TabTableSave.js"; import { FormMainSubSave } from "./pages/FormMainSubSave.js"; import { TablePaggingSave } from "./pages/TablePaggingSave.js"; import { FormMainSubDetail } from "./pages/FormMainSubDetail.js"; import { GridSingleSelect } from "./lookup/GridSingleSelect.js"; import { GridMultiSelect } from "./lookup/GridMultiSelect.js"; import { TreeNodeSelect } from "./lookup/TreeNodeSelect.js"; import { TreeSingleSelect } from "./lookup/TreeSingleSelect.js"; import { TreeTableQuery } from "./pages/TreeTableQuery.js"; import { FormTableDetail } from "./pages/FormTableDetail.js"; import { TreeTabTableQuery } from "./pages/TreeTabTableQuery"; /** * 报表模型构建类 */ export const BirtModelFactory = { buildModel(reponsePage) { debugger let birtModel = reponsePage.birtModel || reponsePage; let tpl = reponsePage.template || birtModel.template; if (tpl) { return this._buildModelByTpl(tpl, birtModel); } else { // console.error("reponsePage返回页面模型模板template属性未定义.") return birtModel } }, _buildModelByTpl(tpl, birtModel) { if (tpl.endsWith("form-single-save")) { return FormSingleSave(birtModel); } if (tpl.endsWith("form-single-detail")) { return FormSingleDetail(birtModel); } else if (tpl.endsWith("tab-table-detail")) { if (birtModel.hcDetailForm) { birtModel.hcDetailForm = this.buildModel(birtModel.hcDetailForm); } return TabTableDetail(birtModel); } else if (tpl.endsWith("tab-table-save")) { if (birtModel.hcDetailForm) { birtModel.hcDetailForm = this.buildModel(birtModel.hcDetailForm); } return TabTableSave(birtModel); } else if (tpl.endsWith("form-main-sub-detail")) { return FormMainSubDetail(birtModel); } else if (tpl.endsWith("form-main-sub-save")) { return FormMainSubSave(birtModel); } else if (tpl.endsWith("tree-table-query")) { return TreeTableQuery(birtModel); } else if (tpl.endsWith("tree-tab-table-query")) { if (birtModel.hcDetailForm) { birtModel.hcDetailForm = this.buildModel(birtModel.hcDetailForm); } return TreeTabTableQuery(birtModel); } else if (tpl.endsWith("table-pagging-save")) { return TablePaggingSave(birtModel); } else if (tpl.endsWith("lookup/grid-single-select")) { return GridSingleSelect(birtModel); } else if (tpl.endsWith("form-table-detail")) { return FormTableDetail(birtModel); } else if (tpl.endsWith("lookup/grid-multi-select")) { return GridMultiSelect(birtModel); } else if (tpl.endsWith("lookup/tree-node-select")) { return TreeNodeSelect(birtModel); } else if (tpl.endsWith("lookup/tree-single-select")) { return TreeSingleSelect(birtModel); } else if (tpl == "print") { return birtModel; } else { console.error(`template[${tpl}]报表模型模板未定义.`) } } }