@zgfe/business-lib 1.2.51-ljy.2 → 1.2.51-ljy.21
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/datePicker/demo/index.js +3 -1
- package/es/datePickerOld/context.d.ts +0 -2
- package/es/datePickerOld/datePicker.d.ts +0 -1
- package/es/datePickerOld/datePicker.js +20 -22
- package/es/datePickerOld/demo/day.js +0 -1
- package/es/datePickerOld/demo/index.js +10 -7
- package/es/datePickerOld/index.js +36 -31
- package/es/datePickerOld/popoverContent.d.ts +2 -0
- package/es/datePickerOld/popoverContent.js +10 -5
- package/es/datePickerOld/shortcut.d.ts +1 -2
- package/es/datePickerOld/shortcut.js +21 -59
- package/es/datePickerOld/types.d.ts +0 -1
- package/es/datePickerOld/utils.d.ts +23 -2
- package/es/datePickerOld/utils.js +27 -17
- package/package.json +2 -2
|
@@ -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;
|
|
@@ -13,14 +13,13 @@ import { DatePickerTypes } from './types';
|
|
|
13
13
|
import locale from 'antd/es/date-picker/locale/zh_CN';
|
|
14
14
|
import DatePickerContext from './context';
|
|
15
15
|
import BizGlobalDataContext from '../context';
|
|
16
|
-
import { isTodayInRange } from './utils';
|
|
16
|
+
import { DateSingleMap, isTodayInRange } from './utils';
|
|
17
17
|
import _ from 'lodash';
|
|
18
18
|
var RangePicker = DatePicker.RangePicker;
|
|
19
19
|
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, 'YYYY-MM-DD'));
|
|
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,28 +130,18 @@ 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])) {
|
|
135
136
|
subtractDays = 1;
|
|
136
137
|
}
|
|
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)) {
|
|
138
|
+
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
139
|
BizDateBeyondRange = true;
|
|
139
140
|
return;
|
|
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,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-
|
|
14
|
-
end: '2024-08-
|
|
15
|
-
relative: [
|
|
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),
|
|
@@ -33,9 +34,11 @@ export default (function () {
|
|
|
33
34
|
defaultChecked: includeToday,
|
|
34
35
|
onChange: setIncludeToday
|
|
35
36
|
})), /*#__PURE__*/React.createElement(Divider, null), /*#__PURE__*/React.createElement(BizDatePickerOld, {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
37
|
+
value: time,
|
|
38
|
+
defaultValue: time,
|
|
39
|
+
dateTypeList: [DatePickerTypes.Unit.hour, DatePickerTypes.Unit.day, DatePickerTypes.Unit.week, DatePickerTypes.Unit.month, DatePickerTypes.Unit.quarter, DatePickerTypes.Unit.custom],
|
|
40
|
+
selectRange: 1,
|
|
41
|
+
selectRangeUnit: "months",
|
|
42
|
+
onChange: handleChange
|
|
40
43
|
}), /*#__PURE__*/React.createElement("p", null, "\u5F53\u524D\u503C\uFF1A", JSON.stringify(time))));
|
|
41
44
|
});
|
|
@@ -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,
|
|
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
|
-
},
|
|
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,
|
|
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,20 +9,23 @@ 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
|
+
selectRangeUnit = props.selectRangeUnit;
|
|
17
20
|
var ref = useRef();
|
|
18
21
|
return /*#__PURE__*/React.createElement(Tabs, {
|
|
19
|
-
defaultActiveKey:
|
|
20
|
-
}, /*#__PURE__*/React.createElement(Tabs.TabPane, {
|
|
22
|
+
defaultActiveKey: relative ? '1' : '2'
|
|
23
|
+
}, currentType != DatePickerTypes.Unit.custom && /*#__PURE__*/React.createElement(Tabs.TabPane, {
|
|
21
24
|
tab: "\u6700\u8FD1",
|
|
22
25
|
key: "1"
|
|
23
26
|
}, /*#__PURE__*/React.createElement(PickerShortcut, {
|
|
24
27
|
selectRange: selectRange,
|
|
25
|
-
|
|
28
|
+
selectRangeUnit: selectRangeUnit
|
|
26
29
|
})), /*#__PURE__*/React.createElement(Tabs.TabPane, {
|
|
27
30
|
tab: "\u81EA\u5B9A\u4E49",
|
|
28
31
|
key: "2"
|
|
@@ -40,7 +43,9 @@ 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
|
+
setDateRange(dateValue);
|
|
48
|
+
}
|
|
44
49
|
setOpen(false);
|
|
45
50
|
}
|
|
46
51
|
}
|
|
@@ -8,29 +8,20 @@ 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, 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
|
-
var selectRange = _ref.selectRange
|
|
14
|
+
var selectRange = _ref.selectRange,
|
|
15
|
+
selectRangeUnit = _ref.selectRangeUnit;
|
|
22
16
|
var _useContext = useContext(DatePickerContext),
|
|
23
17
|
currentType = _useContext.currentType,
|
|
24
|
-
mode = _useContext.mode,
|
|
25
18
|
includeToday = _useContext.includeToday,
|
|
26
|
-
dateRange = _useContext.dateRange,
|
|
27
19
|
relative = _useContext.relative,
|
|
28
20
|
setDateRange = _useContext.setDateRange,
|
|
29
21
|
setRelative = _useContext.setRelative,
|
|
30
|
-
setLabel = _useContext.setLabel,
|
|
31
22
|
setOpen = _useContext.setOpen;
|
|
32
|
-
var list = getTypeList(currentType,
|
|
33
|
-
var _useState = useState(
|
|
23
|
+
var list = getTypeList(currentType, includeToday);
|
|
24
|
+
var _useState = useState(),
|
|
34
25
|
_useState2 = _slicedToArray(_useState, 2),
|
|
35
26
|
active = _useState2[0],
|
|
36
27
|
setActive = _useState2[1];
|
|
@@ -39,68 +30,35 @@ var PickerShortcut = function PickerShortcut(_ref) {
|
|
|
39
30
|
numbers = _useState4[0],
|
|
40
31
|
setNumbers = _useState4[1];
|
|
41
32
|
useEffect(function () {
|
|
42
|
-
list = getTypeList(currentType,
|
|
43
|
-
if (
|
|
44
|
-
|
|
45
|
-
|
|
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);
|
|
33
|
+
list = getTypeList(currentType, includeToday);
|
|
34
|
+
if (relative) {
|
|
35
|
+
setActive(relative[0]);
|
|
36
|
+
setNumbers(relative[0]);
|
|
64
37
|
}
|
|
65
|
-
}, [
|
|
66
|
-
|
|
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]);
|
|
38
|
+
}, [currentType, includeToday]);
|
|
39
|
+
var max = selectRange && selectRangeUnit ? Math.floor(selectRange * Reflect.get(DateSingleMap, selectRangeUnit) / Reflect.get(DateSingleMap, currentType)) : Reflect.get(DateMaxMap, currentType);
|
|
82
40
|
return /*#__PURE__*/React.createElement("div", {
|
|
83
41
|
className: "".concat(classPrefix, "-shortcut")
|
|
84
42
|
}, /*#__PURE__*/React.createElement("div", {
|
|
85
43
|
className: "".concat(classPrefix, "-list")
|
|
86
|
-
},
|
|
44
|
+
}, list.map(function (item, index) {
|
|
87
45
|
return /*#__PURE__*/React.createElement("div", {
|
|
88
46
|
key: index,
|
|
89
47
|
className: "".concat(classPrefix, "-item ").concat(active === item.count ? 'active' : ''),
|
|
90
48
|
onClick: function onClick() {
|
|
91
49
|
setActive(item.count);
|
|
92
|
-
setLabel === null || setLabel === void 0 ? void 0 : setLabel(item === null || item === void 0 ? void 0 : item.value);
|
|
93
50
|
if (setRelative) setRelative([item.count, includeToday ? 0 : 1]);
|
|
51
|
+
setDateRange === null || setDateRange === void 0 ? void 0 : setDateRange(getDateRange(currentType, item.count, includeToday));
|
|
94
52
|
setOpen === null || setOpen === void 0 ? void 0 : setOpen(false);
|
|
95
53
|
}
|
|
96
54
|
}, item.value);
|
|
97
|
-
}))
|
|
55
|
+
})), ![DatePickerTypes.Unit.hour, DatePickerTypes.Unit.quarter].includes(currentType) && /*#__PURE__*/React.createElement("div", {
|
|
98
56
|
className: "".concat(classPrefix, "-list-relative")
|
|
99
57
|
}, /*#__PURE__*/React.createElement("div", {
|
|
100
58
|
className: "".concat(classPrefix, "-list-relative-content")
|
|
101
59
|
}, /*#__PURE__*/React.createElement("span", null, "\u8FD1"), /*#__PURE__*/React.createElement(InputNumber, {
|
|
102
60
|
min: 1,
|
|
103
|
-
max:
|
|
61
|
+
max: max,
|
|
104
62
|
controls: false,
|
|
105
63
|
style: {
|
|
106
64
|
width: '58px'
|
|
@@ -112,8 +70,12 @@ var PickerShortcut = function PickerShortcut(_ref) {
|
|
|
112
70
|
}), /*#__PURE__*/React.createElement("span", null, Reflect.get(DateOptionMap, currentType))), /*#__PURE__*/React.createElement(Button, {
|
|
113
71
|
type: "primary",
|
|
114
72
|
onClick: function onClick() {
|
|
115
|
-
if (!
|
|
116
|
-
|
|
73
|
+
if (!numbers) {
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
var date = getDateRange(currentType, numbers, includeToday);
|
|
77
|
+
setDateRange === null || setDateRange === void 0 ? void 0 : setDateRange(date);
|
|
78
|
+
setRelative === null || setRelative === void 0 ? void 0 : setRelative([numbers, includeToday ? 0 : 1]);
|
|
117
79
|
setOpen === null || setOpen === void 0 ? void 0 : setOpen(false);
|
|
118
80
|
}
|
|
119
81
|
}, "\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,30 @@
|
|
|
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,
|
|
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
|
+
days: number;
|
|
24
|
+
week: number;
|
|
25
|
+
weeks: number;
|
|
26
|
+
month: number;
|
|
27
|
+
months: number;
|
|
28
|
+
quarter: number;
|
|
29
|
+
quarters: number;
|
|
30
|
+
};
|
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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,
|
|
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,32 @@ 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 (
|
|
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
|
+
days: 1,
|
|
133
|
+
week: 7,
|
|
134
|
+
weeks: 7,
|
|
135
|
+
month: 30,
|
|
136
|
+
months: 30,
|
|
137
|
+
quarter: 91,
|
|
138
|
+
quarters: 91
|
|
129
139
|
};
|
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.21",
|
|
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": "f173c31214c9d396af612eb15313565f7f46e3dd",
|
|
59
59
|
"gitHooks": {
|
|
60
60
|
"pre-commit": "lint-staged"
|
|
61
61
|
}
|