@zat-design/sisyphus-react 3.8.3-beta.1 → 3.8.3-beta.10

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 (55) hide show
  1. package/dist/index.esm.css +16 -0
  2. package/dist/less.esm.css +16 -0
  3. package/es/ProEditTable/components/RenderField/ListChangedWrapper.js +21 -7
  4. package/es/ProEditTable/components/RenderField/index.js +8 -1
  5. package/es/ProEditTable/index.js +0 -1
  6. package/es/ProEditTable/propsType.d.ts +0 -1
  7. package/es/ProEditTable/utils/index.js +10 -3
  8. package/es/ProForm/components/combination/FormList/components/BlockFields.d.ts +2 -0
  9. package/es/ProForm/components/combination/FormList/components/BlockFields.js +4 -2
  10. package/es/ProForm/components/combination/FormList/components/LineFields.d.ts +2 -0
  11. package/es/ProForm/components/combination/FormList/components/LineFields.js +4 -2
  12. package/es/ProForm/components/combination/FormList/index.js +14 -3
  13. package/es/ProForm/components/combination/ProCascader/index.js +20 -13
  14. package/es/ProForm/components/combination/ProModalSelect/index.js +17 -3
  15. package/es/ProForm/components/render/ChangedWrapper.js +14 -2
  16. package/es/ProForm/components/render/Render.js +3 -1
  17. package/es/ProForm/components/render/RenderFields.js +4 -2
  18. package/es/ProForm/propsType.d.ts +1 -0
  19. package/es/ProForm/style/index.less +7 -0
  20. package/es/ProForm/utils/diffOriginal.js +14 -2
  21. package/es/ProForm/utils/useShouldUpdate.js +1 -9
  22. package/es/ProTable/components/FormatColumn/index.d.ts +2 -1
  23. package/es/ProTable/components/FormatColumn/index.js +61 -21
  24. package/es/ProTable/components/RenderColumn/index.d.ts +1 -0
  25. package/es/ProTable/components/RenderColumn/index.js +7 -4
  26. package/es/ProTable/index.js +8 -7
  27. package/es/ProTable/propsType.d.ts +4 -0
  28. package/es/ProTable/style/index.less +14 -0
  29. package/lib/ProEditTable/components/RenderField/ListChangedWrapper.js +20 -6
  30. package/lib/ProEditTable/components/RenderField/index.js +8 -1
  31. package/lib/ProEditTable/index.js +0 -1
  32. package/lib/ProEditTable/propsType.d.ts +0 -1
  33. package/lib/ProEditTable/utils/index.js +10 -3
  34. package/lib/ProForm/components/combination/FormList/components/BlockFields.d.ts +2 -0
  35. package/lib/ProForm/components/combination/FormList/components/BlockFields.js +4 -2
  36. package/lib/ProForm/components/combination/FormList/components/LineFields.d.ts +2 -0
  37. package/lib/ProForm/components/combination/FormList/components/LineFields.js +4 -2
  38. package/lib/ProForm/components/combination/FormList/index.js +14 -3
  39. package/lib/ProForm/components/combination/ProCascader/index.js +20 -13
  40. package/lib/ProForm/components/combination/ProModalSelect/index.js +17 -3
  41. package/lib/ProForm/components/render/ChangedWrapper.js +14 -2
  42. package/lib/ProForm/components/render/Render.js +3 -1
  43. package/lib/ProForm/components/render/RenderFields.js +4 -2
  44. package/lib/ProForm/propsType.d.ts +1 -0
  45. package/lib/ProForm/style/index.less +7 -0
  46. package/lib/ProForm/utils/diffOriginal.js +13 -1
  47. package/lib/ProForm/utils/useShouldUpdate.js +1 -9
  48. package/lib/ProTable/components/FormatColumn/index.d.ts +2 -1
  49. package/lib/ProTable/components/FormatColumn/index.js +61 -21
  50. package/lib/ProTable/components/RenderColumn/index.d.ts +1 -0
  51. package/lib/ProTable/components/RenderColumn/index.js +6 -3
  52. package/lib/ProTable/index.js +8 -7
  53. package/lib/ProTable/propsType.d.ts +4 -0
  54. package/lib/ProTable/style/index.less +14 -0
  55. package/package.json +1 -1
@@ -51,7 +51,8 @@ export var formatColumn = function formatColumn(_ref2) {
51
51
  diffToolTip = _ref2.diffToolTip,
52
52
  wrapToolTipProps = _ref2.wrapToolTipProps,
53
53
  scroll = _ref2.scroll,
54
- onUpdateMinWidth = _ref2.onUpdateMinWidth;
54
+ onUpdateMinWidth = _ref2.onUpdateMinWidth,
55
+ isInNewRow = _ref2.isInNewRow;
55
56
  var title = column.title,
56
57
  valueType = column.valueType,
57
58
  _column$format = column.format,
@@ -71,7 +72,8 @@ export var formatColumn = function formatColumn(_ref2) {
71
72
  originalDiffTip = _column$originalDiffT === void 0 ? true : _column$originalDiffT,
72
73
  _column$toolTipProps = column.toolTipProps,
73
74
  toolTipProps = _column$toolTipProps === void 0 ? {} : _column$toolTipProps,
74
- minWidth = column.minWidth;
75
+ minWidth = column.minWidth,
76
+ onDiff = column.onDiff;
75
77
  // 仅在 {x: 'max-content', y: 300 } 且 column无指定 width minWidth 情况下 才开启 minWidth的自动计算
76
78
  var isMaxContentOverFlow = isObject(scroll) ? (scroll === null || scroll === void 0 ? void 0 : scroll.x) === 'max-content' && Reflect.ownKeys(scroll).includes('y') : false;
77
79
  calcMinWidth({
@@ -108,7 +110,7 @@ export var formatColumn = function formatColumn(_ref2) {
108
110
  }
109
111
  };
110
112
  if (column === null || column === void 0 ? void 0 : column.render) {
111
- if (!originalObj && Object.keys(originalObj !== null && originalObj !== void 0 ? originalObj : {}).length === 0) {
113
+ if (!originalObj && Object.keys(originalObj !== null && originalObj !== void 0 ? originalObj : {}).length === 0 && !onDiff) {
112
114
  return;
113
115
  }
114
116
  var originalRender = column.render; // 保存原始的 render 方法
@@ -116,12 +118,23 @@ export var formatColumn = function formatColumn(_ref2) {
116
118
  column.render = function (value, record, index) {
117
119
  var _originalObj$record$r;
118
120
  var isFn = isFunction(originalRender);
119
- var _value = isFn ? originalRender === null || originalRender === void 0 ? void 0 : originalRender(value, record !== null && record !== void 0 ? record : {}, index) : undefined;
121
+ var _value = isFn ? originalRender === null || originalRender === void 0 ? void 0 : originalRender(value, record !== null && record !== void 0 ? record : {}, index) : null;
120
122
  var originalValue = getOriginalValue(value, record !== null && record !== void 0 ? record : {}, originalObj, rowKey, dataIndex);
121
- var originalRenderValue = isFn ? originalRender === null || originalRender === void 0 ? void 0 : originalRender(originalValue, (_originalObj$record$r = originalObj === null || originalObj === void 0 ? void 0 : originalObj[record === null || record === void 0 ? void 0 : record[rowKey]]) !== null && _originalObj$record$r !== void 0 ? _originalObj$record$r : {}, index) : undefined;
123
+ var originalRenderValue = isFn ? originalRender === null || originalRender === void 0 ? void 0 : originalRender(originalValue, (_originalObj$record$r = originalObj === null || originalObj === void 0 ? void 0 : originalObj[record === null || record === void 0 ? void 0 : record[rowKey]]) !== null && _originalObj$record$r !== void 0 ? _originalObj$record$r : {}, index) : null;
124
+ var isInNewRowFlag = isInNewRow(record);
125
+ // 把比对结果告诉我
126
+ if (onDiff) {
127
+ var isDiff = onDiff({
128
+ value: record,
129
+ originValue: originalObj === null || originalObj === void 0 ? void 0 : originalObj[record === null || record === void 0 ? void 0 : record[rowKey]]
130
+ });
131
+ if (!isDiff) {
132
+ originalValue = null;
133
+ }
134
+ }
122
135
  return _jsx(RenderColumn, {
123
136
  valueType: valueType,
124
- originalValue: originalValue === undefined ? undefined : originalRenderValue,
137
+ originalValue: !originalValue && originalValue !== 0 ? null : originalRenderValue,
125
138
  ellipsis: ellipsis,
126
139
  width: width,
127
140
  value: _value,
@@ -129,7 +142,8 @@ export var formatColumn = function formatColumn(_ref2) {
129
142
  currentValue: _value,
130
143
  originalDiffTip: _originalDiffTip,
131
144
  toolTipProps: _toolTipProps,
132
- minWidth: minWidth
145
+ minWidth: minWidth,
146
+ isInNewRowFlag: isInNewRowFlag
133
147
  });
134
148
  };
135
149
  return;
@@ -171,6 +185,7 @@ export var formatColumn = function formatColumn(_ref2) {
171
185
  size: 8,
172
186
  children: [prefixNode(value, record, index), renderValue, suffixNode(value, record, index)]
173
187
  });
188
+ var isInNewRowFlag = isInNewRow(record);
174
189
  return _jsx(RenderColumn, {
175
190
  valueType: valueType,
176
191
  originalValue: originalValue === undefined ? undefined : originalRenderValue,
@@ -181,7 +196,8 @@ export var formatColumn = function formatColumn(_ref2) {
181
196
  currentValue: renderValue,
182
197
  originalDiffTip: _originalDiffTip,
183
198
  toolTipProps: _toolTipProps,
184
- minWidth: minWidth
199
+ minWidth: minWidth,
200
+ isInNewRowFlag: isInNewRowFlag
185
201
  });
186
202
  };
187
203
  // 千分位, 千分位带CNY前缀
@@ -207,6 +223,7 @@ export var formatColumn = function formatColumn(_ref2) {
207
223
  children: "-"
208
224
  });
209
225
  }
226
+ var isInNewRowFlag = isInNewRow(record);
210
227
  return _jsx(RenderColumn, {
211
228
  valueType: valueType,
212
229
  originalValue: originalValue === undefined ? undefined : originalRenderValue,
@@ -217,7 +234,8 @@ export var formatColumn = function formatColumn(_ref2) {
217
234
  currentValue: renderValue,
218
235
  originalDiffTip: _originalDiffTip,
219
236
  toolTipProps: _toolTipProps,
220
- minWidth: minWidth
237
+ minWidth: minWidth,
238
+ isInNewRowFlag: isInNewRowFlag
221
239
  });
222
240
  };
223
241
  } else if (['datePicker', 'date', 'dateTime', 'dateStartTime', 'dateEndTime', 'dateStartEndTime'].includes(valueType)) {
@@ -266,6 +284,7 @@ export var formatColumn = function formatColumn(_ref2) {
266
284
  children: "-"
267
285
  });
268
286
  }
287
+ var isInNewRowFlag = isInNewRow(record);
269
288
  return _jsx(RenderColumn, {
270
289
  valueType: valueType,
271
290
  originalValue: originalValue === undefined ? undefined : originalRenderValue,
@@ -276,7 +295,8 @@ export var formatColumn = function formatColumn(_ref2) {
276
295
  currentValue: renderValue,
277
296
  originalDiffTip: _originalDiffTip,
278
297
  toolTipProps: _toolTipProps,
279
- minWidth: minWidth
298
+ minWidth: minWidth,
299
+ isInNewRowFlag: isInNewRowFlag
280
300
  });
281
301
  };
282
302
  } else if (['enumName', 'enumCodeName'].includes(valueType)) {
@@ -305,6 +325,7 @@ export var formatColumn = function formatColumn(_ref2) {
305
325
  size: 8,
306
326
  children: [prefixNode(value, record, index), renderValue, suffixNode(value, record, index)]
307
327
  });
328
+ var isInNewRowFlag = isInNewRow(record);
308
329
  return _jsx(RenderColumn, {
309
330
  valueType: valueType,
310
331
  originalValue: originalValue === undefined ? undefined : originalRenderValue,
@@ -315,7 +336,8 @@ export var formatColumn = function formatColumn(_ref2) {
315
336
  currentValue: renderValue,
316
337
  originalDiffTip: _originalDiffTip,
317
338
  toolTipProps: _toolTipProps,
318
- minWidth: minWidth
339
+ minWidth: minWidth,
340
+ isInNewRowFlag: isInNewRowFlag
319
341
  });
320
342
  };
321
343
  } else if (precision || prefix || suffix) {
@@ -338,6 +360,7 @@ export var formatColumn = function formatColumn(_ref2) {
338
360
  children: "-"
339
361
  });
340
362
  }
363
+ var isInNewRowFlag = isInNewRow(record);
341
364
  return _jsx(RenderColumn, {
342
365
  valueType: valueType,
343
366
  originalValue: originalValue === undefined ? undefined : originalRenderValue,
@@ -348,7 +371,8 @@ export var formatColumn = function formatColumn(_ref2) {
348
371
  currentValue: renderValue,
349
372
  originalDiffTip: _originalDiffTip,
350
373
  toolTipProps: _toolTipProps,
351
- minWidth: minWidth
374
+ minWidth: minWidth,
375
+ isInNewRowFlag: isInNewRowFlag
352
376
  });
353
377
  };
354
378
  } else if (valueType === 'address') {
@@ -384,21 +408,32 @@ export var formatColumn = function formatColumn(_ref2) {
384
408
  code: code,
385
409
  value: originalRealValue
386
410
  });
387
- return _jsx(ProForm.ProCascader, {
411
+ var renderNode = _jsx(ProForm.ProCascader, {
388
412
  className: className,
389
413
  isView: true,
390
414
  mode: "address",
391
415
  code: code,
392
416
  value: realValue,
393
- tooltip: originalValue !== undefined ? _jsxs(_Fragment, {
394
- children: ["\u521D\u59CB\u503C\uFF1A", originalRenderValue, _jsx("br", {}), ellipsis ? _jsxs(_Fragment, {
395
- children: ["\u5F53\u524D\u503C\uFF1A", renderValue]
396
- }) : undefined]
397
- }) : ellipsis
417
+ tooltip: false
418
+ });
419
+ var isInNewRowFlag = isInNewRow(record);
420
+ return _jsx(RenderColumn, {
421
+ valueType: valueType,
422
+ originalValue: originalRealValue === undefined ? undefined : originalRenderValue,
423
+ ellipsis: ellipsis !== null && ellipsis !== void 0 ? ellipsis : true,
424
+ width: width,
425
+ node: renderNode,
426
+ value: renderValue,
427
+ currentValue: renderValue,
428
+ originalDiffTip: _originalDiffTip,
429
+ toolTipProps: _toolTipProps,
430
+ minWidth: minWidth,
431
+ isInNewRowFlag: isInNewRowFlag
398
432
  });
399
433
  };
400
434
  } else if (copyable) {
401
435
  column.render = function (value, record, index) {
436
+ var isInNewRowFlag = isInNewRow(record);
402
437
  return _jsxs(_Space, {
403
438
  size: 8,
404
439
  children: [prefixNode(value, record, index), _jsx(RenderColumn, {
@@ -410,7 +445,8 @@ export var formatColumn = function formatColumn(_ref2) {
410
445
  value: value,
411
446
  currentValue: value,
412
447
  toolTipProps: _toolTipProps,
413
- minWidth: minWidth
448
+ minWidth: minWidth,
449
+ isInNewRowFlag: isInNewRowFlag
414
450
  }), suffixNode(value, record, index)]
415
451
  });
416
452
  };
@@ -425,6 +461,7 @@ export var formatColumn = function formatColumn(_ref2) {
425
461
  children: "-"
426
462
  });
427
463
  }
464
+ var isInNewRowFlag = isInNewRow(record);
428
465
  return _jsxs(_Space, {
429
466
  size: 8,
430
467
  children: [prefixNode(value, record, index), _jsx(RenderColumn, {
@@ -437,7 +474,8 @@ export var formatColumn = function formatColumn(_ref2) {
437
474
  currentValue: value || '-',
438
475
  originalDiffTip: _originalDiffTip,
439
476
  toolTipProps: _toolTipProps,
440
- minWidth: minWidth
477
+ minWidth: minWidth,
478
+ isInNewRowFlag: isInNewRowFlag
441
479
  }), suffixNode(value, record, index)]
442
480
  });
443
481
  };
@@ -456,6 +494,7 @@ export var formatColumn = function formatColumn(_ref2) {
456
494
  children: "-"
457
495
  });
458
496
  }
497
+ var isInNewRowFlag = isInNewRow(record);
459
498
  return _jsx(RenderColumn, {
460
499
  valueType: valueType,
461
500
  originalValue: originalValue === undefined ? undefined : originalValue || '-',
@@ -466,7 +505,8 @@ export var formatColumn = function formatColumn(_ref2) {
466
505
  currentValue: value || '-',
467
506
  originalDiffTip: _originalDiffTip,
468
507
  toolTipProps: _toolTipProps,
469
- minWidth: minWidth
508
+ minWidth: minWidth,
509
+ isInNewRowFlag: isInNewRowFlag
470
510
  });
471
511
  };
472
512
  }
@@ -12,6 +12,7 @@ interface Props {
12
12
  originalValue?: any;
13
13
  toolTipProps?: TooltipProps & React.RefAttributes<unknown>;
14
14
  minWidth?: number;
15
+ isInNewRowFlag?: boolean;
15
16
  }
16
17
  declare const RenderColumn: FC<Props>;
17
18
  export default RenderColumn;
@@ -4,7 +4,7 @@ import _Tooltip from "antd/es/tooltip";
4
4
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
5
5
  import "antd/es/typography/style";
6
6
  import _Typography from "antd/es/typography";
7
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
7
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
8
8
  import { useSetState } from 'ahooks';
9
9
  import { CheckOutlined } from '@ant-design/icons';
10
10
  import { ReactSVG } from 'react-svg';
@@ -24,14 +24,15 @@ var RenderColumn = function RenderColumn(props) {
24
24
  originalDiffTip = props.originalDiffTip,
25
25
  _props$toolTipProps = props.toolTipProps,
26
26
  toolTipProps = _props$toolTipProps === void 0 ? {} : _props$toolTipProps,
27
- minWidth = props.minWidth;
27
+ minWidth = props.minWidth,
28
+ isInNewRowFlag = props.isInNewRowFlag;
28
29
  var _useSetState = useSetState({
29
30
  tooltip: false
30
31
  }),
31
32
  _useSetState2 = _slicedToArray(_useSetState, 2),
32
33
  tooltip = _useSetState2[0].tooltip,
33
34
  setState = _useSetState2[1];
34
- if (originalValue !== undefined) {
35
+ if ((originalValue || originalValue === 0) && !isInNewRowFlag) {
35
36
  var renderNode = value ? node : '-';
36
37
  if (ellipsis || originalDiffTip) {
37
38
  if (ellipsis) {
@@ -53,7 +54,9 @@ var RenderColumn = function RenderColumn(props) {
53
54
  minWidth: minWidth
54
55
  },
55
56
  title: originalDiffTip ? _jsxs(_Fragment, {
56
- children: ["\u521D\u59CB\u503C\uFF1A", originalValue, _jsx("br", {}), ellipsis ? "\u5F53\u524D\u503C\uFF1A".concat(currentValue) : undefined]
57
+ children: ["\u521D\u59CB\u503C\uFF1A", originalValue, _jsx("br", {}), ellipsis ? _jsxs("span", {
58
+ children: ["\u5F53\u524D\u503C\uFF1A", currentValue]
59
+ }) : null]
57
60
  }) : node,
58
61
  getPopupContainer: function getPopupContainer(triggerNode) {
59
62
  return triggerNode.parentNode;
@@ -183,6 +183,11 @@ function ProTable(props) {
183
183
  setCurColumns(nextColumns);
184
184
  };
185
185
  };
186
+ var _rowClassName = function _rowClassName(record, index) {
187
+ if (originalDataSource && !originalObj.hasOwnProperty(get(record, 'rowKey'))) {
188
+ return 'new-cell';
189
+ }
190
+ };
186
191
  var columns = useMemo(function () {
187
192
  var newColumns = curColumns.map(function (item, index) {
188
193
  var _propsColumnObj$getCo2;
@@ -215,11 +220,12 @@ function ProTable(props) {
215
220
  scroll: _scroll,
216
221
  onUpdateMinWidth: function onUpdateMinWidth(w) {
217
222
  curColumns[index].minWidth = w;
218
- }
223
+ },
224
+ isInNewRow: _rowClassName
219
225
  });
220
226
  });
221
227
  return newColumns;
222
- }, [curColumns, handleResize, _scroll]);
228
+ }, [curColumns, handleResize, _scroll, originalDataSource, originalObj, _rowClassName]);
223
229
  var _columns = useMemo(function () {
224
230
  return columns === null || columns === void 0 ? void 0 : columns.filter(function (item, index) {
225
231
  var show = item.show;
@@ -368,11 +374,6 @@ function ProTable(props) {
368
374
  return _ref7.apply(this, arguments);
369
375
  };
370
376
  }();
371
- var _rowClassName = function _rowClassName(record, index) {
372
- if (originalDataSource && !originalObj.hasOwnProperty(get(record, 'rowKey'))) {
373
- return 'new-cell';
374
- }
375
- };
376
377
  var TableComponent = draggable ? DraggableTable : BaseTable;
377
378
  // 标记样式
378
379
  var tagStyle = {
@@ -41,6 +41,10 @@ export interface ProTableColumn extends Omit<ColumnType<any>, 'dataIndex'> {
41
41
  toolTipProps?: TooltipProps & React.RefAttributes<unknown>;
42
42
  transform?: (value: any, record?: any) => string[];
43
43
  show?: boolean | (() => boolean);
44
+ onDiff?: ({ value, originValue }: {
45
+ value: any;
46
+ originValue: any;
47
+ }) => boolean;
44
48
  }
45
49
  export interface CreateTreeFromArrayOptions {
46
50
  itemKey?: string;
@@ -272,8 +272,22 @@
272
272
  .@{ant-prefix}-table-cell .varied-cell {
273
273
  margin-left: -8px;
274
274
  padding: var(--zaui-space-size-xs, 4px) var(--zaui-space-size-sm, 8px);
275
+
275
276
  background: var(--zaui-contract-bg; #fffaa1) !important;
276
277
  border-radius: var(--zaui-border-radius, 8px);
278
+ .pro-form-view-container {
279
+ overflow: hidden;
280
+ white-space: nowrap;
281
+ text-overflow: ellipsis;
282
+ }
283
+ }
284
+
285
+ .@{ant-prefix}-table-cell .@{ant-prefix}-typography-ellipsis {
286
+ .pro-form-view-container {
287
+ overflow: hidden;
288
+ white-space: nowrap;
289
+ text-overflow: ellipsis;
290
+ }
277
291
  }
278
292
 
279
293
  .varied-cell.empty-cell {
@@ -17,7 +17,7 @@ var _lodash = require("lodash");
17
17
  var _diffOriginal = require("../../../ProForm/utils/diffOriginal");
18
18
  var _ProConfigProvider = require("../../../ProConfigProvider");
19
19
  var _utils = require("../../../utils");
20
- var _excluded = ["name", "names", "namesStr", "originalName", "originalNames", "originalValues", "form", "equalWith", "rowKeyPath", "children", "type", "normalize", "getValueProps", "valuePropName"];
20
+ var _excluded = ["name", "names", "namesStr", "originalName", "originalNames", "originalValues", "form", "equalWith", "rowKeyPath", "children", "type", "normalize", "getValueProps", "valuePropName", "viewRender"];
21
21
  var toNamePath = function toNamePath(name) {
22
22
  if (Array.isArray(name)) {
23
23
  return name;
@@ -71,7 +71,6 @@ var getOriginalValue = function getOriginalValue(_ref) {
71
71
  }) : (0, _lodash.get)(originalValues, originalName);
72
72
  };
73
73
  var ListChangedWrapper = function ListChangedWrapper(props) {
74
- var _getValueProps;
75
74
  var name = props.name,
76
75
  names = props.names,
77
76
  namesStr = props.namesStr,
@@ -89,6 +88,7 @@ var ListChangedWrapper = function ListChangedWrapper(props) {
89
88
  getValueProps = props.getValueProps,
90
89
  _props$valuePropName = props.valuePropName,
91
90
  valuePropName = _props$valuePropName === void 0 ? 'value' : _props$valuePropName,
91
+ viewRender = props.viewRender,
92
92
  rest = (0, _objectWithoutProperties2.default)(props, _excluded);
93
93
  var _ref2 = (0, _ProConfigProvider.useProConfig)('ProEditTable') || {},
94
94
  isDiffAll = _ref2.isDiffAll;
@@ -118,6 +118,23 @@ var ListChangedWrapper = function ListChangedWrapper(props) {
118
118
  }, [props[valuePropName], originalValue]);
119
119
  var isAdd = diffType === 'add';
120
120
  var isChanged = diffType === 'changed';
121
+ var tipContent = (0, _react.useMemo)(function () {
122
+ var _getValueProps;
123
+ if (!isWatch || noChange) return undefined;
124
+ var orgValue = getValueProps ? (_getValueProps = getValueProps(originalValue)) === null || _getValueProps === void 0 ? void 0 : _getValueProps[valuePropName] : originalValue;
125
+ // 兼容viewRender函数和Element场景
126
+ var _children = children;
127
+ if (viewRender) {
128
+ if (! /*#__PURE__*/_react.default.isValidElement(viewRender)) {
129
+ return viewRender(orgValue);
130
+ }
131
+ _children = viewRender;
132
+ }
133
+ return /*#__PURE__*/_react.default.isValidElement(children) ? /*#__PURE__*/_react.default.cloneElement(children, (0, _objectSpread3.default)((0, _objectSpread3.default)({}, children), {}, (0, _defineProperty2.default)((0, _defineProperty2.default)({
134
+ // @ts-ignore
135
+ isView: true
136
+ }, valuePropName, orgValue), "checked", type === 'Switch' ? originalValue : undefined))) : undefined;
137
+ }, [originalValue, children]);
121
138
  if (!isWatch || noChange) {
122
139
  return /*#__PURE__*/_react.default.isValidElement(children) && /*#__PURE__*/_react.default.cloneElement(children, (0, _objectSpread3.default)((0, _objectSpread3.default)({}, children.props), rest));
123
140
  }
@@ -134,10 +151,7 @@ var ListChangedWrapper = function ListChangedWrapper(props) {
134
151
  return target.parentElement;
135
152
  },
136
153
  title: (0, _jsxRuntime.jsxs)(_antd.Space, {
137
- children: ["\u521D\u59CB\u503C\uFF1A", /*#__PURE__*/_react.default.isValidElement(children) ? /*#__PURE__*/_react.default.cloneElement(children, (0, _objectSpread3.default)((0, _objectSpread3.default)({}, children), {}, (0, _defineProperty2.default)((0, _defineProperty2.default)({
138
- // @ts-ignore
139
- isView: true
140
- }, valuePropName, getValueProps ? (_getValueProps = getValueProps(originalValue)) === null || _getValueProps === void 0 ? void 0 : _getValueProps[valuePropName] : props[valuePropName]), "checked", type === 'Switch' ? originalValue : undefined))) : undefined]
154
+ children: ["\u521D\u59CB\u503C\uFF1A", tipContent]
141
155
  }),
142
156
  children: (0, _jsxRuntime.jsx)("div", {
143
157
  className: diffClassName,
@@ -255,13 +255,19 @@ var RenderField = function RenderField(_ref) {
255
255
  TargetComponent = _editRender;
256
256
  }
257
257
  }
258
+ var viewRenderFun = function viewRenderFun(value) {
259
+ if (/*#__PURE__*/_react.default.isValidElement(viewRender)) {
260
+ return viewRender;
261
+ }
262
+ return viewRender === null || viewRender === void 0 ? void 0 : viewRender(value, record, options);
263
+ };
258
264
  // 查看模式
259
265
  if (isView) {
260
266
  // 存在viewRender覆盖默认值
261
267
  if (typeof viewRender === 'function') {
262
268
  var _column$dataIndex;
263
269
  currentValue = (column === null || column === void 0 ? void 0 : (_column$dataIndex = column.dataIndex) === null || _column$dataIndex === void 0 ? void 0 : _column$dataIndex.includes('-')) ? value : currentValue;
264
- var View = viewRender(currentValue, record, options);
270
+ var View = viewRenderFun(currentValue);
265
271
  TargetComponent = (0, _jsxRuntime.jsx)(_Container.default, {
266
272
  viewEmpty: viewEmpty,
267
273
  children: View
@@ -567,6 +573,7 @@ var RenderField = function RenderField(_ref) {
567
573
  valuePropName: _formItemProps.valuePropName,
568
574
  normalize: _formItemProps.normalize,
569
575
  getValueProps: _formItemProps.getValueProps,
576
+ viewRender: viewRender && viewRenderFun,
570
577
  children: FieldComponent
571
578
  });
572
579
  }
@@ -92,7 +92,6 @@ var ProEditTable = function ProEditTable(_ref, ref) {
92
92
  return (_ref2 = (_themeConfig$data$zau = themeConfig === null || themeConfig === void 0 ? void 0 : (_themeConfig$data = themeConfig.data) === null || _themeConfig$data === void 0 ? void 0 : _themeConfig$data.zauiFormAlign) !== null && _themeConfig$data$zau !== void 0 ? _themeConfig$data$zau : configRequiredAlign) !== null && _ref2 !== void 0 ? _ref2 : 'left';
93
93
  }, [themeConfig === null || themeConfig === void 0 ? void 0 : (_themeConfig$data2 = themeConfig.data) === null || _themeConfig$data2 === void 0 ? void 0 : _themeConfig$data2.zauiFormAlign]);
94
94
  var _useSetState = (0, _ahooks.useSetState)({
95
- _columns: columns,
96
95
  cellNamePath: [],
97
96
  forceUpdate: {},
98
97
  editingKeys: [],
@@ -109,7 +109,6 @@ export interface ProColumnsProps<Values = any, T = any> extends Omit<FormItemPro
109
109
  }
110
110
  export type ProEditTableColumnsProps<K = any> = ProColumnsProps & ColumnPropsMap<K, 'ProEditTable'>;
111
111
  export interface State {
112
- _columns: ProEditTableColumnsProps[];
113
112
  cellNamePath: NamePath[];
114
113
  forceUpdate: {};
115
114
  editingKeys: string[];
@@ -339,14 +339,21 @@ var transformColumns = exports.transformColumns = function transformColumns() {
339
339
  });
340
340
  }
341
341
  // 单行多行交互有较大差异
342
- return (0, _jsxRuntime.jsx)("div", {
342
+ return (0, _jsxRuntime.jsxs)("div", {
343
343
  className: cellClassName,
344
344
  onClick: function onClick() {
345
345
  isCanEdit && setState({
346
346
  cellNamePath: cellName
347
347
  });
348
348
  },
349
- children: (0, _jsxRuntime.jsx)(_components.RenderField, {
349
+ children: [index === 0 && !item.width ? (0, _jsxRuntime.jsx)("div", {
350
+ style: {
351
+ visibility: 'hidden',
352
+ height: 0,
353
+ paddingLeft: (item === null || item === void 0 ? void 0 : item.required) ? 16 : 0
354
+ },
355
+ children: columnTitle
356
+ }) : null, (0, _jsxRuntime.jsx)(_components.RenderField, {
350
357
  text: _text,
351
358
  record: record,
352
359
  index: index,
@@ -355,7 +362,7 @@ var transformColumns = exports.transformColumns = function transformColumns() {
355
362
  cellName: cellName,
356
363
  isEditing: isEditing // 是否正在编辑
357
364
  })
358
- })
365
+ })]
359
366
  });
360
367
  };
361
368
  item.render = _render;
@@ -3,6 +3,7 @@ import React from 'react';
3
3
  import { InternalNamePath } from 'antd/es/form/interface';
4
4
  import type { levelType } from '../../../../../ProLayout/components/ProCollapse/PropTypes';
5
5
  import type { FormListProps } from '../propsType';
6
+ import { DiffConfigProps } from '../../../../propsType';
6
7
  interface Props extends Omit<FormListProps, 'toolbarProps'> {
7
8
  index: number;
8
9
  namePath: InternalNamePath;
@@ -14,6 +15,7 @@ interface Props extends Omit<FormListProps, 'toolbarProps'> {
14
15
  };
15
16
  level?: levelType;
16
17
  towCollapse?: boolean;
18
+ diffConfig?: DiffConfigProps;
17
19
  }
18
20
  declare const BlockFields: React.FC<Props>;
19
21
  export default BlockFields;
@@ -36,7 +36,8 @@ var BlockFields = function BlockFields(props) {
36
36
  _props$level = props.level,
37
37
  level = _props$level === void 0 ? '2' : _props$level,
38
38
  towCollapse = props.towCollapse,
39
- id = props.id;
39
+ id = props.id,
40
+ diffConfig = props.diffConfig;
40
41
  var _title = (0, _react.useMemo)(function () {
41
42
  if ((0, _lodash.isFunction)(title)) {
42
43
  var record = form.getFieldValue(namePath);
@@ -78,7 +79,8 @@ var BlockFields = function BlockFields(props) {
78
79
  form: form,
79
80
  colProps: colProps,
80
81
  disabled: disabled,
81
- isView: isView
82
+ isView: isView,
83
+ diffConfig: diffConfig
82
84
  })
83
85
  }, field.key)
84
86
  })
@@ -2,6 +2,7 @@ import { ColProps, FormListFieldData } from 'antd';
2
2
  import React from 'react';
3
3
  import { InternalNamePath } from 'antd/es/form/interface';
4
4
  import { FormListProps } from '../propsType';
5
+ import { DiffConfigProps } from '../../../../propsType';
5
6
  interface Props extends Omit<FormListProps, 'toolbarProps'> {
6
7
  className?: string;
7
8
  index: number;
@@ -12,6 +13,7 @@ interface Props extends Omit<FormListProps, 'toolbarProps'> {
12
13
  field: Omit<FormListFieldData, 'key'> & {
13
14
  key: string;
14
15
  };
16
+ diffConfig?: DiffConfigProps;
15
17
  }
16
18
  declare const LineFields: React.FC<Props>;
17
19
  export default LineFields;
@@ -35,7 +35,8 @@ var LineFields = function LineFields(props) {
35
35
  isView = props.isView,
36
36
  draggable = props.draggable,
37
37
  className = props.className,
38
- id = props.id;
38
+ id = props.id,
39
+ diffConfig = props.diffConfig;
39
40
  var isLess = mode === 'less';
40
41
  var _useSortable = (0, _sortable.useSortable)({
41
42
  id: field.key,
@@ -76,7 +77,8 @@ var LineFields = function LineFields(props) {
76
77
  form: form,
77
78
  colProps: colProps,
78
79
  disabled: disabled,
79
- isView: isView
80
+ isView: isView,
81
+ diffConfig: diffConfig
80
82
  })
81
83
  }), actionProps !== false && (0, _jsxRuntime.jsx)(_ActionButton.default, {
82
84
  min: min,
@@ -11,6 +11,7 @@ var _jsxRuntime = require("react/jsx-runtime");
11
11
  var _react = require("react");
12
12
  var _antd = require("antd");
13
13
  var _core = require("@dnd-kit/core");
14
+ var _lodash = require("lodash");
14
15
  var _sortable = require("@dnd-kit/sortable");
15
16
  var _utils = require("../../../utils");
16
17
  var _utils2 = require("./utils");
@@ -18,6 +19,7 @@ var _ToolbarButton = _interopRequireDefault(require("./components/ToolbarButton"
18
19
  var _BlockFields = _interopRequireDefault(require("./components/BlockFields"));
19
20
  var _LineFields = _interopRequireDefault(require("./components/LineFields"));
20
21
  var _ProForm = _interopRequireDefault(require("../../../../ProForm"));
22
+ var _ProConfigProvider = require("../../../../ProConfigProvider");
21
23
  var FormList = function FormList(props, ref) {
22
24
  var columns = props.columns,
23
25
  min = props.min,
@@ -39,9 +41,16 @@ var FormList = function FormList(props, ref) {
39
41
  var _ref = _ProForm.default.useFieldProps() || {},
40
42
  form = _ref.form,
41
43
  name = _ref.name,
42
- isView = _ref.isView;
44
+ isView = _ref.isView,
45
+ diffConfig = _ref.diffConfig;
46
+ var _useProConfig = (0, _ProConfigProvider.useProConfig)('ProForm'),
47
+ isDiffAll = _useProConfig.isDiffAll;
43
48
  var errors = meta.errors;
44
49
  var _namePath = (0, _utils.toArray)(name);
50
+ var orgValues = (0, _lodash.get)(diffConfig === null || diffConfig === void 0 ? void 0 : diffConfig.originalValues, name);
51
+ var _diffConfig = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, diffConfig), {}, {
52
+ originalValues: isDiffAll ? orgValues || [] : orgValues
53
+ });
45
54
  var processColumns = (0, _react.useCallback)(function (fieldName, namePath) {
46
55
  return columns.map(function (item) {
47
56
  // names的name处理
@@ -104,7 +113,8 @@ var FormList = function FormList(props, ref) {
104
113
  colProps: {
105
114
  span: span
106
115
  },
107
- form: form
116
+ form: form,
117
+ diffConfig: _diffConfig
108
118
  }), field.key) : (0, _jsxRuntime.jsx)(_LineFields.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({
109
119
  className: _fields.length === index + 1 ? 'pro-form-list-last' : ''
110
120
  }, props), {}, {
@@ -118,7 +128,8 @@ var FormList = function FormList(props, ref) {
118
128
  colProps: {
119
129
  span: mode === 'less' ? 24 : span
120
130
  },
121
- form: form
131
+ form: form,
132
+ diffConfig: _diffConfig
122
133
  }), field.key);
123
134
  }), (0, _jsxRuntime.jsx)(_antd.Form.ErrorList, {
124
135
  errors: errors