/** * 左边树,右边网格明细查询 * @param {*} saveDataset 保存数据集,命名规范 ds_[数组下标]_[对话框id] * @param {*} conf 组件定义配置项 * @returns */ import { StringUtil } from "@birt/funclib/StringUtil.js"; import { treeEditFilter } from "../compose/tree-edit-filter" import { FormStyleFactory } from "../compose/FormStyleFactory"; import { BirtModelFactory } from "@birt/templates/BirtModelFactory"; export function TreeTableQuery(conf) { debugger const dlgId = StringUtil.randomString(6); // 设置数据集id var saveDataset = conf.mainDataset saveDataset.controlId += "_" + dlgId; // 编辑过滤树 let treeEdit = treeEditFilter(dlgId, saveDataset.controlId, conf.treeEditFilter); // console.log('treeModel',treeEdit) let treeChildren = treeEdit.children[1].children treeChildren.map(item =>{ debugger let birtModel = { birtModel: item.birtModel } item.birtModel = BirtModelFactory.buildModel(birtModel) return item }) let treeEditFilterInsc = treeEdit // console.log('treeEditFilterInsc', treeEditFilterInsc) // 详情表单 var hcForm = false; if (conf.hcForm) { hcForm = { controlName: "HcForm", // controlId: "HcForm_" + dlgId, dataset: saveDataset.controlId, children: [] } // 应用表单个性化配置 let confForm = JSON.parse(JSON.stringify(conf.hcForm)) Object.assign(hcForm, FormStyleFactory.buildForm(confForm) || {}); } // 网格明细 var hcTable = { controlName: "HcTable", // controlId: "HcTable_" + dlgId, dataset: saveDataset.controlId, height: function (parentHeight) { return parentHeight - 170; }, children: [], }; // 应用网格个性化配置 Object.assign(hcTable, conf.hcTable || {}); // 应用报表模型 var birtWorkBook = Object.assign({ controlName: "BirtWorkBook", controlId: "BirtWorkBook_" + dlgId, showToolBar: false, totalPage: 1, renderType: "pages", height: function (parentHeight) { return parentHeight - 10; }, }, conf.birtWorkBook || {}) // 添加布局结构 birtWorkBook.children = [ { controlName: "BirtSheet", controlId: "BirtSheet_" + dlgId, name: "sheet_" + dlgId, pageIndex: 0, dataSets: [saveDataset], children: [ { controlName: "BirtFormSheet", controlId: "BirtFormSheet_" + dlgId, children: [ { controlName: "HcRow", gutter: 10, children: [ treeEditFilterInsc, { controlName: "HcCol", controlId: "HcCol_01_right", span: 18, children: [].concat(hcForm ? hcForm : []).concat(hcTable) } ] } ] } ] } ] return birtWorkBook }