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

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.
@@ -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;
@@ -20,7 +20,6 @@ var BizDateBeyondRange = false;
20
20
  var BizDate = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
21
21
  var selectRange = _ref.selectRange,
22
22
  selectRangeUnit = _ref.selectRangeUnit,
23
- _onOpenChange = _ref.onOpenChange,
24
23
  timeRangeOpen = _ref.timeRangeOpen;
25
24
  var _useContext = useContext(DatePickerContext),
26
25
  includeToday = _useContext.includeToday,
@@ -39,7 +38,7 @@ var BizDate = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
39
38
  var min = moment(max).subtract(_timeRangeOpen, 'month');
40
39
  return current > max || current < min;
41
40
  }
42
- var _useState = useState(),
41
+ 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
42
  _useState2 = _slicedToArray(_useState, 2),
44
43
  value = _useState2[0],
45
44
  setValue = _useState2[1];
@@ -68,8 +67,20 @@ var BizDate = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
68
67
  useImperativeHandle(ref, function () {
69
68
  return {
70
69
  getDateValue: function getDateValue() {
70
+ var _value$, _value$2;
71
71
  if (setRelative) setRelative(undefined);
72
- return value;
72
+ if (BizDateBeyondRange) {
73
+ message.error("\u65F6\u95F4\u6BB5\u6700\u5927\u652F\u6301".concat(selectRange ? selectRange : 12).concat(selectRangeUnitText));
74
+ BizDateBeyondRange = false;
75
+ return false;
76
+ }
77
+ return Array.isArray(value) ? {
78
+ begin: (_value$ = value[0]) === null || _value$ === void 0 ? void 0 : _value$.format('YYYY-MM-DD'),
79
+ end: (_value$2 = value[1]) === null || _value$2 === void 0 ? void 0 : _value$2.format('YYYY-MM-DD')
80
+ } : {
81
+ begin: value === null || value === void 0 ? void 0 : value.format('YYYY-MM-DD'),
82
+ end: value === null || value === void 0 ? void 0 : value.format('YYYY-MM-DD')
83
+ };
73
84
  }
74
85
  };
75
86
  });
@@ -81,7 +92,7 @@ var BizDate = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
81
92
  return /*#__PURE__*/React.createElement("div", {
82
93
  className: "".concat(classPrefix, "-panel")
83
94
  }, currentType === DatePickerTypes.Unit.hour ? /*#__PURE__*/React.createElement(DatePicker, {
84
- value: moment(dateRange.begin, 'YYYY-MM-DD'),
95
+ value: value,
85
96
  allowClear: false,
86
97
  inputReadOnly: true,
87
98
  popupClassName: "".concat(classPrefix, "-drop"),
@@ -99,14 +110,11 @@ var BizDate = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
99
110
  open: true,
100
111
  onChange: function onChange(date) {
101
112
  if (date) {
102
- setValue({
103
- begin: date.format('YYYY-MM-DD'),
104
- end: date.format('YYYY-MM-DD')
105
- });
113
+ setValue(moment(date));
106
114
  }
107
115
  }
108
116
  }) : /*#__PURE__*/React.createElement(RangePicker, {
109
- value: [moment(dateRange.begin, 'YYYY-MM-DD'), moment(dateRange.end, 'YYYY-MM-DD')],
117
+ value: value,
110
118
  allowClear: false,
111
119
  popupClassName: "".concat(classPrefix, "-drop"),
112
120
  inputReadOnly: true,
@@ -122,13 +130,6 @@ var BizDate = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
122
130
  getPopupContainer: function getPopupContainer(trigger) {
123
131
  return trigger.parentNode;
124
132
  },
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
133
  onChange: function onChange(value) {
133
134
  var subtractDays = 0;
134
135
  if (includeToday && value && value.length === 2 && isTodayInRange(value[0], value[1])) {
@@ -140,10 +141,7 @@ var BizDate = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
140
141
  }
141
142
  if (value && value.length === 2) {
142
143
  BizDateBeyondRange = false;
143
- setValue({
144
- begin: value[0].format('YYYY-MM-DD'),
145
- end: value[1].format('YYYY-MM-DD')
146
- });
144
+ setValue([moment(value[0], 'YYYY-MM-DD'), moment(value[1], 'YYYY-MM-DD')]);
147
145
  }
148
146
  }
149
147
  }));
@@ -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,
@@ -8,12 +8,11 @@ import { BizDatePickerOld } from '@zgfe/business-lib';
8
8
  import React, { useState } from 'react';
9
9
  import '@zgfe/business-lib/es/assets/styles/resetAntd.less';
10
10
  import { Divider, Space, Switch } from 'antd';
11
+ import { DatePickerTypes } from '../types';
11
12
  export default (function () {
12
13
  var _useState = useState({
13
- begin: '2024-07-23',
14
- end: '2024-08-05',
15
- relative: [14, 1],
16
- unit: 'day'
14
+ begin: '2024-05-01',
15
+ end: '2024-08-06'
17
16
  }),
18
17
  _useState2 = _slicedToArray(_useState, 2),
19
18
  time = _useState2[0],
@@ -34,8 +33,10 @@ export default (function () {
34
33
  onChange: setIncludeToday
35
34
  })), /*#__PURE__*/React.createElement(Divider, null), /*#__PURE__*/React.createElement(BizDatePickerOld, {
36
35
  key: "".concat(includeToday, "--2"),
37
- onChange: handleChange,
38
- includeToday: includeToday,
39
- defaultValue: time
36
+ value: time,
37
+ dateTypeList: [DatePickerTypes.Unit.day],
38
+ selectRange: 30,
39
+ selectRangeUnit: "days",
40
+ onChange: handleChange
40
41
  }), /*#__PURE__*/React.createElement("p", null, "\u5F53\u524D\u503C\uFF1A", JSON.stringify(time))));
41
42
  });
@@ -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.11",
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": "4813d64e8bc4e12bd8bd5e02bae1274d7e75b426",
59
59
  "gitHooks": {
60
60
  "pre-commit": "lint-staged"
61
61
  }