@zgfe/modules-interval 1.0.23-zhongyuan.2 → 1.0.23-zhongyuan.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/dist/esm/components/eventFilter/index.js +33 -19
  2. package/dist/esm/components/renderContent/index.js +6 -3
  3. package/dist/esm/components/renderContent/styles/index.css +32 -0
  4. package/dist/esm/components/renderContent/styles/index.less +1 -0
  5. package/dist/esm/components/renderContent/types.d.ts +9 -2
  6. package/dist/esm/components/searchPanel/index.js +14 -10
  7. package/dist/esm/components/searchPanel/types.d.ts +4 -1
  8. package/dist/esm/components/table/index.js +3 -2
  9. package/dist/esm/components/topBar/types.d.ts +4 -0
  10. package/dist/esm/constants/code.js +6 -6
  11. package/dist/esm/modules/chart/customTooltip.js +3 -3
  12. package/dist/esm/modules/chart/customTooltip1.d.ts +7 -0
  13. package/dist/esm/modules/chart/customTooltip1.js +46 -0
  14. package/dist/esm/modules/chart/index.css +52 -0
  15. package/dist/esm/modules/chart/index.js +26 -22
  16. package/dist/esm/modules/chart/index.less +1 -1
  17. package/dist/esm/modules/chart/intervalChart copy.d.ts +4 -0
  18. package/dist/esm/modules/chart/intervalChart copy.js +295 -0
  19. package/dist/esm/modules/chart/intervalChart.js +325 -36
  20. package/dist/esm/modules/chart/types.d.ts +2 -1
  21. package/dist/esm/modules/content/index.js +51 -20
  22. package/dist/esm/modules/content/types.d.ts +9 -1
  23. package/dist/esm/modules/content/utils.js +12 -12
  24. package/dist/esm/modules/home/index.js +8 -2
  25. package/dist/esm/modules/home/types.d.ts +4 -1
  26. package/dist/esm/modules/topPanel/index.js +8 -9
  27. package/dist/esm/modules/topPanel/styles/index.less +219 -219
  28. package/dist/esm/types.d.ts +8 -1
  29. package/dist/esm/types.js +6 -6
  30. package/dist/esm/utils/formData.d.ts +2 -2
  31. package/dist/esm/utils/formData.js +12 -9
  32. package/package.json +3 -3
@@ -4,30 +4,106 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
4
4
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
5
5
  function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
6
6
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
7
- import React, { useEffect, useState } from 'react';
8
- import ReactECharts from 'echarts-for-react';
7
+ import React, { useEffect, useRef, useState } from 'react';
9
8
  import * as echarts from 'echarts';
10
9
  import { renderToString } from 'react-dom/server';
11
10
  import CustomTooltip from "./customTooltip";
12
11
  import { chartColors } from "../../constants";
13
12
  import { getRandomColor } from "../../constants/color";
14
13
  import { convertDateArray } from "../../utils/formData";
14
+ var _currentAxisBreaks = [{
15
+ start: 5000,
16
+ end: 100000,
17
+ gap: '1.5%'
18
+ }, {
19
+ start: 105000,
20
+ end: 3100000,
21
+ gap: '1.5%'
22
+ }];
15
23
  var IntervalChart = function IntervalChart(props) {
16
24
  var _useState = useState({}),
17
25
  _useState2 = _slicedToArray(_useState, 2),
18
- option = _useState2[0],
19
- setOption = _useState2[1];
26
+ optionECharts = _useState2[0],
27
+ setOptionECharts = _useState2[1];
28
+ // 获取实例
29
+ var chartRef = useRef(null);
30
+ var _useState3 = useState(null),
31
+ _useState4 = _slicedToArray(_useState3, 2),
32
+ chartInstance = _useState4[0],
33
+ setChartInstance = _useState4[1]; // echart实列
20
34
  useEffect(function () {
21
- var _props$showList, _seriesData$series;
22
- var seriesData = props === null || props === void 0 ? void 0 : (_props$showList = props.showList) === null || _props$showList === void 0 ? void 0 : _props$showList.appData;
35
+ var aDom = echarts.init(chartRef.current);
36
+ setChartInstance(aDom);
37
+ }, []);
38
+ useEffect(function () {
39
+ var _props$showList$appDa, _props$showList, _props$dataSource, _seriesData$series;
40
+ // chartRef && chartRef.current.getEchartsInstance().clear();
41
+ var seriesData = (_props$showList$appDa = props === null || props === void 0 ? void 0 : (_props$showList = props.showList) === null || _props$showList === void 0 ? void 0 : _props$showList.appData) !== null && _props$showList$appDa !== void 0 ? _props$showList$appDa : props === null || props === void 0 ? void 0 : (_props$dataSource = props.dataSource) === null || _props$dataSource === void 0 ? void 0 : _props$dataSource.appData;
23
42
  var params = props === null || props === void 0 ? void 0 : props.params;
24
43
  var eCharts = {
25
44
  tooltip: {
26
45
  trigger: 'item',
46
+ // tooltip 跟随鼠标
47
+ // position: function (point, params, dom, rect, size) {
48
+ // return [point[0] + 10, point[1] - 10];
49
+ // },
50
+ // ========== 核心:重写position函数,防止tooltip溢出屏幕 ==========
51
+ position: function position(point, params, dom, rect, size) {
52
+ // 获取tooltip DOM元素的实际宽高(自定义HTML的尺寸)
53
+ var tooltipWidth = dom.offsetWidth || 200; // 默认宽度200px
54
+ var tooltipHeight = dom.offsetHeight || 150; // 默认高度150px
55
+
56
+ // 获取屏幕可视区域的宽高
57
+ var screenWidth = document.documentElement.clientWidth;
58
+ var screenHeight = document.documentElement.clientHeight;
59
+
60
+ // 鼠标当前坐标
61
+ var mouseX = point[0];
62
+ var mouseY = point[1];
63
+
64
+ // 计算tooltip的候选位置(初始:鼠标右侧+10px,鼠标上方-10px)
65
+ var targetX = mouseX + 10;
66
+ var targetY = mouseY - 10;
67
+
68
+ // 1. 右边界检测:如果tooltip超出屏幕右侧,显示在鼠标左侧
69
+ if (targetX + tooltipWidth > screenWidth) {
70
+ targetX = mouseX - tooltipWidth - 10;
71
+ }
72
+
73
+ // 2. 左边界检测:如果tooltip超出屏幕左侧,强制显示在屏幕左侧
74
+ if (targetX < 0) {
75
+ targetX = 10;
76
+ }
77
+
78
+ // 3. 下边界检测:如果tooltip超出屏幕下方,显示在鼠标下方
79
+ if (targetY + tooltipHeight > screenHeight) {
80
+ targetY = mouseY + 10;
81
+ }
82
+
83
+ // 4. 上边界检测:如果tooltip超出屏幕上方,强制显示在屏幕上方
84
+ if (targetY < 0) {
85
+ targetY = 10;
86
+ }
87
+
88
+ // 返回最终调整后的位置
89
+ return [targetX, targetY];
90
+ },
27
91
  axisPointer: {
28
92
  type: 'shadow'
93
+ },
94
+ confine: true,
95
+ // 开启边界限制(ECharts内置,配合自定义position双重保障)
96
+ formatter: function formatter(params) {
97
+ return renderToString( /*#__PURE__*/React.createElement(CustomTooltip, {
98
+ series: undefined,
99
+ payload: params
100
+ }));
29
101
  }
102
+ // formatter: (params: any) => {
103
+ // return renderToString(<CustomTooltip1 series={seriesData?.series} payload={params} />);
104
+ // },
30
105
  },
106
+
31
107
  legend: {
32
108
  bottom: 0,
33
109
  icon: 'circle',
@@ -63,23 +139,40 @@ var IntervalChart = function IntervalChart(props) {
63
139
 
64
140
  axisLabel: {
65
141
  color: '#67727F' // 设置文字颜色
142
+ },
143
+
144
+ axisPointer: {
145
+ type: 'shadow'
66
146
  }
67
147
  },
68
-
69
148
  yAxis: {
70
- type: 'value',
71
- splitLine: {
72
- show: true,
73
- lineStyle: {
74
- type: 'dashed' // 设置线条类型为虚线
75
- }
76
- },
149
+ // type: 'value',
150
+ // splitLine: {
151
+ // show: true,
152
+ // lineStyle: {
153
+ // type: 'dashed', // 设置线条类型为虚线
154
+ // },
155
+ // },
156
+ // axisLabel: {
157
+ // color: '#67727F', // 设置文字颜色
158
+ // },
159
+ // breaks: _currentAxisBreaks,
160
+ // breakArea: {
161
+ // itemStyle: {
162
+ // opacity: 1,
163
+ // },
164
+ // zigzagZ: 200,
165
+ // },
77
166
 
78
- axisLabel: {
79
- color: '#67727F' // 设置文字颜色
167
+ type: 'value',
168
+ breaks: _currentAxisBreaks,
169
+ breakArea: {
170
+ itemStyle: {
171
+ opacity: 1
172
+ },
173
+ zigzagZ: 200
80
174
  }
81
175
  },
82
-
83
176
  dataZoom: [{
84
177
  type: 'inside',
85
178
  start: 0,
@@ -106,23 +199,29 @@ var IntervalChart = function IntervalChart(props) {
106
199
  datasetIndex: 1,
107
200
  name: seriesData === null || seriesData === void 0 ? void 0 : (_seriesData$series$i = seriesData.series[i]) === null || _seriesData$series$i === void 0 ? void 0 : _seriesData$series$i.names[0],
108
201
  data: seriesData === null || seriesData === void 0 ? void 0 : (_seriesData$series$i2 = seriesData.series[i]) === null || _seriesData$series$i2 === void 0 ? void 0 : _seriesData$series$i2.values,
109
- tooltip: {
110
- show: true,
111
- // 单独配置series中的tooltip为显示
112
- extraCssText: 'border: none;padding:0;border-radius:10px;background: rgba(250, 251, 253, 0.8)',
113
- // 添加自定义的CSS样式,去掉边框
114
- formatter: function formatter(params) {
115
- var tooltipString = renderToString( /*#__PURE__*/React.createElement(CustomTooltip, {
116
- series: seriesData === null || seriesData === void 0 ? void 0 : seriesData.series[i],
117
- payload: params
118
- }));
119
- return tooltipString;
120
- }
202
+ showBackground: true,
203
+ // 关键修改:背景改为透明
204
+ backgroundStyle: {
205
+ color: 'rgba(0,0,0,0.2)'
121
206
  },
122
207
  emphasis: {
208
+ focus: 'series',
209
+ blurScope: 'coordinateSystem',
123
210
  itemStyle: {
124
211
  borderColor: color // 设置盒子的颜色
125
212
  }
213
+
214
+ // tooltip: {
215
+ // show: true, // 单独配置series中的tooltip为显示
216
+ // extraCssText:
217
+ // 'border: none;padding:0;border-radius:10px;background: rgba(250, 251, 253, 0.8)', // 添加自定义的CSS样式,去掉边框
218
+ // formatter: (params: any) => {
219
+ // const tooltipString = renderToString(
220
+ // <CustomTooltip series={seriesData?.series[i]} payload={params} />,
221
+ // );
222
+ // return tooltipString;
223
+ // },
224
+ // },
126
225
  },
127
226
 
128
227
  itemStyle: {
@@ -131,15 +230,205 @@ var IntervalChart = function IntervalChart(props) {
131
230
  };
132
231
  })
133
232
  };
134
- setOption(eCharts);
233
+ setOptionECharts(function () {
234
+ return eCharts;
235
+ });
135
236
  }, [props === null || props === void 0 ? void 0 : props.showList]);
136
- return /*#__PURE__*/React.createElement(ReactECharts, {
237
+ useEffect(function () {
238
+ // true 表示ecahrt不合并,直接替换
239
+ chartInstance && chartInstance.setOption(optionECharts, true);
240
+ }, [optionECharts]);
241
+ useEffect(function () {
242
+ setTimeout(function () {
243
+ chartInstance && chartInstance.on('axisbreakchanged', function (params) {
244
+ updateCollapseButton(params);
245
+ });
246
+ // =========================
247
+ // 关键修改:结合 dataZoom 的可见索引范围
248
+ // =========================
249
+
250
+ // 当前 x 轴可见的起止 dataIndex(受 dataZoom 控制)
251
+ var baseOption = chartInstance && chartInstance.getOption();
252
+ var totalCategoryCount = baseOption && baseOption.xAxis[0].data.length;
253
+ var visibleStartIndex = 0;
254
+ var visibleEndIndex = totalCategoryCount - 1;
255
+
256
+ // 根据 dataZoom 的 start / end 百分比更新可见索引范围[web:28]
257
+ function updateVisibleRangeFromDataZoom(params) {
258
+ var startPercent;
259
+ var endPercent;
260
+ if (params && params.batch && params.batch.length) {
261
+ // 事件中 batch 数组形式
262
+ startPercent = params.batch[0].start;
263
+ endPercent = params.batch[0].end;
264
+ } else if (params) {
265
+ startPercent = params.start;
266
+ endPercent = params.end;
267
+ }
268
+ if (startPercent == null || endPercent == null) {
269
+ return;
270
+ }
271
+ var optionNow = chartInstance && chartInstance.getOption();
272
+ var axisData = optionNow.xAxis[0].data || [];
273
+ var total = axisData.length || 1;
274
+ visibleStartIndex = Math.round(startPercent / 100 * (total - 1));
275
+ visibleEndIndex = Math.round(endPercent / 100 * (total - 1));
276
+ if (visibleStartIndex < 0) visibleStartIndex = 0;
277
+ if (visibleEndIndex > total - 1) visibleEndIndex = total - 1;
278
+ }
279
+
280
+ // 初始化一次可见范围(用当前 option 中 dataZoom 的配置)
281
+ if (baseOption && baseOption.dataZoom && baseOption && baseOption.dataZoom.length) {
282
+ updateVisibleRangeFromDataZoom(baseOption.dataZoom[0]);
283
+ }
284
+
285
+ // 监听 dataZoom 事件,更新可见范围
286
+ chartInstance && chartInstance.on('dataZoom', function (params) {
287
+ updateVisibleRangeFromDataZoom(params);
288
+ });
289
+
290
+ // 封装鼠标移动时的计算逻辑
291
+ function handleMouseMove(params) {
292
+ var pointInPixel = [params.offsetX, params.offsetY];
293
+
294
+ // 检查是否在网格区域内
295
+ if (!chartInstance && chartInstance.containPixel('grid', pointInPixel)) {
296
+ chartInstance && chartInstance.dispatchAction({
297
+ type: 'hideTip'
298
+ });
299
+ return;
300
+ }
301
+
302
+ // 使用当前坐标系(考虑 dataZoom / axisBreak)将像素坐标转为数据坐标[web:19]
303
+ var pointInGrid = chartInstance && chartInstance.convertFromPixel({
304
+ xAxisIndex: 0,
305
+ yAxisIndex: 0
306
+ }, pointInPixel);
307
+ if (!pointInGrid) {
308
+ chartInstance && chartInstance.dispatchAction({
309
+ type: 'hideTip'
310
+ });
311
+ return;
312
+ }
313
+ var xIndex = Math.round(pointInGrid[0]);
314
+ var optionNow = chartInstance && chartInstance.getOption();
315
+ var series = optionNow.series || [];
316
+ var seriesCount = series.length;
317
+
318
+ // 如果当前 xIndex 不在 dataZoom 可见范围内,直接不显示 tooltip
319
+ if (xIndex < visibleStartIndex || xIndex > visibleEndIndex) {
320
+ chartInstance && chartInstance.dispatchAction({
321
+ type: 'hideTip'
322
+ });
323
+ return;
324
+ }
325
+
326
+ // 获取当前网格区域信息(会随 dataZoom / resize 变化)
327
+ var gridModel = chartInstance && chartInstance.getModel().getComponent('grid', 0);
328
+ var gridRect = gridModel.coordinateSystem.getRect();
329
+
330
+ // 当前可见类目数量(只按 dataZoom 可见区计算宽度)
331
+ var visibleCategoryCount = visibleEndIndex - visibleStartIndex + 1;
332
+ if (visibleCategoryCount <= 0) {
333
+ chartInstance && chartInstance.dispatchAction({
334
+ type: 'hideTip'
335
+ });
336
+ return;
337
+ }
338
+
339
+ // 每个可见类目在当前网格中的宽度
340
+ var categoryWidth = gridRect.width / visibleCategoryCount;
341
+
342
+ // 当前类目的起点 = grid 起点 + (xIndex - visibleStartIndex) * 每类宽度
343
+ var categoryStartX = gridRect.x + (xIndex - visibleStartIndex) * categoryWidth;
344
+
345
+ // 鼠标在当前类目内的相对 X 位置
346
+ var relativeX = params.offsetX - categoryStartX;
347
+
348
+ // 计算每个 series 对应的“柱子”宽度(背景区域同样分配)
349
+ var barWidth = categoryWidth / seriesCount;
350
+
351
+ // 鼠标当前所在的系列下标(按背景区域来划分)
352
+ var seriesIndex = Math.floor(relativeX / barWidth);
353
+
354
+ // 索引有效性判断
355
+ var categoryTotal = optionNow.xAxis[0].data.length;
356
+ if (seriesIndex >= 0 && seriesIndex < seriesCount && xIndex >= 0 && xIndex < categoryTotal) {
357
+ // 显示跟随鼠标的 tooltip(包括柱子上方的背景区域)
358
+ chartInstance && chartInstance.dispatchAction({
359
+ type: 'showTip',
360
+ seriesIndex: seriesIndex,
361
+ dataIndex: xIndex,
362
+ position: [params.offsetX + 10, params.offsetY - 10]
363
+ });
364
+ } else {
365
+ chartInstance && chartInstance.dispatchAction({
366
+ type: 'hideTip'
367
+ });
368
+ }
369
+ }
370
+
371
+ // 添加鼠标移动监听,计算鼠标位置对应的具体柱子(考虑 dataZoom 后的新显示)
372
+ chartInstance && chartInstance.getZr().on('mousemove', function (params) {
373
+ handleMouseMove(params);
374
+ });
375
+ chartInstance && chartInstance.getZr().on('mouseout', function () {
376
+ chartInstance && chartInstance.dispatchAction({
377
+ type: 'hideTip'
378
+ });
379
+ });
380
+ }, 0);
381
+ }, [chartInstance]);
382
+ function updateCollapseButton(params) {
383
+ // If there is any axis break expanded, we need to show the collapse button.
384
+ var needReset = false;
385
+ for (var i = 0; i < params.breaks.length; i++) {
386
+ var changedBreakItem = params.breaks[i];
387
+ if (changedBreakItem.isExpanded) {
388
+ needReset = true;
389
+ break;
390
+ }
391
+ }
392
+ setOptionECharts({
393
+ // Draw the collapse button.
394
+ graphic: [{
395
+ elements: [{
396
+ type: 'rect',
397
+ ignore: !needReset,
398
+ name: 'collapseAxisBreakBtn',
399
+ top: 5,
400
+ left: 5,
401
+ shape: {
402
+ r: 3,
403
+ width: 140,
404
+ height: 24
405
+ },
406
+ style: {
407
+ fill: '#eee',
408
+ stroke: '#999',
409
+ lineWidth: 1
410
+ },
411
+ textContent: {
412
+ type: 'text',
413
+ style: {
414
+ text: 'Collapse Axis Breaks',
415
+ fontSize: 13,
416
+ fontWeight: 'bold'
417
+ }
418
+ },
419
+ textConfig: {
420
+ position: 'inside'
421
+ }
422
+ }]
423
+ }]
424
+ });
425
+ }
426
+ return /*#__PURE__*/React.createElement("div", {
427
+ ref: chartRef,
137
428
  style: {
138
- height: '431px',
139
- padding: 24
140
- },
141
- option: option,
142
- echarts: echarts
429
+ width: '100%',
430
+ height: '400px'
431
+ }
143
432
  });
144
433
  };
145
434
  export default IntervalChart;
@@ -12,6 +12,7 @@ export declare namespace eventChartProps {
12
12
  * 图表数据
13
13
  */
14
14
  dataSource?: ChartTypesProps;
15
+ eventOldData?: ChartTypesProps;
15
16
  dataSourceList?: DisplaySetup[];
16
17
  onlyChart?: boolean;
17
18
  /**
@@ -33,7 +34,7 @@ export declare namespace eventChartProps {
33
34
  /**
34
35
  * 改变显示内容
35
36
  */
36
- onChangeShow?: (data: string[]) => void;
37
+ onChangeShow?: (data: DisplaySetup[]) => void;
37
38
  /**
38
39
  *
39
40
  * 指标异常回调
@@ -22,6 +22,7 @@ import { ContentPanel, SearchPanel } from "../../components";
22
22
  import TopPanel from "../topPanel";
23
23
  import { message } from 'antd';
24
24
  import { ERROR_RESPONESE_CODE } from "../../constants/code";
25
+ import { extractNames, getDefaultShow } from "../../utils/formData";
25
26
  var CancelToken = Request.CancelToken;
26
27
  var cancel;
27
28
  var refresh = false;
@@ -44,28 +45,32 @@ var EventContent = function EventContent(props) {
44
45
  _useState4 = _slicedToArray(_useState3, 2),
45
46
  eventData = _useState4[0],
46
47
  setEventData = _useState4[1];
47
- var _useState5 = useState(props.show || []),
48
+ var _useState5 = useState(),
48
49
  _useState6 = _slicedToArray(_useState5, 2),
49
- showList = _useState6[0],
50
- setShowList = _useState6[1];
51
- var _useState7 = useState(true),
50
+ eventOldData = _useState6[0],
51
+ setEventOldData = _useState6[1]; // 原数据存储
52
+ var _useState7 = useState(props.show),
52
53
  _useState8 = _slicedToArray(_useState7, 2),
53
- loading = _useState8[0],
54
- setLoading = _useState8[1];
55
- // 地图是否可选
56
- var _useState9 = useState(false),
54
+ showList = _useState8[0],
55
+ setShowList = _useState8[1];
56
+ var _useState9 = useState(true),
57
57
  _useState10 = _slicedToArray(_useState9, 2),
58
- enableSelectChart = _useState10[0],
59
- setEnableSelectChart = _useState10[1];
60
- // 是否是城市
58
+ loading = _useState10[0],
59
+ setLoading = _useState10[1];
60
+ // 地图是否可选
61
61
  var _useState11 = useState(false),
62
62
  _useState12 = _slicedToArray(_useState11, 2),
63
- isCity = _useState12[0],
64
- setIsCity = _useState12[1];
65
- var _useState13 = useState(-1),
63
+ enableSelectChart = _useState12[0],
64
+ setEnableSelectChart = _useState12[1];
65
+ // 是否是城市
66
+ var _useState13 = useState(false),
66
67
  _useState14 = _slicedToArray(_useState13, 2),
67
- eventId = _useState14[0],
68
- setEventId = _useState14[1];
68
+ isCity = _useState14[0],
69
+ setIsCity = _useState14[1];
70
+ var _useState15 = useState(-1),
71
+ _useState16 = _slicedToArray(_useState15, 2),
72
+ eventId = _useState16[0],
73
+ setEventId = _useState16[1];
69
74
  var _useContext2 = useContext(IntervalContext),
70
75
  searchData = _useContext2.searchData,
71
76
  setSearchData = _useContext2.setSearchData,
@@ -161,8 +166,17 @@ var EventContent = function EventContent(props) {
161
166
  }
162
167
  var result = res.data;
163
168
  setEventData(result);
164
- setFinalSearchData(_objectSpread({}, searchData));
169
+ setEventOldData(result); // 原数据存储
170
+ var arr = extractNames(result);
171
+ var spliceResultArr = result.appData.series ? showList ? showList : arr === null || arr === void 0 ? void 0 : arr.splice(0, 4) : [];
172
+ setFinalSearchData(_objectSpread(_objectSpread({}, searchData), {}, {
173
+ displaySetup: spliceResultArr
174
+ }));
175
+ setShowList(spliceResultArr);
165
176
  loadingHandle();
177
+ if (props !== null && props !== void 0 && props.onShowChange) {
178
+ props.onShowChange(spliceResultArr);
179
+ }
166
180
  }).catch(function () {
167
181
  loadingHandle();
168
182
  });
@@ -201,6 +215,11 @@ var EventContent = function EventContent(props) {
201
215
  // 改变显示内容
202
216
  var onChangeShow = function onChangeShow(data) {
203
217
  setShowList(data);
218
+ if (props !== null && props !== void 0 && props.onShowChange) {
219
+ props.onShowChange(data);
220
+ var resultApp = getDefaultShow(eventOldData, data);
221
+ setEventData(resultApp);
222
+ }
204
223
  };
205
224
 
206
225
  // 平台变更
@@ -224,10 +243,15 @@ var EventContent = function EventContent(props) {
224
243
  });
225
244
  });
226
245
  };
246
+
247
+ // displaySetup要显示的列表值 showList
248
+
227
249
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
228
250
  className: "".concat(classPrefix, "-header")
229
251
  }, /*#__PURE__*/React.createElement("span", null, !panelId && route && route.query && route.query.title ? route.query.title : '间隔分析'), /*#__PURE__*/React.createElement(TopBar, {
230
- searchData: searchData,
252
+ searchData: _objectSpread(_objectSpread({}, searchData), {}, {
253
+ showList: showList
254
+ }),
231
255
  loading: loading,
232
256
  eventData: eventData,
233
257
  platformChange: platformChange,
@@ -253,17 +277,24 @@ var EventContent = function EventContent(props) {
253
277
  analysisAttr: searchData === null || searchData === void 0 ? void 0 : searchData.analysisAttr,
254
278
  displaySetup: searchData === null || searchData === void 0 ? void 0 : searchData.analysisAttr,
255
279
  analysisIndex: searchData === null || searchData === void 0 ? void 0 : searchData.analysisIndex,
280
+ searchData: _objectSpread(_objectSpread({}, searchData), {}, {
281
+ displaySetup: showList
282
+ }),
256
283
  eventId: eventId,
257
284
  eventData: eventData,
285
+ eventOldData: eventOldData,
258
286
  enableSelectChart: enableSelectChart,
259
287
  onChange: onChangeContent,
288
+ onChangeShow: onChangeShow,
260
289
  refreshHandle: refreshHandle
261
290
  }), /*#__PURE__*/React.createElement(ContentPanel, {
262
291
  loading: loading,
263
292
  isCity: isCity,
264
293
  eventData: eventData,
265
- searchData: finalSearchData,
266
- showList: showList,
294
+ eventOldData: eventOldData,
295
+ searchData: _objectSpread(_objectSpread({}, searchData), {}, {
296
+ displaySetup: showList
297
+ }),
267
298
  onChangeShow: onChangeShow
268
299
  }))));
269
300
  };
@@ -13,7 +13,11 @@ export declare namespace EventContentProps {
13
13
  /**
14
14
  * 展示列表
15
15
  */
16
- show?: string[];
16
+ show?: {
17
+ label: string;
18
+ value: number;
19
+ }[];
20
+ setShowList?: any;
17
21
  /**
18
22
  * 是否查询中
19
23
  */
@@ -28,5 +32,9 @@ export declare namespace EventContentProps {
28
32
  * 查询条件初始化
29
33
  */
30
34
  initSearch?: () => void;
35
+ onShowChange?: (data: {
36
+ label: string;
37
+ value: number;
38
+ }[]) => void;
31
39
  }
32
40
  }
@@ -4,30 +4,30 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
4
4
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
5
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
6
6
  function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
7
- /**
8
- * 判断当前细分属性是否为”城市“
9
- * @param name 属性名称
10
- * @returns true标识为:是城市
7
+ /**
8
+ * 判断当前细分属性是否为”城市“
9
+ * @param name 属性名称
10
+ * @returns true标识为:是城市
11
11
  */
12
12
  export var judgeIsCity = function judgeIsCity(name) {
13
13
  var areaData = ['current_city', 'city'];
14
14
  return name && areaData.indexOf(name) !== -1 ? true : false;
15
15
  };
16
16
 
17
- /**
18
- * 判断当前细分属性,地图是否可选
19
- * @param name 属性名称
20
- * @returns true标识为:地图可选
17
+ /**
18
+ * 判断当前细分属性,地图是否可选
19
+ * @param name 属性名称
20
+ * @returns true标识为:地图可选
21
21
  */
22
22
  export var judgeIsArea = function judgeIsArea(name) {
23
23
  var areaData = ['current_area', 'current_city', 'area', 'city'];
24
24
  return name && areaData.indexOf(name) !== -1 ? true : false;
25
25
  };
26
26
 
27
- /**
28
- * 获取当前属性的全部数据
29
- * @param param 属性的部分数据
30
- * @returns 属性的全部数据
27
+ /**
28
+ * 获取当前属性的全部数据
29
+ * @param param 属性的部分数据
30
+ * @returns 属性的全部数据
31
31
  */
32
32
  export var getValue = function getValue(param, eventGroupList, eventEnvList, userPropList) {
33
33
  var res = undefined;
@@ -107,6 +107,9 @@ var ModuleInterval = function ModuleInterval(props) {
107
107
  useEffect(function () {
108
108
  if (props.onChange) props.onChange(searchData);
109
109
  }, [searchData]);
110
+ var onShowChange = function onShowChange(data) {
111
+ setShowList(data);
112
+ };
110
113
  if (loading || useBizStoreLoading) {
111
114
  return /*#__PURE__*/React.createElement("div", {
112
115
  className: classPrefix
@@ -122,10 +125,12 @@ var ModuleInterval = function ModuleInterval(props) {
122
125
  target: {
123
126
  id: elementId,
124
127
  name: title,
125
- params: _objectSpread({
128
+ params: _objectSpread(_objectSpread({
126
129
  app_id: currentApp === null || currentApp === void 0 ? void 0 : currentApp.appId,
127
130
  module: 'interval'
128
- }, searchData)
131
+ }, searchData), {}, {
132
+ showList: showList
133
+ })
129
134
  }
130
135
  } : undefined,
131
136
  disabled: props === null || props === void 0 ? void 0 : props.panelDisabled,
@@ -161,6 +166,7 @@ var ModuleInterval = function ModuleInterval(props) {
161
166
  onUserDrill: props.onUserDrill,
162
167
  onJumpWarning: props.onJumpWarning,
163
168
  onChange: setSearchData,
169
+ onShowChange: onShowChange,
164
170
  initSearch: initSearch
165
171
  })));
166
172
  };
@@ -54,7 +54,10 @@ export declare namespace IntervalProps {
54
54
  /**
55
55
  * 展示列表
56
56
  */
57
- chosen_data?: string[];
57
+ chosen_data?: {
58
+ label: string;
59
+ value: number;
60
+ }[];
58
61
  /**
59
62
  * 其他属性
60
63
  */