@zgfe/business-lib 1.2.51-ljy.21 → 1.2.51-ljy.24

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.
@@ -13,7 +13,7 @@ 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 { DateSingleMap, isTodayInRange } from './utils';
16
+ import { isTodayInRange } from './utils';
17
17
  import _ from 'lodash';
18
18
  var RangePicker = DatePicker.RangePicker;
19
19
  var BizDateBeyondRange = false;
@@ -135,7 +135,7 @@ var BizDate = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
135
135
  if (includeToday && value && value.length === 2 && isTodayInRange(value[0], value[1])) {
136
136
  subtractDays = 1;
137
137
  }
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
+ 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)) {
139
139
  BizDateBeyondRange = true;
140
140
  return;
141
141
  }
@@ -9,6 +9,7 @@ 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
11
  import { DatePickerTypes } from '../types';
12
+ import moment from 'moment';
12
13
  export default (function () {
13
14
  var _useState = useState({
14
15
  begin: '2024-07-01',
@@ -24,10 +25,31 @@ export default (function () {
24
25
  includeToday = _useState4[0],
25
26
  setIncludeToday = _useState4[1];
26
27
  var handleChange = function handleChange(data) {
27
- setTime(function () {
28
- return data;
29
- });
28
+ setTime(data);
30
29
  };
30
+ console.log(moment().subtract(360, 'days').format('YYYY-MM-DD'));
31
+ function calculateTimeUnits(selectRange, selectRangeUnit, currentType) {
32
+ var duration = moment.duration(1, currentType);
33
+ switch (selectRangeUnit) {
34
+ case 'days':
35
+ duration.add(selectRange, 'days');
36
+ break;
37
+ case 'weeks':
38
+ duration.add(selectRange, 'weeks');
39
+ break;
40
+ case 'months':
41
+ duration.add(selectRange, 'months');
42
+ break;
43
+ case 'quarter':
44
+ duration.add(selectRange * 3, 'months');
45
+ break;
46
+ default:
47
+ break;
48
+ }
49
+ var result = duration.get(currentType);
50
+ return result;
51
+ }
52
+ console.log(calculateTimeUnits(365, 'days', 'weeks'));
31
53
  return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Space, {
32
54
  direction: "vertical"
33
55
  }, /*#__PURE__*/React.createElement("div", null, "\u5305\u542B\u300C\u4ECA\u5929\u300D: ", /*#__PURE__*/React.createElement(Switch, {
@@ -38,7 +60,7 @@ export default (function () {
38
60
  defaultValue: time,
39
61
  dateTypeList: [DatePickerTypes.Unit.hour, DatePickerTypes.Unit.day, DatePickerTypes.Unit.week, DatePickerTypes.Unit.month, DatePickerTypes.Unit.quarter, DatePickerTypes.Unit.custom],
40
62
  selectRange: 1,
41
- selectRangeUnit: "months",
63
+ selectRangeUnit: "years",
42
64
  onChange: handleChange
43
65
  }), /*#__PURE__*/React.createElement("p", null, "\u5F53\u524D\u503C\uFF1A", JSON.stringify(time))));
44
66
  });
@@ -2,5 +2,6 @@ import React from 'react';
2
2
  declare const PickerShortcut: React.FC<{
3
3
  selectRange?: number;
4
4
  selectRangeUnit?: string;
5
+ timeRangeOpen?: number;
5
6
  }>;
6
7
  export default PickerShortcut;
@@ -8,11 +8,14 @@ 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 { DateMaxMap, DateOptionMap, DateSingleMap, getDateRange, getTypeList } from './utils';
11
+ import { DateOptionMap, getDateRange, getTypeList } from './utils';
12
12
  import { Button, InputNumber } from 'antd';
13
+ import BizGlobalDataContext from '../context';
14
+ import moment from 'moment';
13
15
  var PickerShortcut = function PickerShortcut(_ref) {
14
16
  var selectRange = _ref.selectRange,
15
- selectRangeUnit = _ref.selectRangeUnit;
17
+ selectRangeUnit = _ref.selectRangeUnit,
18
+ timeRangeOpen = _ref.timeRangeOpen;
16
19
  var _useContext = useContext(DatePickerContext),
17
20
  currentType = _useContext.currentType,
18
21
  includeToday = _useContext.includeToday,
@@ -20,6 +23,8 @@ var PickerShortcut = function PickerShortcut(_ref) {
20
23
  setDateRange = _useContext.setDateRange,
21
24
  setRelative = _useContext.setRelative,
22
25
  setOpen = _useContext.setOpen;
26
+ var _useContext2 = useContext(BizGlobalDataContext),
27
+ envs = _useContext2.envs;
23
28
  var list = getTypeList(currentType, includeToday);
24
29
  var _useState = useState(),
25
30
  _useState2 = _slicedToArray(_useState, 2),
@@ -29,6 +34,10 @@ var PickerShortcut = function PickerShortcut(_ref) {
29
34
  _useState4 = _slicedToArray(_useState3, 2),
30
35
  numbers = _useState4[0],
31
36
  setNumbers = _useState4[1];
37
+ var _useState5 = useState(false),
38
+ _useState6 = _slicedToArray(_useState5, 2),
39
+ isError = _useState6[0],
40
+ setIsError = _useState6[1];
32
41
  useEffect(function () {
33
42
  list = getTypeList(currentType, includeToday);
34
43
  if (relative) {
@@ -36,7 +45,28 @@ var PickerShortcut = function PickerShortcut(_ref) {
36
45
  setNumbers(relative[0]);
37
46
  }
38
47
  }, [currentType, includeToday]);
39
- var max = selectRange && selectRangeUnit ? Math.floor(selectRange * Reflect.get(DateSingleMap, selectRangeUnit) / Reflect.get(DateSingleMap, currentType)) : Reflect.get(DateMaxMap, currentType);
48
+ function getMax() {
49
+ var _timeRangeOpen = timeRangeOpen || 12;
50
+ if (envs === null || envs === void 0 ? void 0 : envs.timeRangeOpen) {
51
+ _timeRangeOpen = typeof (envs === null || envs === void 0 ? void 0 : envs.timeRangeOpen) === 'boolean' ? (envs === null || envs === void 0 ? void 0 : envs.timeRangeOpen) ? 200 : 12 : envs === null || envs === void 0 ? void 0 : envs.timeRangeOpen;
52
+ }
53
+ _timeRangeOpen = moment.duration(_timeRangeOpen, 'months').asDays();
54
+ var selectRangeCount = moment.duration(selectRange, selectRangeUnit).asDays();
55
+ var count = selectRange ? _timeRangeOpen > selectRangeCount ? selectRangeCount : _timeRangeOpen : _timeRangeOpen;
56
+ var max = moment.duration(count, 'days').asDays();
57
+ var duration = moment.duration(count, 'days');
58
+ switch (currentType) {
59
+ case 'week':
60
+ max = Math.round(duration.asWeeks());
61
+ break;
62
+ case 'month':
63
+ max = Math.round(duration.asMonths());
64
+ break;
65
+ default:
66
+ break;
67
+ }
68
+ return max;
69
+ }
40
70
  return /*#__PURE__*/React.createElement("div", {
41
71
  className: "".concat(classPrefix, "-shortcut")
42
72
  }, /*#__PURE__*/React.createElement("div", {
@@ -57,8 +87,9 @@ var PickerShortcut = function PickerShortcut(_ref) {
57
87
  }, /*#__PURE__*/React.createElement("div", {
58
88
  className: "".concat(classPrefix, "-list-relative-content")
59
89
  }, /*#__PURE__*/React.createElement("span", null, "\u8FD1"), /*#__PURE__*/React.createElement(InputNumber, {
90
+ className: isError ? "".concat(classPrefix, "-input-error") : '',
60
91
  min: 1,
61
- max: max,
92
+ max: getMax(),
62
93
  controls: false,
63
94
  style: {
64
95
  width: '58px'
@@ -66,11 +97,17 @@ var PickerShortcut = function PickerShortcut(_ref) {
66
97
  value: numbers,
67
98
  onChange: function onChange(value) {
68
99
  return setNumbers(value);
100
+ },
101
+ onBlur: function onBlur() {
102
+ if (numbers) {
103
+ setIsError(false);
104
+ }
69
105
  }
70
106
  }), /*#__PURE__*/React.createElement("span", null, Reflect.get(DateOptionMap, currentType))), /*#__PURE__*/React.createElement(Button, {
71
107
  type: "primary",
72
108
  onClick: function onClick() {
73
109
  if (!numbers) {
110
+ setIsError(true);
74
111
  return;
75
112
  }
76
113
  var date = getDateRange(currentType, numbers, includeToday);
@@ -137,6 +137,19 @@
137
137
  box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.1);
138
138
  }
139
139
  }
140
+
141
+ &-error {
142
+ position: relative;
143
+ border: 1px solid var(--io-Error-E-, #fb5547) !important;
144
+
145
+ &::after {
146
+ position: absolute;
147
+ width: 67px;
148
+ color: red;
149
+ font-size: 12px;
150
+ content: '请输入内容';
151
+ }
152
+ }
140
153
  }
141
154
 
142
155
  &-panel {
@@ -16,11 +16,11 @@ function getAbsoluteDate(unit, count, maxDate) {
16
16
  break;
17
17
  case DatePickerTypes.Unit.month:
18
18
  res.endDate = maxDate;
19
- res.startDate = moment(maxDate).subtract(count, 'months').toDate();
19
+ res.startDate = moment(maxDate).subtract(count, 'months').add(1, 'days').toDate();
20
20
  break;
21
21
  case DatePickerTypes.Unit.quarter:
22
22
  res.endDate = maxDate;
23
- res.startDate = moment(maxDate).subtract(count, 'quarters').toDate();
23
+ res.startDate = moment(maxDate).subtract(count, 'quarters').add(1, 'days').toDate();
24
24
  break;
25
25
  }
26
26
  return res;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zgfe/business-lib",
3
- "version": "1.2.51-ljy.21",
3
+ "version": "1.2.51-ljy.24",
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": "f173c31214c9d396af612eb15313565f7f46e3dd",
58
+ "gitHead": "d87b6d2fd1d43681870a3c442cd3ff968af4b130",
59
59
  "gitHooks": {
60
60
  "pre-commit": "lint-staged"
61
61
  }