08335 / hivui-platform-template
hivui平台项目模板
Newer
Older
hivui-platform-template / project / hivuiBirt / templates / pages / tree-table-query.js
/**
 * 左边树,右边网格明细查询
 * @param {*} saveDataset 保存数据集,命名规范 ds_[数组下标]_[对话框id]
 * @param {*} conf 组件定义配置项
 * @returns 
 */
import { StringUtil } from "@birt/funclib/StringUtil.js";
import { treeEditFilter } from "../compose/tree-edit-filter"

export function newInstance(saveDataset, conf) {
    const dlgId = StringUtil.randomString(6);
    // 设置数据集id
    saveDataset.controlId += "_" + dlgId;
    // 编辑过滤树
    let treeEditFilterInsc = treeEditFilter(dlgId, saveDataset.controlId, conf.treeEditFilter);
    console.log('treeEditFilterInsc', treeEditFilterInsc)
    // 详情表单
    var hcForm = false;
    if (conf.hcForm) {
        hcForm = {
            controlName: "HcForm",
            controlId: "HcForm_" + dlgId,
            dataset: saveDataset.controlId,
            children: []
        }
        // 应用表单个性化配置
        Object.assign(hcForm, conf.hcForm || {});
    }
    // 网格明细
    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
}