@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.
- package/es/datePickerOld/context.d.ts +0 -1
- package/es/datePickerOld/datePicker.d.ts +0 -1
- package/es/datePickerOld/datePicker.js +18 -20
- package/es/datePickerOld/demo/day.js +0 -1
- package/es/datePickerOld/demo/index.js +8 -7
- package/es/datePickerOld/index.js +43 -18
- package/es/datePickerOld/popoverContent.d.ts +3 -0
- package/es/datePickerOld/popoverContent.js +11 -3
- package/es/datePickerOld/shortcut.js +29 -130
- package/es/datePickerOld/types.d.ts +0 -1
- package/es/datePickerOld/utils.d.ts +1 -0
- package/es/datePickerOld/utils.js +76 -0
- package/package.json +2 -2
|
@@ -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
|
-
|
|
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:
|
|
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:
|
|
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-
|
|
14
|
-
end: '2024-08-
|
|
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
|
-
|
|
38
|
-
|
|
39
|
-
|
|
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
|
-
|
|
103
|
-
|
|
104
|
-
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
|
-
},
|
|
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,
|
|
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:
|
|
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
|
-
|
|
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
|
|
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,
|
|
125
|
-
if (
|
|
126
|
-
var
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
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,
|
|
134
|
-
|
|
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
|
-
},
|
|
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
|
-
|
|
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
|
-
}))
|
|
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:
|
|
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.
|
|
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": "
|
|
58
|
+
"gitHead": "4813d64e8bc4e12bd8bd5e02bae1274d7e75b426",
|
|
59
59
|
"gitHooks": {
|
|
60
60
|
"pre-commit": "lint-staged"
|
|
61
61
|
}
|