/**
* 报表页面容器,页面类型上下文
*/
import { $CONST } from "@birt/funclib/ConstUtil";
export default {
data() {
return {
policys: []
};
},
computed: {
// 功能或流程模型路径
modelPath() {
// return this.birtModel.modelPath || this.$route.path;
return this.birtModel.modelPath || '';
}
},
methods: {
// 页面初始化加载流程、功能上下文
_initPage() {
let mPath = this.modelPath;
let mFilePaths = this._getModelFilePaths();
if (this.isFlow()) {
this._initFlowContext();
this._requestFlowDatasetPolicy(mPath, mFilePaths);
}
},
// 获取 birtModel报表模型下,所有数据集模型路径集合
_getModelFilePaths() {
let mfs = [];
let sheets = this.birtModel.children || [];
sheets.forEach(sht => {
let dataSets = sht.dataSets || [];
dataSets.forEach(ds => {
mfs.push(ds.modelFilePath);
})
})
return mfs;
},
// 设置页面参数
_setParam(param) {
this.param = param;
},
// 设置数据集策略
setPolicys(policys) {
if (policys) {
policys.forEach(plc => {
let modelFile = plc.modelFile;
let dsInsc = this._getStore(modelFile);
if (dsInsc) {
dsInsc.setPolicy(plc);
}
})
}
},
// 获取数据集策略
getPolicys() {
return policys;
},
// 设置保存成功后页面上下文
setSaveResponse(response) {
let outP = response[$CONST.OUTPARAMETER] || {};
let ftaskguid = outP[$CONST.FTASKGUID];
let forderguid = outP[$CONST.FORDERGUID];
if (ftaskguid && forderguid) {
this.setTaskGuid(ftaskguid);
this.setOrderGuid(forderguid);
}
},
// 根据地地下推打开目标功能
openByPath(path, query, { title, target } = {}) {
query = query || {};
let queryT = {}
Object.assign(queryT, query || {});
if (title)
queryT.__title = title;
if (target) {
target = target === '_blank' ? (new Date()).valueOf() : target
queryT.__target = target;
}
// this.$router.push({
// path,
// query: queryT
// })
},
}
}