Этот коммит содержится в:
2023-03-13 08:13:18 +00:00
родитель b6c4e025bc
Коммит 0da601e691
36 изменённых файлов: 215 добавлений и 245 удалений
+9 -8
Просмотреть файл
@@ -1220,14 +1220,14 @@ var Unibase;
}
tableCellClick(e, cell, level, mainreportid, subres, containerid) {
var instance = this;
var filter = [];
var appliedFilters = [];
if (subres.length != 0) {
var subrpt = subres.find(s => s.AliasName == cell["_cell"].column.definition.field);
if (subrpt) {
var row = cell.getRow();
let row_data = row.getData();
if (subrpt.SubReportTypeId == Unibase.Platform.Analytics.Reports.Enums.SubReportType.Detail) {
var onclick = "Unibase.Platform.Helpers.NavigationHelper.Instance().loadDetail({{" + subrpt.PrimaryKeyColumn + "}},{{appinstalledappid}},null,null);";
var onclick = `Unibase.Platform.Helpers.NavigationHelper.Instance().loadDetail({{${subrpt.PrimaryKeyColumn}}},{{appinstalledappid}},null,null);`;
onclick = onclick.replace("{{appinstalledappid}}", subrpt.InstalledAppId);
onclick = onclick.replace("{{" + subrpt.PrimaryKeyColumn + "}}", row_data[subrpt.PrimaryKeyColumn]);
var templateScript = Handlebars.compile(onclick);
@@ -1242,22 +1242,23 @@ var Unibase;
dynamicFilters.forEach(filter => {
filter.IsSubReportFilter = true;
});
filter = filter.concat(dynamicFilters);
appliedFilters = appliedFilters.concat(dynamicFilters);
}
var filters = JSON.parse(subrpt.Filters);
for (var i = 0; i < filters.length; i++) {
let fill = filters[i];
var subRepFilters = JSON.parse(subrpt.Filters);
subRepFilters = subRepFilters.filter(item1 => appliedFilters.some(item2 => item1.ParameterName === item2.ParameterName));
for (var i = 0; i < subRepFilters.length; i++) {
let fill = subRepFilters[i];
let value = row_data[fill.ParameterName.trim()];
let expid = instance.getExpId(fill.Operator);
if (fill.Isvalue)
value = fill.ParameterName;
filter.push({
appliedFilters.push({
ParameterName: fill.ParameterValue.trim(),
ParameterValue: value.toString(),
ExpOp: expid, IsSubReportFilter: true
});
}
instance._reportViewer.dynamicFilters = filter.filter((f, i, a) => a.findIndex(f2 => (f.ParameterName === f2.ParameterName)) === i);
instance._reportViewer.dynamicFilters = appliedFilters.filter((f, i, a) => a.findIndex(f2 => (f.ParameterName === f2.ParameterName)) === i);
instance._reportViewer.isSubReport = true;
return instance._reportViewer.report_ViewAll(subrpt.ChildReportId, 0, "_linkedreport_" + subrpt.ChildReportId);
}