@zgfe/modules-event 0.0.2-event.9 → 0.1.0

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 (45) hide show
  1. package/es/components/eventFilter/index.js +49 -20
  2. package/es/components/eventFilter/styles/index.less +6 -3
  3. package/es/components/eventFilter/types.d.ts +4 -0
  4. package/es/components/index.d.ts +1 -2
  5. package/es/components/index.js +1 -2
  6. package/es/components/renderContent/index.d.ts +1 -1
  7. package/es/components/renderContent/index.js +19 -18
  8. package/es/components/renderContent/styles/index.less +3 -8
  9. package/es/components/renderContent/types.d.ts +0 -1
  10. package/es/components/searchPanel/index.js +24 -6
  11. package/es/components/searchPanel/types.d.ts +2 -0
  12. package/es/components/table/index.js +16 -20
  13. package/es/components/table/styles/index.less +67 -6
  14. package/es/components/table/types.d.ts +1 -0
  15. package/es/components/topBar/index.js +42 -27
  16. package/es/components/topBar/styles/index.less +14 -0
  17. package/es/components/topBar/types.d.ts +4 -1
  18. package/es/constants/fields.js +4 -4
  19. package/es/modules/chart/index.d.ts +1 -1
  20. package/es/modules/chart/index.js +53 -41
  21. package/es/modules/chart/types.d.ts +1 -0
  22. package/es/modules/content/index.js +72 -57
  23. package/es/modules/content/types.d.ts +1 -2
  24. package/es/modules/content/utils.d.ts +6 -1
  25. package/es/modules/content/utils.js +30 -3
  26. package/es/modules/home/demo/create.js +10 -2
  27. package/es/modules/home/demo/edit.js +56 -32
  28. package/es/modules/home/demo/index.js +4 -0
  29. package/es/modules/home/demo/scene.js +4 -0
  30. package/es/modules/home/index.js +67 -34
  31. package/es/modules/home/styles/index.less +7 -2
  32. package/es/modules/home/types.d.ts +5 -0
  33. package/es/modules/topPanel/index.js +39 -31
  34. package/es/modules/topPanel/styles/index.less +11 -1
  35. package/es/modules/topPanel/types.d.ts +7 -4
  36. package/es/style/index.less +6 -3
  37. package/es/types.d.ts +2 -0
  38. package/es/utils/formData.d.ts +8 -1
  39. package/es/utils/formData.js +146 -27
  40. package/package.json +3 -3
  41. package/es/components/common/index.d.ts +0 -6
  42. package/es/components/common/index.js +0 -17
  43. package/es/components/common/styles/index.less +0 -27
  44. package/es/components/table/images/empty.png +0 -0
  45. package/es/style/image/noData.png +0 -0
@@ -13,12 +13,17 @@ import { BizAddToPanel, BizAddToScene, BizGlobalDataContext } from '@zgfe/busine
13
13
  import './styles/index.less';
14
14
  import { EventContext } from '../../types';
15
15
  import { chartTypes, platformOption } from '../../constants/fields';
16
+ import { getWarningId } from '../../utils/formData';
16
17
  var classPrefix = 'modules-event-topbar';
17
18
  var TopBar = function TopBar(props) {
18
19
  var _useContext = useContext(EventContext),
19
20
  panelId = _useContext.panelId,
20
21
  afterEditTarget = _useContext.afterEditTarget,
21
- enableAddScene = _useContext.enableAddScene;
22
+ enableAddScene = _useContext.enableAddScene,
23
+ loading = _useContext.loading,
24
+ onLossWarning = _useContext.onLossWarning,
25
+ showWarning = _useContext.showWarning,
26
+ enableGenerateReport = _useContext.enableGenerateReport;
22
27
  var _useState = useState(false),
23
28
  _useState2 = _slicedToArray(_useState, 2),
24
29
  showPanel = _useState2[0],
@@ -28,10 +33,14 @@ var TopBar = function TopBar(props) {
28
33
  showScene = _useState4[0],
29
34
  setShowScene = _useState4[1];
30
35
  var _useContext2 = useContext(BizGlobalDataContext),
31
- currentApp = _useContext2.currentApp;
36
+ currentApp = _useContext2.currentApp,
37
+ eventGroupList = _useContext2.eventGroupList;
32
38
  var searchData = props.searchData,
33
39
  showList = props.showList,
34
- platformChange = props.platformChange;
40
+ platformChange = props.platformChange,
41
+ eventData = props.eventData,
42
+ onClickGenerateReport = props.onClickGenerateReport,
43
+ enableSelectChart = props.enableSelectChart;
35
44
  var _useState5 = useState(chartTypes),
36
45
  _useState6 = _slicedToArray(_useState5, 2),
37
46
  options = _useState6[0],
@@ -40,28 +49,29 @@ var TopBar = function TopBar(props) {
40
49
  _useState8 = _slicedToArray(_useState7, 2),
41
50
  selectPlatform = _useState8[0],
42
51
  setselectPlatform = _useState8[1];
43
- console.log('showList_showList', showList);
44
- useEffect(function () {
45
- if (searchData === null || searchData === void 0 ? void 0 : searchData.id) {
46
- setOptions(chartTypes.map(function (item) {
47
- if (item.value == 'number') {
48
- item.disabled = false;
49
- }
50
- return item;
51
- }));
52
- } else {
53
- setOptions(chartTypes.map(function (item) {
54
- if (item.value == 'number') {
55
- item.disabled = true;
56
- }
57
- return item;
58
- }));
59
- }
60
- }, [searchData]);
61
- var _useState9 = useState(),
52
+ var _useState9 = useState(-1),
62
53
  _useState10 = _slicedToArray(_useState9, 2),
63
- panelType = _useState10[0],
64
- setPanelType = _useState10[1];
54
+ warningId = _useState10[0],
55
+ setWarningId = _useState10[1];
56
+ useEffect(function () {
57
+ setWarningId(getWarningId(searchData, eventData, eventGroupList));
58
+ }, [searchData, eventData, eventGroupList]);
59
+ useEffect(function () {
60
+ options.map(function (item) {
61
+ if (item.value.indexOf('number') !== -1) {
62
+ item.value = "".concat(searchData === null || searchData === void 0 ? void 0 : searchData.chartType, ",number");
63
+ item.disabled = (searchData === null || searchData === void 0 ? void 0 : searchData.id) ? false : true;
64
+ }
65
+ if (item.value.indexOf('map') !== -1) {
66
+ item.disabled = enableSelectChart ? false : true;
67
+ }
68
+ return item;
69
+ }), setOptions(options);
70
+ }, [searchData, enableSelectChart]);
71
+ var _useState11 = useState(),
72
+ _useState12 = _slicedToArray(_useState11, 2),
73
+ panelType = _useState12[0],
74
+ setPanelType = _useState12[1];
65
75
  var closeHandle = function closeHandle(type) {
66
76
  if (type === 'panel') {
67
77
  setPanelType(undefined);
@@ -90,7 +100,7 @@ var TopBar = function TopBar(props) {
90
100
  module: 'event'
91
101
  }, searchData),
92
102
  styleOptions: options,
93
- showList: showList,
103
+ showList: (searchData === null || searchData === void 0 ? void 0 : searchData.chartType) !== 'map' ? showList : [],
94
104
  onCancel: function onCancel() {
95
105
  return closeHandle('panel');
96
106
  },
@@ -115,11 +125,16 @@ var TopBar = function TopBar(props) {
115
125
  onCancel: function onCancel() {
116
126
  return closeHandle('scene');
117
127
  }
118
- })), /*#__PURE__*/React.createElement(Button, {
128
+ })), !panelId && enableGenerateReport && /*#__PURE__*/React.createElement("div", {
129
+ className: "".concat(classPrefix, "-panel")
130
+ }, /*#__PURE__*/React.createElement(Button, {
131
+ onClick: onClickGenerateReport
132
+ }, "\u6DFB\u52A0\u5230\u6570\u636E\u62A5\u544A")), showWarning && /*#__PURE__*/React.createElement(Button, {
119
133
  className: "".concat(classPrefix, "-earlywarning"),
120
134
  type: "primary",
135
+ disabled: loading,
121
136
  onClick: function onClick() {
122
- return console.log('设置预警流失');
137
+ return onLossWarning(warningId);
123
138
  }
124
139
  }, "\u8BBE\u7F6E\u9884\u8B66\u6D41\u5931"), /*#__PURE__*/React.createElement("div", {
125
140
  className: "".concat(classPrefix, "-platform")
@@ -7,9 +7,23 @@
7
7
  padding-right: 24px;
8
8
  &-panel {
9
9
  margin-right: 16px;
10
+ .ant-btn {
11
+ background: #fff;
12
+ border-color: #f2f3f4;
13
+ }
14
+ .ant-btn:hover {
15
+ border-color: #165dff;
16
+ }
10
17
  }
11
18
  &-scene {
12
19
  margin-right: 16px;
20
+ .ant-btn {
21
+ background: #fff;
22
+ border-color: #f2f3f4;
23
+ }
24
+ .ant-btn:hover {
25
+ border-color: #165dff;
26
+ }
13
27
  }
14
28
  &-earlywarning {
15
29
  margin-right: 16px;
@@ -1,6 +1,9 @@
1
- import { SearchValue } from '../../types';
1
+ import { SearchValue, ResponseDataProps } from '../../types';
2
2
  export interface TopBarProps {
3
3
  searchData?: SearchValue;
4
4
  showList: string[];
5
5
  platformChange: (data: number) => void;
6
+ eventData?: ResponseDataProps;
7
+ onClickGenerateReport?: (value: any) => void;
8
+ enableSelectChart: boolean;
6
9
  }
@@ -2,14 +2,14 @@ export var platformOption = [{
2
2
  key: 0,
3
3
  value: '全部'
4
4
  }, {
5
- key: 1,
6
- value: 'Android'
5
+ key: 3,
6
+ value: 'JS'
7
7
  }, {
8
8
  key: 2,
9
9
  value: 'IOS'
10
10
  }, {
11
- key: 3,
12
- value: 'JS'
11
+ key: 1,
12
+ value: 'Android'
13
13
  }];
14
14
  export var chartTypes = [{
15
15
  label: '趋势图',
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  import { eventChartProps } from './types';
3
- declare const EventChart: React.FC<eventChartProps.Props>;
3
+ declare const EventChart: React.ForwardRefExoticComponent<eventChartProps.Props & React.RefAttributes<any>>;
4
4
  export default EventChart;
@@ -8,17 +8,17 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
8
8
  function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
9
9
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
10
10
  import React, { useContext, useEffect, useMemo, useState } from 'react';
11
- import { BizChart, BizGlobalDataContext, ajax } from '@zgfe/business-lib';
12
- import { EventTable, MiNone } from '../../components';
11
+ import { Tooltip, Empty } from 'antd';
12
+ import { BizChart, BizGlobalDataContext, ajax, BizLoading } from '@zgfe/business-lib';
13
+ import { EventTable } from '../../components';
13
14
  import { judgeIsCity } from '../content/utils';
14
15
  import { getValue } from '../../modules/content/utils';
15
- import { getDefaultShow, getShowColor } from '../../utils/formData';
16
+ import { getDefaultShow, getShowColor, getUserGroupsCompareData, getSortData, getChartDataEventAliasName } from '../../utils/formData';
16
17
  import _ from 'lodash';
18
+ import moment from 'moment';
17
19
  import { Apis, chartColors } from '../../constants';
18
- import { Spin } from 'antd';
19
- import emptyImg from '../../components/table/images/empty.png';
20
- var classPrefix = 'mi-table';
21
- var EventChart = function EventChart(props) {
20
+ var classPrefix = 'event-mi-table';
21
+ var EventChart = /*#__PURE__*/React.forwardRef(function (props, ref) {
22
22
  var params = props.params;
23
23
  var _useState = useState(false),
24
24
  _useState2 = _slicedToArray(_useState, 2),
@@ -49,21 +49,11 @@ var EventChart = function EventChart(props) {
49
49
  if (!dataSource) return chartColors;
50
50
  return getShowColor(dataSource, showList);
51
51
  }, [showList]);
52
- var chartData = useMemo(function () {
53
- console.log('chartData?.length', dataSource);
54
- if (dataSource) {
55
- var data = _.cloneDeep(dataSource);
56
- data.x_axis = dataSource.xAxis;
57
- return data;
58
- } else {
59
- return [];
60
- }
61
- }, [dataSource, chartType]);
62
52
  useEffect(function () {
63
53
  if (!props.dataSource) {
64
54
  fetchResult();
65
55
  }
66
- }, []);
56
+ }, [params]);
67
57
  useEffect(function () {
68
58
  if (!props.showList || !props.showList.length) {
69
59
  setShowList(dataSource ? getDefaultShow(dataSource) : []);
@@ -75,7 +65,10 @@ var EventChart = function EventChart(props) {
75
65
  var _params$chartType;
76
66
  if (!params) return;
77
67
  var chartData = ((_params$chartType = params.chartType) === null || _params$chartType === void 0 ? void 0 : _params$chartType.split(',')) || ['line'];
78
- var type = (chartData === null || chartData === void 0 ? void 0 : chartData.length) > 1 ? chartData[chartData.length - 1] : chartData[0];
68
+ var type = chartData[0];
69
+ if (!props.dataSource) {
70
+ type = (chartData === null || chartData === void 0 ? void 0 : chartData.length) > 1 ? chartData[chartData.length - 1] : chartData[0];
71
+ }
79
72
  setChartType(props.type || type);
80
73
  if (params.id) {
81
74
  var dimensions = params.dimension;
@@ -86,20 +79,30 @@ var EventChart = function EventChart(props) {
86
79
  }
87
80
  }, [params, props.type]);
88
81
  var fetchResult = function fetchResult() {
82
+ var _params$chartType2;
89
83
  setLoading(true);
90
84
  ajax(Apis.dataList, {
91
85
  method: 'post',
92
- data: _objectSpread({
86
+ data: _objectSpread(_objectSpread({
93
87
  appId: currentApp === null || currentApp === void 0 ? void 0 : currentApp.appId,
94
88
  platform: (params === null || params === void 0 ? void 0 : params.platform) || 0
95
- }, params)
89
+ }, params), {}, {
90
+ chartType: (params === null || params === void 0 ? void 0 : (_params$chartType2 = params.chartType) === null || _params$chartType2 === void 0 ? void 0 : _params$chartType2.indexOf(',')) === -1 ? params === null || params === void 0 ? void 0 : params.chartType : 'grid'
91
+ })
96
92
  }).then(function (res) {
97
93
  if (!res) {
94
+ setLoading(false);
98
95
  return;
99
96
  }
100
- setDataSource(res.data);
101
- setLoading(false);
102
- }).catch(function () {
97
+ var _data = params.dimension ? res.data : getChartDataEventAliasName(res.data, eventGroupList);
98
+ if (['bar', 'pie', 'map'].indexOf(params.chartType) !== -1) {
99
+ _data = getSortData(_data);
100
+ }
101
+ if (params.userGroup.length > 1) {
102
+ setDataSource(getUserGroupsCompareData(_data));
103
+ } else {
104
+ setDataSource(_data);
105
+ }
103
106
  setLoading(false);
104
107
  });
105
108
  };
@@ -117,35 +120,43 @@ var EventChart = function EventChart(props) {
117
120
  if (props.onChangeShow) props.onChangeShow(names);
118
121
  };
119
122
  if (loading) {
120
- return /*#__PURE__*/React.createElement(Spin, {
121
- className: "spin-container"
123
+ return /*#__PURE__*/React.createElement(BizLoading, {
124
+ className: "".concat(classPrefix, "-loading")
122
125
  });
123
126
  }
124
127
  if (!dataSource || !(dataSource.xAxis.length || dataSource.series.length)) {
125
- return /*#__PURE__*/React.createElement(MiNone, {
126
- label: "\u6682\u65E0\u6570\u636E"
128
+ return /*#__PURE__*/React.createElement(Empty, {
129
+ image: Empty.PRESENTED_IMAGE_SIMPLE,
130
+ description: "\u6682\u65E0\u6570\u636E"
127
131
  });
128
132
  }
133
+ var dataUpdateTime = function dataUpdateTime() {
134
+ return /*#__PURE__*/React.createElement(Tooltip, {
135
+ className: "".concat(classPrefix, "-chart-box-tooltip"),
136
+ title: '当前图表数据实时更新,约每分钟更新一次'
137
+ }, /*#__PURE__*/React.createElement("div", null, "\u6570\u636E\u66F4\u65B0\u65F6\u95F4\uFF1A", moment().format('YYYY-MM-DD HH:mm')));
138
+ };
129
139
  var chartBox = function chartBox() {
130
- if (chartData.series.length <= 0) {
131
- return /*#__PURE__*/React.createElement("div", {
132
- className: "".concat(classPrefix, "-table-empty")
133
- }, /*#__PURE__*/React.createElement("img", {
134
- src: emptyImg
135
- }), /*#__PURE__*/React.createElement("p", null, "\u6682\u65E0\u6570\u636E"));
140
+ if (dataSource.series.length <= 0) {
141
+ return /*#__PURE__*/React.createElement(Empty, {
142
+ image: Empty.PRESENTED_IMAGE_SIMPLE,
143
+ description: "\u6682\u65E0\u6570\u636E"
144
+ });
136
145
  } else {
137
- return /*#__PURE__*/React.createElement(BizChart, {
146
+ return /*#__PURE__*/React.createElement("div", {
147
+ className: "".concat(classPrefix, "-chart-box")
148
+ }, !!props.dataSource && dataUpdateTime(), /*#__PURE__*/React.createElement(BizChart, {
149
+ ref: ref,
138
150
  key: chartType,
139
151
  type: chartType,
140
- data: chartData,
152
+ data: dataSource,
141
153
  legendPosition: "bottom",
142
154
  showList: showList,
143
155
  colors: showColors,
144
156
  xRotate: chartType === 'bar' && dataSource.series.length > 5 ? 40 : 0,
145
157
  reverseXAxis: chartType === 'bar',
146
- isCity: isCity,
147
- radius: ['30%', '75%']
148
- });
158
+ isCity: isCity
159
+ }));
149
160
  }
150
161
  };
151
162
  switch (chartType) {
@@ -160,12 +171,13 @@ var EventChart = function EventChart(props) {
160
171
  searchData: params,
161
172
  showList: showList,
162
173
  changeShow: onChangeShow,
163
- changeShowByName: onChangeShowByName
174
+ changeShowByName: onChangeShowByName,
175
+ onSelectEvent: props === null || props === void 0 ? void 0 : props.onSelectEvent
164
176
  });
165
177
  default:
166
178
  return /*#__PURE__*/React.createElement("div", null, "\u6682\u4E0D\u652F\u6301\u8BE5\u56FE\u8868\u7C7B\u578B");
167
179
  }
168
- };
180
+ });
169
181
  EventChart.defaultProps = {
170
182
  showList: []
171
183
  };
@@ -11,5 +11,6 @@ export declare namespace eventChartProps {
11
11
  showList?: string[];
12
12
  showColors?: string[];
13
13
  onChangeShow?: (data: string[]) => void;
14
+ onSelectEvent?: (id: number, name: string) => void;
14
15
  }
15
16
  }
@@ -8,15 +8,15 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
8
8
  function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
9
9
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
10
10
  import { ajax, BizGlobalDataContext, BizLayout, BizTargetFromPanelContext } from '@zgfe/business-lib';
11
+ import { message } from 'antd';
11
12
  import React, { useContext, useEffect, useRef, useState } from 'react';
12
13
  import Request from 'umi-request';
13
14
  import TopBar from '../../components/topBar';
14
15
  import { EventContext } from '../../types';
15
16
  import './styles/index.less';
16
17
  import { Apis } from '../../constants';
17
- import { judgeIsCity, judgeIsArea, getValue } from './utils';
18
18
  import { ContentPanel, SearchPanel } from '../../components';
19
- import { getDefaultShow } from '../../utils/formData';
19
+ import { getDefaultShow, getUserGroupsCompareData, getSortData, getChartDataEventAliasName } from '../../utils/formData';
20
20
  import TopPanel from '../topPanel';
21
21
  var timer = 0;
22
22
  var ajaxFlag = true;
@@ -24,59 +24,43 @@ var CancelToken = Request.CancelToken;
24
24
  var cancel;
25
25
  var classPrefix = 'event-content';
26
26
  var EventContent = function EventContent(props) {
27
- var _useState = useState(props.value),
28
- _useState2 = _slicedToArray(_useState, 2),
29
- finalSearchData = _useState2[0],
30
- setFinalSearchData = _useState2[1];
31
27
  var _useContext = useContext(BizGlobalDataContext),
32
28
  currentApp = _useContext.currentApp;
33
- var _useState3 = useState(),
34
- _useState4 = _slicedToArray(_useState3, 2),
35
- eventData = _useState4[0],
36
- setEventData = _useState4[1];
37
- var _useState5 = useState(props.show || []),
38
- _useState6 = _slicedToArray(_useState5, 2),
39
- showList = _useState6[0],
40
- setShowList = _useState6[1];
41
- var _useState7 = useState(true),
42
- _useState8 = _slicedToArray(_useState7, 2),
43
- loading = _useState8[0],
44
- setLoading = _useState8[1];
45
- var _useState9 = useState(false),
46
- _useState10 = _slicedToArray(_useState9, 2),
47
- enableSelectChart = _useState10[0],
48
- setEnableSelectChart = _useState10[1];
49
- var _useState11 = useState(false),
50
- _useState12 = _slicedToArray(_useState11, 2),
51
- isCity = _useState12[0],
52
- setIsCity = _useState12[1];
53
- var _useState13 = useState(-1),
54
- _useState14 = _slicedToArray(_useState13, 2),
55
- eventId = _useState14[0],
56
- setEventId = _useState14[1];
57
29
  var _useContext2 = useContext(EventContext),
58
30
  searchData = _useContext2.searchData,
59
31
  setSearchData = _useContext2.setSearchData,
32
+ finalSearchData = _useContext2.finalSearchData,
33
+ setFinalSearchData = _useContext2.setFinalSearchData,
60
34
  eventGroupList = _useContext2.eventGroupList,
61
- eventEnvList = _useContext2.eventEnvList,
62
- userPropList = _useContext2.userPropList;
35
+ loading = _useContext2.loading,
36
+ setLoading = _useContext2.setLoading,
37
+ afterEditTarget = _useContext2.afterEditTarget,
38
+ onChangeUrlParam = _useContext2.onChangeUrlParam;
39
+ var _useState = useState(),
40
+ _useState2 = _slicedToArray(_useState, 2),
41
+ eventData = _useState2[0],
42
+ setEventData = _useState2[1];
43
+ var _useState3 = useState(props.show || []),
44
+ _useState4 = _slicedToArray(_useState3, 2),
45
+ showList = _useState4[0],
46
+ setShowList = _useState4[1];
47
+ var _useState5 = useState(false),
48
+ _useState6 = _slicedToArray(_useState5, 2),
49
+ enableSelectChart = _useState6[0],
50
+ setEnableSelectChart = _useState6[1];
51
+ var _useState7 = useState(false),
52
+ _useState8 = _slicedToArray(_useState7, 2),
53
+ isCity = _useState8[0],
54
+ setIsCity = _useState8[1];
55
+ var _useState9 = useState(props.elementId),
56
+ _useState10 = _slicedToArray(_useState9, 2),
57
+ eventId = _useState10[0],
58
+ setEventId = _useState10[1];
63
59
  var _useContext3 = useContext(BizTargetFromPanelContext),
64
60
  handleSearch = _useContext3.handleSearch;
65
61
  var collapseRef = useRef();
62
+ var chartRef = useRef();
66
63
  useEffect(function () {
67
- if (props.defaultValue) {
68
- setEventId(props.defaultValue.id);
69
- }
70
- }, [props.defaultValue]);
71
- useEffect(function () {
72
- if (searchData && searchData.dimension) {
73
- var _getValue;
74
- var _attrName = (_getValue = getValue(searchData.dimension, eventGroupList, eventEnvList, userPropList)) === null || _getValue === void 0 ? void 0 : _getValue.name;
75
- if (_attrName) {
76
- setEnableSelectChart(judgeIsArea(_attrName));
77
- setIsCity(judgeIsCity(_attrName));
78
- }
79
- }
80
64
  if (timer) clearTimeout(timer);
81
65
  var flag = true;
82
66
  timer = setTimeout(function () {
@@ -93,6 +77,9 @@ var EventContent = function EventContent(props) {
93
77
  handleSearch && handleSearch(loading);
94
78
  }, [loading]);
95
79
  var fetchRequest = function fetchRequest(flag) {
80
+ if (JSON.stringify(searchData) === JSON.stringify(finalSearchData)) {
81
+ return;
82
+ }
96
83
  if (flag !== undefined) ajaxFlag = flag;
97
84
  if (!ajaxFlag) return;
98
85
  setLoading(true);
@@ -100,7 +87,6 @@ var EventContent = function EventContent(props) {
100
87
  if (typeof cancel === 'function') {
101
88
  cancel();
102
89
  }
103
- props.onChange && props.onChange(searchData);
104
90
  ajax(Apis.dataList, {
105
91
  method: 'post',
106
92
  data: _objectSpread({
@@ -116,14 +102,21 @@ var EventContent = function EventContent(props) {
116
102
  return;
117
103
  }
118
104
  var result = res.data;
119
- setShowList(result ? getDefaultShow(result) : []);
120
- setEventData(result);
105
+ var _data = searchData.dimension ? result : getChartDataEventAliasName(result, eventGroupList);
106
+ setShowList(_data ? getDefaultShow(_data) : []);
107
+ if (['bar', 'pie', 'map'].indexOf(searchData.chartType) !== -1) {
108
+ _data = getSortData(_data);
109
+ }
110
+ if (searchData.userGroup.length > 1) {
111
+ setEventData(getUserGroupsCompareData(_data));
112
+ } else {
113
+ setEventData(_data);
114
+ }
121
115
  setFinalSearchData(_objectSpread({}, searchData));
116
+ onChangeUrlParam(searchData);
122
117
  setTimeout(function () {
123
118
  setLoading(false);
124
119
  }, 0);
125
- }).catch(function () {
126
- setLoading(false);
127
120
  });
128
121
  };
129
122
  var onChangeContent = function onChangeContent(data) {
@@ -147,17 +140,35 @@ var EventContent = function EventContent(props) {
147
140
  ajaxFlag = flag;
148
141
  data.id ? setEventId(data.id) : setEventId(-1);
149
142
  setSearchData(function (_searchData) {
150
- return _objectSpread({
151
- time: _searchData.time,
152
- analysisIndex: _searchData.analysisIndex,
153
- chartType: _searchData.chartType
143
+ var _data = _objectSpread(_objectSpread({}, _searchData), {}, {
144
+ dimension: data.dimension,
145
+ filters: data.filters
154
146
  }, data);
147
+ return _objectSpread({}, _data);
155
148
  });
156
149
  };
150
+ var onClickGenerateReport = function onClickGenerateReport() {
151
+ if (!chartRef.current) {
152
+ message.warning('未选择事件或查询失败!');
153
+ return;
154
+ }
155
+ var url = chartRef.current.instance.getDataURL();
156
+ var params = {
157
+ image: url,
158
+ context: {
159
+ api: '/web/sdk/v2/event/eventAnalytics',
160
+ queryParam: searchData
161
+ }
162
+ };
163
+ if (afterEditTarget) afterEditTarget('report', params);
164
+ };
157
165
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(TopBar, {
166
+ eventData: eventData,
158
167
  searchData: searchData,
159
168
  platformChange: platformChange,
160
- showList: showList
169
+ enableSelectChart: enableSelectChart,
170
+ showList: showList,
171
+ onClickGenerateReport: onClickGenerateReport
161
172
  }), /*#__PURE__*/React.createElement(BizLayout, {
162
173
  showTitle: false,
163
174
  hasCollapse: true,
@@ -165,8 +176,10 @@ var EventContent = function EventContent(props) {
165
176
  topPanel: /*#__PURE__*/React.createElement(TopPanel, {
166
177
  ref: collapseRef,
167
178
  onChange: onChangeSearch,
168
- defaultValue: searchData,
179
+ value: searchData,
169
180
  ajaxFlag: ajaxFlag,
181
+ setIsCity: setIsCity,
182
+ setEnableSelectChart: setEnableSelectChart,
170
183
  finalSearchData: finalSearchData,
171
184
  fetchRequest: fetchRequest
172
185
  })
@@ -175,13 +188,15 @@ var EventContent = function EventContent(props) {
175
188
  }, /*#__PURE__*/React.createElement(SearchPanel, {
176
189
  chartType: searchData === null || searchData === void 0 ? void 0 : searchData.chartType,
177
190
  time: searchData === null || searchData === void 0 ? void 0 : searchData.time,
191
+ setIsCity: setIsCity,
192
+ setEnableSelectChart: setEnableSelectChart,
178
193
  analysisAttr: searchData === null || searchData === void 0 ? void 0 : searchData.analysisAttr,
179
194
  analysisIndex: searchData === null || searchData === void 0 ? void 0 : searchData.analysisIndex,
180
195
  eventId: eventId,
181
196
  enableSelectChart: enableSelectChart,
182
197
  onChange: onChangeContent
183
198
  }), /*#__PURE__*/React.createElement(ContentPanel, {
184
- loading: loading,
199
+ ref: chartRef,
185
200
  isCity: isCity,
186
201
  eventData: eventData,
187
202
  searchData: finalSearchData,
@@ -1,11 +1,10 @@
1
1
  import { SearchValue } from '../../types';
2
2
  export declare namespace EventContentProps {
3
3
  interface Props {
4
- defaultValue?: SearchValue;
4
+ elementId: number | undefined;
5
5
  value: SearchValue;
6
6
  show?: string[];
7
7
  onSearching?: (flag: boolean) => void;
8
- onChange?: (data: SearchValue) => void;
9
8
  initSearch?: () => void;
10
9
  }
11
10
  }
@@ -1,7 +1,12 @@
1
- import { AttributeSelect } from '@zgfe/business-lib';
1
+ import { AttributeSelect, AttrConditionTypes } from '@zgfe/business-lib';
2
2
  import { bizAttributeSelectorValueProp } from '../../types';
3
3
  import { EventGroup, UserProp, EnvProp } from '@zgfe/business-lib/es/attributeSelector/types';
4
+ export declare const judgeFilterValue: (data: AttrConditionTypes.GroupValue | undefined, count: number) => boolean;
4
5
  export declare const judgeIsCity: (name: string | undefined) => boolean;
5
6
  export declare const judgeIsArea: (name: string | undefined) => boolean;
6
7
  export declare const getValue: (param: bizAttributeSelectorValueProp, eventGroupList: EventGroup[] | undefined, eventEnvList: EnvProp[] | undefined, userPropList: UserProp[] | undefined) => AttributeSelect.Value | undefined;
7
8
  export declare const getNumberPanelData: (data: any) => Promise<unknown>;
9
+ export declare const normalOptions: {
10
+ label: string;
11
+ value: string;
12
+ }[];
@@ -3,6 +3,21 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
3
3
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
4
4
  import { ajax } from '@zgfe/business-lib';
5
5
  import { Apis } from '../../constants';
6
+ export var judgeFilterValue = function judgeFilterValue(data, count) {
7
+ var flag = true;
8
+ if (data === undefined) {
9
+ if (count > 0) flag = false;
10
+ } else {
11
+ if (data.conditions.length <= 0 || data.conditions.length !== count) {
12
+ flag = false;
13
+ }
14
+ data.conditions.map(function (item) {
15
+ var _item$values;
16
+ if (item.values && (((_item$values = item.values) === null || _item$values === void 0 ? void 0 : _item$values.length) <= 0 || item.values[0] === '')) flag = false;
17
+ });
18
+ }
19
+ return flag;
20
+ };
6
21
  export var judgeIsCity = function judgeIsCity(name) {
7
22
  var areaData = ['current_city', 'city'];
8
23
  return name && areaData.indexOf(name) !== -1 ? true : false;
@@ -13,7 +28,7 @@ export var judgeIsArea = function judgeIsArea(name) {
13
28
  };
14
29
  export var getValue = function getValue(param, eventGroupList, eventEnvList, userPropList) {
15
30
  var res = undefined;
16
- var key = param.propCategory === 'eventProp' ? param.value : param.propCategory + '-' + param.value;
31
+ var key = "".concat(param.propCategory, "-").concat(param.value);
17
32
  if ((param === null || param === void 0 ? void 0 : param.propCategory) === 'envProp') {
18
33
  eventEnvList === null || eventEnvList === void 0 ? void 0 : eventEnvList.forEach(function (attr) {
19
34
  if (attr.key === key) res = attr;
@@ -31,7 +46,6 @@ export var getValue = function getValue(param, eventGroupList, eventEnvList, use
31
46
  if (attr.key === key) res = attr;
32
47
  });
33
48
  }
34
- console.log('获取当前属性的全部数据', res);
35
49
  return res;
36
50
  };
37
51
  export var getNumberPanelData = function getNumberPanelData(data) {
@@ -45,4 +59,17 @@ export var getNumberPanelData = function getNumberPanelData(data) {
45
59
  reject(err);
46
60
  });
47
61
  });
48
- };
62
+ };
63
+ export var normalOptions = [{
64
+ label: '人数',
65
+ value: 'number'
66
+ }, {
67
+ label: '次数',
68
+ value: 'times'
69
+ }, {
70
+ label: '活跃比',
71
+ value: 'active_ratio'
72
+ }, {
73
+ label: '人均次数',
74
+ value: 'per'
75
+ }];