@zat-design/sisyphus-react 3.7.3-beta.2 → 3.7.3-beta.20

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 (118) hide show
  1. package/dist/index.esm.css +92 -2
  2. package/dist/less.esm.css +89 -2
  3. package/es/ProEditTable/components/RenderField/{ListChanged.d.ts → ListChangedWrapper.d.ts} +4 -3
  4. package/es/ProEditTable/components/RenderField/{ListChanged.js → ListChangedWrapper.js} +22 -10
  5. package/es/ProEditTable/components/RenderField/index.js +3 -3
  6. package/es/ProEnum/components/Group.js +10 -2
  7. package/es/ProEnum/index.js +5 -4
  8. package/es/ProEnum/style/index.less +14 -4
  9. package/es/ProForm/components/combination/Container/index.js +5 -3
  10. package/es/ProForm/components/combination/Container/propsType.d.ts +2 -1
  11. package/es/ProForm/components/combination/ProModalSelect/index.js +50 -45
  12. package/es/ProForm/components/combination/ProNumberRange/index.js +3 -1
  13. package/es/ProForm/components/render/ChangedWrapper.d.ts +17 -0
  14. package/es/ProForm/components/render/ChangedWrapper.js +108 -0
  15. package/es/ProForm/components/render/Render.js +7 -8
  16. package/es/ProForm/components/render/RenderFields.d.ts +2 -3
  17. package/es/ProForm/components/render/RenderFields.js +3 -4
  18. package/es/ProForm/components/render/propsType.d.ts +4 -3
  19. package/es/ProForm/index.js +3 -6
  20. package/es/ProForm/propsType.d.ts +13 -2
  21. package/es/ProForm/style/index.less +102 -4
  22. package/es/ProForm/utils/diffOriginal.d.ts +4 -4
  23. package/es/ProForm/utils/diffOriginal.js +18 -7
  24. package/es/ProForm/utils/transformValue.js +17 -11
  25. package/es/ProSelect/index.js +3 -3
  26. package/es/ProSelect/utils/index.js +5 -4
  27. package/es/ProStep/components/Listener/index.d.ts +1 -1
  28. package/es/ProStep/components/Listener/index.js +5 -2
  29. package/es/ProStep/index.d.ts +1 -1
  30. package/es/ProStep/index.js +24 -17
  31. package/es/ProTable/components/FormatColumn/index.d.ts +7 -1
  32. package/es/ProTable/components/FormatColumn/index.js +14 -8
  33. package/es/ProTable/index.js +30 -13
  34. package/es/ProTable/propsType.d.ts +14 -1
  35. package/es/ProTable/style/index.less +1 -1
  36. package/es/ProTree/components/AdaptiveTooltip.d.ts +4 -0
  37. package/es/ProTree/components/AdaptiveTooltip.js +55 -0
  38. package/es/ProTree/components/List.js +15 -3
  39. package/es/ProTree/components/ProTreeSelect/index.js +25 -5
  40. package/es/ProTree/components/ProTreeSelect/propsType.d.ts +2 -0
  41. package/es/ProTree/components/ProTreeSelect/style/index.less +2 -2
  42. package/es/ProTree/components/SearchTitle.d.ts +2 -0
  43. package/es/ProTree/components/SearchTitle.js +17 -8
  44. package/es/ProTree/style/index.less +14 -0
  45. package/es/ProTreeModal/components/Tree.js +15 -17
  46. package/es/ProTreeModal/index.js +62 -7
  47. package/es/ProTreeModal/utils.d.ts +1 -0
  48. package/es/ProTreeModal/utils.js +21 -1
  49. package/es/style/theme/antd.less +5 -0
  50. package/es/style/theme/index.less +2 -1
  51. package/es/style/theme/tokens.less +1 -0
  52. package/es/utils/index.d.ts +2 -0
  53. package/es/utils/index.js +13 -0
  54. package/lib/ProEditTable/components/RenderField/{ListChanged.d.ts → ListChangedWrapper.d.ts} +4 -3
  55. package/lib/ProEditTable/components/RenderField/{ListChanged.js → ListChangedWrapper.js} +25 -11
  56. package/lib/ProEditTable/components/RenderField/index.js +3 -3
  57. package/lib/ProEnum/components/Group.js +10 -2
  58. package/lib/ProEnum/index.js +5 -4
  59. package/lib/ProEnum/style/index.less +14 -4
  60. package/lib/ProForm/components/combination/Container/index.js +5 -3
  61. package/lib/ProForm/components/combination/Container/propsType.d.ts +2 -1
  62. package/lib/ProForm/components/combination/ProModalSelect/index.js +49 -44
  63. package/lib/ProForm/components/combination/ProNumberRange/index.js +3 -1
  64. package/lib/ProForm/components/render/ChangedWrapper.d.ts +17 -0
  65. package/lib/ProForm/components/render/ChangedWrapper.js +113 -0
  66. package/lib/ProForm/components/render/Render.js +7 -8
  67. package/lib/ProForm/components/render/RenderFields.d.ts +2 -3
  68. package/lib/ProForm/components/render/RenderFields.js +3 -4
  69. package/lib/ProForm/components/render/propsType.d.ts +4 -3
  70. package/lib/ProForm/index.js +3 -6
  71. package/lib/ProForm/propsType.d.ts +13 -2
  72. package/lib/ProForm/style/index.less +102 -4
  73. package/lib/ProForm/utils/diffOriginal.d.ts +4 -4
  74. package/lib/ProForm/utils/diffOriginal.js +18 -7
  75. package/lib/ProForm/utils/transformValue.js +17 -11
  76. package/lib/ProSelect/index.js +3 -3
  77. package/lib/ProSelect/utils/index.js +5 -4
  78. package/lib/ProStep/components/Listener/index.d.ts +1 -1
  79. package/lib/ProStep/components/Listener/index.js +5 -2
  80. package/lib/ProStep/index.d.ts +1 -1
  81. package/lib/ProStep/index.js +24 -17
  82. package/lib/ProTable/components/FormatColumn/index.d.ts +7 -1
  83. package/lib/ProTable/components/FormatColumn/index.js +14 -8
  84. package/lib/ProTable/index.js +30 -13
  85. package/lib/ProTable/propsType.d.ts +14 -1
  86. package/lib/ProTable/style/index.less +1 -1
  87. package/lib/ProTree/components/AdaptiveTooltip.d.ts +4 -0
  88. package/lib/ProTree/components/AdaptiveTooltip.js +61 -0
  89. package/lib/ProTree/components/List.js +15 -3
  90. package/lib/ProTree/components/ProTreeSelect/index.js +25 -5
  91. package/lib/ProTree/components/ProTreeSelect/propsType.d.ts +2 -0
  92. package/lib/ProTree/components/ProTreeSelect/style/index.less +2 -2
  93. package/lib/ProTree/components/SearchTitle.d.ts +2 -0
  94. package/lib/ProTree/components/SearchTitle.js +19 -7
  95. package/lib/ProTree/style/index.less +14 -0
  96. package/lib/ProTreeModal/components/Tree.js +15 -17
  97. package/lib/ProTreeModal/index.js +61 -6
  98. package/lib/ProTreeModal/utils.d.ts +1 -0
  99. package/lib/ProTreeModal/utils.js +20 -0
  100. package/lib/style/theme/antd.less +5 -0
  101. package/lib/style/theme/index.less +2 -1
  102. package/lib/style/theme/tokens.less +1 -0
  103. package/lib/utils/index.d.ts +2 -0
  104. package/lib/utils/index.js +19 -0
  105. package/package.json +1 -1
  106. package/.vscode/extensions.json +0 -5
  107. package/es/ProForm/components/render/Changed.d.ts +0 -14
  108. package/es/ProForm/components/render/Changed.js +0 -64
  109. package/lib/ProForm/components/render/Changed.d.ts +0 -14
  110. package/lib/ProForm/components/render/Changed.js +0 -69
  111. /package/es/ProForm/utils/{useChanged.d.ts → _useChanged.d.ts} +0 -0
  112. /package/es/ProForm/utils/{useChanged.js → _useChanged.js} +0 -0
  113. /package/es/ProForm/utils/{useListChanged.d.ts → _useListChanged.d.ts} +0 -0
  114. /package/es/ProForm/utils/{useListChanged.js → _useListChanged.js} +0 -0
  115. /package/lib/ProForm/utils/{useChanged.d.ts → _useChanged.d.ts} +0 -0
  116. /package/lib/ProForm/utils/{useChanged.js → _useChanged.js} +0 -0
  117. /package/lib/ProForm/utils/{useListChanged.d.ts → _useListChanged.d.ts} +0 -0
  118. /package/lib/ProForm/utils/{useListChanged.js → _useListChanged.js} +0 -0
@@ -26,7 +26,7 @@ var _valueType = _interopRequireDefault(require("../../utils/valueType"));
26
26
  var _tip = _interopRequireDefault(require("../../../assets/tip.svg"));
27
27
  var _useRules = _interopRequireDefault(require("../../utils/useRules"));
28
28
  var _ConfirmWrapper = _interopRequireDefault(require("./ConfirmWrapper"));
29
- var _Changed = _interopRequireDefault(require("./Changed"));
29
+ var _ChangedWrapper = _interopRequireDefault(require("./ChangedWrapper"));
30
30
  var _excluded = ["labelWidth", "hiddenNames", "trim", "upperCase", "className", "rules", "required", "labelRequired", "tooltip"];
31
31
  /* eslint-disable prefer-destructuring */
32
32
  // 这个组件只管渲染, 参数的整理在外部处理
@@ -46,12 +46,11 @@ var Render = function Render(props) {
46
46
  formDisabled = props.formDisabled,
47
47
  type = props.type,
48
48
  isSelect = props.isSelect,
49
- originalValues = props.originalValues,
50
49
  equalWith = props.equalWith,
51
50
  requiredOnView = props.requiredOnView,
52
- originalDiffTip = props.originalDiffTip,
53
51
  confirm = props.confirm,
54
- globalControl = props.globalControl;
52
+ globalControl = props.globalControl,
53
+ diffConfig = props.diffConfig;
55
54
  var colProps = props.colProps;
56
55
  // 剔除一些不是FormItem的属性, 防止控制台报warning
57
56
  var labelWidth = formItemProps.labelWidth,
@@ -427,17 +426,17 @@ var Render = function Render(props) {
427
426
  span: 24 // 默认占一行
428
427
  });
429
428
  }
430
- if (originalValues) {
431
- child = (0, _jsxRuntime.jsx)(_Changed.default, {
429
+ if (diffConfig) {
430
+ child = (0, _jsxRuntime.jsx)(_ChangedWrapper.default, {
432
431
  name: formItemProps.name,
433
432
  names: otherProps.names,
434
433
  namesStr: namesStr,
435
- originalValues: originalValues,
434
+ diffConfig: diffConfig,
436
435
  form: form,
437
436
  equalWith: equalWith,
438
- originalDiffTip: originalDiffTip,
439
437
  type: type,
440
438
  onChange: handleChange,
439
+ valuePropName: _otherFormItemProps.valuePropName,
441
440
  children: child
442
441
  });
443
442
  }
@@ -2,7 +2,7 @@ import { ColProps } from 'antd';
2
2
  import { FormInstance } from 'antd/es/form/Form';
3
3
  import React from 'react';
4
4
  import { ProColumnProps } from './propsType';
5
- import { ProFormProps } from '../../propsType';
5
+ import { DiffConfigProps } from '../../propsType';
6
6
  interface Props<T = any> {
7
7
  isView?: boolean;
8
8
  columns: ProColumnProps[];
@@ -13,11 +13,10 @@ interface Props<T = any> {
13
13
  viewEmpty?: React.ReactNode;
14
14
  openState?: boolean;
15
15
  labelWidth?: string | number;
16
- originalValues?: ProFormProps<T>['originalValues'];
16
+ diffConfig?: DiffConfigProps;
17
17
  clearNotShow?: boolean;
18
18
  requiredOnView?: boolean;
19
19
  required?: boolean | boolean[] | (() => boolean | boolean[]);
20
- originalDiffTip?: boolean;
21
20
  globalControl?: boolean;
22
21
  }
23
22
  declare const RenderFields: React.FC<Props>;
@@ -30,11 +30,10 @@ var RenderFields = function RenderFields(props) {
30
30
  viewEmpty = _props$viewEmpty === void 0 ? '-' : _props$viewEmpty,
31
31
  openState = props.openState,
32
32
  labelWidth = props.labelWidth,
33
- originalValues = props.originalValues,
34
33
  outerClearNotShow = props.clearNotShow,
35
34
  requiredOnView = props.requiredOnView,
36
35
  required = props.required,
37
- originalDiffTip = props.originalDiffTip,
36
+ diffConfig = props.diffConfig,
38
37
  globalControl = props.globalControl;
39
38
  // 是否包含隐藏字段
40
39
  var hiddenData = columns.filter(function (item) {
@@ -162,6 +161,7 @@ var RenderFields = function RenderFields(props) {
162
161
  if (['ProCollapse', 'Container'].includes(_type)) {
163
162
  componentProps.show = show;
164
163
  componentProps.clearNotShow = clearNotShow;
164
+ componentProps.diffConfig = diffConfig;
165
165
  }
166
166
  // switch与SwitchCheckbox单独添加valuePropName
167
167
  if (['Switch', 'SwitchCheckbox'].includes(_type)) {
@@ -214,10 +214,9 @@ var RenderFields = function RenderFields(props) {
214
214
  otherProps: otherProps,
215
215
  fieldProps: (0, _lodash.isFunction)(fieldProps) ? fieldProps : null,
216
216
  isSelect: _isSelect,
217
- originalValues: originalValues,
217
+ diffConfig: diffConfig,
218
218
  equalWith: equalWith,
219
219
  requiredOnView: requiredOnView,
220
- originalDiffTip: originalDiffTip,
221
220
  globalControl: globalControl
222
221
  })
223
222
  }, "".concat(_formItemProps.name || _formItemProps.label).concat(index));
@@ -30,7 +30,8 @@ import { ProUploadProps } from '../../../ProUpload/propsType';
30
30
  import { ProTreeProps } from '../../../ProTree/propsType';
31
31
  import { GroupProps as GroupCopyProps } from '../combination/Group/propsType';
32
32
  import { ProCollapseProps } from '../../../ProLayout/components/ProCollapse/PropTypes';
33
- import { DistributiveOmit } from '../../propsType';
33
+ import { DistributiveOmit, DiffConfigProps } from '../../propsType';
34
+ import { DiffOriginalParams } from '../../utils/diffOriginal';
34
35
  export type ComponentMap = keyof typeof componentMap;
35
36
  type ValidateKey = keyof typeof validate;
36
37
  type RegExpKey = keyof typeof regExp;
@@ -201,7 +202,7 @@ export interface ProFormColumnProps<Values = any> extends Omit<FormItemProps<Val
201
202
  upperCase?: boolean;
202
203
  hiddenNames?: string[] | any[];
203
204
  rules?: ProRule[] | ReactiveFunction<Values, ProRule[]>;
204
- equalWith?: (originValue: any, currentValue: any) => boolean;
205
+ equalWith?: DiffOriginalParams['equalWith'];
205
206
  required?: boolean | boolean[] | ReactiveFunction<Values, boolean | boolean[]>;
206
207
  labelRequired?: boolean;
207
208
  toISOString?: boolean;
@@ -267,7 +268,7 @@ export interface RenderProps<Values = any> {
267
268
  form: FormInstance<Values>;
268
269
  fieldProps?: ReactiveFunction<Values, React.ReactNode>;
269
270
  isSelect: boolean;
270
- originalValues?: Values;
271
+ diffConfig: DiffConfigProps;
271
272
  requiredOnView?: boolean;
272
273
  confirm?: ProFormColumnProps['confirm'];
273
274
  globalControl?: boolean;
@@ -25,7 +25,7 @@ var _useForm3 = require("./utils/useForm");
25
25
  var _useFieldProps = require("./utils/useFieldProps");
26
26
  var _locale = _interopRequireDefault(require("../locale"));
27
27
  var _useWatch = _interopRequireDefault(require("./utils/useWatch"));
28
- var _excluded = ["mode", "span", "disabled", "isView", "columns", "footer", "onOk", "okText", "onCancel", "confirmLoading", "cancelText", "form", "children", "rowProps", "className", "expand", "expandOpen", "expandOpenChange", "viewEmpty", "labelAlign", "labelWidth", "onValuesChange", "onFinish", "originalValues", "submitOnEnter", "clearNotShow", "initialValues", "requiredOnView", "formId", "required", "originalDiffTip", "formKey", "globalControl", "scrollToError", "optimize"];
28
+ var _excluded = ["mode", "span", "disabled", "isView", "columns", "footer", "onOk", "okText", "onCancel", "confirmLoading", "cancelText", "form", "children", "rowProps", "className", "expand", "expandOpen", "expandOpenChange", "viewEmpty", "labelAlign", "labelWidth", "onValuesChange", "onFinish", "diffConfig", "submitOnEnter", "clearNotShow", "initialValues", "requiredOnView", "formId", "required", "formKey", "globalControl", "scrollToError", "optimize"];
29
29
  var ProForm = function ProForm(props, ref) {
30
30
  var _forms$formKey, _localStorage, _ref;
31
31
  var _props$mode = props.mode,
@@ -54,7 +54,7 @@ var ProForm = function ProForm(props, ref) {
54
54
  labelWidth = props.labelWidth,
55
55
  onValuesChange = props.onValuesChange,
56
56
  onFinish = props.onFinish,
57
- originalValues = props.originalValues,
57
+ diffConfig = props.diffConfig,
58
58
  submitOnEnter = props.submitOnEnter,
59
59
  _props$clearNotShow = props.clearNotShow,
60
60
  clearNotShow = _props$clearNotShow === void 0 ? true : _props$clearNotShow,
@@ -63,8 +63,6 @@ var ProForm = function ProForm(props, ref) {
63
63
  requiredOnView = _props$requiredOnView === void 0 ? true : _props$requiredOnView,
64
64
  formId = props.formId,
65
65
  required = props.required,
66
- _props$originalDiffTi = props.originalDiffTip,
67
- originalDiffTip = _props$originalDiffTi === void 0 ? true : _props$originalDiffTi,
68
66
  formKey = props.formKey,
69
67
  globalControl = props.globalControl,
70
68
  _props$scrollToError = props.scrollToError,
@@ -262,11 +260,10 @@ var ProForm = function ProForm(props, ref) {
262
260
  colProps: colProps,
263
261
  viewEmpty: viewEmpty,
264
262
  labelWidth: labelWidth,
265
- originalValues: originalValues,
263
+ diffConfig: diffConfig,
266
264
  clearNotShow: clearNotShow,
267
265
  requiredOnView: requiredOnView,
268
266
  required: required,
269
- originalDiffTip: originalDiffTip,
270
267
  globalControl: globalControl
271
268
  }), footerRender()]
272
269
  })), children]
@@ -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
  }
@@ -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;
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.diffOriginal = void 0;
7
7
  var _lodash = require("lodash");
8
+ var _utils = require("../../utils");
8
9
  var nullValue = [null, undefined, '']; // 输入框空值时可能存在的三种值 视为相等
9
10
  var diffOriginal = exports.diffOriginal = function diffOriginal(params) {
10
11
  var originalValue = params.originalValue,
@@ -12,19 +13,29 @@ var diffOriginal = exports.diffOriginal = function diffOriginal(params) {
12
13
  equalWith = params.equalWith;
13
14
  // 支持传入自定义比较事件
14
15
  if ((0, _lodash.isFunction)(equalWith)) {
15
- return !equalWith(originalValue, value);
16
+ var diffRes = equalWith(originalValue, value);
17
+ if (diffRes === undefined) return 'same';
18
+ if (typeof diffRes === 'boolean') {
19
+ return diffRes ? 'same' : 'changed';
20
+ }
21
+ return diffRes;
22
+ }
23
+ // 如果原始值为空 且当前有值的话 认为变更类型是新增
24
+ if ((0, _utils.isEmpty)(originalValue) && !(0, _utils.isEmpty)(value)) {
25
+ return 'add';
16
26
  }
17
27
  if (Array.isArray(originalValue)) {
18
- return originalValue.some(function (valueItem, index) {
28
+ var isSame = originalValue.every(function (valueItem, index) {
19
29
  // 如果两个值有一个不是空值, 则进行深比较
20
- if (!nullValue.includes(value === null || value === void 0 ? void 0 : value[index]) || !nullValue.includes(valueItem)) {
21
- return !(0, _lodash.isEqual)(value === null || value === void 0 ? void 0 : value[index], valueItem);
30
+ if (!(0, _utils.isEmpty)(value === null || value === void 0 ? void 0 : value[index]) || !(0, _utils.isEmpty)(valueItem)) {
31
+ return (0, _lodash.isEqual)(value === null || value === void 0 ? void 0 : value[index], valueItem);
22
32
  }
23
- return false;
33
+ return true;
24
34
  });
35
+ return isSame ? 'same' : 'changed';
25
36
  }
26
37
  if (!nullValue.includes(value) || !nullValue.includes(originalValue)) {
27
- return !(0, _lodash.isEqual)(value, originalValue);
38
+ return (0, _lodash.isEqual)(value, originalValue) ? 'same' : 'changed';
28
39
  }
29
- return false;
40
+ return 'same';
30
41
  };
@@ -6,10 +6,9 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.transformValue = exports.default = void 0;
8
8
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
9
  var _lodash = require("lodash");
11
10
  var _utils = require("../utils");
12
- var _excluded = ["value"];
11
+ var _utils2 = require("../../utils");
13
12
  var transformValue = exports.transformValue = function transformValue(names, form, fieldName, _normalize, _getValueProps) {
14
13
  return {
15
14
  normalize: function normalize(value) {
@@ -29,23 +28,30 @@ var transformValue = exports.transformValue = function transformValue(names, for
29
28
  return _value;
30
29
  },
31
30
  getValueProps: function getValueProps(value) {
31
+ var _curValue;
32
32
  var _value = [];
33
33
  names.forEach(function (name, index) {
34
34
  var value = form.getFieldValue(name);
35
35
  _value[index] = value;
36
36
  });
37
37
  // 支持外部传入转换函数
38
- var _ref = (_getValueProps === null || _getValueProps === void 0 ? void 0 : _getValueProps(_value)) || {
39
- value: _value
40
- },
41
- cusValue = _ref.value,
42
- cusRest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
38
+ var res = (_getValueProps === null || _getValueProps === void 0 ? void 0 : _getValueProps(_value)) || {
39
+ value: _value
40
+ };
41
+ // 如果数组中值都为空, 则值置为空
42
+ var curValue = res === null || res === void 0 ? void 0 : res.value;
43
43
  // @ts-ignore
44
- (0, _lodash.set)(form.getFieldsValue(true), fieldName, cusValue);
44
+ if ((_curValue = curValue) === null || _curValue === void 0 ? void 0 : _curValue.every(function (item) {
45
+ return (0, _utils2.isEmpty)(item);
46
+ })) {
47
+ curValue = undefined;
48
+ }
49
+ // @ts-ignore
50
+ (0, _lodash.set)(form.getFieldsValue(true), fieldName, curValue);
45
51
  // 如果表单里的值和组合得到的值不全等 更新表单里的值、
46
- return (0, _objectSpread2.default)({
47
- value: cusValue
48
- }, cusRest);
52
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, res), {}, {
53
+ value: curValue
54
+ });
49
55
  },
50
56
  shouldUpdate: function shouldUpdate(prevValues, curValues) {
51
57
  return (0, _utils.diffField)(prevValues, curValues, names);
@@ -297,7 +297,8 @@ var ProSelect = exports.ProSelect = function ProSelect(props, ref) {
297
297
  showArrow: true,
298
298
  loading: fetchFunction === null || fetchFunction === void 0 ? void 0 : fetchFunction.loading,
299
299
  onChange: handleChange,
300
- optionLabelProp: "children" // 解决warning报错,添加默认值
300
+ // optionLabelProp={otherProps?.isDiffChange ? "label" : 'children'} // 解决warning报错,添加默认值
301
+ optionLabelProp: "label" // 解决warning报错,添加默认值
301
302
  ,
302
303
  showSearch: true,
303
304
  filterOption: (0, _lodash.isFunction)(_onSearch) ? false : function (input, option) {
@@ -315,16 +316,15 @@ var ProSelect = exports.ProSelect = function ProSelect(props, ref) {
315
316
  value: transformValue(),
316
317
  children: Array.isArray(newSelectList) && newSelectList.map(function (item) {
317
318
  return (0, _jsxRuntime.jsx)(Option, {
319
+ label: item[label],
318
320
  value: item[code],
319
321
  record: item,
320
322
  disabled: !!item.disabled,
321
323
  children: (0, _jsxRuntime.jsx)(TooltipOption, {
322
324
  title: OptionRender ? OptionRender(item) : selectProps.showCodeName ? "".concat(item[code], "-").concat(item[label]) : item[label],
323
325
  children: OptionRender ? (0, _jsxRuntime.jsx)("span", {
324
- title: OptionRender(item),
325
326
  children: OptionRender(item)
326
327
  }) : (0, _jsxRuntime.jsx)("span", {
327
- title: selectProps.showCodeName ? "".concat(item[code], "-").concat(item[label]) : item[label],
328
328
  children: selectProps.showCodeName ? "".concat(item[code], "-").concat(item[label]) : item[label]
329
329
  })
330
330
  }, item[code])
@@ -38,7 +38,7 @@ var findSelectNameValues = function findSelectNameValues(_ref) {
38
38
  _iterator.f();
39
39
  }
40
40
  if (mode === 'multiple') {
41
- selectValues = [].concat((0, _toConsumableArray2.default)(selectValues), (0, _toConsumableArray2.default)(result));
41
+ selectValues = [].concat((0, _toConsumableArray2.default)(selectValues), (0, _toConsumableArray2.default)(result || []));
42
42
  } else {
43
43
  selectValues.push(result);
44
44
  }
@@ -61,13 +61,14 @@ var getSelectList = exports.getSelectList = function getSelectList(_ref2) {
61
61
  if (!otherProps) {
62
62
  return null;
63
63
  }
64
- var listName = otherProps.listName,
64
+ var name = otherProps.name,
65
+ listName = otherProps.listName,
65
66
  form = otherProps.form;
66
67
  var firstNumberIndex = listName.lastIndexOf(listName.findLast(function (item) {
67
68
  return typeof item === 'number';
68
69
  }));
69
- var fatherName = listName.slice(0, firstNumberIndex);
70
- var selectName = listName.slice(firstNumberIndex + 1);
70
+ var fatherName = (name || listName).slice(0, firstNumberIndex);
71
+ var selectName = (name || listName).slice(firstNumberIndex + 1);
71
72
  return findSelectNameValues({
72
73
  list: form.getFieldValue(fatherName) || [],
73
74
  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;
@@ -12,10 +12,11 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
12
12
  var _lodash = require("lodash");
13
13
  var _react = _interopRequireDefault(require("react"));
14
14
  var _index = require("../../index");
15
- var _excluded = ["children", "delayTime"];
15
+ var _excluded = ["children", "delayTime", "excludes"];
16
16
  var _default = exports.default = function _default(_ref) {
17
17
  var children = _ref.children,
18
18
  delayTime = _ref.delayTime,
19
+ excludes = _ref.excludes,
19
20
  props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
20
21
  var _useStep = (0, _index.useStep)(),
21
22
  notify = _useStep.notify;
@@ -27,7 +28,9 @@ var _default = exports.default = function _default(_ref) {
27
28
  case 0:
28
29
  localStorage.setItem('cache-pro-step', '');
29
30
  _context.next = 3;
30
- return notify === null || notify === void 0 ? void 0 : notify();
31
+ return notify === null || notify === void 0 ? void 0 : notify({
32
+ excludes: excludes
33
+ });
31
34
  case 3:
32
35
  values = _context.sent;
33
36
  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;
@@ -135,47 +135,54 @@ var ProStep = function ProStep(_ref) {
135
135
  registerMap.current[id] = record;
136
136
  };
137
137
  var notify = /*#__PURE__*/function () {
138
- var _ref6 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee2() {
139
- var events, res, nextErrorCollection;
138
+ var _ref6 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee2(params) {
139
+ var _ref7, excludes, triggerIds, events, res, nextErrorCollection;
140
140
  return (0, _regeneratorRuntime2.default)().wrap(function _callee2$(_context2) {
141
141
  while (1) switch (_context2.prev = _context2.next) {
142
142
  case 0:
143
- events = Object.values(registerMap.current).map(function (item) {
144
- var _item$subEvent;
145
- return item === null || item === void 0 ? void 0 : (_item$subEvent = item.subEvent) === null || _item$subEvent === void 0 ? void 0 : _item$subEvent.call(item);
143
+ _ref7 = params || {}, excludes = _ref7.excludes;
144
+ triggerIds = Object.keys(registerMap.current); // 排除指定模块不触发校验
145
+ if (excludes === null || excludes === void 0 ? void 0 : excludes.length) {
146
+ triggerIds = triggerIds.filter(function (id) {
147
+ return !excludes.includes(id);
148
+ });
149
+ }
150
+ events = triggerIds.map(function (id) {
151
+ var _registerMap$current$, _registerMap$current$2;
152
+ 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$);
146
153
  });
147
- _context2.next = 3;
154
+ _context2.next = 6;
148
155
  return Promise.all(events);
149
- case 3:
156
+ case 6:
150
157
  res = _context2.sent;
151
158
  nextErrorCollection = {};
152
- Object.keys(registerMap.current).forEach(function (id, index) {
153
- var _ref7 = (res === null || res === void 0 ? void 0 : res[index]) || {},
154
- errorFields = _ref7.errorFields;
159
+ triggerIds.forEach(function (id, index) {
160
+ var _ref8 = (res === null || res === void 0 ? void 0 : res[index]) || {},
161
+ errorFields = _ref8.errorFields;
155
162
  nextErrorCollection[id] = (errorFields === null || errorFields === void 0 ? void 0 : errorFields.length) || 0;
156
163
  });
157
164
  setErrorCollection(nextErrorCollection);
158
165
  return _context2.abrupt("return", res);
159
- case 8:
166
+ case 11:
160
167
  case "end":
161
168
  return _context2.stop();
162
169
  }
163
170
  }, _callee2);
164
171
  }));
165
- return function notify() {
172
+ return function notify(_x) {
166
173
  return _ref6.apply(this, arguments);
167
174
  };
168
175
  }();
169
176
  var triggerTo = /*#__PURE__*/function () {
170
- var _ref8 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee3(keys) {
177
+ var _ref9 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee3(keys) {
171
178
  var events, result, nextErrorCollection;
172
179
  return (0, _regeneratorRuntime2.default)().wrap(function _callee3$(_context3) {
173
180
  while (1) switch (_context3.prev = _context3.next) {
174
181
  case 0:
175
182
  events = [];
176
183
  keys === null || keys === void 0 ? void 0 : keys.forEach(function (key) {
177
- var _registerMap$current, _registerMap$current$, _registerMap$current$2;
178
- 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$));
184
+ var _registerMap$current, _registerMap$current$3, _registerMap$current$4;
185
+ 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));
179
186
  });
180
187
  _context3.next = 4;
181
188
  return Promise.all(events);
@@ -197,8 +204,8 @@ var ProStep = function ProStep(_ref) {
197
204
  }
198
205
  }, _callee3);
199
206
  }));
200
- return function triggerTo(_x) {
201
- return _ref8.apply(this, arguments);
207
+ return function triggerTo(_x2) {
208
+ return _ref9.apply(this, arguments);
202
209
  };
203
210
  }();
204
211
  (0, _ahooks.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节点