@zat-design/sisyphus-react 3.9.0-beta.1 → 3.9.0-beta.11

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 (47) hide show
  1. package/dist/index.esm.css +10 -1
  2. package/dist/less.esm.css +10 -1
  3. package/es/ProDrawerForm/components/ProDrawer/index.js +3 -1
  4. package/es/ProDrawerForm/components/ProModal/index.js +5 -3
  5. package/es/ProDrawerForm/propsType.d.ts +1 -0
  6. package/es/ProEnum/index.js +6 -4
  7. package/es/ProEnum/propsType.d.ts +1 -0
  8. package/es/ProForm/components/combination/Group/index.js +4 -3
  9. package/es/ProForm/components/combination/ProModalSelect/index.js +2 -1
  10. package/es/ProForm/components/render/ChangedWrapper.js +0 -1
  11. package/es/ProForm/style/index.less +0 -1
  12. package/es/ProTable/components/FormatColumn/index.d.ts +5 -3
  13. package/es/ProTable/components/FormatColumn/index.js +89 -71
  14. package/es/ProTable/components/RenderColumn/index.d.ts +1 -1
  15. package/es/ProTable/components/RenderColumn/index.js +28 -7
  16. package/es/ProTable/index.d.ts +6 -5
  17. package/es/ProTable/index.js +4 -6
  18. package/es/ProTable/propsType.d.ts +2 -1
  19. package/es/ProTable/style/index.less +10 -1
  20. package/es/ProTable/utils/index.d.ts +5 -2
  21. package/es/ProTable/utils/index.js +13 -4
  22. package/es/ProTree/components/ProTreeSelect/index.js +32 -13
  23. package/es/utils/index.d.ts +1 -1
  24. package/es/utils/index.js +4 -1
  25. package/lib/ProDrawerForm/components/ProDrawer/index.js +3 -1
  26. package/lib/ProDrawerForm/components/ProModal/index.js +5 -3
  27. package/lib/ProDrawerForm/propsType.d.ts +1 -0
  28. package/lib/ProEnum/index.js +6 -4
  29. package/lib/ProEnum/propsType.d.ts +1 -0
  30. package/lib/ProForm/components/combination/Group/index.js +4 -3
  31. package/lib/ProForm/components/combination/ProModalSelect/index.js +2 -1
  32. package/lib/ProForm/components/render/ChangedWrapper.js +0 -1
  33. package/lib/ProForm/style/index.less +0 -1
  34. package/lib/ProTable/components/FormatColumn/index.d.ts +5 -3
  35. package/lib/ProTable/components/FormatColumn/index.js +89 -71
  36. package/lib/ProTable/components/RenderColumn/index.d.ts +1 -1
  37. package/lib/ProTable/components/RenderColumn/index.js +28 -7
  38. package/lib/ProTable/index.d.ts +6 -5
  39. package/lib/ProTable/index.js +4 -6
  40. package/lib/ProTable/propsType.d.ts +2 -1
  41. package/lib/ProTable/style/index.less +10 -1
  42. package/lib/ProTable/utils/index.d.ts +5 -2
  43. package/lib/ProTable/utils/index.js +13 -4
  44. package/lib/ProTree/components/ProTreeSelect/index.js +31 -12
  45. package/lib/utils/index.d.ts +1 -1
  46. package/lib/utils/index.js +4 -1
  47. package/package.json +1 -1
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.getParentElement = exports.formatColumn = void 0;
8
8
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
9
10
  var _jsxRuntime = require("react/jsx-runtime");
10
11
  var _react = require("react");
11
12
  var _moment15 = _interopRequireDefault(require("moment"));
@@ -17,8 +18,13 @@ var _utils = require("@zat-design/utils");
17
18
  var _TooltipTitle = _interopRequireDefault(require("../TooltipTitle"));
18
19
  var _RenderColumn = _interopRequireDefault(require("../RenderColumn"));
19
20
  var _utils2 = require("../../utils");
21
+ var _utils3 = require("../../../utils");
20
22
  var _getEnumLabel = _interopRequireDefault(require("../../../ProEnum/utils/getEnumLabel"));
21
23
  var _ProForm = _interopRequireDefault(require("../../../ProForm"));
24
+ var _excluded = ["title", "valueType", "format", "precision", "ellipsis", "code", "copyable", "width", "tooltip", "transform", "prefix", "suffix", "dataIndex", "toolTipProps", "minWidth", "onDiff"];
25
+ /**
26
+ * 调整点:
27
+ */
22
28
  var isReactElement = function isReactElement(element) {
23
29
  return /*#__PURE__*/(0, _react.isValidElement)(element);
24
30
  };
@@ -52,13 +58,12 @@ var calcMinWidth = function calcMinWidth(_ref) {
52
58
  var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
53
59
  var column = _ref2.column,
54
60
  originalObj = _ref2.originalObj,
55
- dataSourceObj = _ref2.dataSourceObj,
56
61
  rowKey = _ref2.rowKey,
57
- diffToolTip = _ref2.diffToolTip,
58
62
  wrapToolTipProps = _ref2.wrapToolTipProps,
59
63
  scroll = _ref2.scroll,
60
64
  onUpdateMinWidth = _ref2.onUpdateMinWidth,
61
- isInNewRow = _ref2.isInNewRow;
65
+ isInNewRow = _ref2.isInNewRow,
66
+ diffConfig = _ref2.diffConfig;
62
67
  var title = column.title,
63
68
  valueType = column.valueType,
64
69
  _column$format = column.format,
@@ -74,12 +79,11 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
74
79
  prefix = column.prefix,
75
80
  suffix = column.suffix,
76
81
  dataIndex = column.dataIndex,
77
- _column$originalDiffT = column.originalDiffTip,
78
- originalDiffTip = _column$originalDiffT === void 0 ? true : _column$originalDiffT,
79
82
  _column$toolTipProps = column.toolTipProps,
80
83
  toolTipProps = _column$toolTipProps === void 0 ? {} : _column$toolTipProps,
81
84
  minWidth = column.minWidth,
82
- onDiff = column.onDiff;
85
+ onDiff = column.onDiff,
86
+ otherProps = (0, _objectWithoutProperties2.default)(column, _excluded);
83
87
  // 仅在 {x: 'max-content', y: 300 } 且 column无指定 width minWidth 情况下 才开启 minWidth的自动计算
84
88
  var isMaxContentOverFlow = (0, _lodash.isObject)(scroll) ? (scroll === null || scroll === void 0 ? void 0 : scroll.x) === 'max-content' && Reflect.ownKeys(scroll).includes('y') : false;
85
89
  calcMinWidth({
@@ -90,7 +94,6 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
90
94
  callback: onUpdateMinWidth
91
95
  });
92
96
  var _toolTipProps = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, toolTipProps), wrapToolTipProps);
93
- var _originalDiffTip = diffToolTip !== null && diffToolTip !== void 0 ? diffToolTip : originalDiffTip;
94
97
  // 前缀处理
95
98
  var prefixNode = function prefixNode(value, record, index) {
96
99
  if (!prefix) {
@@ -122,39 +125,38 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
122
125
  var originalRender = column.render; // 保存原始的 render 方法
123
126
  // 自定义render 手动重载下
124
127
  column.render = function (value, record, index) {
125
- var _originalObj$record$r;
126
128
  var isFn = (0, _lodash.isFunction)(originalRender);
127
129
  var _value = isFn ? originalRender === null || originalRender === void 0 ? void 0 : originalRender(value, record !== null && record !== void 0 ? record : {}, index) : null;
128
- var originalValue = (0, _utils2.getOriginalValue)(value, record !== null && record !== void 0 ? record : {}, originalObj, rowKey, dataIndex);
129
- 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;
130
+ var originalResult = (0, _utils2.getOriginalValue)(value, record !== null && record !== void 0 ? record : {}, originalObj, rowKey, dataIndex);
131
+ var originalValue = originalResult.originalValue;
132
+ var isChanged = originalResult.isChanged;
130
133
  var isInNewRowFlag = isInNewRow(record);
131
- var extraDiffFlag = false;
132
- // 把比对结果告诉我
133
- if (onDiff) {
134
- var isDiff = onDiff({
135
- value: record,
136
- originValue: originalObj === null || originalObj === void 0 ? void 0 : originalObj[record === null || record === void 0 ? void 0 : record[rowKey]]
134
+ otherProps.isChanged = isChanged;
135
+ // 存在比对
136
+ if ((0, _lodash.isFunction)(otherProps === null || otherProps === void 0 ? void 0 : otherProps.viewRender) && (diffConfig === null || diffConfig === void 0 ? void 0 : diffConfig.originalDataSource)) {
137
+ var _originalObj$record$r;
138
+ var diffResult = otherProps.viewRender({
139
+ originalValue: originalValue,
140
+ originalRecord: (_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 : {},
141
+ value: value,
142
+ record: record,
143
+ index: index
137
144
  });
138
- if (!isDiff) {
139
- originalValue = null;
140
- } else {
141
- originalValue = true;
142
- extraDiffFlag = true;
143
- }
145
+ originalValue = diffResult;
146
+ otherProps.isChanged = diffResult;
144
147
  }
145
- return (0, _jsxRuntime.jsx)(_RenderColumn.default, {
148
+ return (0, _jsxRuntime.jsx)(_RenderColumn.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, otherProps), {}, {
146
149
  valueType: valueType,
147
- originalValue: !originalValue && originalValue !== 0 ? null : extraDiffFlag ? originalRenderValue !== null && originalRenderValue !== void 0 ? originalRenderValue : originalValue : originalRenderValue,
150
+ originalValue: (0, _utils3.isEmpty)(originalValue) ? null : originalValue,
148
151
  ellipsis: ellipsis,
149
152
  width: width,
150
153
  value: _value,
151
154
  node: _value,
152
155
  currentValue: _value,
153
- originalDiffTip: _originalDiffTip,
154
156
  toolTipProps: _toolTipProps,
155
157
  minWidth: minWidth,
156
158
  isInNewRowFlag: isInNewRowFlag
157
- });
159
+ }));
158
160
  };
159
161
  return;
160
162
  }
@@ -177,10 +179,13 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
177
179
  var multiple = valueType === 'percentage' ? 100 : 1000;
178
180
  var realValue = _utils.tools.calc(Number(value !== null && value !== void 0 ? value : 0), '*', multiple);
179
181
  var renderValue = (0, _utils2.getDecimalDigits)(value) > valueTypePrecision ? realValue : realValue.toFixed(valueTypePrecision);
180
- var originalValue = (0, _utils2.getOriginalValue)(value, record, originalObj, rowKey, dataIndex);
182
+ var originalResult = (0, _utils2.getOriginalValue)(value, record, originalObj, rowKey, dataIndex);
183
+ var originalValue = originalResult.originalValue;
184
+ var isChanged = originalResult.isChanged;
185
+ otherProps.isChanged = isChanged;
181
186
  var originalRealValue = _utils.tools.calc(Number(originalValue || null), '*', multiple);
182
187
  var originalRenderValue = (0, _utils2.getDecimalDigits)(originalValue) > valueTypePrecision ? originalRealValue : originalRealValue.toFixed(valueTypePrecision);
183
- if (!originalValue && originalValue !== 0) {
188
+ if ((0, _utils3.isEmpty)(originalValue)) {
184
189
  originalRenderValue = '-';
185
190
  }
186
191
  if (!value && value !== 0 && renderValue === originalRenderValue) {
@@ -196,29 +201,31 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
196
201
  children: [prefixNode(value, record, index), renderValue, suffixNode(value, record, index)]
197
202
  });
198
203
  var isInNewRowFlag = isInNewRow(record);
199
- return (0, _jsxRuntime.jsx)(_RenderColumn.default, {
204
+ return (0, _jsxRuntime.jsx)(_RenderColumn.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, otherProps), {}, {
200
205
  valueType: valueType,
201
- originalValue: originalValue === undefined ? undefined : originalRenderValue,
206
+ originalValue: originalValue === null ? null : originalRenderValue,
202
207
  ellipsis: ellipsis,
203
208
  width: width,
204
209
  node: node,
205
210
  value: value,
206
211
  currentValue: renderValue,
207
- originalDiffTip: _originalDiffTip,
208
212
  toolTipProps: _toolTipProps,
209
213
  minWidth: minWidth,
210
214
  isInNewRowFlag: isInNewRowFlag
211
- });
215
+ }));
212
216
  };
213
217
  // 千分位, 千分位带CNY前缀
214
218
  } else if (['thousandth', 'thousandthCNY'].includes(valueType)) {
215
219
  column.render = function (value, record, index) {
216
220
  var valueStr = valueTypePrecision ? "".concat(Number(value).toFixed(valueTypePrecision)) : "".concat(value);
217
221
  var renderValue = valueStr.replace(/\B(?=(\d{3})+(?!\d))/g, ',');
218
- var originalValue = (0, _utils2.getOriginalValue)(value, record, originalObj, rowKey, dataIndex);
222
+ var originalResult = (0, _utils2.getOriginalValue)(value, record, originalObj, rowKey, dataIndex);
223
+ var originalValue = originalResult.originalValue;
224
+ var isChanged = originalResult.isChanged;
225
+ otherProps.isChanged = isChanged;
219
226
  var originalRealValue = valueTypePrecision ? "".concat(Number(originalValue).toFixed(valueTypePrecision)) : "".concat(originalValue);
220
227
  var originalRenderValue = originalRealValue.replace(/\B(?=(\d{3})+(?!\d))/g, ',');
221
- if (!originalValue && originalValue !== 0) {
228
+ if ((0, _utils3.isEmpty)(originalValue)) {
222
229
  originalRenderValue = '-';
223
230
  }
224
231
  var node = (0, _jsxRuntime.jsxs)(_antd.Space, {
@@ -234,25 +241,27 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
234
241
  });
235
242
  }
236
243
  var isInNewRowFlag = isInNewRow(record);
237
- return (0, _jsxRuntime.jsx)(_RenderColumn.default, {
244
+ return (0, _jsxRuntime.jsx)(_RenderColumn.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, otherProps), {}, {
238
245
  valueType: valueType,
239
- originalValue: originalValue === undefined ? undefined : originalRenderValue,
246
+ originalValue: originalValue === null ? null : originalRenderValue,
240
247
  ellipsis: ellipsis,
241
248
  width: width,
242
249
  node: node,
243
250
  value: value,
244
251
  currentValue: renderValue,
245
- originalDiffTip: _originalDiffTip,
246
252
  toolTipProps: _toolTipProps,
247
253
  minWidth: minWidth,
248
254
  isInNewRowFlag: isInNewRowFlag
249
- });
255
+ }));
250
256
  };
251
257
  } else if (['datePicker', 'date', 'dateTime', 'dateStartTime', 'dateEndTime', 'dateStartEndTime'].includes(valueType)) {
252
258
  column.render = function (value, record, index) {
253
259
  var _moment, _moment2, _moment3, _moment4, _moment5, _moment6, _moment7, _moment8, _moment9, _moment10, _moment11, _moment12, _moment13, _moment14;
254
260
  var renderValue = (_moment = (0, _moment15.default)(value)) === null || _moment === void 0 ? void 0 : _moment.format(format);
255
- var originalValue = (0, _utils2.getOriginalValue)(value, record, originalObj, rowKey, dataIndex);
261
+ var originalResult = (0, _utils2.getOriginalValue)(value, record, originalObj, rowKey, dataIndex);
262
+ var originalValue = originalResult.originalValue;
263
+ var isChanged = originalResult.isChanged;
264
+ otherProps.isChanged = isChanged;
256
265
  var originalRenderValue = (_moment2 = (0, _moment15.default)(originalValue)) === null || _moment2 === void 0 ? void 0 : _moment2.format(format);
257
266
  switch (valueType) {
258
267
  case 'date':
@@ -295,25 +304,27 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
295
304
  });
296
305
  }
297
306
  var isInNewRowFlag = isInNewRow(record);
298
- return (0, _jsxRuntime.jsx)(_RenderColumn.default, {
307
+ return (0, _jsxRuntime.jsx)(_RenderColumn.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, otherProps), {}, {
299
308
  valueType: valueType,
300
- originalValue: originalValue === undefined ? undefined : originalRenderValue,
309
+ originalValue: originalValue === null ? null : originalRenderValue,
301
310
  ellipsis: ellipsis,
302
311
  width: width,
303
312
  node: node,
304
313
  value: value,
305
314
  currentValue: renderValue,
306
- originalDiffTip: _originalDiffTip,
307
315
  toolTipProps: _toolTipProps,
308
316
  minWidth: minWidth,
309
317
  isInNewRowFlag: isInNewRowFlag
310
- });
318
+ }));
311
319
  };
312
320
  } else if (['enumName', 'enumCodeName'].includes(valueType)) {
313
321
  column.render = function (value, record, index) {
314
322
  var realCode = typeof code === 'function' ? code(value, record) : code;
315
323
  var renderValue = (0, _getEnumLabel.default)(realCode, value, valueType === 'enumCodeName');
316
- var originalValue = (0, _utils2.getOriginalValue)(value, record, originalObj, rowKey, dataIndex);
324
+ var originalResult = (0, _utils2.getOriginalValue)(value, record, originalObj, rowKey, dataIndex);
325
+ var originalValue = originalResult.originalValue;
326
+ var isChanged = originalResult.isChanged;
327
+ otherProps.isChanged = isChanged;
317
328
  var originalRenderValue = (0, _getEnumLabel.default)(realCode, originalValue, valueType === 'enumCodeName');
318
329
  if (Array.isArray(column === null || column === void 0 ? void 0 : column.codeValues) && !realCode) {
319
330
  var _column$codeValues$fi;
@@ -336,30 +347,32 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
336
347
  children: [prefixNode(value, record, index), renderValue, suffixNode(value, record, index)]
337
348
  });
338
349
  var isInNewRowFlag = isInNewRow(record);
339
- return (0, _jsxRuntime.jsx)(_RenderColumn.default, {
350
+ return (0, _jsxRuntime.jsx)(_RenderColumn.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, otherProps), {}, {
340
351
  valueType: valueType,
341
- originalValue: originalValue === undefined ? undefined : originalRenderValue,
352
+ originalValue: originalValue === null ? null : originalRenderValue,
342
353
  ellipsis: ellipsis,
343
354
  width: width,
344
355
  node: node,
345
356
  value: value,
346
357
  currentValue: renderValue,
347
- originalDiffTip: _originalDiffTip,
348
358
  toolTipProps: _toolTipProps,
349
359
  minWidth: minWidth,
350
360
  isInNewRowFlag: isInNewRowFlag
351
- });
361
+ }));
352
362
  };
353
363
  } else if (precision || prefix || suffix) {
354
364
  column.render = function (value, record, index) {
355
365
  var renderValue = value === 'number' ? value.toFixed(precision) : value;
356
- var originalValue = (0, _utils2.getOriginalValue)(value, record, originalObj, rowKey, dataIndex);
366
+ var originalResult = (0, _utils2.getOriginalValue)(value, record, originalObj, rowKey, dataIndex);
367
+ var originalValue = originalResult.originalValue;
368
+ var isChanged = originalResult.isChanged;
369
+ otherProps.isChanged = isChanged;
357
370
  var originalRenderValue = originalValue === 'number' ? originalValue.toFixed(precision) : originalValue;
358
371
  var node = (0, _jsxRuntime.jsxs)(_antd.Space, {
359
372
  size: 8,
360
373
  children: [prefixNode(value, record, index), renderValue, suffixNode(value, record, index)]
361
374
  });
362
- if (!originalValue && originalValue !== 0) {
375
+ if ((0, _utils3.isEmpty)(originalValue)) {
363
376
  originalRenderValue = '-';
364
377
  }
365
378
  if (!value && value !== 0 && renderValue === originalRenderValue) {
@@ -371,25 +384,27 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
371
384
  });
372
385
  }
373
386
  var isInNewRowFlag = isInNewRow(record);
374
- return (0, _jsxRuntime.jsx)(_RenderColumn.default, {
387
+ return (0, _jsxRuntime.jsx)(_RenderColumn.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, otherProps), {}, {
375
388
  valueType: valueType,
376
- originalValue: originalValue === undefined ? undefined : originalRenderValue,
389
+ originalValue: originalValue === null ? null : originalRenderValue,
377
390
  ellipsis: ellipsis,
378
391
  width: width,
379
392
  node: node,
380
393
  value: value,
381
394
  currentValue: renderValue,
382
- originalDiffTip: _originalDiffTip,
383
395
  toolTipProps: _toolTipProps,
384
396
  minWidth: minWidth,
385
397
  isInNewRowFlag: isInNewRowFlag
386
- });
398
+ }));
387
399
  };
388
400
  } else if (valueType === 'address') {
389
401
  column.render = function (value, record, index) {
390
402
  var _realValue$filter;
391
403
  var realValue = transform ? transform(value, record) : value;
392
- var originalValue = (0, _utils2.getOriginalValue)(value, record, originalObj, rowKey, dataIndex);
404
+ var originalResult = (0, _utils2.getOriginalValue)(value, record, originalObj, rowKey, dataIndex);
405
+ var originalValue = originalResult.originalValue;
406
+ var isChanged = originalResult.isChanged;
407
+ otherProps.isChanged = isChanged;
393
408
  var originalRealValue = transform ? transform(originalValue, record) : originalValue;
394
409
  var isEmpty = !realValue || Array.isArray(realValue) && (realValue === null || realValue === void 0 ? void 0 : (_realValue$filter = realValue.filter(function (item) {
395
410
  return !!item;
@@ -426,26 +441,25 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
426
441
  tooltip: false
427
442
  });
428
443
  var isInNewRowFlag = isInNewRow(record);
429
- return (0, _jsxRuntime.jsx)(_RenderColumn.default, {
444
+ return (0, _jsxRuntime.jsx)(_RenderColumn.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, otherProps), {}, {
430
445
  valueType: valueType,
431
- originalValue: originalValue === undefined ? undefined : originalRenderValue,
446
+ originalValue: originalValue === null ? null : originalRenderValue,
432
447
  ellipsis: ellipsis,
433
448
  width: width,
434
449
  node: renderNode,
435
450
  value: renderValue,
436
451
  currentValue: renderValue,
437
- originalDiffTip: _originalDiffTip,
438
452
  toolTipProps: _toolTipProps,
439
453
  minWidth: minWidth,
440
454
  isInNewRowFlag: isInNewRowFlag
441
- });
455
+ }));
442
456
  };
443
457
  } else if (copyable) {
444
458
  column.render = function (value, record, index) {
445
459
  var isInNewRowFlag = isInNewRow(record);
446
460
  return (0, _jsxRuntime.jsxs)(_antd.Space, {
447
461
  size: 8,
448
- children: [prefixNode(value, record, index), (0, _jsxRuntime.jsx)(_RenderColumn.default, {
462
+ children: [prefixNode(value, record, index), (0, _jsxRuntime.jsx)(_RenderColumn.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, otherProps), {}, {
449
463
  valueType: valueType,
450
464
  copyable: copyable,
451
465
  ellipsis: ellipsis,
@@ -456,12 +470,15 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
456
470
  toolTipProps: _toolTipProps,
457
471
  minWidth: minWidth,
458
472
  isInNewRowFlag: isInNewRowFlag
459
- }), suffixNode(value, record, index)]
473
+ })), suffixNode(value, record, index)]
460
474
  });
461
475
  };
462
476
  } else if (ellipsis) {
463
477
  column.render = function (value, record, index) {
464
- var originalValue = (0, _utils2.getOriginalValue)(value, record, originalObj, rowKey, dataIndex);
478
+ var originalResult = (0, _utils2.getOriginalValue)(value, record, originalObj, rowKey, dataIndex);
479
+ var originalValue = originalResult.originalValue;
480
+ var isChanged = originalResult.isChanged;
481
+ otherProps.isChanged = isChanged;
465
482
  if (!value && value !== 0 && value === originalValue) {
466
483
  (0, _jsxRuntime.jsx)("div", {
467
484
  style: {
@@ -473,24 +490,26 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
473
490
  var isInNewRowFlag = isInNewRow(record);
474
491
  return (0, _jsxRuntime.jsxs)(_antd.Space, {
475
492
  size: 8,
476
- children: [prefixNode(value, record, index), (0, _jsxRuntime.jsx)(_RenderColumn.default, {
493
+ children: [prefixNode(value, record, index), (0, _jsxRuntime.jsx)(_RenderColumn.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, otherProps), {}, {
477
494
  valueType: valueType,
478
- originalValue: originalValue === undefined ? undefined : originalValue || '-',
495
+ originalValue: originalValue === null ? null : originalValue || '-',
479
496
  ellipsis: ellipsis,
480
497
  width: width,
481
498
  node: value,
482
499
  value: value,
483
500
  currentValue: value || '-',
484
- originalDiffTip: _originalDiffTip,
485
501
  toolTipProps: _toolTipProps,
486
502
  minWidth: minWidth,
487
503
  isInNewRowFlag: isInNewRowFlag
488
- }), suffixNode(value, record, index)]
504
+ })), suffixNode(value, record, index)]
489
505
  });
490
506
  };
491
507
  } else {
492
508
  column.render = function (value, record, index) {
493
- var originalValue = (0, _utils2.getOriginalValue)(value, record, originalObj, rowKey, dataIndex);
509
+ var originalResult = (0, _utils2.getOriginalValue)(value, record, originalObj, rowKey, dataIndex);
510
+ var originalValue = originalResult.originalValue;
511
+ var isChanged = originalResult.isChanged;
512
+ otherProps.isChanged = isChanged;
494
513
  var node = (0, _jsxRuntime.jsxs)(_antd.Space, {
495
514
  size: 8,
496
515
  children: [prefixNode(value, record, index), value, suffixNode(value, record, index)]
@@ -504,19 +523,18 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
504
523
  });
505
524
  }
506
525
  var isInNewRowFlag = isInNewRow(record);
507
- return (0, _jsxRuntime.jsx)(_RenderColumn.default, {
526
+ return (0, _jsxRuntime.jsx)(_RenderColumn.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, otherProps), {}, {
508
527
  valueType: valueType,
509
- originalValue: originalValue === undefined ? undefined : originalValue || '-',
528
+ originalValue: originalValue === null ? null : originalValue || '-',
510
529
  ellipsis: ellipsis,
511
530
  width: width,
512
531
  node: node,
513
532
  value: value,
514
533
  currentValue: value || '-',
515
- originalDiffTip: _originalDiffTip,
516
534
  toolTipProps: _toolTipProps,
517
535
  minWidth: minWidth,
518
536
  isInNewRowFlag: isInNewRowFlag
519
- });
537
+ }));
520
538
  };
521
539
  }
522
540
  };
@@ -6,13 +6,13 @@ interface Props {
6
6
  value?: any;
7
7
  currentValue?: any;
8
8
  copyable?: boolean;
9
- originalDiffTip?: boolean;
10
9
  ellipsis?: any;
11
10
  width?: number | string;
12
11
  originalValue?: any;
13
12
  toolTipProps?: TooltipProps & React.RefAttributes<unknown>;
14
13
  minWidth?: number;
15
14
  isInNewRowFlag?: boolean;
15
+ isChanged?: boolean;
16
16
  }
17
17
  declare const RenderColumn: FC<Props>;
18
18
  export default RenderColumn;
@@ -10,8 +10,11 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
10
10
  var _jsxRuntime = require("react/jsx-runtime");
11
11
  var _antd = require("antd");
12
12
  var _ahooks = require("ahooks");
13
+ var _lodash = require("lodash");
14
+ var _classnames = _interopRequireDefault(require("classnames"));
13
15
  var _icons = require("@ant-design/icons");
14
16
  var _reactSvg = require("react-svg");
17
+ var _utils = require("../../../utils");
15
18
  var _copy = _interopRequireDefault(require("../../../assets/copy.svg"));
16
19
  var Paragraph = _antd.Typography.Paragraph,
17
20
  Text = _antd.Typography.Text;
@@ -25,7 +28,6 @@ var RenderColumn = function RenderColumn(props) {
25
28
  ellipsis = props.ellipsis,
26
29
  width = props.width,
27
30
  originalValue = props.originalValue,
28
- originalDiffTip = props.originalDiffTip,
29
31
  _props$toolTipProps = props.toolTipProps,
30
32
  toolTipProps = _props$toolTipProps === void 0 ? {} : _props$toolTipProps,
31
33
  minWidth = props.minWidth,
@@ -36,9 +38,13 @@ var RenderColumn = function RenderColumn(props) {
36
38
  _useSetState2 = (0, _slicedToArray2.default)(_useSetState, 2),
37
39
  tooltip = _useSetState2[0].tooltip,
38
40
  setState = _useSetState2[1];
39
- if ((originalValue || originalValue === 0) && !isInNewRowFlag) {
41
+ var cellDiffCls = (0, _classnames.default)({
42
+ 'varied-cell': props === null || props === void 0 ? void 0 : props.isChanged
43
+ });
44
+ // 比对场景走的逻辑
45
+ if (!isInNewRowFlag && (0, _lodash.isBoolean)(props === null || props === void 0 ? void 0 : props.isChanged)) {
40
46
  var renderNode = value ? node : '-';
41
- if (ellipsis || originalDiffTip) {
47
+ if (ellipsis || (props === null || props === void 0 ? void 0 : props.isChanged)) {
42
48
  renderNode = (0, _jsxRuntime.jsx)(Text, {
43
49
  style: {
44
50
  width: currentValue === '-' ? 32.5 : width,
@@ -49,8 +55,20 @@ var RenderColumn = function RenderColumn(props) {
49
55
  },
50
56
  children: ellipsis ? currentValue : renderNode
51
57
  });
58
+ if ((props === null || props === void 0 ? void 0 : props.isChanged) === false) {
59
+ return renderNode;
60
+ }
61
+ if (Array.isArray(originalValue)) {
62
+ console.error('Error: When enabled, dataIndex corresponds to an array, which needs to be converted using viewRender');
63
+ }
64
+ var originalValueCalc = function originalValueCalc() {
65
+ if (Array.isArray(originalValue)) {
66
+ return null;
67
+ }
68
+ return !(0, _utils.isEmpty)(originalValue) ? originalValue : '-';
69
+ };
52
70
  return (0, _jsxRuntime.jsx)(_antd.Tooltip, (0, _objectSpread2.default)((0, _objectSpread2.default)({
53
- className: "varied-cell",
71
+ className: cellDiffCls,
54
72
  style: {
55
73
  width: width,
56
74
  minWidth: minWidth
@@ -61,11 +79,11 @@ var RenderColumn = function RenderColumn(props) {
61
79
  title: (0, _jsxRuntime.jsx)(_antd.Space, {
62
80
  direction: "vertical",
63
81
  className: "changed-tooltip",
64
- children: originalDiffTip ? (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
82
+ children: (props === null || props === void 0 ? void 0 : props.isChanged) ? (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
65
83
  children: [(0, _jsxRuntime.jsxs)(_antd.Space, {
66
84
  align: "start",
67
85
  className: "original-value-container",
68
- children: ["\u521D\u59CB\u503C\uFF1A", originalValue]
86
+ children: ["\u521D\u59CB\u503C\uFF1A", originalValueCalc()]
69
87
  }), (0, _jsxRuntime.jsx)(_antd.Space, {
70
88
  className: "current-value-container",
71
89
  children: ellipsis ? (0, _jsxRuntime.jsxs)(_antd.Space, {
@@ -81,8 +99,11 @@ var RenderColumn = function RenderColumn(props) {
81
99
  children: renderNode
82
100
  }));
83
101
  }
102
+ if ((props === null || props === void 0 ? void 0 : props.isChanged) === false) {
103
+ return renderNode;
104
+ }
84
105
  return (0, _jsxRuntime.jsx)("span", {
85
- className: "varied-cell",
106
+ className: cellDiffCls,
86
107
  style: {
87
108
  width: width,
88
109
  minWidth: minWidth
@@ -1,19 +1,20 @@
1
1
  /// <reference types="react" />
2
2
  import { ProTableProps } from './propsType';
3
+ import useAntdTable from './hooks/useAntdTable';
3
4
  export declare const TableContext: import("react").Context<{}>;
4
5
  export declare const defaultPage: {
5
6
  pageNum: number;
6
7
  pageSize: number;
7
8
  };
8
- declare function ProTable(props: ProTableProps): import("react/jsx-runtime").JSX.Element;
9
- declare namespace ProTable {
10
- var defaultProps: {
9
+ declare const ProTable: {
10
+ (props: ProTableProps): import("react/jsx-runtime").JSX.Element;
11
+ defaultProps: {
11
12
  quickConfig: boolean;
12
13
  stripe: boolean;
13
14
  draggable: boolean;
14
15
  disabled: boolean;
15
16
  isView: boolean;
16
17
  };
17
- var useAntdTable: typeof import("./hooks/useAntdTable").default;
18
- }
18
+ useAntdTable: typeof useAntdTable;
19
+ };
19
20
  export default ProTable;
@@ -36,7 +36,7 @@ var defaultPage = exports.defaultPage = {
36
36
  pageNum: 1,
37
37
  pageSize: 10
38
38
  };
39
- function ProTable(props) {
39
+ var ProTable = function ProTable(props) {
40
40
  var _locale$ProTable, _props$scroll, _curTableConfig$pathK;
41
41
  var _ref = (0, _index.useProConfig)('globalConfig') || {},
42
42
  configStorage = _ref.storage; // 获取全局缓存位置配置
@@ -121,7 +121,6 @@ function ProTable(props) {
121
121
  });
122
122
  });
123
123
  var originalObj = _originalDataSource ? (0, _lodash.keyBy)(_originalDataSource, 'rowKey') : undefined;
124
- var dataSourceObj = _dataSource ? (0, _lodash.keyBy)(_dataSource, 'rowKey') : {};
125
124
  var propsColumnObj = (0, _react.useMemo)(function () {
126
125
  return propsColumns.reduce(function (acc, cur) {
127
126
  // @ts-ignore
@@ -220,9 +219,8 @@ function ProTable(props) {
220
219
  (0, _FormatColumn.formatColumn)({
221
220
  column: item,
222
221
  originalObj: originalObj,
223
- dataSourceObj: dataSourceObj,
224
- rowKey: 'rowKey',
225
- diffToolTip: toolTip,
222
+ rowKey: props.rowKey,
223
+ diffConfig: diffConfig,
226
224
  wrapToolTipProps: wrapToolTipProps,
227
225
  scroll: _scroll,
228
226
  onUpdateMinWidth: function onUpdateMinWidth(w) {
@@ -454,7 +452,7 @@ function ProTable(props) {
454
452
  })]
455
453
  })
456
454
  });
457
- }
455
+ };
458
456
  ProTable.defaultProps = {
459
457
  quickConfig: false,
460
458
  stripe: true,
@@ -31,7 +31,6 @@ export interface ProTableColumn extends Omit<ColumnType<any>, 'dataIndex'> {
31
31
  value: string | number;
32
32
  }[];
33
33
  copyable?: boolean;
34
- originalDiffTip?: boolean;
35
34
  prefix?: string | ReactNode | ((value: any, record?: any, index?: number) => any);
36
35
  suffix?: string | ReactNode | ((value: any, record?: any, index?: number) => any);
37
36
  tooltip?: ReactNode | {
@@ -45,6 +44,8 @@ export interface ProTableColumn extends Omit<ColumnType<any>, 'dataIndex'> {
45
44
  value: any;
46
45
  originValue: any;
47
46
  }) => boolean;
47
+ viewRender?: ({ value, record, index, originalValue, originalRecord }: any) => any;
48
+ isChanged?: boolean | null;
48
49
  }
49
50
  export interface CreateTreeFromArrayOptions {
50
51
  itemKey?: string;
@@ -261,11 +261,20 @@
261
261
  tr.@{ant-prefix}-table-row.new-cell {
262
262
  background: var(--zaui-contract-bg-add; #d2fff4) !important;
263
263
  background-color: var(--zaui-contract-bg-add; #d2fff4) !important;
264
-
265
264
  td.@{ant-prefix}-table-cell {
266
265
  background: var(--zaui-contract-bg-add; #d2fff4) !important;
267
266
  background-color: var(--zaui-contract-bg-add; #d2fff4) !important;
268
267
  border-bottom: 1px solid var(--zaui-form-control-line, #dcdcdc);
268
+ &.@{ant-prefix}-table-cell-fix-right {
269
+ background: var(--zaui-contract-bg-add; #d2fff4) !important;
270
+ background-color: var(--zaui-contract-bg-add; #d2fff4) !important;
271
+ border-bottom: 1px solid var(--zaui-form-control-line, #dcdcdc);
272
+ }
273
+ &.@{ant-prefix}-table-cell-fix-left {
274
+ background: var(--zaui-contract-bg-add; #d2fff4) !important;
275
+ background-color: var(--zaui-contract-bg-add; #d2fff4) !important;
276
+ border-bottom: 1px solid var(--zaui-form-control-line, #dcdcdc);
277
+ }
269
278
  }
270
279
  }
271
280
 
@@ -11,9 +11,12 @@ export declare const getDecimalDigits: (num?: number) => number;
11
11
  * @param any value
12
12
  * @param any originalObj
13
13
  * @param {any} dataIndex
14
- * @return {any}
14
+ * @return {any} isChanged 返回bool值,表示存在比对
15
15
  */
16
- export declare const getOriginalValue: (value: any, record: any, originalObj: any, rowKey: any, dataIndex: any) => any;
16
+ export declare const getOriginalValue: (value: any, record: any, originalObj: any, rowKey: any, dataIndex: any) => {
17
+ originalValue: any;
18
+ isChanged: boolean;
19
+ };
17
20
  export declare const getColumnDataIndex: (dataIndex: string | string[]) => string;
18
21
  /**
19
22
  * 判断数据是否为Response<List<any>>结构