You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

58 lines
2.2 KiB

;!(function () {
var store = BI.inherit(Fix.Model, {
state: function () {
const {params} = BI.Router.$router.history.current;
return {
id: params.id,
op: "page",
reportType: this.options.reportType
}
},
context: ['subjectInfo', 'tables', 'resourceOperationInfo'],
childContext: [],
computed: {
reportItem: function () {
var self = this;
var result = {};
var reportItems = [];
if (self.model.reportType === "cpt") {
reportItems = self.model.subjectInfo.cptItems.availableReports
} else if (self.model.reportType === "frm") {
reportItems = self.model.subjectInfo.frmItems.availableReports
}
return BI.find(reportItems, function (index, item) {
return item.id === self.model.id;
});
},
name: function () {
if (this.model.reportItem) {
return this.model.reportItem.name;
}
return "";
},
src: function () {
var self = this;
var config = BI.find(BI.Front.SUPPORT_REPORT, function (index, item) {
return item.type === self.model.reportType
})
if (config) {
if (self.model.reportType === "cpt") {
return Dec.fineServletURL + "/view/report?op=" + self.model.op + "&viewlet=" + self.model.subjectInfo.id + "/" + self.model.name + config.suffix;
} else if (self.model.reportType === "frm") {
return Dec.fineServletURL + "/view/form?" + "viewlet=" + self.model.subjectInfo.id + "/" + self.model.name + config.suffix;
}
}
return Dec.fineServletURL;
}
},
actions: {
initData: function (callback) {
var self = this;
BI.isFunction(callback) && callback()
}
}
});
BI.model("bi.subject.view.extend.report.model", store);
})();