diff --git a/core/backend/src/main/java/io/dataease/service/chart/ChartViewService.java b/core/backend/src/main/java/io/dataease/service/chart/ChartViewService.java index 27d0fe943e..165a674a7a 100644 --- a/core/backend/src/main/java/io/dataease/service/chart/ChartViewService.java +++ b/core/backend/src/main/java/io/dataease/service/chart/ChartViewService.java @@ -1039,6 +1039,18 @@ public class ChartViewService { || StringUtils.containsIgnoreCase(view.getType(), "table-pivot")) { // 动态阈值 dynamicAssistFields = getDynamicThresholdFields(view); + // 明细表非数据列字段要加进来 + if (StringUtils.containsIgnoreCase(view.getType(), "table-info")) { + Set fieldIds = xAxis.stream().map(ChartViewFieldDTO::getId).collect(Collectors.toSet()); + List finalXAxis = xAxis; + dynamicAssistFields.forEach(i -> { + if (!fieldIds.contains(i.getFieldId())) { + ChartViewFieldDTO fieldDTO = new ChartViewFieldDTO(); + BeanUtils.copyBean(fieldDTO, i.getCurField()); + finalXAxis.add(fieldDTO); + } + }); + } assistFields = getAssistFields(dynamicAssistFields, yAxis, xAxis); } @@ -1289,6 +1301,9 @@ public class ChartViewService { } if (CollectionUtils.isNotEmpty(assistFields)) { + if (StringUtils.equalsIgnoreCase("table-info", view.getType())) { + datasourceRequest.setQuery(querySql); + } datasourceAssistRequest.setQuery(assistSQL(datasourceRequest.getQuery(), assistFields, ds)); logger.info(datasourceAssistRequest.getQuery()); assistData = datasourceProvider.getData(datasourceAssistRequest); @@ -2407,7 +2422,7 @@ public class ChartViewService { List conditions = gson.fromJson(itemConditions.toJSONString(), new TypeToken>() { }.getType()); for (ChartSeniorThresholdDTO condition : conditions) { - if (StringUtils.equalsIgnoreCase(condition.getField(), "0")) { + if (StringUtils.equalsAnyIgnoreCase(condition.getField(), "0", "2")) { continue; } diff --git a/core/frontend/src/views/chart/chart/table/table-info.js b/core/frontend/src/views/chart/chart/table/table-info.js index 87fc5ac4b7..7e14370021 100644 --- a/core/frontend/src/views/chart/chart/table/table-info.js +++ b/core/frontend/src/views/chart/chart/table/table-info.js @@ -119,7 +119,7 @@ export function baseTableInfo(container, chart, action, tableData, pageInfo, vue } fields.forEach(ele => { const f = nameMap[ele.dataeaseName] - if (f.hidden === true) { + if (!f || f.hidden === true) { return } columns.push(ele.dataeaseName) diff --git a/core/frontend/src/views/chart/components/senior/dialog/TableThresholdEdit.vue b/core/frontend/src/views/chart/components/senior/dialog/TableThresholdEdit.vue index 70ee0922d0..806ea8fbc8 100644 --- a/core/frontend/src/views/chart/components/senior/dialog/TableThresholdEdit.vue +++ b/core/frontend/src/views/chart/components/senior/dialog/TableThresholdEdit.vue @@ -407,6 +407,7 @@ export default { required: true } }, + inject: ['filedList'], data() { return { thresholdArr: [], @@ -637,7 +638,8 @@ export default { } // 区分文本、数值、日期字段 - this.fields.forEach(ele => { + const compareFields = this.chart.type === 'table-info' ? this.filedList() : this.fields + compareFields.forEach(ele => { // 视图字段和计数字段不可用 if (ele.chartId || ele.id === 'count') { return @@ -725,7 +727,8 @@ export default { if (!id) { return {} } - const fields = this.fields.filter(ele => { + const compareFields = this.chart.type === 'table-info' ? this.filedList() : this.fields + const fields = compareFields.filter(ele => { return ele.id === id }) if (fields.length === 0) {