/**
* 多表单保存,页面模板
* @param {*} saveDataset 保存数据集,命名规范 ds_[数组下标]_[对话框id]
* @param {*} conf 组件定义配置项
* @returns
*/
import {
StringUtil
} from "@birt/funclib/StringUtil.js";
export function newInstance(saveDataset1, saveDataset2, conf) {
const dlgId = StringUtil.randomString(6);
// 设置数据集id
saveDataset1.controlId += "_" + dlgId;
saveDataset2.controlId += "_" + dlgId;
// 表单操作工具条
var hcFormToolbar = {
controlName: "HcFormToolbar",
controlId: "HcFormToolbar_" + dlgId,
dataset: saveDataset2.controlId,
layout: ["cancel", "save"],
size: "small",
style: "padding:15px;"
}
// 应用工具条个性化配置
Object.assign(hcFormToolbar, conf.hcFormToolbar || {});
// 表单内容
var hcForm1 = {
controlName: "HcForm",
controlId: "HcForm1_" + dlgId,
dataset: saveDataset1.controlId,
labelWidth: "80px",
rules: {},
children: [],
};
var hcForm2 = {
controlName: "HcForm",
controlId: "HcForm2_" + dlgId,
dataset: saveDataset2.controlId,
labelWidth: "80px",
rules: {},
children: [],
};
// 应用表单个性化配置
Object.assign(hcForm1, conf.hcForm[0] || {});
Object.assign(hcForm2, conf.hcForm[1] || {});
// 应用报表模型
var birtWorkBook = Object.assign({
controlName: "BirtWorkBook",
controlId: "BirtWorkBook_" + dlgId,
showToolBar: false,
totalPage: 1,
renderType: "pages",
height: function (parentHeight) {
return parentHeight;
},
}, conf.birtWorkBook || {})
birtWorkBook.children = [{
controlName: "BirtSheet",
controlId: "BirtSheet_" + dlgId,
name: "sheet_" + dlgId,
pageIndex: 0,
dataSets: [saveDataset1,saveDataset2],
children: [{
controlName: "BirtFormSheet",
controlId: "BirtFormSheet_" + dlgId,
children: [
hcFormToolbar,
hcForm1,
hcForm2
]
}]
}];
// 返回布局结构
return birtWorkBook
}