@zgfe/business-lib 1.2.51-ljy.2 → 1.2.51-ljy.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.
@@ -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,12 +4,10 @@ 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;
11
10
  setOpen?: Dispatch<SetStateAction<boolean>>;
12
- setLabel?: Dispatch<SetStateAction<string>>;
13
11
  }
14
12
  declare const DatePickerContext: import("react").Context<DatePickerContextProps>;
15
13
  export default DatePickerContext;
@@ -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, 'YYYY-MM-DD'));
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, selectRangeUnit)) : 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,
@@ -8,11 +8,12 @@ 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-11',
14
- end: '2024-08-05',
15
- relative: [4, 1],
14
+ begin: '2024-07-01',
15
+ end: '2024-08-09',
16
+ relative: [5, 0],
16
17
  unit: 'week'
17
18
  }),
18
19
  _useState2 = _slicedToArray(_useState, 2),
@@ -34,8 +35,11 @@ export default (function () {
34
35
  onChange: setIncludeToday
35
36
  })), /*#__PURE__*/React.createElement(Divider, null), /*#__PURE__*/React.createElement(BizDatePickerOld, {
36
37
  key: "".concat(includeToday, "--2"),
37
- onChange: handleChange,
38
- includeToday: includeToday,
39
- defaultValue: time
38
+ value: time,
39
+ defaultValue: time,
40
+ dateTypeList: [DatePickerTypes.Unit.hour, DatePickerTypes.Unit.day, DatePickerTypes.Unit.week, DatePickerTypes.Unit.month, DatePickerTypes.Unit.quarter, DatePickerTypes.Unit.custom],
41
+ selectRange: 365,
42
+ selectRangeUnit: "days",
43
+ onChange: handleChange
40
44
  }), /*#__PURE__*/React.createElement("p", null, "\u5F53\u524D\u503C\uFF1A", JSON.stringify(time))));
41
45
  });
@@ -17,7 +17,7 @@ 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, getTypeList } from './utils';
20
+ import { DateOptionMap, getDateRange, getTypeList } from './utils';
21
21
  import PopoverContent from './popoverContent';
22
22
  import IconFont from '../icon/iconFont';
23
23
  import moment from 'moment';
@@ -34,10 +34,10 @@ var BizDatePicker = function BizDatePicker(_ref) {
34
34
  var defaultValue = _ref.defaultValue,
35
35
  value = _ref.value,
36
36
  includeToday = _ref.includeToday,
37
- mode = _ref.mode,
38
37
  dateTypeList = _ref.dateTypeList,
39
38
  onChange = _ref.onChange,
40
39
  selectRange = _ref.selectRange,
40
+ selectRangeUnit = _ref.selectRangeUnit,
41
41
  timeRangeOpen = _ref.timeRangeOpen;
42
42
  var _useState = useState(false),
43
43
  _useState2 = _slicedToArray(_useState, 2),
@@ -66,10 +66,6 @@ var BizDatePicker = function BizDatePicker(_ref) {
66
66
  _useState14 = _slicedToArray(_useState13, 2),
67
67
  open = _useState14[0],
68
68
  setOpen = _useState14[1];
69
- var _useState15 = useState('个月'),
70
- _useState16 = _slicedToArray(_useState15, 2),
71
- label = _useState16[0],
72
- setLabel = _useState16[1];
73
69
  function init(initValue) {
74
70
  setReady(false);
75
71
  var list = dateTypeList === null || dateTypeList === void 0 ? void 0 : dateTypeList.map(function (type) {
@@ -85,22 +81,8 @@ var BizDatePicker = function BizDatePicker(_ref) {
85
81
  setCurrentType(currentType);
86
82
  if (initValue === null || initValue === void 0 ? void 0 : initValue.relative) {
87
83
  setRelative(initValue.relative);
88
- switch (currentType === null || currentType === void 0 ? void 0 : currentType.value) {
89
- case 'day':
90
- setLabel(initValue.relative[0] + '天');
91
- break;
92
- case 'week':
93
- setLabel(initValue.relative[0] + '周');
94
- break;
95
- case 'month':
96
- setLabel(initValue.relative[0] + '个月');
97
- break;
98
- case 'quarter':
99
- setLabel(initValue.relative[0] + '个季度');
100
- break;
101
- }
102
84
  }
103
- var typeList = getTypeList(currentType === null || currentType === void 0 ? void 0 : currentType.value, mode, includeToday);
85
+ var typeList = getTypeList(currentType === null || currentType === void 0 ? void 0 : currentType.value, includeToday);
104
86
  var begin = initValue.begin,
105
87
  end = initValue.end;
106
88
  var item = typeList.find(function (item) {
@@ -147,6 +129,28 @@ var BizDatePicker = function BizDatePicker(_ref) {
147
129
  }, 100);
148
130
  });
149
131
  }, [dateRange, currentType, relative, ready]);
132
+ var renderLabel = function renderLabel() {
133
+ var typeList = getTypeList(currentType === null || currentType === void 0 ? void 0 : currentType.value, includeToday);
134
+ if (relative) {
135
+ var type = typeList.find(function (item) {
136
+ return item.count == relative[0];
137
+ });
138
+ if (type) {
139
+ if ((currentType === null || currentType === void 0 ? void 0 : currentType.value) == DatePickerTypes.Unit.hour) {
140
+ return type.value;
141
+ }
142
+ return '最近' + type.value;
143
+ } else {
144
+ return '最近' + relative[0] + Reflect.get(DateOptionMap, currentType === null || currentType === void 0 ? void 0 : currentType.value);
145
+ }
146
+ } else {
147
+ if ((currentType === null || currentType === void 0 ? void 0 : currentType.value) == DatePickerTypes.Unit.hour) {
148
+ return dateRange === null || dateRange === void 0 ? void 0 : dateRange.begin;
149
+ } else {
150
+ return (dateRange === null || dateRange === void 0 ? void 0 : dateRange.begin) + ' 至 ' + (dateRange === null || dateRange === void 0 ? void 0 : dateRange.end);
151
+ }
152
+ }
153
+ };
150
154
  if (!typeList.length || !currentType || !ready) {
151
155
  return /*#__PURE__*/React.createElement("div", {
152
156
  className: classPrefix
@@ -159,16 +163,14 @@ var BizDatePicker = function BizDatePicker(_ref) {
159
163
  }, /*#__PURE__*/React.createElement(DatePickerContext.Provider, {
160
164
  value: {
161
165
  includeToday: includeToday,
162
- mode: mode,
163
166
  dateRange: dateRange,
164
167
  setDateRange: setDateRange,
165
168
  currentType: currentType.value,
166
169
  relative: relative,
167
170
  setRelative: setRelative,
168
- setOpen: setOpen,
169
- setLabel: setLabel
171
+ setOpen: setOpen
170
172
  }
171
- }, mode == 'general' && /*#__PURE__*/React.createElement(BizSelect, {
173
+ }, /*#__PURE__*/React.createElement(BizSelect, {
172
174
  className: "".concat(classPrefix, "-type"),
173
175
  theme: "secondary",
174
176
  keyField: "value",
@@ -177,11 +179,9 @@ var BizDatePicker = function BizDatePicker(_ref) {
177
179
  options: typeList,
178
180
  onChange: function onChange(type) {
179
181
  setCurrentType(type);
180
- if (type.value === 'custom') {
181
- setDateRange(getDateRange(DatePickerTypes.Unit.day, 7, includeToday));
182
- }
183
182
  if (type.value === 'hour') {
184
183
  setDateRange(getDateRange(DatePickerTypes.Unit.day, 1, includeToday));
184
+ setRelative([1, 1]);
185
185
  }
186
186
  if (type.value === 'day') {
187
187
  setDateRange(getDateRange(DatePickerTypes.Unit.day, 7, includeToday));
@@ -199,18 +199,24 @@ var BizDatePicker = function BizDatePicker(_ref) {
199
199
  setDateRange(getDateRange(DatePickerTypes.Unit.quarter, 1, includeToday));
200
200
  setRelative([1, includeToday ? 0 : 1]);
201
201
  }
202
+ if (type.value == 'custom') {
203
+ setRelative(undefined);
204
+ }
202
205
  }
203
206
  }), /*#__PURE__*/React.createElement(Popover, {
204
207
  overlayClassName: "".concat(classPrefix, "-input-popover"),
205
208
  open: open,
206
209
  placement: "bottomLeft",
207
210
  trigger: "click",
211
+ destroyTooltipOnHide: true,
208
212
  content: /*#__PURE__*/React.createElement(PopoverContent, {
209
213
  setDateRange: setDateRange,
210
214
  setOpen: setOpen,
211
215
  selectRange: selectRange,
216
+ selectRangeUnit: selectRangeUnit,
212
217
  timeRangeOpen: timeRangeOpen,
213
- currentType: currentType.value
218
+ currentType: currentType.value,
219
+ relative: relative
214
220
  }),
215
221
  onOpenChange: function onOpenChange() {
216
222
  return setOpen(!open);
@@ -225,14 +231,13 @@ var BizDatePicker = function BizDatePicker(_ref) {
225
231
  }, /*#__PURE__*/React.createElement(IconFont, {
226
232
  type: "rili-2",
227
233
  size: 14
228
- }), /*#__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, renderLabel())), /*#__PURE__*/React.createElement(IconFont, {
229
235
  type: "xiangxia",
230
236
  size: 14
231
237
  })))));
232
238
  };
233
239
  BizDatePicker.defaultProps = {
234
240
  includeToday: true,
235
- mode: 'general',
236
241
  dateTypeList: [DatePickerTypes.Unit.hour, DatePickerTypes.Unit.day, DatePickerTypes.Unit.week, DatePickerTypes.Unit.month]
237
242
  };
238
243
  export default BizDatePicker;
@@ -6,6 +6,8 @@ interface PopoverContent {
6
6
  timeRangeOpen?: number;
7
7
  selectRange?: number;
8
8
  currentType?: DatePickerTypes.Unit;
9
+ relative?: any[];
10
+ selectRangeUnit?: 'days' | 'weeks' | 'months' | 'quarter';
9
11
  }
10
12
  declare const _default: (props: PopoverContent) => React.JSX.Element;
11
13
  export default _default;
@@ -9,15 +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;
17
19
  var ref = useRef();
18
20
  return /*#__PURE__*/React.createElement(Tabs, {
19
- defaultActiveKey: "1"
20
- }, /*#__PURE__*/React.createElement(Tabs.TabPane, {
21
+ defaultActiveKey: relative ? '1' : '2'
22
+ }, currentType != DatePickerTypes.Unit.custom && /*#__PURE__*/React.createElement(Tabs.TabPane, {
21
23
  tab: "\u6700\u8FD1",
22
24
  key: "1"
23
25
  }, /*#__PURE__*/React.createElement(PickerShortcut, {
@@ -40,7 +42,9 @@ export default (function (props) {
40
42
  if (ref.current) {
41
43
  var _ref$current;
42
44
  var dateValue = (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.getDateValue();
43
- setDateRange(dateValue);
45
+ if (dateValue === null || dateValue === void 0 ? void 0 : dateValue.begin) {
46
+ setDateRange(dateValue);
47
+ }
44
48
  setOpen(false);
45
49
  }
46
50
  }
@@ -8,29 +8,19 @@ 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, getTypeList } from './utils';
11
+ import { DateMaxMap, DateOptionMap, DateSingleMap, getDateRange, getTypeList } from './utils';
13
12
  import { Button, InputNumber } from 'antd';
14
- var DateOptionMap = {
15
- day: '天',
16
- week: '周',
17
- month: '月',
18
- quarter: '季度'
19
- };
20
13
  var PickerShortcut = function PickerShortcut(_ref) {
21
14
  var selectRange = _ref.selectRange;
22
15
  var _useContext = useContext(DatePickerContext),
23
16
  currentType = _useContext.currentType,
24
- mode = _useContext.mode,
25
17
  includeToday = _useContext.includeToday,
26
- dateRange = _useContext.dateRange,
27
18
  relative = _useContext.relative,
28
19
  setDateRange = _useContext.setDateRange,
29
20
  setRelative = _useContext.setRelative,
30
- setLabel = _useContext.setLabel,
31
21
  setOpen = _useContext.setOpen;
32
- var list = getTypeList(currentType, mode, includeToday);
33
- var _useState = useState(list[0].count),
22
+ var list = getTypeList(currentType, includeToday);
23
+ var _useState = useState(),
34
24
  _useState2 = _slicedToArray(_useState, 2),
35
25
  active = _useState2[0],
36
26
  setActive = _useState2[1];
@@ -39,68 +29,35 @@ var PickerShortcut = function PickerShortcut(_ref) {
39
29
  numbers = _useState4[0],
40
30
  setNumbers = _useState4[1];
41
31
  useEffect(function () {
42
- list = getTypeList(currentType, mode, includeToday);
43
- if (!relative && !dateRange) {
44
- var _active = list[0];
45
- setActive(_active === null || _active === void 0 ? void 0 : _active.count);
46
- setLabel === null || setLabel === void 0 ? void 0 : setLabel(_active === null || _active === void 0 ? void 0 : _active.value);
47
- if (_active && setRelative) {
48
- setRelative([_active === null || _active === void 0 ? void 0 : _active.count, includeToday ? 0 : 1]);
49
- }
50
- }
51
- }, [currentType, mode, includeToday]);
52
- useEffect(function () {
53
- if (!dateRange || !dateRange.begin || !dateRange.end) return;
54
- var begin = dateRange.begin,
55
- end = dateRange.end;
56
- var item = list.find(function (item) {
57
- var match = getDateRange(currentType, item.count, includeToday);
58
- return moment(begin).isSame(match.begin) && moment(end).isSame(match.end);
59
- });
60
- setActive(item === null || item === void 0 ? void 0 : item.count);
61
- setLabel === null || setLabel === void 0 ? void 0 : setLabel(item === null || item === void 0 ? void 0 : item.value);
62
- if (relative && (!item || item.count !== relative[0]) && setRelative) {
63
- setRelative(undefined);
32
+ list = getTypeList(currentType, includeToday);
33
+ if (relative) {
34
+ setActive(relative[0]);
35
+ setNumbers(relative[0]);
64
36
  }
65
- }, [dateRange]);
66
- useEffect(function () {
67
- if (active === undefined || !setDateRange) return;
68
- setDateRange(getDateRange(currentType, active, includeToday));
69
- setNumbers(active);
70
- }, [active]);
71
- useEffect(function () {
72
- if (!relative || !setDateRange) return;
73
- var _relative = _slicedToArray(relative, 1),
74
- count = _relative[0];
75
- var item = list.find(function (item) {
76
- return item.count === count;
77
- });
78
- setActive(item === null || item === void 0 ? void 0 : item.count);
79
- setLabel === null || setLabel === void 0 ? void 0 : setLabel(item === null || item === void 0 ? void 0 : item.value);
80
- setDateRange(getDateRange(currentType, count, includeToday));
81
- }, [relative]);
37
+ }, [currentType, includeToday]);
38
+ var max = selectRange ? Math.floor(selectRange / Reflect.get(DateSingleMap, currentType)) : Reflect.get(DateMaxMap, currentType);
82
39
  return /*#__PURE__*/React.createElement("div", {
83
40
  className: "".concat(classPrefix, "-shortcut")
84
41
  }, /*#__PURE__*/React.createElement("div", {
85
42
  className: "".concat(classPrefix, "-list")
86
- }, mode !== 'superSimple' && /*#__PURE__*/React.createElement(React.Fragment, null, list.map(function (item, index) {
43
+ }, list.map(function (item, index) {
87
44
  return /*#__PURE__*/React.createElement("div", {
88
45
  key: index,
89
46
  className: "".concat(classPrefix, "-item ").concat(active === item.count ? 'active' : ''),
90
47
  onClick: function onClick() {
91
48
  setActive(item.count);
92
- setLabel === null || setLabel === void 0 ? void 0 : setLabel(item === null || item === void 0 ? void 0 : item.value);
93
49
  if (setRelative) setRelative([item.count, includeToday ? 0 : 1]);
50
+ setDateRange === null || setDateRange === void 0 ? void 0 : setDateRange(getDateRange(currentType, item.count, includeToday));
94
51
  setOpen === null || setOpen === void 0 ? void 0 : setOpen(false);
95
52
  }
96
53
  }, item.value);
97
- }))), currentType !== DatePickerTypes.Unit.hour && /*#__PURE__*/React.createElement("div", {
54
+ })), ![DatePickerTypes.Unit.hour, DatePickerTypes.Unit.quarter].includes(currentType) && /*#__PURE__*/React.createElement("div", {
98
55
  className: "".concat(classPrefix, "-list-relative")
99
56
  }, /*#__PURE__*/React.createElement("div", {
100
57
  className: "".concat(classPrefix, "-list-relative-content")
101
58
  }, /*#__PURE__*/React.createElement("span", null, "\u8FD1"), /*#__PURE__*/React.createElement(InputNumber, {
102
59
  min: 1,
103
- max: currentType == DatePickerTypes.Unit.month ? selectRange || 12 : selectRange || 365,
60
+ max: max,
104
61
  controls: false,
105
62
  style: {
106
63
  width: '58px'
@@ -112,8 +69,12 @@ var PickerShortcut = function PickerShortcut(_ref) {
112
69
  }), /*#__PURE__*/React.createElement("span", null, Reflect.get(DateOptionMap, currentType))), /*#__PURE__*/React.createElement(Button, {
113
70
  type: "primary",
114
71
  onClick: function onClick() {
115
- if (!setDateRange) return;
116
- setDateRange(getDateRange(currentType, numbers, includeToday));
72
+ if (!numbers) {
73
+ return;
74
+ }
75
+ var date = getDateRange(currentType, numbers, includeToday);
76
+ setDateRange === null || setDateRange === void 0 ? void 0 : setDateRange(date);
77
+ setRelative === null || setRelative === void 0 ? void 0 : setRelative([numbers, includeToday ? 0 : 1]);
117
78
  setOpen === null || setOpen === void 0 ? void 0 : setOpen(false);
118
79
  }
119
80
  }, "\u786E\u8BA4")));
@@ -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 {
@@ -1,9 +1,26 @@
1
1
  import moment from 'moment';
2
2
  import { DatePickerTypes } from './types';
3
- import { DatePickerContextProps } from './context';
4
3
  export declare const getDateRange: (type: DatePickerTypes.Unit, count: number, includeToday: boolean) => {
5
4
  begin: string;
6
5
  end: string;
7
6
  };
8
7
  export declare const isTodayInRange: (_startDate: moment.Moment, _endDate: moment.Moment) => boolean;
9
- export declare const getTypeList: (currentType: DatePickerTypes.Unit, mode: DatePickerContextProps['mode'], includeToday: boolean) => DatePickerTypes.ListOption[];
8
+ export declare const getTypeList: (currentType: DatePickerTypes.Unit, includeToday: boolean) => DatePickerTypes.ListOption[];
9
+ export declare const DateOptionMap: {
10
+ day: string;
11
+ week: string;
12
+ month: string;
13
+ quarter: string;
14
+ };
15
+ export declare const DateMaxMap: {
16
+ day: number;
17
+ week: number;
18
+ month: number;
19
+ quarter: number;
20
+ };
21
+ export declare const DateSingleMap: {
22
+ day: number;
23
+ week: number;
24
+ month: number;
25
+ quarter: number;
26
+ };
@@ -2,7 +2,6 @@ import moment from 'moment';
2
2
  import { DatePickerTypes } from './types';
3
3
  function getAbsoluteDate(unit, count, maxDate) {
4
4
  var res = {};
5
- var dayTime = 24 * 60 * 60 * 1000;
6
5
  switch (unit) {
7
6
  case DatePickerTypes.Unit.hour:
8
7
  res.endDate = res.startDate = moment().subtract(count, 'days').toDate();
@@ -13,20 +12,15 @@ function getAbsoluteDate(unit, count, maxDate) {
13
12
  break;
14
13
  case DatePickerTypes.Unit.week:
15
14
  res.endDate = maxDate;
16
- var firstOfWeek = new Date(maxDate.getTime() - (maxDate.getDay() - 1) * dayTime);
17
- res.startDate = new Date(firstOfWeek.getTime() - count * 7 * dayTime);
15
+ res.startDate = moment(maxDate).subtract(count, 'weeks').toDate();
18
16
  break;
19
17
  case DatePickerTypes.Unit.month:
20
18
  res.endDate = maxDate;
21
- var firstOfMonth = new Date(maxDate.getTime() - (maxDate.getDate() - 1) * dayTime);
22
- firstOfMonth.setMonth(firstOfMonth.getMonth() - count);
23
- res.startDate = new Date(firstOfMonth);
19
+ res.startDate = moment(maxDate).subtract(count, 'months').toDate();
24
20
  break;
25
21
  case DatePickerTypes.Unit.quarter:
26
22
  res.endDate = maxDate;
27
- var firstOfQuarter = new Date(maxDate.getTime() - (maxDate.getDate() - 1) * dayTime);
28
- firstOfQuarter.setMonth(firstOfQuarter.getMonth() - firstOfQuarter.getMonth() % 3 - 3 * (count - 1));
29
- res.startDate = new Date(firstOfQuarter);
23
+ res.startDate = moment(maxDate).subtract(count, 'quarters').toDate();
30
24
  break;
31
25
  }
32
26
  return res;
@@ -45,7 +39,7 @@ export var isTodayInRange = function isTodayInRange(_startDate, _endDate) {
45
39
  var dateToCheck = moment(new Date()).format('x');
46
40
  return dateToCheck >= startDate && dateToCheck <= endDate;
47
41
  };
48
- export var getTypeList = function getTypeList(currentType, mode, includeToday) {
42
+ export var getTypeList = function getTypeList(currentType, includeToday) {
49
43
  var _shortcuts$find;
50
44
  var shortcuts = [{
51
45
  label: '按小时',
@@ -61,12 +55,6 @@ export var getTypeList = function getTypeList(currentType, mode, includeToday) {
61
55
  label: '按天',
62
56
  value: DatePickerTypes.Unit.day,
63
57
  children: [{
64
- value: '今天',
65
- count: 0
66
- }, {
67
- value: '昨天',
68
- count: 1
69
- }, {
70
58
  value: '7天',
71
59
  count: 7
72
60
  }, {
@@ -120,10 +108,28 @@ export var getTypeList = function getTypeList(currentType, mode, includeToday) {
120
108
  return item.value === currentType;
121
109
  })) === null || _shortcuts$find === void 0 ? void 0 : _shortcuts$find.children) || []).filter(function (item) {
122
110
  if (currentType === 'day') {
123
- if ((mode === 'general' || !includeToday) && (item.count === 0 || item.count === 1)) return false;
111
+ if (!includeToday && (item.count === 0 || item.count === 1)) return false;
124
112
  return true;
125
113
  }
126
114
  return true;
127
115
  });
128
116
  return list;
117
+ };
118
+ export var DateOptionMap = {
119
+ day: '天',
120
+ week: '周',
121
+ month: '个月',
122
+ quarter: '个季度'
123
+ };
124
+ export var DateMaxMap = {
125
+ day: 365,
126
+ week: 52,
127
+ month: 12,
128
+ quarter: 4
129
+ };
130
+ export var DateSingleMap = {
131
+ day: 1,
132
+ week: 7,
133
+ month: 30,
134
+ quarter: 120
129
135
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zgfe/business-lib",
3
- "version": "1.2.51-ljy.2",
3
+ "version": "1.2.51-ljy.20",
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": "4ec2943a33bb54f7b6035e846dea5cc65dc4e275",
58
+ "gitHead": "03e247c313adc0f6a0ebbdb8dd28d2f6bc319aca",
59
59
  "gitHooks": {
60
60
  "pre-commit": "lint-staged"
61
61
  }