Unverified 提交 c5bf27e0 authored 作者: Junjie's avatar Junjie 提交者: GitHub

Merge pull request #1726 from dataease/pr@dev@feat_s2_event

feat: S2 Event
...@@ -305,10 +305,10 @@ public class ChartViewService { ...@@ -305,10 +305,10 @@ public class ChartViewService {
filterRequest.setFieldId(fId); filterRequest.setFieldId(fId);
DatasetTableField datasetTableField = dataSetTableFieldsService.get(fId); DatasetTableField datasetTableField = dataSetTableFieldsService.get(fId);
if(datasetTableField == null){ if (datasetTableField == null) {
continue; continue;
} }
if(!desensitizationList.contains(datasetTableField.getDataeaseName()) && dataeaseNames.contains(datasetTableField.getDataeaseName())){ if (!desensitizationList.contains(datasetTableField.getDataeaseName()) && dataeaseNames.contains(datasetTableField.getDataeaseName())) {
filterRequest.setDatasetTableField(datasetTableField); filterRequest.setDatasetTableField(datasetTableField);
if (StringUtils.equalsIgnoreCase(datasetTableField.getTableId(), view.getTableId())) { if (StringUtils.equalsIgnoreCase(datasetTableField.getTableId(), view.getTableId())) {
if (CollectionUtils.isNotEmpty(filterRequest.getViewIds())) { if (CollectionUtils.isNotEmpty(filterRequest.getViewIds())) {
...@@ -329,7 +329,7 @@ public class ChartViewService { ...@@ -329,7 +329,7 @@ public class ChartViewService {
if (ObjectUtils.isNotEmpty(requestList.getLinkageFilters())) { if (ObjectUtils.isNotEmpty(requestList.getLinkageFilters())) {
for (ChartExtFilterRequest request : requestList.getLinkageFilters()) { for (ChartExtFilterRequest request : requestList.getLinkageFilters()) {
DatasetTableField datasetTableField = dataSetTableFieldsService.get(request.getFieldId()); DatasetTableField datasetTableField = dataSetTableFieldsService.get(request.getFieldId());
if(!desensitizationList.contains(datasetTableField.getDataeaseName()) && dataeaseNames.contains(datasetTableField.getDataeaseName())){ if (!desensitizationList.contains(datasetTableField.getDataeaseName()) && dataeaseNames.contains(datasetTableField.getDataeaseName())) {
request.setDatasetTableField(datasetTableField); request.setDatasetTableField(datasetTableField);
if (StringUtils.equalsIgnoreCase(datasetTableField.getTableId(), view.getTableId())) { if (StringUtils.equalsIgnoreCase(datasetTableField.getTableId(), view.getTableId())) {
if (CollectionUtils.isNotEmpty(request.getViewIds())) { if (CollectionUtils.isNotEmpty(request.getViewIds())) {
...@@ -814,34 +814,66 @@ public class ChartViewService { ...@@ -814,34 +814,66 @@ public class ChartViewService {
} }
} }
for (int i = xAxis.size(); i < xAxis.size() + yAxis.size(); i++) { if (StringUtils.containsIgnoreCase(view.getType(), "table")) {
AxisChartDataAntVDTO axisChartDataDTO = new AxisChartDataAntVDTO(); for (int i = 0; i < xAxis.size() + yAxis.size(); i++) {
axisChartDataDTO.setField(a.toString()); AxisChartDataAntVDTO axisChartDataDTO = new AxisChartDataAntVDTO();
axisChartDataDTO.setName(a.toString()); axisChartDataDTO.setField(a.toString());
axisChartDataDTO.setName(a.toString());
List<ChartDimensionDTO> dimensionList = new ArrayList<>(); List<ChartDimensionDTO> dimensionList = new ArrayList<>();
List<ChartQuotaDTO> quotaList = new ArrayList<>(); List<ChartQuotaDTO> quotaList = new ArrayList<>();
for (int j = 0; j < xAxis.size(); j++) { for (int j = 0; j < xAxis.size(); j++) {
ChartDimensionDTO chartDimensionDTO = new ChartDimensionDTO(); ChartDimensionDTO chartDimensionDTO = new ChartDimensionDTO();
chartDimensionDTO.setId(xAxis.get(j).getId()); chartDimensionDTO.setId(xAxis.get(j).getId());
chartDimensionDTO.setValue(row[j]); chartDimensionDTO.setValue(row[j]);
dimensionList.add(chartDimensionDTO); dimensionList.add(chartDimensionDTO);
}
axisChartDataDTO.setDimensionList(dimensionList);
int j = i - xAxis.size();
if (j > -1) {
ChartQuotaDTO chartQuotaDTO = new ChartQuotaDTO();
chartQuotaDTO.setId(yAxis.get(j).getId());
quotaList.add(chartQuotaDTO);
axisChartDataDTO.setQuotaList(quotaList);
try {
axisChartDataDTO.setValue(StringUtils.isEmpty(row[i]) ? null : new BigDecimal(row[i]));
} catch (Exception e) {
axisChartDataDTO.setValue(new BigDecimal(0));
}
}
datas.add(axisChartDataDTO);
} }
axisChartDataDTO.setDimensionList(dimensionList); } else {
for (int i = xAxis.size(); i < xAxis.size() + yAxis.size(); i++) {
AxisChartDataAntVDTO axisChartDataDTO = new AxisChartDataAntVDTO();
axisChartDataDTO.setField(a.toString());
axisChartDataDTO.setName(a.toString());
int j = i - xAxis.size(); List<ChartDimensionDTO> dimensionList = new ArrayList<>();
ChartQuotaDTO chartQuotaDTO = new ChartQuotaDTO(); List<ChartQuotaDTO> quotaList = new ArrayList<>();
chartQuotaDTO.setId(yAxis.get(j).getId());
quotaList.add(chartQuotaDTO); for (int j = 0; j < xAxis.size(); j++) {
axisChartDataDTO.setQuotaList(quotaList); ChartDimensionDTO chartDimensionDTO = new ChartDimensionDTO();
try { chartDimensionDTO.setId(xAxis.get(j).getId());
axisChartDataDTO.setValue(StringUtils.isEmpty(row[i]) ? null : new BigDecimal(row[i])); chartDimensionDTO.setValue(row[j]);
} catch (Exception e) { dimensionList.add(chartDimensionDTO);
axisChartDataDTO.setValue(new BigDecimal(0)); }
axisChartDataDTO.setDimensionList(dimensionList);
int j = i - xAxis.size();
ChartQuotaDTO chartQuotaDTO = new ChartQuotaDTO();
chartQuotaDTO.setId(yAxis.get(j).getId());
quotaList.add(chartQuotaDTO);
axisChartDataDTO.setQuotaList(quotaList);
try {
axisChartDataDTO.setValue(StringUtils.isEmpty(row[i]) ? null : new BigDecimal(row[i]));
} catch (Exception e) {
axisChartDataDTO.setValue(new BigDecimal(0));
}
datas.add(axisChartDataDTO);
} }
axisChartDataDTO.setCategory(yAxis.get(j).getName());
datas.add(axisChartDataDTO);
} }
} }
map.put("datas", datas); map.put("datas", datas);
......
import { TableSheet } from '@antv/s2' import { TableSheet, S2Event } from '@antv/s2'
import { getCustomTheme, getSize } from '@/views/chart/chart/common/common_table' import { getCustomTheme, getSize } from '@/views/chart/chart/common/common_table'
export function baseTableInfo(s2, container, chart, action, tableData) { export function baseTableInfo(s2, container, chart, action, tableData) {
...@@ -47,6 +47,9 @@ export function baseTableInfo(s2, container, chart, action, tableData) { ...@@ -47,6 +47,9 @@ export function baseTableInfo(s2, container, chart, action, tableData) {
} }
s2 = new TableSheet(containerDom, s2DataConfig, s2Options) s2 = new TableSheet(containerDom, s2DataConfig, s2Options)
// click
s2.on(S2Event.DATA_CELL_CLICK, action)
// theme // theme
const customTheme = getCustomTheme(chart) const customTheme = getCustomTheme(chart)
s2.setThemeCfg({ theme: customTheme }) s2.setThemeCfg({ theme: customTheme })
......
...@@ -207,17 +207,32 @@ export default { ...@@ -207,17 +207,32 @@ export default {
}, },
antVAction(param) { antVAction(param) {
console.log(param) const cell = this.myChart.getCell(param.target)
if (this.chart.type === 'treemap') { const meta = cell.getMeta()
this.pointParam = param.data.data console.log(meta)
} else {
this.pointParam = param.data let xAxis = []
if (this.chart.xaxis) {
xAxis = JSON.parse(this.chart.xaxis)
}
let field = {}
if (meta.colIndex < xAxis.length) {
field = xAxis[meta.colIndex]
} }
const dimensionList = []
dimensionList.push({ id: field.id, value: meta.fieldValue })
this.pointParam = {
data: {
dimensionList: dimensionList
}
}
console.log(this.pointParam)
if (this.trackMenu.length < 2) { // 只有一个事件直接调用 if (this.trackMenu.length < 2) { // 只有一个事件直接调用
this.trackClick(this.trackMenu[0]) this.trackClick(this.trackMenu[0])
} else { // 视图关联多个事件 } else { // 视图关联多个事件
this.trackBarStyle.left = param.x + 'px' this.trackBarStyle.left = 50 + 'px'
this.trackBarStyle.top = (param.y + 10) + 'px' this.trackBarStyle.top = (50 + 10) + 'px'
this.$refs.viewTrack.trackButtonClick() this.$refs.viewTrack.trackButtonClick()
} }
}, },
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论