@zgfe/business-lib 1.2.15 → 1.2.16-data.0

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.
@@ -194,9 +194,11 @@
194
194
  }
195
195
  }
196
196
 
197
- &:hover:not(.ant-picker-disabled),
198
- &.ant-picker-focused {
199
- border-color: @primary-color!important;
197
+ &:not(.ant-picker-disabled, .ant-picker-status-error) {
198
+ &:hover,
199
+ &.ant-picker-focused {
200
+ border-color: @primary-color!important;
201
+ }
200
202
  }
201
203
 
202
204
  .ant-picker-active-bar {
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const _default: () => React.JSX.Element;
3
+ export default _default;
@@ -0,0 +1,117 @@
1
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
4
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
5
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
6
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
7
+ import React from 'react';
8
+ import { BizCycleTime } from '@zgfe/business-lib';
9
+ import { CycleTimeUnit } from '..';
10
+ import { Button, Form } from 'antd';
11
+ import moment from 'moment';
12
+ export default (function () {
13
+ var options = [{
14
+ label: '每小时',
15
+ value: CycleTimeUnit.hour
16
+ }, {
17
+ label: '每日',
18
+ value: CycleTimeUnit.day
19
+ }, {
20
+ label: '每周',
21
+ value: CycleTimeUnit.week
22
+ }, {
23
+ label: '每月',
24
+ value: CycleTimeUnit.month
25
+ }];
26
+ var customOptions = [].concat(options, [{
27
+ label: '指定时间',
28
+ value: CycleTimeUnit.custom,
29
+ disabledDate: function disabledDate(current) {
30
+ return current && current < moment().subtract(1, 'day').endOf('day');
31
+ },
32
+ disabledTime: function disabledTime(current) {
33
+ var range = function range(start, end) {
34
+ var result = [];
35
+ for (var i = start; i < end; i++) {
36
+ result.push(i);
37
+ }
38
+ return result;
39
+ };
40
+ var minutes = Number(moment().minutes());
41
+ var hour = Number(moment().hours());
42
+ var disMinutes = 0;
43
+ var disHour = 0;
44
+ if (moment().date() === (current === null || current === void 0 ? void 0 : current.date())) {
45
+ disHour = hour;
46
+ if (current.hour() > hour) {
47
+ disMinutes = 0;
48
+ } else {
49
+ disMinutes = minutes;
50
+ }
51
+ }
52
+ return {
53
+ disabledHours: function disabledHours() {
54
+ return range(0, disHour);
55
+ },
56
+ disabledMinutes: function disabledMinutes() {
57
+ return range(0, disMinutes);
58
+ }
59
+ };
60
+ }
61
+ }]);
62
+ var _Form$useForm = Form.useForm(),
63
+ _Form$useForm2 = _slicedToArray(_Form$useForm, 1),
64
+ form = _Form$useForm2[0];
65
+ var onChange = function onChange(data) {
66
+ console.log('change:', data);
67
+ };
68
+ return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("p", null, /*#__PURE__*/React.createElement("b", null, "\u9ED8\u8BA4\u503C")), /*#__PURE__*/React.createElement(BizCycleTime, {
69
+ value: {
70
+ unit: 3,
71
+ day: [1, 23, 4],
72
+ time: '12:00:00'
73
+ },
74
+ multiple: true,
75
+ showHour: true,
76
+ options: options,
77
+ onChange: onChange
78
+ }), /*#__PURE__*/React.createElement("br", null), /*#__PURE__*/React.createElement("br", null), /*#__PURE__*/React.createElement("p", null, /*#__PURE__*/React.createElement("b", null, "\u65E0\u9ED8\u8BA4\u503C")), /*#__PURE__*/React.createElement(BizCycleTime, {
79
+ multiple: true,
80
+ showHour: true,
81
+ options: options,
82
+ format: "HH",
83
+ onChange: onChange
84
+ }), /*#__PURE__*/React.createElement("br", null), /*#__PURE__*/React.createElement("p", null, /*#__PURE__*/React.createElement("b", null, "\u6307\u5B9A\u65F6\u95F4")), /*#__PURE__*/React.createElement(BizCycleTime, {
85
+ multiple: true,
86
+ showHour: true,
87
+ options: customOptions,
88
+ format: "HH",
89
+ minTime: "Now",
90
+ onChange: onChange
91
+ }), /*#__PURE__*/React.createElement("br", null), /*#__PURE__*/React.createElement("p", null, /*#__PURE__*/React.createElement("b", null, "Form")), /*#__PURE__*/React.createElement(Form, {
92
+ form: form
93
+ }, /*#__PURE__*/React.createElement(Form.Item, {
94
+ label: "\u65E5\u671F",
95
+ name: "date",
96
+ rules: [{
97
+ validator: function validator(_, value) {
98
+ if (value.unit > 1 && !value.day.length) {
99
+ return Promise.reject('请选择日期');
100
+ }
101
+ if (value.unit > 0 && !value.time) {
102
+ return Promise.reject('请选择小时');
103
+ }
104
+ return Promise.resolve();
105
+ }
106
+ }]
107
+ }, /*#__PURE__*/React.createElement(BizCycleTime, {
108
+ multiple: true,
109
+ showHour: true,
110
+ options: options,
111
+ format: "HH",
112
+ onChange: onChange
113
+ })), /*#__PURE__*/React.createElement(Form.Item, null, /*#__PURE__*/React.createElement(Button, {
114
+ type: "primary",
115
+ htmlType: "submit"
116
+ }, "\u786E\u5B9A"))));
117
+ });
@@ -1,10 +1,15 @@
1
1
  import { SizeType } from 'antd/es/config-provider/SizeContext';
2
+ import moment from 'moment';
2
3
  import React from 'react';
4
+ import { BizSelectTypes } from '..';
3
5
  import './styles/index.less';
4
6
  export declare enum CycleTimeUnit {
7
+ hour = 0,
5
8
  day = 1,
6
9
  week = 2,
7
- month = 3
10
+ month = 3,
11
+ year = 4,
12
+ custom = 5
8
13
  }
9
14
  interface Value {
10
15
  unit: CycleTimeUnit;
@@ -18,5 +23,10 @@ declare const BizCycleTime: React.FC<{
18
23
  onChange?: (val: Value) => void;
19
24
  size?: SizeType;
20
25
  disable?: boolean;
26
+ showHour?: boolean;
27
+ format?: string;
28
+ options?: BizSelectTypes.Option[];
29
+ minTime?: moment.Moment | 'Now';
30
+ maxTime?: moment.Moment | 'Now';
21
31
  }>;
22
32
  export default BizCycleTime;
@@ -12,16 +12,23 @@ import MonthDay from './month';
12
12
  import './styles/index.less';
13
13
  export var CycleTimeUnit;
14
14
  (function (CycleTimeUnit) {
15
+ CycleTimeUnit[CycleTimeUnit["hour"] = 0] = "hour";
15
16
  CycleTimeUnit[CycleTimeUnit["day"] = 1] = "day";
16
17
  CycleTimeUnit[CycleTimeUnit["week"] = 2] = "week";
17
18
  CycleTimeUnit[CycleTimeUnit["month"] = 3] = "month";
19
+ CycleTimeUnit[CycleTimeUnit["year"] = 4] = "year";
20
+ CycleTimeUnit[CycleTimeUnit["custom"] = 5] = "custom";
18
21
  })(CycleTimeUnit || (CycleTimeUnit = {}));
19
22
  var BizCycleTime = function BizCycleTime(props) {
20
23
  var multiple = props.multiple,
21
24
  size = props.size,
22
- disable = props.disable;
25
+ disable = props.disable,
26
+ showHour = props.showHour,
27
+ options = props.options,
28
+ minTime = props.minTime,
29
+ maxTime = props.maxTime;
23
30
  var classPrefix = 'biz-cycle-time';
24
- var unitList = [{
31
+ var unitList = options || [{
25
32
  label: '每日',
26
33
  value: CycleTimeUnit.day
27
34
  }, {
@@ -59,6 +66,9 @@ var BizCycleTime = function BizCycleTime(props) {
59
66
  _useState10 = _slicedToArray(_useState9, 2),
60
67
  initing = _useState10[0],
61
68
  setIniting = _useState10[1];
69
+ var _useState11 = useState(props.format || 'hh:mm:ss'),
70
+ _useState12 = _slicedToArray(_useState11, 1),
71
+ format = _useState12[0];
62
72
  useEffect(function () {
63
73
  if (!props.value) {
64
74
  setIniting(false);
@@ -66,12 +76,13 @@ var BizCycleTime = function BizCycleTime(props) {
66
76
  }
67
77
  setIniting(true);
68
78
  unitList.forEach(function (item) {
69
- var _props$value;
79
+ var _props$value, _props$value2, _props$value3, _props$value4;
70
80
  if (item.value === ((_props$value = props.value) === null || _props$value === void 0 ? void 0 : _props$value.unit)) {
71
81
  setUnit(item);
72
82
  switch (item.value) {
73
83
  case CycleTimeUnit.day:
74
- setTime(props.value.time);
84
+ case CycleTimeUnit.custom:
85
+ setTime((_props$value2 = props.value) === null || _props$value2 === void 0 ? void 0 : _props$value2.time);
75
86
  break;
76
87
  case CycleTimeUnit.week:
77
88
  var valList = [];
@@ -85,6 +96,7 @@ var BizCycleTime = function BizCycleTime(props) {
85
96
  } else {
86
97
  setDay(valList[0]);
87
98
  }
99
+ if (showHour) setTime((_props$value3 = props.value) === null || _props$value3 === void 0 ? void 0 : _props$value3.time);
88
100
  break;
89
101
  case CycleTimeUnit.month:
90
102
  setDay(props.value.day.map(function (v) {
@@ -93,6 +105,7 @@ var BizCycleTime = function BizCycleTime(props) {
93
105
  value: v
94
106
  };
95
107
  }));
108
+ if (showHour) setTime((_props$value4 = props.value) === null || _props$value4 === void 0 ? void 0 : _props$value4.time);
96
109
  break;
97
110
  }
98
111
  }
@@ -111,9 +124,12 @@ var BizCycleTime = function BizCycleTime(props) {
111
124
  }) : [day.value],
112
125
  time: time
113
126
  };
114
- if (unit.value === CycleTimeUnit.day) {
127
+ if (unit.value === CycleTimeUnit.hour) {
115
128
  delete res.day;
116
- } else {
129
+ delete res.time;
130
+ } else if (unit.value === CycleTimeUnit.day || unit.value === CycleTimeUnit.custom) {
131
+ delete res.day;
132
+ } else if (!showHour) {
117
133
  delete res.time;
118
134
  }
119
135
  if (props.onChange) props.onChange(res);
@@ -135,18 +151,9 @@ var BizCycleTime = function BizCycleTime(props) {
135
151
  disable: disable,
136
152
  onChange: function onChange(v) {
137
153
  setDay([]);
138
- setTime(undefined);
154
+ setTime(showHour && v.value !== CycleTimeUnit.custom ? '00' : undefined);
139
155
  setUnit(v);
140
156
  }
141
- }), unit.value === CycleTimeUnit.day && /*#__PURE__*/React.createElement(DatePicker.TimePicker, {
142
- className: "".concat(classPrefix, "-hour"),
143
- size: size,
144
- placeholder: props.placeholder,
145
- defaultValue: time ? moment(time, 'hh:mm:ss') : undefined,
146
- onChange: function onChange(time) {
147
- setTime(time === null || time === void 0 ? void 0 : time.format('hh:mm:ss'));
148
- },
149
- disabled: disable
150
157
  }), unit.value === CycleTimeUnit.week && /*#__PURE__*/React.createElement(BizSelect, {
151
158
  options: days,
152
159
  labelField: "label",
@@ -166,6 +173,36 @@ var BizCycleTime = function BizCycleTime(props) {
166
173
  defaultValue: day,
167
174
  onChange: setDayList,
168
175
  disable: disable
176
+ }), unit.value === CycleTimeUnit.day || unit.value && unit.value !== CycleTimeUnit.custom && showHour ? /*#__PURE__*/React.createElement(DatePicker.TimePicker, {
177
+ className: "".concat(classPrefix, "-hour"),
178
+ size: size,
179
+ placeholder: props.placeholder,
180
+ value: time ? moment(time, format) : undefined,
181
+ format: format,
182
+ onChange: function onChange(time) {
183
+ setTime(time === null || time === void 0 ? void 0 : time.format(format));
184
+ },
185
+ disabled: disable
186
+ }) : null, unit.value == CycleTimeUnit.custom && /*#__PURE__*/React.createElement(DatePicker, {
187
+ value: time ? moment(time, 'YYYY-MM-DD HH:mm:ss') : undefined,
188
+ showTime: true,
189
+ disabled: disable,
190
+ placeholder: props.placeholder,
191
+ onChange: function onChange(time) {
192
+ var _currentTime;
193
+ var currentTime = time;
194
+ if (minTime) {
195
+ var minData = minTime === 'Now' ? moment() : moment(minTime);
196
+ currentTime = minData < moment(time) ? time : minData;
197
+ }
198
+ if (maxTime) {
199
+ var maxData = maxTime === 'Now' ? moment() : moment(minTime);
200
+ currentTime = maxData > moment(time) ? time : maxData;
201
+ }
202
+ setTime((_currentTime = currentTime) === null || _currentTime === void 0 ? void 0 : _currentTime.format('YYYY-MM-DD HH:mm:ss'));
203
+ },
204
+ disabledTime: unit === null || unit === void 0 ? void 0 : unit.disabledTime,
205
+ disabledDate: unit === null || unit === void 0 ? void 0 : unit.disabledDate
169
206
  }));
170
207
  };
171
208
  BizCycleTime.defaultProps = {
@@ -5,10 +5,11 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
5
5
  function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
6
6
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
7
7
  import { Dropdown, Tag } from 'antd';
8
- import React, { useEffect, useState } from 'react';
8
+ import React, { useContext, useEffect, useState } from 'react';
9
9
  import { IconFont } from '..';
10
10
  import './styles/month.less';
11
11
  import _ from 'lodash';
12
+ import { FormItemInputContext } from 'antd/es/form/context';
12
13
  var MonthDay = function MonthDay(props) {
13
14
  var classPrefix = 'biz-month-day';
14
15
  var disable = props.disable;
@@ -20,6 +21,8 @@ var MonthDay = function MonthDay(props) {
20
21
  _useState4 = _slicedToArray(_useState3, 2),
21
22
  visible = _useState4[0],
22
23
  setVisible = _useState4[1];
24
+ var _useContext = useContext(FormItemInputContext),
25
+ status = _useContext.status;
23
26
  var dayList = [];
24
27
  for (var i = 1; i < 33; i++) {
25
28
  dayList.push({
@@ -90,7 +93,7 @@ var MonthDay = function MonthDay(props) {
90
93
  }, /*#__PURE__*/React.createElement("div", {
91
94
  className: "".concat(classPrefix, "-wrapper")
92
95
  }, /*#__PURE__*/React.createElement("div", {
93
- className: "".concat(classPrefix, "-handle ").concat(props.size, " ").concat(!chosenDayList.length ? "holder" : '', " ").concat(disable ? 'disable' : '')
96
+ className: "".concat(classPrefix, "-handle ").concat(props.size, " ").concat(!chosenDayList.length ? "holder" : '', " ").concat(disable ? 'disable' : '').concat(status ? " ".concat(classPrefix, "-status-").concat(status) : '')
94
97
  }, /*#__PURE__*/React.createElement("div", {
95
98
  className: "".concat(classPrefix, "-val")
96
99
  }, chosenDayList.map(function (item) {
@@ -1,6 +1,7 @@
1
1
  @import '../../assets//styles/inner.less';
2
2
  .biz-cycle-time {
3
- display: inline-block;
3
+ display: flex;
4
+ gap: 12px;
4
5
  &-unit {
5
6
  width: 129px;
6
7
  }
@@ -15,7 +16,6 @@
15
16
  &-day,
16
17
  &-hour {
17
18
  display: inline-block;
18
- margin-right: @margin-xs;
19
19
  }
20
20
  &-hour {
21
21
  width: 220px;
@@ -35,6 +35,13 @@
35
35
  &-holder {
36
36
  color: @input-placeholder-color;
37
37
  }
38
+
39
+ &-status-error:not(.disable) {
40
+ border-color: @error-color;
41
+ &.biz-month-day-handle:hover {
42
+ border-color: @error-color;
43
+ }
44
+ }
38
45
  &-val {
39
46
  flex: 1;
40
47
  .ant-tag {
@@ -46,6 +53,10 @@
46
53
  vertical-align: top;
47
54
  &.ant-dropdown-open > .biz-month-day-handle {
48
55
  .__default-focused();
56
+ &.biz-month-day-status-error:not(.disable) {
57
+ border-color: @error-color;
58
+ box-shadow: 0 0 0 4px rgba(#ff8170, 0.2) !important;
59
+ }
49
60
  }
50
61
  .biz-month-day-handle {
51
62
  &.disable {
@@ -185,5 +185,9 @@
185
185
  &.biz-select-handle-input:hover {
186
186
  border-color: @error-color;
187
187
  }
188
+ &.biz-select-handle-input.active:not(.disable) {
189
+ border-color: @error-color;
190
+ box-shadow: 0 0 0 4px rgba(#ff8170, 0.2) !important;
191
+ }
188
192
  }
189
193
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zgfe/business-lib",
3
- "version": "1.2.15",
3
+ "version": "1.2.16-data.0",
4
4
  "module": "es/index.js",
5
5
  "typings": "es/index.d.ts",
6
6
  "files": [