@kne/react-form-antd 4.0.3 → 4.1.1

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/dist/index.js CHANGED
@@ -4,8 +4,9 @@ var ReactForm = require('@kne/react-form');
4
4
  var reactFormHelper = require('@kne/react-form-helper');
5
5
  var merge = require('lodash/merge');
6
6
  var antd = require('antd');
7
+ var reactIntl = require('@kne/react-intl');
8
+ var icons = require('@ant-design/icons');
7
9
  var dayjs = require('dayjs');
8
- var lodash = require('lodash');
9
10
  var useControlValue = require('@kne/use-control-value');
10
11
 
11
12
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -58,7 +59,7 @@ var preset = (function (props) {
58
59
  ReactForm.preset(globalParams.rules);
59
60
  });
60
61
 
61
- var _excluded$4 = ["className", "cache", "enterSubmit", "scrollToError", "scrollProps", "type", "size", "children"];
62
+ var _excluded$5 = ["className", "cache", "enterSubmit", "scrollToError", "scrollProps", "type", "size", "children"];
62
63
  var ScrollToError = reactFormHelper.widget.ScrollToError,
63
64
  EnterSubmit = reactFormHelper.widget.EnterSubmit,
64
65
  FormStore = reactFormHelper.widget.FormStore,
@@ -76,7 +77,7 @@ var Form = React.forwardRef(function (originProps, ref) {
76
77
  block: 'center'
77
78
  } : _originProps$scrollPr,
78
79
  children = originProps.children,
79
- props = _objectWithoutPropertiesLoose(originProps, _excluded$4);
80
+ props = _objectWithoutPropertiesLoose(originProps, _excluded$5);
80
81
  var baseClass = 'react-form';
81
82
  var computedClass = baseClass;
82
83
  var _Object$assign = Object.assign({
@@ -111,54 +112,121 @@ var Form = React.forwardRef(function (originProps, ref) {
111
112
  }) : null, enterSubmit ? /*#__PURE__*/React__default["default"].createElement(EnterSubmit, null, maxLabel) : maxLabel)));
112
113
  });
113
114
 
115
+ var locale$1 = {
116
+ PleaseSelect: '请选择{label}',
117
+ PleaseInput: '请输入{label}',
118
+ StartTime: '开始时间',
119
+ EndTime: '结束时间',
120
+ StartDate: '开始日期',
121
+ EndDate: '结束日期',
122
+ SoFar: '至今'
123
+ };
124
+
125
+ var locale = {
126
+ PleaseSelect: 'Please select {label}',
127
+ PleaseInput: 'Please enter {label}',
128
+ StartTime: 'Start Time',
129
+ EndTime: 'End Time',
130
+ StartDate: 'Start Date',
131
+ EndDate: 'End Date',
132
+ SoFar: 'Present'
133
+ };
134
+
135
+ var _excluded$4 = ["locale"];
136
+ var localeMap = {
137
+ 'zh-CN': locale$1,
138
+ 'en-US': locale
139
+ };
140
+ var withLocale = function withLocale(WrappedComponent) {
141
+ var WithLocaleComponent = function WithLocaleComponent(_ref) {
142
+ var _ref$locale = _ref.locale,
143
+ locale = _ref$locale === void 0 ? 'zh-CN' : _ref$locale,
144
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$4);
145
+ var messages = localeMap[locale] || locale$1;
146
+ return /*#__PURE__*/React__default["default"].createElement(reactIntl.IntlProvider, {
147
+ locale: locale,
148
+ messages: messages
149
+ }, /*#__PURE__*/React__default["default"].createElement(WrappedComponent, props));
150
+ };
151
+ WithLocaleComponent.displayName = "withLocale(" + (WrappedComponent.displayName || WrappedComponent.name || 'Component') + ")";
152
+ return WithLocaleComponent;
153
+ };
154
+
114
155
  var useOnChange$b = reactFormHelper.hooks.useOnChange;
115
- var _TreeSelect = function _TreeSelect(props) {
116
- props = Object.assign({}, {
156
+ var TreeSelectInner = function TreeSelectInner(props) {
157
+ var _useIntl = reactIntl.useIntl(),
158
+ formatMessage = _useIntl.formatMessage;
159
+ var mergedProps = Object.assign({}, {
117
160
  fieldName: 'treeSelect'
118
161
  }, props);
119
162
  var render = useOnChange$b(Object.assign({
120
- placeholder: "\u8BF7\u9009\u62E9" + (props.label || '')
121
- }, props));
163
+ placeholder: formatMessage({
164
+ id: 'PleaseSelect'
165
+ }, {
166
+ label: mergedProps.label || ''
167
+ })
168
+ }, mergedProps));
122
169
  return render(antd.TreeSelect);
123
170
  };
124
- _TreeSelect.Field = antd.TreeSelect;
125
- _TreeSelect.TreeNode = antd.TreeSelect.TreeNode;
171
+ TreeSelectInner.Field = antd.TreeSelect;
172
+ TreeSelectInner.TreeNode = antd.TreeSelect.TreeNode;
173
+ var _TreeSelect = withLocale(TreeSelectInner);
126
174
 
127
175
  var useOnChange$a = reactFormHelper.hooks.useOnChange;
128
176
  var RangePicker$1 = antd.TimePicker.RangePicker;
129
- var _TimePicker = function _TimePicker(props) {
130
- props = Object.assign({}, {
177
+ var TimePickerInner = function TimePickerInner(props) {
178
+ var _useIntl = reactIntl.useIntl(),
179
+ formatMessage = _useIntl.formatMessage;
180
+ var mergedProps = Object.assign({}, {
131
181
  fieldName: 'timePicker'
132
182
  }, props);
133
183
  var render = useOnChange$a(Object.assign({
134
- placeholder: "\u8BF7\u9009\u62E9" + (props.label || '')
135
- }, props));
184
+ placeholder: formatMessage({
185
+ id: 'PleaseSelect'
186
+ }, {
187
+ label: mergedProps.label || ''
188
+ })
189
+ }, mergedProps));
136
190
  return render(antd.TimePicker);
137
191
  };
138
- _TimePicker.Field = antd.TimePicker;
139
- var _RangePicker$1 = function _RangePicker(props) {
140
- props = Object.assign({}, {
192
+ TimePickerInner.Field = antd.TimePicker;
193
+ var RangePickerInner$1 = function RangePickerInner(props) {
194
+ var _useIntl2 = reactIntl.useIntl(),
195
+ formatMessage = _useIntl2.formatMessage;
196
+ var mergedProps = Object.assign({}, {
141
197
  fieldName: 'rangeTimePicker'
142
198
  }, props);
143
199
  var render = useOnChange$a(Object.assign({
144
- placeholder: "\u8BF7\u9009\u62E9" + (props.label || '')
145
- }, props));
200
+ placeholder: formatMessage({
201
+ id: 'PleaseSelect'
202
+ }, {
203
+ label: mergedProps.label || ''
204
+ })
205
+ }, mergedProps));
146
206
  return render(RangePicker$1);
147
207
  };
148
- _RangePicker$1.Field = RangePicker$1;
149
- _TimePicker.RangePicker = _RangePicker$1;
208
+ RangePickerInner$1.Field = RangePicker$1;
209
+ var _TimePicker = withLocale(TimePickerInner);
210
+ _TimePicker.RangePicker = withLocale(RangePickerInner$1);
150
211
 
151
212
  var useDecorator$2 = reactFormHelper.hooks.useDecorator;
152
- var TextArea = function TextArea(props) {
153
- props = Object.assign({}, {
213
+ var TextAreaInner = function TextAreaInner(props) {
214
+ var _useIntl = reactIntl.useIntl(),
215
+ formatMessage = _useIntl.formatMessage;
216
+ var mergedProps = Object.assign({}, {
154
217
  fieldName: 'textArea'
155
218
  }, props);
156
219
  var render = useDecorator$2(Object.assign({
157
- placeholder: "\u8BF7\u8F93\u5165" + props.label
158
- }, props));
220
+ placeholder: formatMessage({
221
+ id: 'PleaseInput'
222
+ }, {
223
+ label: mergedProps.label
224
+ })
225
+ }, mergedProps));
159
226
  return render(antd.Input.TextArea);
160
227
  };
161
- TextArea.Field = antd.Input.TextArea;
228
+ TextAreaInner.Field = antd.Input.TextArea;
229
+ var TextArea = withLocale(TextAreaInner);
162
230
 
163
231
  var useOnChange$9 = reactFormHelper.hooks.useOnChange,
164
232
  useCheckedToValue$1 = reactFormHelper.hooks.useCheckedToValue;
@@ -175,18 +243,25 @@ var Switch = function Switch(props) {
175
243
  Switch.Field = antd.Switch;
176
244
 
177
245
  var useOnChange$8 = reactFormHelper.hooks.useOnChange;
178
- var _Select = function _Select(props) {
179
- props = Object.assign({}, {
246
+ var SelectInner = function SelectInner(props) {
247
+ var _useIntl = reactIntl.useIntl(),
248
+ formatMessage = _useIntl.formatMessage;
249
+ var mergedProps = Object.assign({}, {
180
250
  fieldName: 'select'
181
251
  }, props);
182
252
  var render = useOnChange$8(Object.assign({
183
- placeholder: "\u8BF7\u9009\u62E9" + (props.label || '')
184
- }, props));
253
+ placeholder: formatMessage({
254
+ id: 'PleaseSelect'
255
+ }, {
256
+ label: mergedProps.label || ''
257
+ })
258
+ }, mergedProps));
185
259
  return render(antd.Select);
186
260
  };
187
- _Select.Field = antd.Select;
188
- _Select.Option = antd.Select.Option;
189
- _Select.OptGroup = antd.Select.OptGroup;
261
+ SelectInner.Field = antd.Select;
262
+ SelectInner.Option = antd.Select.Option;
263
+ SelectInner.OptGroup = antd.Select.OptGroup;
264
+ var _Select = withLocale(SelectInner);
190
265
 
191
266
  var _excluded$3 = ["onChange"];
192
267
  var useOnChange$7 = reactFormHelper.hooks.useOnChange;
@@ -211,129 +286,323 @@ _RadioGroup.Field = RadioGroup;
211
286
  _RadioGroup.Radio = antd.Radio;
212
287
 
213
288
  var useDecorator$1 = reactFormHelper.hooks.useDecorator;
214
- var InputNumberField = function InputNumberField(props) {
215
- props = Object.assign({}, {
289
+ var InputNumberFieldInner = function InputNumberFieldInner(props) {
290
+ var _useIntl = reactIntl.useIntl(),
291
+ formatMessage = _useIntl.formatMessage;
292
+ var mergedProps = Object.assign({}, {
216
293
  fieldName: 'inputNumber',
217
294
  autoComplete: 'off'
218
295
  }, props);
219
296
  var render = useDecorator$1(Object.assign({
220
- placeholder: "\u8BF7\u8F93\u5165" + props.label
221
- }, props));
297
+ placeholder: formatMessage({
298
+ id: 'PleaseInput'
299
+ }, {
300
+ label: mergedProps.label
301
+ })
302
+ }, mergedProps));
222
303
  return render(antd.InputNumber);
223
304
  };
224
- InputNumberField.Field = antd.InputNumber;
305
+ InputNumberFieldInner.Field = antd.InputNumber;
306
+ var InputNumberField = withLocale(InputNumberFieldInner);
225
307
 
226
308
  var useDecorator = reactFormHelper.hooks.useDecorator;
227
- var InputField = function InputField(props) {
228
- props = Object.assign({}, {
309
+ var InputFieldInner = function InputFieldInner(props) {
310
+ var _useIntl = reactIntl.useIntl(),
311
+ formatMessage = _useIntl.formatMessage;
312
+ var mergedProps = Object.assign({}, {
229
313
  fieldName: 'input',
230
314
  autoComplete: 'off'
231
315
  }, props);
232
316
  var render = useDecorator(Object.assign({
233
- placeholder: "\u8BF7\u8F93\u5165" + props.label
234
- }, props));
317
+ placeholder: formatMessage({
318
+ id: 'PleaseInput'
319
+ }, {
320
+ label: mergedProps.label
321
+ })
322
+ }, mergedProps));
235
323
  return render(antd.Input);
236
324
  };
237
- InputField.Field = antd.Input;
238
- InputField.Password = function (props) {
239
- props = Object.assign({}, {
325
+ InputFieldInner.Field = antd.Input;
326
+ var PasswordInner = function PasswordInner(props) {
327
+ var _useIntl2 = reactIntl.useIntl(),
328
+ formatMessage = _useIntl2.formatMessage;
329
+ var mergedProps = Object.assign({}, {
240
330
  fieldName: 'password',
241
331
  autoComplete: 'off'
242
332
  }, props);
243
333
  var render = useDecorator(Object.assign({
244
- placeholder: "\u8BF7\u8F93\u5165" + props.label
245
- }, props));
334
+ placeholder: formatMessage({
335
+ id: 'PleaseInput'
336
+ }, {
337
+ label: mergedProps.label
338
+ })
339
+ }, mergedProps));
246
340
  return render(antd.Input.Password);
247
341
  };
248
- InputField.Password.Field = antd.Input.Password;
342
+ PasswordInner.Field = antd.Input.Password;
343
+ var InputField = withLocale(InputFieldInner);
344
+ InputField.Password = withLocale(PasswordInner);
249
345
 
250
- var _excluded$2 = ["soFarText", "startProps", "endProps"];
346
+ var _excluded$2 = ["soFarText", "soFarValue", "picker"];
251
347
  var useOnChange$6 = reactFormHelper.hooks.useOnChange;
252
- var PickerToday = function PickerToday(_ref) {
348
+ var PickerTodayInner = function PickerTodayInner(_ref) {
253
349
  var soFarText = _ref.soFarText,
254
- startProps = _ref.startProps,
255
- endProps = _ref.endProps,
350
+ _ref$soFarValue = _ref.soFarValue,
351
+ soFarValue = _ref$soFarValue === void 0 ? 'soFar' : _ref$soFarValue,
352
+ _ref$picker = _ref.picker,
353
+ picker = _ref$picker === void 0 ? 'date' : _ref$picker,
256
354
  props = _objectWithoutPropertiesLoose(_ref, _excluded$2);
355
+ var _useIntl = reactIntl.useIntl(),
356
+ formatMessage = _useIntl.formatMessage;
257
357
  var _useControlValue = useControlValue__default["default"](props),
258
358
  data = _useControlValue[0],
259
359
  onChange = _useControlValue[1];
260
- var ref_d = React.useRef();
261
- var newData = React.useMemo(function () {
262
- // console.log('......', data);
263
- var s = lodash.get(data, 0, '');
264
- var d = lodash.get(data, 1, '');
265
- var p = lodash.get(props, ['placeholder'], ['开始日期', '结束日期']);
360
+ var _useState = React.useState(false),
361
+ openStart = _useState[0],
362
+ setOpenStart = _useState[1];
363
+ var _useState2 = React.useState(false),
364
+ openEnd = _useState2[0],
365
+ setOpenEnd = _useState2[1];
366
+ var _useState3 = React.useState(null),
367
+ tempStart = _useState3[0],
368
+ setTempStart = _useState3[1]; // 临时存储开始时间
369
+ var _useState4 = React.useState(null),
370
+ tempEnd = _useState4[0],
371
+ setTempEnd = _useState4[1]; // 临时存储结束时间
372
+ var _useState5 = React.useState(false),
373
+ hovering = _useState5[0],
374
+ setHovering = _useState5[1]; // hover 状态
375
+ var containerRef = React.useRef(null);
376
+ var isSwitchingRef = React.useRef(false); // 标记是否正在切换到结束时间选择
377
+
378
+ var soFarLabel = soFarText || formatMessage({
379
+ id: 'SoFar'
380
+ });
381
+
382
+ // 判断是否有值
383
+ var hasValue = React.useMemo(function () {
384
+ var _ref2 = data || [],
385
+ start = _ref2[0],
386
+ end = _ref2[1];
387
+ return !!(start || end);
388
+ }, [data]);
389
+
390
+ // 判断是否为"至今"
391
+ var isSoFar = React.useMemo(function () {
392
+ var _ref3 = data || [],
393
+ end = _ref3[1];
394
+ return end === soFarValue;
395
+ }, [data, soFarValue]);
396
+
397
+ // 解析数据
398
+ var parsedValue = React.useMemo(function () {
399
+ var _ref4 = data || [],
400
+ start = _ref4[0],
401
+ end = _ref4[1];
402
+ return {
403
+ start: start ? dayjs__default["default"](start) : null,
404
+ end: isSoFar ? null : end ? dayjs__default["default"](end) : null
405
+ };
406
+ }, [data, isSoFar]);
407
+
408
+ // 显示文本 - 弹窗打开时显示临时值,关闭后显示实际值
409
+ var displayText = React.useMemo(function () {
410
+ // 开始时间:有临时值时显示临时值
411
+ var startText = tempStart ? tempStart.format('YYYY-MM-DD') : parsedValue.start ? parsedValue.start.format('YYYY-MM-DD') : '';
412
+
413
+ // 结束时间:有临时值时显示临时值
414
+ var endText = tempEnd ? tempEnd.format('YYYY-MM-DD') : isSoFar ? soFarLabel : parsedValue.end ? parsedValue.end.format('YYYY-MM-DD') : '';
266
415
  return {
267
- start: s ? dayjs__default["default"](s) : '',
268
- end: d === '至今' ? null : d ? dayjs__default["default"](d) : '',
269
- showZj: d === '至今',
270
- placeholder: p
416
+ start: startText,
417
+ end: endText
271
418
  };
419
+ }, [parsedValue, isSoFar, soFarLabel, tempStart, tempEnd]);
420
+
421
+ // 点击整个Input框时,先弹出开始时间选择
422
+ var handleInputClick = React.useCallback(function () {
423
+ var _ref5 = data || [],
424
+ start = _ref5[0];
425
+ setTempStart(start ? dayjs__default["default"](start) : null);
426
+ setOpenStart(true);
427
+ setOpenEnd(false);
272
428
  }, [data]);
273
- var startChange = function startChange(v) {
274
- // 比较日期大小
275
- if (!newData.showZj && newData.end && v && newData.end.isBefore(v)) {
276
- onChange([newData.end, v]);
277
- return;
429
+
430
+ // 清除值
431
+ var handleClear = React.useCallback(function (e) {
432
+ e.stopPropagation();
433
+ onChange([]);
434
+ setTempStart(null);
435
+ setTempEnd(null);
436
+ setOpenStart(false);
437
+ setOpenEnd(false);
438
+ }, [onChange]);
439
+
440
+ // 处理开始时间变化
441
+ var handleStartChange = React.useCallback(function (date) {
442
+ setTempStart(date);
443
+ isSwitchingRef.current = true; // 标记正在切换
444
+ setOpenStart(false);
445
+ setTimeout(function () {
446
+ setOpenEnd(true);
447
+ isSwitchingRef.current = false;
448
+ }, 100);
449
+ }, []);
450
+
451
+ // 处理结束时间变化(选择日期时实时更新显示,选择后确认值)
452
+ var handleEndChange = React.useCallback(function (date) {
453
+ if (date) {
454
+ // 选择了有效日期,确认值
455
+ if (!tempStart) return;
456
+ onChange([tempStart.toISOString(), date.toISOString()]);
457
+ setOpenEnd(false);
458
+ setTempStart(null);
459
+ setTempEnd(null);
460
+ } else {
461
+ // 清空选择
462
+ setTempEnd(null);
278
463
  }
279
- onChange([v || '', newData.showZj ? '至今' : newData.end]);
280
- };
281
- var endChange = function endChange(v) {
282
- if (newData.start && v && v.isBefore(newData.start)) {
283
- onChange([v, newData.start]);
284
- return;
464
+ }, [tempStart, onChange]);
465
+
466
+ // 点击"至今"按钮
467
+ var handleSoFarClick = React.useCallback(function () {
468
+ if (!tempStart) return;
469
+ onChange([tempStart.toISOString(), soFarValue]);
470
+ setOpenEnd(false);
471
+ setTempStart(null);
472
+ setTempEnd(null);
473
+ }, [tempStart, onChange, soFarValue]);
474
+
475
+ // 处理开始时间弹窗关闭(未完成选择)
476
+ var handleStartOpenChange = React.useCallback(function (open) {
477
+ if (!open) {
478
+ setOpenStart(false);
479
+ // 如果不是正在切换到结束时间,则清空临时状态
480
+ if (!isSwitchingRef.current) {
481
+ setTempStart(null);
482
+ }
285
483
  }
286
- onChange([newData.start, v || '']);
287
- };
288
- var foot = function foot() {
289
- return /*#__PURE__*/React__default["default"].createElement(antd.Button, {
290
- type: newData.showZj ? 'primary' : 'default',
291
- onClick: function onClick(v) {
292
- ref_d.current.blur();
293
- onChange([newData.start || '', '至今']);
484
+ }, []);
485
+
486
+ // 处理结束时间弹窗关闭(未完成选择)
487
+ var handleEndOpenChange = React.useCallback(function (open) {
488
+ if (!open) {
489
+ setOpenEnd(false);
490
+ // 关闭结束时间弹窗时,不修改field值
491
+ setTempStart(null);
492
+ setTempEnd(null);
493
+ }
494
+ }, []);
495
+
496
+ // 结束时间面板变化时更新临时值(用于实时显示)
497
+ var handleEndPanelChange = React.useCallback(function (date) {
498
+ setTempEnd(date);
499
+ }, []);
500
+
501
+ // 空的 footer(用于开始时间,保持高度一致)
502
+ var renderEmptyFooter = React.useCallback(function () {
503
+ return /*#__PURE__*/React__default["default"].createElement("div", {
504
+ style: {
505
+ height: 40
294
506
  }
295
- }, soFarText || '至今');
296
- };
507
+ });
508
+ }, []);
509
+
510
+ // 带至今按钮的 footer
511
+ var renderExtraFooter = React.useCallback(function () {
512
+ var isCurrentSoFar = !tempStart && isSoFar;
513
+ return /*#__PURE__*/React__default["default"].createElement("div", {
514
+ style: {
515
+ textAlign: 'right'
516
+ }
517
+ }, /*#__PURE__*/React__default["default"].createElement(antd.Button, {
518
+ type: isCurrentSoFar ? 'primary' : 'default',
519
+ onClick: handleSoFarClick
520
+ }, soFarLabel));
521
+ }, [isSoFar, tempStart, handleSoFarClick, soFarLabel]);
522
+
523
+ // 结束时间的可选日期(不能早于开始时间)
524
+ var endDisabledDate = React.useCallback(function (current) {
525
+ if (!tempStart) return false;
526
+ return current && current < tempStart.startOf('day');
527
+ }, [tempStart]);
297
528
  return /*#__PURE__*/React__default["default"].createElement("div", {
298
- style: {
299
- display: 'flex'
529
+ className: "date-picker-today-container",
530
+ ref: containerRef
531
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
532
+ className: "date-picker-today-inputs",
533
+ onClick: handleInputClick,
534
+ onMouseEnter: function onMouseEnter() {
535
+ return setHovering(true);
536
+ },
537
+ onMouseLeave: function onMouseLeave() {
538
+ return setHovering(false);
300
539
  }
301
- }, /*#__PURE__*/React__default["default"].createElement(antd.DatePicker, _extends({}, _extends({
302
- showToday: false
303
- }, props, {
304
- placeholder: newData.placeholder[0]
305
- }, startProps, {
306
- value: newData.start
307
- }), {
308
- onChange: startChange
309
- })), /*#__PURE__*/React__default["default"].createElement("div", {
310
- className: 'svg_box'
311
- }, /*#__PURE__*/React__default["default"].createElement("svg", {
312
- viewBox: "0 0 1024 1024",
313
- focusable: "false",
314
- "data-icon": "swap-right",
315
- width: "1em",
316
- height: "1em",
317
- fill: "currentColor",
318
- "aria-hidden": "true"
319
- }, /*#__PURE__*/React__default["default"].createElement("path", {
320
- d: "M873.1 596.2l-164-208A32 32 0 00684 376h-64.8c-6.7 0-10.4 7.7-6.3 13l144.3 183H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h695.9c26.8 0 41.7-30.8 25.2-51.8z"
321
- }))), /*#__PURE__*/React__default["default"].createElement("div", {
322
- className: newData.showZj ? 'data_range_picker data_range_picker_dis' : 'data_range_picker'
323
- }, /*#__PURE__*/React__default["default"].createElement("span", {
324
- className: newData.showZj ? 'zhijin zhijin_show' : 'zhijin'
325
- }, soFarText || '至今'), /*#__PURE__*/React__default["default"].createElement(antd.DatePicker, _extends({}, _extends({
326
- showToday: false
327
- }, props, {
328
- placeholder: newData.showZj ? '' : newData.placeholder[1]
329
- }, endProps, {
330
- value: newData.end
331
- }), {
332
- ref: ref_d,
333
- onChange: endChange,
334
- renderExtraFooter: foot
335
- }))));
540
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
541
+ className: "date-picker-today-start"
542
+ }, /*#__PURE__*/React__default["default"].createElement("input", {
543
+ readOnly: true,
544
+ placeholder: formatMessage({
545
+ id: 'StartDate'
546
+ }),
547
+ value: displayText.start,
548
+ className: "ant-input"
549
+ })), /*#__PURE__*/React__default["default"].createElement("span", {
550
+ className: "date-picker-today-separator"
551
+ }, "~"), /*#__PURE__*/React__default["default"].createElement("div", {
552
+ className: "date-picker-today-end"
553
+ }, /*#__PURE__*/React__default["default"].createElement("input", {
554
+ readOnly: true,
555
+ placeholder: formatMessage({
556
+ id: 'EndDate'
557
+ }),
558
+ value: displayText.end,
559
+ className: "ant-input " + (isSoFar ? 'so-far-active' : '')
560
+ })), /*#__PURE__*/React__default["default"].createElement("span", {
561
+ className: "date-picker-today-suffix"
562
+ }, hasValue && hovering ? /*#__PURE__*/React__default["default"].createElement(icons.CloseCircleFilled, {
563
+ className: "date-picker-today-clear",
564
+ onClick: handleClear
565
+ }) : /*#__PURE__*/React__default["default"].createElement(icons.CalendarOutlined, null))), /*#__PURE__*/React__default["default"].createElement(antd.DatePicker, {
566
+ picker: picker,
567
+ open: openStart,
568
+ onOpenChange: handleStartOpenChange,
569
+ value: tempStart || parsedValue.start,
570
+ onChange: handleStartChange,
571
+ renderExtraFooter: renderEmptyFooter,
572
+ showNow: false,
573
+ getPopupContainer: function getPopupContainer() {
574
+ return containerRef.current || document.body;
575
+ },
576
+ style: {
577
+ width: 0,
578
+ height: 0,
579
+ visibility: 'hidden',
580
+ position: 'absolute'
581
+ },
582
+ placement: "bottomLeft"
583
+ }), /*#__PURE__*/React__default["default"].createElement(antd.DatePicker, {
584
+ picker: picker,
585
+ open: openEnd,
586
+ onOpenChange: handleEndOpenChange,
587
+ value: tempEnd || parsedValue.end,
588
+ onChange: handleEndChange,
589
+ onPanelChange: handleEndPanelChange,
590
+ disabledDate: endDisabledDate,
591
+ renderExtraFooter: renderExtraFooter,
592
+ showNow: false,
593
+ getPopupContainer: function getPopupContainer() {
594
+ return containerRef.current || document.body;
595
+ },
596
+ style: {
597
+ width: 0,
598
+ height: 0,
599
+ visibility: 'hidden',
600
+ position: 'absolute'
601
+ },
602
+ placement: "bottomLeft"
603
+ }));
336
604
  };
605
+ var PickerToday = withLocale(PickerTodayInner);
337
606
  var RangePickerToday = function RangePickerToday(props) {
338
607
  props = Object.assign({}, {
339
608
  fieldName: 'rangePickerToday'
@@ -347,49 +616,74 @@ var useOnChange$5 = reactFormHelper.hooks.useOnChange;
347
616
  var MonthPicker = antd.DatePicker.MonthPicker,
348
617
  RangePicker = antd.DatePicker.RangePicker,
349
618
  WeekPicker = antd.DatePicker.WeekPicker;
350
- var _DatePicker = function _DatePicker(props) {
351
- props = Object.assign({}, {
619
+ var DatePickerInner = function DatePickerInner(props) {
620
+ var _useIntl = reactIntl.useIntl(),
621
+ formatMessage = _useIntl.formatMessage;
622
+ var mergedProps = Object.assign({}, {
352
623
  fieldName: 'datePicker'
353
624
  }, props);
354
625
  var render = useOnChange$5(Object.assign({
355
- placeholder: "\u8BF7\u9009\u62E9" + (props.label || '')
356
- }, props));
626
+ placeholder: formatMessage({
627
+ id: 'PleaseSelect'
628
+ }, {
629
+ label: mergedProps.label || ''
630
+ })
631
+ }, mergedProps));
357
632
  return render(antd.DatePicker);
358
633
  };
359
- _DatePicker.Field = antd.DatePicker;
360
- var _MonthPicker = function _MonthPicker(props) {
361
- props = Object.assign({}, {
634
+ DatePickerInner.Field = antd.DatePicker;
635
+ var MonthPickerInner = function MonthPickerInner(props) {
636
+ var _useIntl2 = reactIntl.useIntl(),
637
+ formatMessage = _useIntl2.formatMessage;
638
+ var mergedProps = Object.assign({}, {
362
639
  fieldName: 'monthDatePicker'
363
640
  }, props);
364
641
  var render = useOnChange$5(Object.assign({
365
- placeholder: ['开始时间', '结束时间']
366
- }, props));
642
+ placeholder: [formatMessage({
643
+ id: 'StartTime'
644
+ }), formatMessage({
645
+ id: 'EndTime'
646
+ })]
647
+ }, mergedProps));
367
648
  return render(MonthPicker);
368
649
  };
369
- _MonthPicker.Field = MonthPicker;
370
- var _RangePicker = function _RangePicker(props) {
371
- props = Object.assign({}, {
650
+ MonthPickerInner.Field = MonthPicker;
651
+ var RangePickerInner = function RangePickerInner(props) {
652
+ var _useIntl3 = reactIntl.useIntl(),
653
+ formatMessage = _useIntl3.formatMessage;
654
+ var mergedProps = Object.assign({}, {
372
655
  fieldName: 'rangeDatePicker'
373
656
  }, props);
374
657
  var render = useOnChange$5(Object.assign({
375
- placeholder: ['开始时间', '结束时间']
376
- }, props));
658
+ placeholder: [formatMessage({
659
+ id: 'StartTime'
660
+ }), formatMessage({
661
+ id: 'EndTime'
662
+ })]
663
+ }, mergedProps));
377
664
  return render(RangePicker);
378
665
  };
379
- _RangePicker.Field = RangePicker;
380
- var _WeekPicker = function _WeekPicker(props) {
381
- props = Object.assign({}, {
666
+ RangePickerInner.Field = RangePicker;
667
+ var WeekPickerInner = function WeekPickerInner(props) {
668
+ var _useIntl4 = reactIntl.useIntl(),
669
+ formatMessage = _useIntl4.formatMessage;
670
+ var mergedProps = Object.assign({}, {
382
671
  fieldName: 'weekDatePicker'
383
672
  }, props);
384
673
  var render = useOnChange$5(Object.assign({
385
- placeholder: ['开始时间', '结束时间']
386
- }, props));
674
+ placeholder: [formatMessage({
675
+ id: 'StartTime'
676
+ }), formatMessage({
677
+ id: 'EndTime'
678
+ })]
679
+ }, mergedProps));
387
680
  return render(WeekPicker);
388
681
  };
389
- _WeekPicker.Field = WeekPicker;
390
- _DatePicker.MonthPicker = _MonthPicker;
391
- _DatePicker.RangePicker = _RangePicker;
392
- _DatePicker.WeekPicker = _WeekPicker;
682
+ WeekPickerInner.Field = WeekPicker;
683
+ var _DatePicker = withLocale(DatePickerInner);
684
+ _DatePicker.MonthPicker = withLocale(MonthPickerInner);
685
+ _DatePicker.RangePicker = withLocale(RangePickerInner);
686
+ _DatePicker.WeekPicker = withLocale(WeekPickerInner);
393
687
 
394
688
  var useOnChange$4 = reactFormHelper.hooks.useOnChange;
395
689
  var _CheckboxGroup = antd.Checkbox.Group;