forked from ezreal/BI-FR-MIX-FRONT
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
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); |
|
})(); |