@zat-design/sisyphus-react 3.7.3 → 3.8.0-beat.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.
Files changed (134) hide show
  1. package/.vscode/extensions.json +5 -0
  2. package/dist/index.esm.css +100 -4
  3. package/dist/less.esm.css +97 -4
  4. package/es/ProEditTable/components/RenderField/{ListChanged.d.ts → ListChangedWrapper.d.ts} +4 -3
  5. package/es/ProEditTable/components/RenderField/{ListChanged.js → ListChangedWrapper.js} +22 -10
  6. package/es/ProEditTable/components/RenderField/index.js +3 -3
  7. package/es/ProEnum/components/Group.js +10 -2
  8. package/es/ProEnum/index.js +5 -4
  9. package/es/ProEnum/style/index.less +14 -4
  10. package/es/ProEnum/utils/index.d.ts +1 -1
  11. package/es/ProEnum/utils/index.js +4 -0
  12. package/es/ProForm/components/combination/Container/index.js +5 -3
  13. package/es/ProForm/components/combination/Container/propsType.d.ts +2 -1
  14. package/es/ProForm/components/combination/FormList/utils.js +5 -4
  15. package/es/ProForm/components/combination/Group/utils.js +8 -1
  16. package/es/ProForm/components/combination/ProModalSelect/index.js +50 -45
  17. package/es/ProForm/components/combination/ProNumberRange/index.js +14 -5
  18. package/es/ProForm/components/combination/ProNumberRange/style/index.less +5 -1
  19. package/es/ProForm/components/render/ChangedWrapper.d.ts +17 -0
  20. package/es/ProForm/components/render/ChangedWrapper.js +108 -0
  21. package/es/ProForm/components/render/Render.js +7 -8
  22. package/es/ProForm/components/render/RenderFields.d.ts +2 -3
  23. package/es/ProForm/components/render/RenderFields.js +3 -4
  24. package/es/ProForm/components/render/propsType.d.ts +5 -4
  25. package/es/ProForm/index.js +3 -6
  26. package/es/ProForm/propsType.d.ts +13 -2
  27. package/es/ProForm/style/index.less +103 -5
  28. package/es/ProForm/utils/diffOriginal.d.ts +4 -4
  29. package/es/ProForm/utils/diffOriginal.js +18 -7
  30. package/es/ProForm/utils/transformValue.js +17 -11
  31. package/es/ProForm/utils/useShouldUpdate.d.ts +2 -2
  32. package/es/ProForm/utils/useShouldUpdate.js +1 -1
  33. package/es/ProSelect/index.js +12 -11
  34. package/es/ProSelect/propsType.d.ts +4 -0
  35. package/es/ProSelect/utils/index.js +5 -4
  36. package/es/ProStep/components/Listener/index.d.ts +1 -1
  37. package/es/ProStep/components/Listener/index.js +5 -2
  38. package/es/ProStep/index.d.ts +1 -1
  39. package/es/ProStep/index.js +24 -17
  40. package/es/ProTable/components/FormatColumn/index.d.ts +7 -1
  41. package/es/ProTable/components/FormatColumn/index.js +14 -8
  42. package/es/ProTable/index.js +30 -13
  43. package/es/ProTable/propsType.d.ts +14 -1
  44. package/es/ProTable/style/index.less +1 -1
  45. package/es/ProTree/components/AdaptiveTooltip.d.ts +4 -0
  46. package/es/ProTree/components/AdaptiveTooltip.js +55 -0
  47. package/es/ProTree/components/List.js +15 -3
  48. package/es/ProTree/components/ProTreeSelect/index.js +25 -5
  49. package/es/ProTree/components/ProTreeSelect/propsType.d.ts +2 -0
  50. package/es/ProTree/components/ProTreeSelect/style/index.less +2 -2
  51. package/es/ProTree/components/SearchTitle.d.ts +2 -0
  52. package/es/ProTree/components/SearchTitle.js +17 -8
  53. package/es/ProTree/style/index.less +14 -0
  54. package/es/ProTreeModal/components/Tree.js +15 -17
  55. package/es/ProTreeModal/index.js +62 -7
  56. package/es/ProTreeModal/utils.d.ts +1 -0
  57. package/es/ProTreeModal/utils.js +21 -1
  58. package/es/style/theme/antd.less +5 -0
  59. package/es/style/theme/index.less +2 -1
  60. package/es/style/theme/tokens.less +1 -0
  61. package/es/utils/index.d.ts +2 -0
  62. package/es/utils/index.js +13 -0
  63. package/lib/ProEditTable/components/RenderField/{ListChanged.d.ts → ListChangedWrapper.d.ts} +4 -3
  64. package/lib/ProEditTable/components/RenderField/{ListChanged.js → ListChangedWrapper.js} +25 -11
  65. package/lib/ProEditTable/components/RenderField/index.js +3 -3
  66. package/lib/ProEnum/components/Group.js +10 -2
  67. package/lib/ProEnum/index.js +5 -4
  68. package/lib/ProEnum/style/index.less +14 -4
  69. package/lib/ProEnum/utils/index.d.ts +1 -1
  70. package/lib/ProEnum/utils/index.js +4 -0
  71. package/lib/ProForm/components/combination/Container/index.js +5 -3
  72. package/lib/ProForm/components/combination/Container/propsType.d.ts +2 -1
  73. package/lib/ProForm/components/combination/FormList/utils.js +4 -3
  74. package/lib/ProForm/components/combination/Group/utils.js +8 -1
  75. package/lib/ProForm/components/combination/ProModalSelect/index.js +49 -44
  76. package/lib/ProForm/components/combination/ProNumberRange/index.js +14 -5
  77. package/lib/ProForm/components/combination/ProNumberRange/style/index.less +5 -1
  78. package/lib/ProForm/components/render/ChangedWrapper.d.ts +17 -0
  79. package/lib/ProForm/components/render/ChangedWrapper.js +113 -0
  80. package/lib/ProForm/components/render/Render.js +7 -8
  81. package/lib/ProForm/components/render/RenderFields.d.ts +2 -3
  82. package/lib/ProForm/components/render/RenderFields.js +3 -4
  83. package/lib/ProForm/components/render/propsType.d.ts +5 -4
  84. package/lib/ProForm/index.js +3 -6
  85. package/lib/ProForm/propsType.d.ts +13 -2
  86. package/lib/ProForm/style/index.less +103 -5
  87. package/lib/ProForm/utils/diffOriginal.d.ts +4 -4
  88. package/lib/ProForm/utils/diffOriginal.js +18 -7
  89. package/lib/ProForm/utils/transformValue.js +17 -11
  90. package/lib/ProForm/utils/useShouldUpdate.d.ts +2 -2
  91. package/lib/ProForm/utils/useShouldUpdate.js +1 -1
  92. package/lib/ProSelect/index.js +12 -11
  93. package/lib/ProSelect/propsType.d.ts +4 -0
  94. package/lib/ProSelect/utils/index.js +5 -4
  95. package/lib/ProStep/components/Listener/index.d.ts +1 -1
  96. package/lib/ProStep/components/Listener/index.js +5 -2
  97. package/lib/ProStep/index.d.ts +1 -1
  98. package/lib/ProStep/index.js +24 -17
  99. package/lib/ProTable/components/FormatColumn/index.d.ts +7 -1
  100. package/lib/ProTable/components/FormatColumn/index.js +14 -8
  101. package/lib/ProTable/index.js +30 -13
  102. package/lib/ProTable/propsType.d.ts +14 -1
  103. package/lib/ProTable/style/index.less +1 -1
  104. package/lib/ProTree/components/AdaptiveTooltip.d.ts +4 -0
  105. package/lib/ProTree/components/AdaptiveTooltip.js +61 -0
  106. package/lib/ProTree/components/List.js +15 -3
  107. package/lib/ProTree/components/ProTreeSelect/index.js +25 -5
  108. package/lib/ProTree/components/ProTreeSelect/propsType.d.ts +2 -0
  109. package/lib/ProTree/components/ProTreeSelect/style/index.less +2 -2
  110. package/lib/ProTree/components/SearchTitle.d.ts +2 -0
  111. package/lib/ProTree/components/SearchTitle.js +19 -7
  112. package/lib/ProTree/style/index.less +14 -0
  113. package/lib/ProTreeModal/components/Tree.js +15 -17
  114. package/lib/ProTreeModal/index.js +61 -6
  115. package/lib/ProTreeModal/utils.d.ts +1 -0
  116. package/lib/ProTreeModal/utils.js +20 -0
  117. package/lib/style/theme/antd.less +5 -0
  118. package/lib/style/theme/index.less +2 -1
  119. package/lib/style/theme/tokens.less +1 -0
  120. package/lib/utils/index.d.ts +2 -0
  121. package/lib/utils/index.js +19 -0
  122. package/package.json +2 -1
  123. package/es/ProForm/components/render/Changed.d.ts +0 -14
  124. package/es/ProForm/components/render/Changed.js +0 -64
  125. package/lib/ProForm/components/render/Changed.d.ts +0 -14
  126. package/lib/ProForm/components/render/Changed.js +0 -69
  127. /package/es/ProForm/utils/{useChanged.d.ts → _useChanged.d.ts} +0 -0
  128. /package/es/ProForm/utils/{useChanged.js → _useChanged.js} +0 -0
  129. /package/es/ProForm/utils/{useListChanged.d.ts → _useListChanged.d.ts} +0 -0
  130. /package/es/ProForm/utils/{useListChanged.js → _useListChanged.js} +0 -0
  131. /package/lib/ProForm/utils/{useChanged.d.ts → _useChanged.d.ts} +0 -0
  132. /package/lib/ProForm/utils/{useChanged.js → _useChanged.js} +0 -0
  133. /package/lib/ProForm/utils/{useListChanged.d.ts → _useListChanged.d.ts} +0 -0
  134. /package/lib/ProForm/utils/{useListChanged.js → _useListChanged.js} +0 -0
@@ -44,6 +44,17 @@ export interface ProFormOtherProps {
44
44
  listName?: any[] | string | number;
45
45
  globalControl?: boolean;
46
46
  formDisabled?: boolean;
47
+ isDiffChange?: boolean;
48
+ }
49
+ export interface DiffConfigProps<Values = any> {
50
+ /** 比对原始数据源 */
51
+ originalValues: Values;
52
+ /** 是否显示对比值气泡 */
53
+ toolTip?: boolean;
54
+ /** 变更提示颜色 */
55
+ changeTipColor?: string;
56
+ /** 新增提示颜色 */
57
+ addTipColor?: string;
47
58
  }
48
59
  export interface ProFormProps<Values = any> extends FormProps<Values> {
49
60
  disabled?: boolean;
@@ -67,14 +78,14 @@ export interface ProFormProps<Values = any> extends FormProps<Values> {
67
78
  viewEmpty?: React.ReactNode | string;
68
79
  confirmLoading?: boolean;
69
80
  labelWidth?: string | number;
70
- originalValues?: Values;
71
81
  /** 是否回车提交 */
72
82
  submitOnEnter?: boolean;
73
83
  clearNotShow?: boolean;
74
84
  requiredOnView?: boolean;
75
85
  formId?: string;
76
86
  required?: boolean | boolean[];
77
- originalDiffTip?: boolean;
87
+ /** 表单比对配置 */
88
+ diffConfig?: DiffConfigProps;
78
89
  scrollToError?: boolean;
79
90
  /** 性能模式,谨慎使用,默认不开启
80
91
  * 1. 开启不过滤names的中间态值
@@ -99,10 +99,12 @@
99
99
 
100
100
  &.pro-form-item-width-auto {
101
101
  .@{ant-prefix}-form-item-control-input {
102
+ width: 100%;
102
103
  flex-grow: inherit;
103
104
  }
104
105
 
105
106
  .@{ant-prefix}-form-item-control-input-content {
107
+ width: 100%;
106
108
  flex: initial;
107
109
  }
108
110
  }
@@ -216,7 +218,7 @@
216
218
 
217
219
  .site-input-left,
218
220
  .site-input-right {
219
- width: calc(50% - 20px);
221
+ width: calc(50% - 16px);
220
222
  }
221
223
 
222
224
  .site-input-left {
@@ -314,16 +316,23 @@
314
316
  vertical-align: middle;
315
317
  }
316
318
  }
317
- .pro-form-list-mode-block{
318
- .pro-collapse-content{
319
- .@{ant-prefix}-row{
319
+
320
+ .pro-form-list-mode-block {
321
+ .pro-collapse-content {
322
+ .@{ant-prefix}-row {
320
323
  width: auto;
321
324
  }
322
325
  }
323
326
  }
324
327
 
325
- // 比较原始值场景下 不同时的样式
326
328
  .pro-form-item-changed {
329
+ border-radius: 4px;
330
+ background: @zaui-contract-bg !important;
331
+
332
+ .@{ant-prefix}-select.@{ant-prefix}-select-disabled .@{ant-prefix}-select-selector{
333
+ background: @zaui-contract-bg !important;
334
+ }
335
+
327
336
  span.@{ant-prefix}-input-affix-wrapper,
328
337
  .@{ant-prefix}-select .@{ant-prefix}-select-selector,
329
338
  .@{ant-prefix}-picker,
@@ -367,10 +376,99 @@
367
376
  }
368
377
  }
369
378
 
379
+ // checkbox
380
+ .@{ant-prefix}-checkbox-group {
381
+ padding: 5px 0
382
+ }
383
+ // switch
384
+ &:has(.@{ant-prefix}-switch) {
385
+ padding: 5px 0;
386
+ }
387
+
388
+ // textArea
389
+ .@{ant-prefix}-input-textarea > textarea {
390
+ background: @zaui-contract-bg;
391
+ }
392
+
370
393
  .pro-form-view-container {
371
394
  padding: 4px 8px;
372
395
  background: @zaui-contract-bg;
373
396
  border-radius: 4px;
374
397
  }
375
398
  }
399
+
400
+
401
+ // 比较原始值场景下 不同时的样式
402
+ .pro-form-item-add {
403
+ border-radius: 4px;
404
+ background: @zaui-contract-bg-add !important;
405
+
406
+ .@{ant-prefix}-select.@{ant-prefix}-select-disabled .@{ant-prefix}-select-selector{
407
+ background: @zaui-contract-bg-add !important;
408
+ }
409
+
410
+ span.@{ant-prefix}-input-affix-wrapper,
411
+ .@{ant-prefix}-select .@{ant-prefix}-select-selector,
412
+ .@{ant-prefix}-picker,
413
+ .@{ant-prefix}-input-number {
414
+ background: @zaui-contract-bg-add !important;
415
+
416
+ input {
417
+ background: transparent !important;
418
+ }
419
+ .@{ant-prefix}-select-selection-placeholder {
420
+ z-index: 9;
421
+ }
422
+ }
423
+
424
+ .@{ant-prefix}-form-item-control:has(.@{ant-prefix}-switch-handle),
425
+ .@{ant-prefix}-form-item-control:has(.@{ant-prefix}-checkbox-wrapper-in-form-item) {
426
+ background: @zaui-contract-bg-add;
427
+ border-radius: 4px;
428
+ }
429
+
430
+ // 地址组件
431
+ .@{ant-prefix}-form-item-control-input-content {
432
+ // 查看模式
433
+ & > span {
434
+ border-radius: 4px;
435
+ padding: 5px 8px;
436
+ background: @zaui-contract-bg-add;
437
+ }
438
+
439
+ & > .pro-address {
440
+ .@{ant-prefix}-select-selector,
441
+ .@{ant-prefix}-input-affix-wrapper,
442
+ .@{ant-prefix}-input-disabled {
443
+ background: @zaui-contract-bg-add;
444
+ }
445
+ }
446
+ & > .@{ant-prefix}-input-group {
447
+ .forever-checkbox {
448
+ background: @zaui-contract-bg-add;
449
+ }
450
+ }
451
+ }
452
+
453
+ // checkbox
454
+ .@{ant-prefix}-checkbox-group {
455
+ padding: 5px 0
456
+ }
457
+ // switch
458
+ &:has(.@{ant-prefix}-switch) {
459
+ padding: 5px 0;
460
+ }
461
+
462
+ // textArea
463
+ .@{ant-prefix}-input-textarea > textarea {
464
+ background: @zaui-contract-bg-add;
465
+ }
466
+
467
+
468
+ .pro-form-view-container {
469
+ padding: 4px 8px;
470
+ background: @zaui-contract-bg-add;
471
+ border-radius: 4px;
472
+ }
473
+ }
376
474
  }
@@ -1,9 +1,9 @@
1
1
  import { FormInstance } from 'antd';
2
- interface Params {
2
+ export interface DiffOriginalParams {
3
3
  originalValue: any;
4
4
  value: any;
5
5
  form: FormInstance;
6
- equalWith?: (originalValue: any, currentValue: any) => boolean;
6
+ equalWith?: (originalValue: any, currentValue: any) => DiffType | boolean | undefined;
7
7
  }
8
- export declare const diffOriginal: (params: Params) => boolean;
9
- export {};
8
+ export type DiffType = 'same' | 'add' | 'changed';
9
+ export declare const diffOriginal: (params: DiffOriginalParams) => DiffType;
@@ -1,4 +1,5 @@
1
1
  import { isEqual, isFunction } from 'lodash';
2
+ import { isEmpty } from '../../utils';
2
3
  var nullValue = [null, undefined, '']; // 输入框空值时可能存在的三种值 视为相等
3
4
  export var diffOriginal = function diffOriginal(params) {
4
5
  var originalValue = params.originalValue,
@@ -6,19 +7,29 @@ export var diffOriginal = function diffOriginal(params) {
6
7
  equalWith = params.equalWith;
7
8
  // 支持传入自定义比较事件
8
9
  if (isFunction(equalWith)) {
9
- return !equalWith(originalValue, value);
10
+ var diffRes = equalWith(originalValue, value);
11
+ if (diffRes === undefined) return 'same';
12
+ if (typeof diffRes === 'boolean') {
13
+ return diffRes ? 'same' : 'changed';
14
+ }
15
+ return diffRes;
16
+ }
17
+ // 如果原始值为空 且当前有值的话 认为变更类型是新增
18
+ if (isEmpty(originalValue) && !isEmpty(value)) {
19
+ return 'add';
10
20
  }
11
21
  if (Array.isArray(originalValue)) {
12
- return originalValue.some(function (valueItem, index) {
22
+ var isSame = originalValue.every(function (valueItem, index) {
13
23
  // 如果两个值有一个不是空值, 则进行深比较
14
- if (!nullValue.includes(value === null || value === void 0 ? void 0 : value[index]) || !nullValue.includes(valueItem)) {
15
- return !isEqual(value === null || value === void 0 ? void 0 : value[index], valueItem);
24
+ if (!isEmpty(value === null || value === void 0 ? void 0 : value[index]) || !isEmpty(valueItem)) {
25
+ return isEqual(value === null || value === void 0 ? void 0 : value[index], valueItem);
16
26
  }
17
- return false;
27
+ return true;
18
28
  });
29
+ return isSame ? 'same' : 'changed';
19
30
  }
20
31
  if (!nullValue.includes(value) || !nullValue.includes(originalValue)) {
21
- return !isEqual(value, originalValue);
32
+ return isEqual(value, originalValue) ? 'same' : 'changed';
22
33
  }
23
- return false;
34
+ return 'same';
24
35
  };
@@ -1,8 +1,7 @@
1
1
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
- import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
- var _excluded = ["value"];
4
2
  import { set } from 'lodash';
5
3
  import { diffField } from '../utils';
4
+ import { isEmpty } from '../../utils';
6
5
  export var transformValue = function transformValue(names, form, fieldName, _normalize, _getValueProps) {
7
6
  return {
8
7
  normalize: function normalize(value) {
@@ -22,23 +21,30 @@ export var transformValue = function transformValue(names, form, fieldName, _nor
22
21
  return _value;
23
22
  },
24
23
  getValueProps: function getValueProps(value) {
24
+ var _curValue;
25
25
  var _value = [];
26
26
  names.forEach(function (name, index) {
27
27
  var value = form.getFieldValue(name);
28
28
  _value[index] = value;
29
29
  });
30
30
  // 支持外部传入转换函数
31
- var _ref = (_getValueProps === null || _getValueProps === void 0 ? void 0 : _getValueProps(_value)) || {
32
- value: _value
33
- },
34
- cusValue = _ref.value,
35
- cusRest = _objectWithoutProperties(_ref, _excluded);
31
+ var res = (_getValueProps === null || _getValueProps === void 0 ? void 0 : _getValueProps(_value)) || {
32
+ value: _value
33
+ };
34
+ // 如果数组中值都为空, 则值置为空
35
+ var curValue = res === null || res === void 0 ? void 0 : res.value;
36
36
  // @ts-ignore
37
- set(form.getFieldsValue(true), fieldName, cusValue);
37
+ if ((_curValue = curValue) === null || _curValue === void 0 ? void 0 : _curValue.every(function (item) {
38
+ return isEmpty(item);
39
+ })) {
40
+ curValue = undefined;
41
+ }
42
+ // @ts-ignore
43
+ set(form.getFieldsValue(true), fieldName, curValue);
38
44
  // 如果表单里的值和组合得到的值不全等 更新表单里的值、
39
- return _objectSpread({
40
- value: cusValue
41
- }, cusRest);
45
+ return _objectSpread(_objectSpread({}, res), {}, {
46
+ value: curValue
47
+ });
42
48
  },
43
49
  shouldUpdate: function shouldUpdate(prevValues, curValues) {
44
50
  return diffField(prevValues, curValues, names);
@@ -3,7 +3,7 @@ import { ProColumnProps, ProRule } from '../components/render/propsType';
3
3
  interface Result<Values> {
4
4
  shouldUpdate?: FormItemProps<Values>['shouldUpdate'];
5
5
  show?: boolean;
6
- disabled?: boolean;
6
+ disabled?: boolean | boolean[];
7
7
  rules?: ProRule[];
8
8
  required?: boolean;
9
9
  [key: string]: any;
@@ -15,7 +15,7 @@ interface UseShouldUpdateProps<Values> {
15
15
  names?: any[];
16
16
  };
17
17
  form?: FormInstance<Values>;
18
- disabled?: ProColumnProps['disabled'];
18
+ disabled?: boolean;
19
19
  rules?: ProRule[];
20
20
  required?: boolean;
21
21
  type: string;
@@ -63,7 +63,7 @@ var useShouldUpdate = function useShouldUpdate(props) {
63
63
  }
64
64
  if (isFunction(disabled)) {
65
65
  // RangePicker返回数组时,特殊处理
66
- if (type === 'RangePicker' && Array.isArray(disabled(values, {
66
+ if (['Group', 'RangePicker'].includes(type) && Array.isArray(disabled(values, {
67
67
  form: form,
68
68
  index: index,
69
69
  namePath: namePath
@@ -9,7 +9,7 @@ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
9
9
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
10
10
  import "antd/es/select/style";
11
11
  import _Select from "antd/es/select";
12
- var _excluded = ["dataSource", "defaultDisableValue", "useRequest", "fieldNames", "tooltip", "otherProps", "labelInValue", "filterInList", "scrollFollowParent", "defaultOne", "onSearch", "optionRender", "onChange", "updateDataSource", "transformResponse", "isView"];
12
+ var _excluded = ["dataSource", "defaultDisableValue", "useRequest", "fieldNames", "tooltip", "otherProps", "labelInValue", "filterInList", "scrollFollowParent", "defaultOne", "onSearch", "optionRender", "onChange", "updateDataSource", "transformResponse", "getValueProps", "isView"];
13
13
  import { jsx as _jsx } from "react/jsx-runtime";
14
14
  import { useDeepCompareEffect, useRequest as useRequestFunc } from 'ahooks';
15
15
  import React, { useImperativeHandle, useState, forwardRef } from 'react';
@@ -53,10 +53,11 @@ export var ProSelect = function ProSelect(props, ref) {
53
53
  onChange = props.onChange,
54
54
  updateDataSource = props.updateDataSource,
55
55
  transformResponse = props.transformResponse,
56
+ getValueProps = props.getValueProps,
56
57
  isViewPro = props.isView,
57
58
  selectProps = _objectWithoutProperties(props, _excluded);
58
59
  selectProps.showCodeName = (_selectProps$showCode = selectProps.showCodeName) !== null && _selectProps$showCode !== void 0 ? _selectProps$showCode : showCodeName;
59
- var value = props.value;
60
+ var value = getValueProps && props.value ? getValueProps(props.value) : props.value;
60
61
  var _ref2 = ProForm.useFieldProps() || {},
61
62
  isViewCon = _ref2.isView,
62
63
  viewEmpty = _ref2.viewEmpty;
@@ -216,6 +217,7 @@ export var ProSelect = function ProSelect(props, ref) {
216
217
  return props.children;
217
218
  };
218
219
  var handleChange = function handleChange(value, option) {
220
+ var getChangeValue = selectProps.getChangeValue;
219
221
  if (selectProps.mode && selectProps.mode === 'multiple') {
220
222
  if (Array.isArray(option)) {
221
223
  option.forEach(function (item) {
@@ -225,14 +227,14 @@ export var ProSelect = function ProSelect(props, ref) {
225
227
  });
226
228
  }
227
229
  if (labelInValue) {
228
- onChange === null || onChange === void 0 ? void 0 : onChange(getValueObject(value), option);
230
+ onChange === null || onChange === void 0 ? void 0 : onChange(getChangeValue ? getChangeValue(getValueObject(value)) : getValueObject(value), option);
229
231
  } else {
230
- onChange === null || onChange === void 0 ? void 0 : onChange(value, option);
232
+ onChange === null || onChange === void 0 ? void 0 : onChange(getChangeValue ? getChangeValue(value) : value, option);
231
233
  }
232
234
  } else if (!selectProps.mode && labelInValue) {
233
- onChange(getValueObject(value), option);
235
+ onChange(getChangeValue ? getChangeValue(getValueObject(value)) : getValueObject(value), option);
234
236
  } else {
235
- onChange === null || onChange === void 0 ? void 0 : onChange(value, option === null || option === void 0 ? void 0 : option.record);
237
+ onChange === null || onChange === void 0 ? void 0 : onChange(getChangeValue ? getChangeValue(value) : value, option === null || option === void 0 ? void 0 : option.record);
236
238
  }
237
239
  };
238
240
  /**
@@ -278,7 +280,7 @@ export var ProSelect = function ProSelect(props, ref) {
278
280
  if ((otherProps === null || otherProps === void 0 ? void 0 : otherProps.listName) && filterInList) {
279
281
  newSelectList = getSelectList({
280
282
  otherProps: otherProps,
281
- value: props.value,
283
+ value: value,
282
284
  dataSource: selectList,
283
285
  labelInValue: labelInValue,
284
286
  fieldNames: fieldNames,
@@ -294,8 +296,8 @@ export var ProSelect = function ProSelect(props, ref) {
294
296
  showArrow: true,
295
297
  loading: fetchFunction === null || fetchFunction === void 0 ? void 0 : fetchFunction.loading,
296
298
  onChange: handleChange,
297
- optionLabelProp: "children" // 解决warning报错,添加默认值
298
- ,
299
+ optionLabelProp: (otherProps === null || otherProps === void 0 ? void 0 : otherProps.isDiffChange) ? 'label' : 'children',
300
+ // optionLabelProp="label" // 解决warning报错,添加默认值
299
301
  showSearch: true,
300
302
  filterOption: isFunction(_onSearch) ? false : function (input, option) {
301
303
  var _option$children, _option$children$prop;
@@ -312,16 +314,15 @@ export var ProSelect = function ProSelect(props, ref) {
312
314
  value: transformValue(),
313
315
  children: Array.isArray(newSelectList) && newSelectList.map(function (item) {
314
316
  return _jsx(Option, {
317
+ label: item[label],
315
318
  value: item[code],
316
319
  record: item,
317
320
  disabled: !!item.disabled,
318
321
  children: _jsx(TooltipOption, {
319
322
  title: OptionRender ? OptionRender(item) : selectProps.showCodeName ? "".concat(item[code], "-").concat(item[label]) : item[label],
320
323
  children: OptionRender ? _jsx("span", {
321
- title: OptionRender(item),
322
324
  children: OptionRender(item)
323
325
  }) : _jsx("span", {
324
- title: selectProps.showCodeName ? "".concat(item[code], "-").concat(item[label]) : item[label],
325
326
  children: selectProps.showCodeName ? "".concat(item[code], "-").concat(item[label]) : item[label]
326
327
  })
327
328
  }, item[code])
@@ -46,6 +46,10 @@ export interface PropSelectProps extends Omit<SelectProps, 'onSearch'> {
46
46
  onSearch?: (value: string, useRequest: Result<any, any>) => void;
47
47
  /** 自定义展示 */
48
48
  optionRender?: (value: DataOption) => string | ReactNode;
49
+ /** 用来转换修改value值 和 getValueProps配合使用 */
50
+ getChangeValue?: (value: DataOption) => any;
51
+ /** 用来转换传入的value值 getChangeValue配合使用 */
52
+ getValueProps?: (value: DataOption) => any;
49
53
  }
50
54
  export interface ProSelectAction {
51
55
  /** 实例方法、根据 code | code[] 批量获取数据 */
@@ -30,7 +30,7 @@ var findSelectNameValues = function findSelectNameValues(_ref) {
30
30
  _iterator.f();
31
31
  }
32
32
  if (mode === 'multiple') {
33
- selectValues = [].concat(_toConsumableArray(selectValues), _toConsumableArray(result));
33
+ selectValues = [].concat(_toConsumableArray(selectValues), _toConsumableArray(result || []));
34
34
  } else {
35
35
  selectValues.push(result);
36
36
  }
@@ -53,13 +53,14 @@ export var getSelectList = function getSelectList(_ref2) {
53
53
  if (!otherProps) {
54
54
  return null;
55
55
  }
56
- var listName = otherProps.listName,
56
+ var name = otherProps.name,
57
+ listName = otherProps.listName,
57
58
  form = otherProps.form;
58
59
  var firstNumberIndex = listName.lastIndexOf(listName.findLast(function (item) {
59
60
  return typeof item === 'number';
60
61
  }));
61
- var fatherName = listName.slice(0, firstNumberIndex);
62
- var selectName = listName.slice(firstNumberIndex + 1);
62
+ var fatherName = (name || listName).slice(0, firstNumberIndex);
63
+ var selectName = (name || listName).slice(firstNumberIndex + 1);
63
64
  return findSelectNameValues({
64
65
  list: form.getFieldValue(fatherName) || [],
65
66
  selectName: selectName,
@@ -1,3 +1,3 @@
1
1
  import React from 'react';
2
- declare const _default: ({ children, delayTime, ...props }: any) => React.DetailedReactHTMLElement<any, HTMLElement>;
2
+ declare const _default: ({ children, delayTime, excludes, ...props }: any) => React.DetailedReactHTMLElement<any, HTMLElement>;
3
3
  export default _default;
@@ -2,13 +2,14 @@ import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
2
2
  import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
3
3
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
4
4
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
5
- var _excluded = ["children", "delayTime"];
5
+ var _excluded = ["children", "delayTime", "excludes"];
6
6
  import { throttle } from 'lodash';
7
7
  import React from 'react';
8
8
  import { useStep } from '../../index';
9
9
  export default (function (_ref) {
10
10
  var children = _ref.children,
11
11
  delayTime = _ref.delayTime,
12
+ excludes = _ref.excludes,
12
13
  props = _objectWithoutProperties(_ref, _excluded);
13
14
  var _useStep = useStep(),
14
15
  notify = _useStep.notify;
@@ -20,7 +21,9 @@ export default (function (_ref) {
20
21
  case 0:
21
22
  localStorage.setItem('cache-pro-step', '');
22
23
  _context.next = 3;
23
- return notify === null || notify === void 0 ? void 0 : notify();
24
+ return notify === null || notify === void 0 ? void 0 : notify({
25
+ excludes: excludes
26
+ });
24
27
  case 3:
25
28
  values = _context.sent;
26
29
  setTimeout(function () {
@@ -7,6 +7,6 @@ declare const ProStep: {
7
7
  ({ children, ...resetProps }: ProStepPropsType): import("react/jsx-runtime").JSX.Element;
8
8
  useStep: () => any;
9
9
  Item: ({ id, title, collapse: collapseItem, children, ...restProps }: import("./propsType").ProStepItem) => import("react/jsx-runtime").JSX.Element;
10
- Listener: ({ children, delayTime, ...props }: any) => import("react").DetailedReactHTMLElement<any, HTMLElement>;
10
+ Listener: ({ children, delayTime, excludes, ...props }: any) => import("react").DetailedReactHTMLElement<any, HTMLElement>;
11
11
  };
12
12
  export default ProStep;
@@ -128,47 +128,54 @@ var ProStep = function ProStep(_ref) {
128
128
  registerMap.current[id] = record;
129
129
  };
130
130
  var notify = /*#__PURE__*/function () {
131
- var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
132
- var events, res, nextErrorCollection;
131
+ var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(params) {
132
+ var _ref7, excludes, triggerIds, events, res, nextErrorCollection;
133
133
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
134
134
  while (1) switch (_context2.prev = _context2.next) {
135
135
  case 0:
136
- events = Object.values(registerMap.current).map(function (item) {
137
- var _item$subEvent;
138
- return item === null || item === void 0 ? void 0 : (_item$subEvent = item.subEvent) === null || _item$subEvent === void 0 ? void 0 : _item$subEvent.call(item);
136
+ _ref7 = params || {}, excludes = _ref7.excludes;
137
+ triggerIds = Object.keys(registerMap.current); // 排除指定模块不触发校验
138
+ if (excludes === null || excludes === void 0 ? void 0 : excludes.length) {
139
+ triggerIds = triggerIds.filter(function (id) {
140
+ return !excludes.includes(id);
141
+ });
142
+ }
143
+ events = triggerIds.map(function (id) {
144
+ var _registerMap$current$, _registerMap$current$2;
145
+ return (_registerMap$current$ = registerMap.current[id]) === null || _registerMap$current$ === void 0 ? void 0 : (_registerMap$current$2 = _registerMap$current$.subEvent) === null || _registerMap$current$2 === void 0 ? void 0 : _registerMap$current$2.call(_registerMap$current$);
139
146
  });
140
- _context2.next = 3;
147
+ _context2.next = 6;
141
148
  return Promise.all(events);
142
- case 3:
149
+ case 6:
143
150
  res = _context2.sent;
144
151
  nextErrorCollection = {};
145
- Object.keys(registerMap.current).forEach(function (id, index) {
146
- var _ref7 = (res === null || res === void 0 ? void 0 : res[index]) || {},
147
- errorFields = _ref7.errorFields;
152
+ triggerIds.forEach(function (id, index) {
153
+ var _ref8 = (res === null || res === void 0 ? void 0 : res[index]) || {},
154
+ errorFields = _ref8.errorFields;
148
155
  nextErrorCollection[id] = (errorFields === null || errorFields === void 0 ? void 0 : errorFields.length) || 0;
149
156
  });
150
157
  setErrorCollection(nextErrorCollection);
151
158
  return _context2.abrupt("return", res);
152
- case 8:
159
+ case 11:
153
160
  case "end":
154
161
  return _context2.stop();
155
162
  }
156
163
  }, _callee2);
157
164
  }));
158
- return function notify() {
165
+ return function notify(_x) {
159
166
  return _ref6.apply(this, arguments);
160
167
  };
161
168
  }();
162
169
  var triggerTo = /*#__PURE__*/function () {
163
- var _ref8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(keys) {
170
+ var _ref9 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(keys) {
164
171
  var events, result, nextErrorCollection;
165
172
  return _regeneratorRuntime().wrap(function _callee3$(_context3) {
166
173
  while (1) switch (_context3.prev = _context3.next) {
167
174
  case 0:
168
175
  events = [];
169
176
  keys === null || keys === void 0 ? void 0 : keys.forEach(function (key) {
170
- var _registerMap$current, _registerMap$current$, _registerMap$current$2;
171
- events.push(registerMap === null || registerMap === void 0 ? void 0 : (_registerMap$current = registerMap.current) === null || _registerMap$current === void 0 ? void 0 : (_registerMap$current$ = _registerMap$current[key]) === null || _registerMap$current$ === void 0 ? void 0 : (_registerMap$current$2 = _registerMap$current$.subEvent) === null || _registerMap$current$2 === void 0 ? void 0 : _registerMap$current$2.call(_registerMap$current$));
177
+ var _registerMap$current, _registerMap$current$3, _registerMap$current$4;
178
+ events.push(registerMap === null || registerMap === void 0 ? void 0 : (_registerMap$current = registerMap.current) === null || _registerMap$current === void 0 ? void 0 : (_registerMap$current$3 = _registerMap$current[key]) === null || _registerMap$current$3 === void 0 ? void 0 : (_registerMap$current$4 = _registerMap$current$3.subEvent) === null || _registerMap$current$4 === void 0 ? void 0 : _registerMap$current$4.call(_registerMap$current$3));
172
179
  });
173
180
  _context3.next = 4;
174
181
  return Promise.all(events);
@@ -190,8 +197,8 @@ var ProStep = function ProStep(_ref) {
190
197
  }
191
198
  }, _callee3);
192
199
  }));
193
- return function triggerTo(_x) {
194
- return _ref8.apply(this, arguments);
200
+ return function triggerTo(_x2) {
201
+ return _ref9.apply(this, arguments);
195
202
  };
196
203
  }();
197
204
  useDeepCompareEffect(function () {
@@ -1,6 +1,12 @@
1
1
  import React from 'react';
2
2
  import { ProTableColumn } from '../../propsType';
3
- export declare const formatColumn: (column: ProTableColumn, originalObj: any, dataSourceObj: any, rowKey: any) => void;
3
+ export declare const formatColumn: ({ column, originalObj, dataSourceObj, rowKey, diffToolTip, }: {
4
+ column: ProTableColumn;
5
+ originalObj: any;
6
+ dataSourceObj: any;
7
+ rowKey: any;
8
+ diffToolTip?: boolean;
9
+ }) => void;
4
10
  /**
5
11
  * 查找最近的父级className
6
12
  * @param element 当前node节点