@zgfe/business-lib 1.2.51-ljy.1 → 1.2.51-ljy.13

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.
@@ -41,6 +41,8 @@ export default (function () {
41
41
  key: "".concat(includeToday, "--2"),
42
42
  onChange: handleChange,
43
43
  includeToday: includeToday,
44
- defaultValue: time
44
+ defaultValue: time,
45
+ selectRange: 365,
46
+ selectRangeUnit: "days"
45
47
  }), /*#__PURE__*/React.createElement("p", null, "\u5F53\u524D\u503C\uFF1A", JSON.stringify(time))));
46
48
  });
@@ -4,7 +4,6 @@ export interface DatePickerContextProps {
4
4
  dateRange?: DatePickerTypes.Range;
5
5
  setDateRange?: (range: DatePickerTypes.Range) => void;
6
6
  includeToday?: boolean;
7
- mode?: DatePickerTypes.Props['mode'];
8
7
  currentType?: DatePickerTypes.Unit;
9
8
  relative?: [number, number];
10
9
  setRelative?: (relative?: [number, number]) => void;
@@ -3,6 +3,5 @@ declare const BizDate: React.ForwardRefExoticComponent<{
3
3
  selectRange?: number | undefined;
4
4
  timeRangeOpen?: number | undefined;
5
5
  selectRangeUnit?: "quarter" | "months" | "weeks" | "days" | undefined;
6
- onOpenChange?: ((data: boolean) => void) | undefined;
7
6
  } & React.RefAttributes<any>>;
8
7
  export default BizDate;
@@ -17,10 +17,15 @@ import { isTodayInRange } from './utils';
17
17
  import _ from 'lodash';
18
18
  var RangePicker = DatePicker.RangePicker;
19
19
  var BizDateBeyondRange = false;
20
+ var DateSingleMap = {
21
+ day: 1,
22
+ week: 7,
23
+ month: 30,
24
+ quarter: 91
25
+ };
20
26
  var BizDate = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
21
27
  var selectRange = _ref.selectRange,
22
28
  selectRangeUnit = _ref.selectRangeUnit,
23
- _onOpenChange = _ref.onOpenChange,
24
29
  timeRangeOpen = _ref.timeRangeOpen;
25
30
  var _useContext = useContext(DatePickerContext),
26
31
  includeToday = _useContext.includeToday,
@@ -39,7 +44,7 @@ var BizDate = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
39
44
  var min = moment(max).subtract(_timeRangeOpen, 'month');
40
45
  return current > max || current < min;
41
46
  }
42
- var _useState = useState(),
47
+ var _useState = useState(currentType === DatePickerTypes.Unit.hour ? moment(dateRange === null || dateRange === void 0 ? void 0 : dateRange.begin, 'YYYY-MM-DD') : [moment(dateRange === null || dateRange === void 0 ? void 0 : dateRange.begin, 'YYYY-MM-DD'), moment(dateRange === null || dateRange === void 0 ? void 0 : dateRange.end, 'YYYY-MM-DD')]),
43
48
  _useState2 = _slicedToArray(_useState, 2),
44
49
  value = _useState2[0],
45
50
  setValue = _useState2[1];
@@ -68,8 +73,20 @@ var BizDate = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
68
73
  useImperativeHandle(ref, function () {
69
74
  return {
70
75
  getDateValue: function getDateValue() {
76
+ var _value$, _value$2;
71
77
  if (setRelative) setRelative(undefined);
72
- return value;
78
+ if (BizDateBeyondRange) {
79
+ message.error("\u65F6\u95F4\u6BB5\u6700\u5927\u652F\u6301".concat(selectRange ? selectRange : 12).concat(selectRangeUnitText));
80
+ BizDateBeyondRange = false;
81
+ return false;
82
+ }
83
+ return Array.isArray(value) ? {
84
+ begin: (_value$ = value[0]) === null || _value$ === void 0 ? void 0 : _value$.format('YYYY-MM-DD'),
85
+ end: (_value$2 = value[1]) === null || _value$2 === void 0 ? void 0 : _value$2.format('YYYY-MM-DD')
86
+ } : {
87
+ begin: value === null || value === void 0 ? void 0 : value.format('YYYY-MM-DD'),
88
+ end: value === null || value === void 0 ? void 0 : value.format('YYYY-MM-DD')
89
+ };
73
90
  }
74
91
  };
75
92
  });
@@ -81,7 +98,7 @@ var BizDate = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
81
98
  return /*#__PURE__*/React.createElement("div", {
82
99
  className: "".concat(classPrefix, "-panel")
83
100
  }, currentType === DatePickerTypes.Unit.hour ? /*#__PURE__*/React.createElement(DatePicker, {
84
- value: moment(dateRange.begin, 'YYYY-MM-DD'),
101
+ value: value,
85
102
  allowClear: false,
86
103
  inputReadOnly: true,
87
104
  popupClassName: "".concat(classPrefix, "-drop"),
@@ -99,14 +116,11 @@ var BizDate = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
99
116
  open: true,
100
117
  onChange: function onChange(date) {
101
118
  if (date) {
102
- setValue({
103
- begin: date.format('YYYY-MM-DD'),
104
- end: date.format('YYYY-MM-DD')
105
- });
119
+ setValue(moment(date));
106
120
  }
107
121
  }
108
122
  }) : /*#__PURE__*/React.createElement(RangePicker, {
109
- value: [moment(dateRange.begin, 'YYYY-MM-DD'), moment(dateRange.end, 'YYYY-MM-DD')],
123
+ value: value,
110
124
  allowClear: false,
111
125
  popupClassName: "".concat(classPrefix, "-drop"),
112
126
  inputReadOnly: true,
@@ -122,28 +136,18 @@ var BizDate = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
122
136
  getPopupContainer: function getPopupContainer(trigger) {
123
137
  return trigger.parentNode;
124
138
  },
125
- onOpenChange: function onOpenChange(open) {
126
- if (BizDateBeyondRange) {
127
- message.error("\u65F6\u95F4\u6BB5\u6700\u5927\u652F\u6301".concat(selectRange ? selectRange : 12).concat(selectRangeUnitText));
128
- BizDateBeyondRange = false;
129
- }
130
- _onOpenChange && _onOpenChange(open);
131
- },
132
139
  onChange: function onChange(value) {
133
140
  var subtractDays = 0;
134
141
  if (includeToday && value && value.length === 2 && isTodayInRange(value[0], value[1])) {
135
142
  subtractDays = 1;
136
143
  }
137
- if (value && value.length === 2 && moment(_.cloneDeep(value[1]).subtract(subtractDays, 'days').format('YYYY-MM-DD')).diff(moment(value[0].format('YYYY-MM-DD')), selectRangeUnit || 'months') >= (selectRange ? selectRange : 12)) {
144
+ if (value && value.length === 2 && moment(_.cloneDeep(value[1]).subtract(subtractDays, 'days').format('YYYY-MM-DD')).diff(moment(value[0].format('YYYY-MM-DD')), selectRangeUnit || 'months') >= (selectRange ? Math.floor(selectRange / Reflect.get(DateSingleMap, currentType)) : 12)) {
138
145
  BizDateBeyondRange = true;
139
146
  return;
140
147
  }
141
148
  if (value && value.length === 2) {
142
149
  BizDateBeyondRange = false;
143
- setValue({
144
- begin: value[0].format('YYYY-MM-DD'),
145
- end: value[1].format('YYYY-MM-DD')
146
- });
150
+ setValue([moment(value[0], 'YYYY-MM-DD'), moment(value[1], 'YYYY-MM-DD')]);
147
151
  }
148
152
  }
149
153
  }));
@@ -37,7 +37,6 @@ export default (function () {
37
37
  defaultChecked: includeToday,
38
38
  onChange: setIncludeToday
39
39
  })), /*#__PURE__*/React.createElement(Divider, null), /*#__PURE__*/React.createElement(BizDatePicker, {
40
- mode: "simple",
41
40
  onChange: handleChange,
42
41
  includeToday: true,
43
42
  value: time,
@@ -10,10 +10,8 @@ import '@zgfe/business-lib/es/assets/styles/resetAntd.less';
10
10
  import { Divider, Space, Switch } from 'antd';
11
11
  export default (function () {
12
12
  var _useState = useState({
13
- begin: '2024-07-23',
14
- end: '2024-08-05',
15
- relative: [14, 1],
16
- unit: 'day'
13
+ begin: '2024-05-01',
14
+ end: '2024-08-06'
17
15
  }),
18
16
  _useState2 = _slicedToArray(_useState, 2),
19
17
  time = _useState2[0],
@@ -34,8 +32,9 @@ export default (function () {
34
32
  onChange: setIncludeToday
35
33
  })), /*#__PURE__*/React.createElement(Divider, null), /*#__PURE__*/React.createElement(BizDatePickerOld, {
36
34
  key: "".concat(includeToday, "--2"),
37
- onChange: handleChange,
38
- includeToday: includeToday,
39
- defaultValue: time
35
+ value: time,
36
+ selectRange: 30,
37
+ selectRangeUnit: "days",
38
+ onChange: handleChange
40
39
  }), /*#__PURE__*/React.createElement("p", null, "\u5F53\u524D\u503C\uFF1A", JSON.stringify(time))));
41
40
  });
@@ -17,9 +17,10 @@ import './styles/index.less';
17
17
  import { Popover, Skeleton } from 'antd';
18
18
  import DatePickerContext from './context';
19
19
  import _ from 'lodash';
20
- import { getDateRange } from './utils';
20
+ import { getDateRange, getTypeList } from './utils';
21
21
  import PopoverContent from './popoverContent';
22
22
  import IconFont from '../icon/iconFont';
23
+ import moment from 'moment';
23
24
  export var classPrefix = 'biz-date-picker-old-wrap';
24
25
  var typeMap = {
25
26
  hour: '按小时',
@@ -33,10 +34,10 @@ var BizDatePicker = function BizDatePicker(_ref) {
33
34
  var defaultValue = _ref.defaultValue,
34
35
  value = _ref.value,
35
36
  includeToday = _ref.includeToday,
36
- mode = _ref.mode,
37
37
  dateTypeList = _ref.dateTypeList,
38
38
  onChange = _ref.onChange,
39
39
  selectRange = _ref.selectRange,
40
+ selectRangeUnit = _ref.selectRangeUnit,
40
41
  timeRangeOpen = _ref.timeRangeOpen;
41
42
  var _useState = useState(false),
42
43
  _useState2 = _slicedToArray(_useState, 2),
@@ -65,7 +66,7 @@ var BizDatePicker = function BizDatePicker(_ref) {
65
66
  _useState14 = _slicedToArray(_useState13, 2),
66
67
  open = _useState14[0],
67
68
  setOpen = _useState14[1];
68
- var _useState15 = useState('个月'),
69
+ var _useState15 = useState('最近1个月'),
69
70
  _useState16 = _slicedToArray(_useState15, 2),
70
71
  label = _useState16[0],
71
72
  setLabel = _useState16[1];
@@ -86,23 +87,42 @@ var BizDatePicker = function BizDatePicker(_ref) {
86
87
  setRelative(initValue.relative);
87
88
  switch (currentType === null || currentType === void 0 ? void 0 : currentType.value) {
88
89
  case 'day':
89
- setLabel(initValue.relative[0] + '天');
90
+ setLabel('最近' + initValue.relative[0] + '天');
90
91
  break;
91
92
  case 'week':
92
- setLabel(initValue.relative[0] + '周');
93
+ setLabel('最近' + initValue.relative[0] + '周');
93
94
  break;
94
95
  case 'month':
95
- setLabel(initValue.relative[0] + '个月');
96
+ setLabel('最近' + initValue.relative[0] + '个月');
96
97
  break;
97
98
  case 'quarter':
98
- setLabel(initValue.relative[0] + '个季度');
99
+ setLabel('最近' + initValue.relative[0] + '个季度');
99
100
  break;
100
101
  }
101
102
  }
102
- setDateRange({
103
- begin: initValue.begin,
104
- end: initValue.end
103
+ var typeList = getTypeList(currentType === null || currentType === void 0 ? void 0 : currentType.value, includeToday);
104
+ var begin = initValue.begin,
105
+ end = initValue.end;
106
+ var item = typeList.find(function (item) {
107
+ var match = getDateRange(currentType === null || currentType === void 0 ? void 0 : currentType.value, item.count, includeToday);
108
+ return moment(begin).isSame(match.begin) && moment(end).isSame(match.end);
105
109
  });
110
+ var active = item === null || item === void 0 ? void 0 : item.count;
111
+ if (active) {
112
+ setDateRange({
113
+ begin: initValue.begin,
114
+ end: initValue.end
115
+ });
116
+ } else {
117
+ if (initValue.relative) {
118
+ setDateRange(getDateRange(currentType === null || currentType === void 0 ? void 0 : currentType.value, initValue.relative[0], includeToday));
119
+ } else {
120
+ setDateRange({
121
+ begin: initValue.begin,
122
+ end: initValue.end
123
+ });
124
+ }
125
+ }
106
126
  setReady(true);
107
127
  }
108
128
  useEffect(function () {
@@ -139,7 +159,6 @@ var BizDatePicker = function BizDatePicker(_ref) {
139
159
  }, /*#__PURE__*/React.createElement(DatePickerContext.Provider, {
140
160
  value: {
141
161
  includeToday: includeToday,
142
- mode: mode,
143
162
  dateRange: dateRange,
144
163
  setDateRange: setDateRange,
145
164
  currentType: currentType.value,
@@ -148,7 +167,7 @@ var BizDatePicker = function BizDatePicker(_ref) {
148
167
  setOpen: setOpen,
149
168
  setLabel: setLabel
150
169
  }
151
- }, mode == 'general' && /*#__PURE__*/React.createElement(BizSelect, {
170
+ }, /*#__PURE__*/React.createElement(BizSelect, {
152
171
  className: "".concat(classPrefix, "-type"),
153
172
  theme: "secondary",
154
173
  keyField: "value",
@@ -157,27 +176,30 @@ var BizDatePicker = function BizDatePicker(_ref) {
157
176
  options: typeList,
158
177
  onChange: function onChange(type) {
159
178
  setCurrentType(type);
160
- if (type.value === 'custom') {
161
- setDateRange(getDateRange(DatePickerTypes.Unit.day, 7, includeToday));
162
- }
163
179
  if (type.value === 'hour') {
164
180
  setDateRange(getDateRange(DatePickerTypes.Unit.day, 1, includeToday));
181
+ setRelative([1, 1]);
182
+ setLabel('昨天');
165
183
  }
166
184
  if (type.value === 'day') {
167
185
  setDateRange(getDateRange(DatePickerTypes.Unit.day, 7, includeToday));
168
186
  setRelative([7, includeToday ? 0 : 1]);
187
+ setLabel('最近7天');
169
188
  }
170
189
  if (type.value === 'week') {
171
190
  setDateRange(getDateRange(DatePickerTypes.Unit.week, 4, includeToday));
172
191
  setRelative([4, includeToday ? 0 : 1]);
192
+ setLabel('最近4周');
173
193
  }
174
194
  if (type.value === 'month') {
175
195
  setDateRange(getDateRange(DatePickerTypes.Unit.month, 1, includeToday));
176
196
  setRelative([1, includeToday ? 0 : 1]);
197
+ setLabel('最近1个月');
177
198
  }
178
199
  if (type.value === 'quarter') {
179
200
  setDateRange(getDateRange(DatePickerTypes.Unit.quarter, 1, includeToday));
180
201
  setRelative([1, includeToday ? 0 : 1]);
202
+ setLabel('最近1个季度');
181
203
  }
182
204
  }
183
205
  }), /*#__PURE__*/React.createElement(Popover, {
@@ -185,12 +207,16 @@ var BizDatePicker = function BizDatePicker(_ref) {
185
207
  open: open,
186
208
  placement: "bottomLeft",
187
209
  trigger: "click",
210
+ destroyTooltipOnHide: true,
188
211
  content: /*#__PURE__*/React.createElement(PopoverContent, {
189
212
  setDateRange: setDateRange,
190
213
  setOpen: setOpen,
214
+ setLabel: setLabel,
191
215
  selectRange: selectRange,
216
+ selectRangeUnit: selectRangeUnit,
192
217
  timeRangeOpen: timeRangeOpen,
193
- currentType: currentType.value
218
+ currentType: currentType.value,
219
+ relative: relative
194
220
  }),
195
221
  onOpenChange: function onOpenChange() {
196
222
  return setOpen(!open);
@@ -205,14 +231,13 @@ var BizDatePicker = function BizDatePicker(_ref) {
205
231
  }, /*#__PURE__*/React.createElement(IconFont, {
206
232
  type: "rili-2",
207
233
  size: 14
208
- }), /*#__PURE__*/React.createElement("span", null, currentType.value == DatePickerTypes.Unit.hour ? label ? label : dateRange === null || dateRange === void 0 ? void 0 : dateRange.begin : relative ? '最近' + label : (dateRange === null || dateRange === void 0 ? void 0 : dateRange.begin) + ' 至 ' + (dateRange === null || dateRange === void 0 ? void 0 : dateRange.end))), /*#__PURE__*/React.createElement(IconFont, {
234
+ }), /*#__PURE__*/React.createElement("span", null, relative ? label : (dateRange === null || dateRange === void 0 ? void 0 : dateRange.begin) + ' 至 ' + (dateRange === null || dateRange === void 0 ? void 0 : dateRange.end))), /*#__PURE__*/React.createElement(IconFont, {
209
235
  type: "xiangxia",
210
236
  size: 14
211
237
  })))));
212
238
  };
213
239
  BizDatePicker.defaultProps = {
214
240
  includeToday: true,
215
- mode: 'general',
216
241
  dateTypeList: [DatePickerTypes.Unit.hour, DatePickerTypes.Unit.day, DatePickerTypes.Unit.week, DatePickerTypes.Unit.month]
217
242
  };
218
243
  export default BizDatePicker;
@@ -6,6 +6,9 @@ interface PopoverContent {
6
6
  timeRangeOpen?: number;
7
7
  selectRange?: number;
8
8
  currentType?: DatePickerTypes.Unit;
9
+ relative?: any[];
10
+ setLabel?: any;
11
+ selectRangeUnit?: 'days' | 'weeks' | 'months' | 'quarter';
9
12
  }
10
13
  declare const _default: (props: PopoverContent) => React.JSX.Element;
11
14
  export default _default;
@@ -9,14 +9,17 @@ import React, { useRef } from 'react';
9
9
  import PickerShortcut from './shortcut';
10
10
  import BizDate from './datePicker';
11
11
  import { classPrefix } from '.';
12
+ import { DatePickerTypes } from './types';
12
13
  export default (function (props) {
13
14
  var selectRange = props.selectRange,
14
15
  setDateRange = props.setDateRange,
15
16
  setOpen = props.setOpen,
16
- currentType = props.currentType;
17
+ currentType = props.currentType,
18
+ relative = props.relative,
19
+ setLabel = props.setLabel;
17
20
  var ref = useRef();
18
21
  return /*#__PURE__*/React.createElement(Tabs, {
19
- defaultActiveKey: "1"
22
+ defaultActiveKey: relative ? '1' : '2'
20
23
  }, /*#__PURE__*/React.createElement(Tabs.TabPane, {
21
24
  tab: "\u6700\u8FD1",
22
25
  key: "1"
@@ -40,7 +43,12 @@ export default (function (props) {
40
43
  if (ref.current) {
41
44
  var _ref$current;
42
45
  var dateValue = (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.getDateValue();
43
- setDateRange(dateValue);
46
+ if (dateValue === null || dateValue === void 0 ? void 0 : dateValue.begin) {
47
+ if (currentType == DatePickerTypes.Unit.hour) {
48
+ setLabel(dateValue === null || dateValue === void 0 ? void 0 : dateValue.begin);
49
+ }
50
+ setDateRange(dateValue);
51
+ }
44
52
  setOpen(false);
45
53
  }
46
54
  }
@@ -8,109 +8,37 @@ import React, { useContext, useEffect, useState } from 'react';
8
8
  import { DatePickerTypes } from './types';
9
9
  import { classPrefix } from '.';
10
10
  import DatePickerContext from './context';
11
- import moment from 'moment';
12
- import { getDateRange } from './utils';
11
+ import { getDateRange, getTypeList } from './utils';
13
12
  import { Button, InputNumber } from 'antd';
14
- var getTypeList = function getTypeList(currentType, mode, includeToday) {
15
- var _shortcuts$find;
16
- var shortcuts = [{
17
- label: '按小时',
18
- value: DatePickerTypes.Unit.hour,
19
- children: [{
20
- value: '昨天',
21
- count: 1
22
- }, {
23
- value: '前天',
24
- count: 2
25
- }]
26
- }, {
27
- label: '按天',
28
- value: DatePickerTypes.Unit.day,
29
- children: [{
30
- value: '今天',
31
- count: 0
32
- }, {
33
- value: '昨天',
34
- count: 1
35
- }, {
36
- value: '7天',
37
- count: 7
38
- }, {
39
- value: '14天',
40
- count: 14
41
- }, {
42
- value: '30天',
43
- count: 30
44
- }]
45
- }, {
46
- label: '按周',
47
- value: DatePickerTypes.Unit.week,
48
- children: [{
49
- value: '4周',
50
- count: 4
51
- }, {
52
- value: '8周',
53
- count: 8
54
- }, {
55
- value: '12周',
56
- count: 12
57
- }]
58
- }, {
59
- label: '按月',
60
- value: DatePickerTypes.Unit.month,
61
- children: [{
62
- value: '1个月',
63
- count: 1
64
- }, {
65
- value: '2个月',
66
- count: 2
67
- }, {
68
- value: '3个月',
69
- count: 3
70
- }]
71
- }, {
72
- label: '按季度',
73
- value: DatePickerTypes.Unit.quarter,
74
- children: [{
75
- value: '1季度',
76
- count: 1
77
- }, {
78
- value: '2季度',
79
- count: 2
80
- }, {
81
- value: '4季度',
82
- count: 4
83
- }]
84
- }];
85
- var list = (((_shortcuts$find = shortcuts.find(function (item) {
86
- return item.value === currentType;
87
- })) === null || _shortcuts$find === void 0 ? void 0 : _shortcuts$find.children) || []).filter(function (item) {
88
- if (currentType === 'day') {
89
- if ((mode === 'general' || !includeToday) && (item.count === 0 || item.count === 1)) return false;
90
- return true;
91
- }
92
- return true;
93
- });
94
- return list;
95
- };
96
13
  var DateOptionMap = {
97
14
  day: '天',
98
15
  week: '周',
99
16
  month: '月',
100
17
  quarter: '季度'
101
18
  };
19
+ var DateMaxMap = {
20
+ day: 365,
21
+ week: 52,
22
+ month: 12,
23
+ quarter: 4
24
+ };
25
+ var DateSingleMap = {
26
+ day: 1,
27
+ week: 7,
28
+ month: 30,
29
+ quarter: 120
30
+ };
102
31
  var PickerShortcut = function PickerShortcut(_ref) {
103
32
  var selectRange = _ref.selectRange;
104
33
  var _useContext = useContext(DatePickerContext),
105
34
  currentType = _useContext.currentType,
106
- mode = _useContext.mode,
107
35
  includeToday = _useContext.includeToday,
108
- dateRange = _useContext.dateRange,
109
36
  relative = _useContext.relative,
110
37
  setDateRange = _useContext.setDateRange,
111
38
  setRelative = _useContext.setRelative,
112
39
  setLabel = _useContext.setLabel,
113
40
  setOpen = _useContext.setOpen;
41
+ var list = getTypeList(currentType, includeToday);
114
42
  var _useState = useState(),
115
43
  _useState2 = _slicedToArray(_useState, 2),
116
44
  active = _useState2[0],
@@ -119,69 +47,40 @@ var PickerShortcut = function PickerShortcut(_ref) {
119
47
  _useState4 = _slicedToArray(_useState3, 2),
120
48
  numbers = _useState4[0],
121
49
  setNumbers = _useState4[1];
122
- var list = getTypeList(currentType, mode, includeToday);
123
50
  useEffect(function () {
124
- list = getTypeList(currentType, mode, includeToday);
125
- if (!relative && !dateRange) {
126
- var _active = list[0];
127
- setActive(_active === null || _active === void 0 ? void 0 : _active.count);
128
- setLabel === null || setLabel === void 0 ? void 0 : setLabel(_active === null || _active === void 0 ? void 0 : _active.value);
129
- if (_active && setRelative) {
130
- setRelative([_active === null || _active === void 0 ? void 0 : _active.count, includeToday ? 0 : 1]);
131
- }
51
+ list = getTypeList(currentType, includeToday);
52
+ if (relative) {
53
+ var temp = list.find(function (item) {
54
+ return item.count == relative[0];
55
+ });
56
+ setActive(temp === null || temp === void 0 ? void 0 : temp.count);
132
57
  }
133
- }, [currentType, mode, includeToday]);
134
- useEffect(function () {
135
- if (!dateRange || !dateRange.begin || !dateRange.end) return;
136
- var begin = dateRange.begin,
137
- end = dateRange.end;
138
- var item = list.find(function (item) {
139
- var match = getDateRange(currentType, item.count, includeToday);
140
- return moment(begin).isSame(match.begin) && moment(end).isSame(match.end);
141
- });
142
- setActive(item === null || item === void 0 ? void 0 : item.count);
143
- setLabel === null || setLabel === void 0 ? void 0 : setLabel(item === null || item === void 0 ? void 0 : item.value);
144
- if (relative && (!item || item.count !== relative[0]) && setRelative) {
145
- setRelative(undefined);
146
- }
147
- }, [dateRange]);
148
- useEffect(function () {
149
- if (active === undefined || !setDateRange) return;
150
- setDateRange(getDateRange(currentType, active, includeToday));
151
- setNumbers(active);
152
- }, [active]);
153
- useEffect(function () {
154
- if (!relative || !setDateRange) return;
155
- var _relative = _slicedToArray(relative, 1),
156
- count = _relative[0];
157
- var item = list.find(function (item) {
158
- return item.count === count;
159
- });
160
- setActive(item === null || item === void 0 ? void 0 : item.count);
161
- setLabel === null || setLabel === void 0 ? void 0 : setLabel(item === null || item === void 0 ? void 0 : item.value);
162
- setDateRange(getDateRange(currentType, count, includeToday));
163
- }, [relative]);
58
+ }, [currentType, includeToday]);
59
+ var max = selectRange ? Math.floor(selectRange / Reflect.get(DateSingleMap, currentType)) : Reflect.get(DateMaxMap, currentType);
164
60
  return /*#__PURE__*/React.createElement("div", {
165
61
  className: "".concat(classPrefix, "-shortcut")
166
62
  }, /*#__PURE__*/React.createElement("div", {
167
63
  className: "".concat(classPrefix, "-list")
168
- }, mode !== 'superSimple' && /*#__PURE__*/React.createElement(React.Fragment, null, list.map(function (item, index) {
64
+ }, list.map(function (item, index) {
169
65
  return /*#__PURE__*/React.createElement("div", {
170
66
  key: index,
171
67
  className: "".concat(classPrefix, "-item ").concat(active === item.count ? 'active' : ''),
172
68
  onClick: function onClick() {
173
69
  setActive(item.count);
174
- setLabel === null || setLabel === void 0 ? void 0 : setLabel(item === null || item === void 0 ? void 0 : item.value);
70
+ var str = (currentType != DatePickerTypes.Unit.hour ? '最近' : '') + (item === null || item === void 0 ? void 0 : item.value);
71
+ setLabel === null || setLabel === void 0 ? void 0 : setLabel(str);
175
72
  if (setRelative) setRelative([item.count, includeToday ? 0 : 1]);
73
+ setDateRange === null || setDateRange === void 0 ? void 0 : setDateRange(getDateRange(currentType, item.count, includeToday));
74
+ setOpen === null || setOpen === void 0 ? void 0 : setOpen(false);
176
75
  }
177
76
  }, item.value);
178
- }))), currentType !== DatePickerTypes.Unit.hour && /*#__PURE__*/React.createElement("div", {
77
+ })), currentType !== DatePickerTypes.Unit.hour && /*#__PURE__*/React.createElement("div", {
179
78
  className: "".concat(classPrefix, "-list-relative")
180
79
  }, /*#__PURE__*/React.createElement("div", {
181
80
  className: "".concat(classPrefix, "-list-relative-content")
182
81
  }, /*#__PURE__*/React.createElement("span", null, "\u8FD1"), /*#__PURE__*/React.createElement(InputNumber, {
183
82
  min: 1,
184
- max: currentType == DatePickerTypes.Unit.month ? selectRange || 12 : selectRange || 365,
83
+ max: max,
185
84
  controls: false,
186
85
  style: {
187
86
  width: '58px'
@@ -24,7 +24,6 @@ export declare namespace DatePickerTypes {
24
24
  selectRangeUnit?: 'days' | 'weeks' | 'months' | 'quarter';
25
25
  onChange?: (data: Value) => void;
26
26
  onOpenChange?: (data: boolean) => void;
27
- mode?: 'general' | 'simple' | 'superSimple';
28
27
  dateTypeList?: Unit[];
29
28
  }
30
29
  interface Option {
@@ -5,3 +5,4 @@ export declare const getDateRange: (type: DatePickerTypes.Unit, count: number, i
5
5
  end: string;
6
6
  };
7
7
  export declare const isTodayInRange: (_startDate: moment.Moment, _endDate: moment.Moment) => boolean;
8
+ export declare const getTypeList: (currentType: DatePickerTypes.Unit, includeToday: boolean) => DatePickerTypes.ListOption[];
@@ -44,4 +44,80 @@ export var isTodayInRange = function isTodayInRange(_startDate, _endDate) {
44
44
  var endDate = moment(_endDate).add(1, 'days').format('x');
45
45
  var dateToCheck = moment(new Date()).format('x');
46
46
  return dateToCheck >= startDate && dateToCheck <= endDate;
47
+ };
48
+ export var getTypeList = function getTypeList(currentType, includeToday) {
49
+ var _shortcuts$find;
50
+ var shortcuts = [{
51
+ label: '按小时',
52
+ value: DatePickerTypes.Unit.hour,
53
+ children: [{
54
+ value: '昨天',
55
+ count: 1
56
+ }, {
57
+ value: '前天',
58
+ count: 2
59
+ }]
60
+ }, {
61
+ label: '按天',
62
+ value: DatePickerTypes.Unit.day,
63
+ children: [{
64
+ value: '7天',
65
+ count: 7
66
+ }, {
67
+ value: '14天',
68
+ count: 14
69
+ }, {
70
+ value: '30天',
71
+ count: 30
72
+ }]
73
+ }, {
74
+ label: '按周',
75
+ value: DatePickerTypes.Unit.week,
76
+ children: [{
77
+ value: '4周',
78
+ count: 4
79
+ }, {
80
+ value: '8周',
81
+ count: 8
82
+ }, {
83
+ value: '12周',
84
+ count: 12
85
+ }]
86
+ }, {
87
+ label: '按月',
88
+ value: DatePickerTypes.Unit.month,
89
+ children: [{
90
+ value: '1个月',
91
+ count: 1
92
+ }, {
93
+ value: '2个月',
94
+ count: 2
95
+ }, {
96
+ value: '3个月',
97
+ count: 3
98
+ }]
99
+ }, {
100
+ label: '按季度',
101
+ value: DatePickerTypes.Unit.quarter,
102
+ children: [{
103
+ value: '1季度',
104
+ count: 1
105
+ }, {
106
+ value: '2季度',
107
+ count: 2
108
+ }, {
109
+ value: '4季度',
110
+ count: 4
111
+ }]
112
+ }];
113
+ var list = (((_shortcuts$find = shortcuts.find(function (item) {
114
+ return item.value === currentType;
115
+ })) === null || _shortcuts$find === void 0 ? void 0 : _shortcuts$find.children) || []).filter(function (item) {
116
+ if (currentType === 'day') {
117
+ if (!includeToday && (item.count === 0 || item.count === 1)) return false;
118
+ return true;
119
+ }
120
+ return true;
121
+ });
122
+ return list;
47
123
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zgfe/business-lib",
3
- "version": "1.2.51-ljy.1",
3
+ "version": "1.2.51-ljy.13",
4
4
  "module": "es/index.js",
5
5
  "typings": "es/index.d.ts",
6
6
  "files": [
@@ -55,7 +55,7 @@
55
55
  "react": "^16.12.0 || ^17.0.0",
56
56
  "yorkie": "^2.0.0"
57
57
  },
58
- "gitHead": "9a7a09c57f1d248349441367e54a637f97d8f4f5",
58
+ "gitHead": "b784e41c49a818e87fb69460e11b6f90983f7605",
59
59
  "gitHooks": {
60
60
  "pre-commit": "lint-staged"
61
61
  }