@zat-design/sisyphus-react 3.9.0-beta.2 → 3.9.0-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 (70) hide show
  1. package/dist/index.esm.css +32 -15
  2. package/dist/less.esm.css +28 -13
  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/ProEditTable/components/RenderField/ListChangedWrapper.js +7 -3
  7. package/es/ProEditTable/components/RenderField/index.js +3 -2
  8. package/es/ProEditTable/style/index.less +5 -2
  9. package/es/ProEnum/index.js +6 -4
  10. package/es/ProEnum/propsType.d.ts +1 -0
  11. package/es/ProForm/components/base/SwitchCheckbox/index.js +9 -2
  12. package/es/ProForm/components/combination/Group/component/ComRender.d.ts +1 -0
  13. package/es/ProForm/components/combination/Group/component/ComRender.js +12 -1
  14. package/es/ProForm/components/combination/Group/index.js +4 -3
  15. package/es/ProForm/components/combination/ProModalSelect/index.js +2 -1
  16. package/es/ProForm/components/render/ChangedWrapper.js +1 -2
  17. package/es/ProForm/components/render/RenderFields.js +3 -2
  18. package/es/ProForm/components/render/propsType.d.ts +1 -0
  19. package/es/ProForm/style/index.less +8 -5
  20. package/es/ProForm/utils/diffOriginal.js +18 -12
  21. package/es/ProTable/components/FormatColumn/index.d.ts +5 -3
  22. package/es/ProTable/components/FormatColumn/index.js +92 -71
  23. package/es/ProTable/components/RenderColumn/index.d.ts +1 -1
  24. package/es/ProTable/components/RenderColumn/index.js +29 -11
  25. package/es/ProTable/components/TableResizable/index.js +1 -5
  26. package/es/ProTable/index.d.ts +6 -5
  27. package/es/ProTable/index.js +4 -6
  28. package/es/ProTable/propsType.d.ts +2 -1
  29. package/es/ProTable/style/index.less +10 -1
  30. package/es/ProTable/utils/index.d.ts +5 -2
  31. package/es/ProTable/utils/index.js +13 -4
  32. package/es/ProTree/components/ProTreeSelect/index.js +32 -13
  33. package/es/style/theme/antd.less +4 -2
  34. package/es/utils/index.d.ts +1 -1
  35. package/es/utils/index.js +4 -1
  36. package/lib/ProDrawerForm/components/ProDrawer/index.js +3 -1
  37. package/lib/ProDrawerForm/components/ProModal/index.js +5 -3
  38. package/lib/ProDrawerForm/propsType.d.ts +1 -0
  39. package/lib/ProEditTable/components/RenderField/ListChangedWrapper.js +5 -1
  40. package/lib/ProEditTable/components/RenderField/index.js +3 -2
  41. package/lib/ProEditTable/style/index.less +5 -2
  42. package/lib/ProEnum/index.js +6 -4
  43. package/lib/ProEnum/propsType.d.ts +1 -0
  44. package/lib/ProForm/components/base/SwitchCheckbox/index.js +9 -2
  45. package/lib/ProForm/components/combination/Group/component/ComRender.d.ts +1 -0
  46. package/lib/ProForm/components/combination/Group/component/ComRender.js +12 -1
  47. package/lib/ProForm/components/combination/Group/index.js +4 -3
  48. package/lib/ProForm/components/combination/ProModalSelect/index.js +2 -1
  49. package/lib/ProForm/components/render/ChangedWrapper.js +1 -2
  50. package/lib/ProForm/components/render/RenderFields.js +3 -2
  51. package/lib/ProForm/components/render/propsType.d.ts +1 -0
  52. package/lib/ProForm/style/index.less +8 -5
  53. package/lib/ProForm/utils/diffOriginal.js +18 -12
  54. package/lib/ProTable/components/FormatColumn/index.d.ts +5 -3
  55. package/lib/ProTable/components/FormatColumn/index.js +91 -70
  56. package/lib/ProTable/components/RenderColumn/index.d.ts +1 -1
  57. package/lib/ProTable/components/RenderColumn/index.js +29 -11
  58. package/lib/ProTable/components/TableResizable/index.js +0 -4
  59. package/lib/ProTable/index.d.ts +6 -5
  60. package/lib/ProTable/index.js +4 -6
  61. package/lib/ProTable/propsType.d.ts +2 -1
  62. package/lib/ProTable/style/index.less +10 -1
  63. package/lib/ProTable/utils/index.d.ts +5 -2
  64. package/lib/ProTable/utils/index.js +13 -4
  65. package/lib/ProTree/components/ProTreeSelect/index.js +31 -12
  66. package/lib/style/theme/antd.less +4 -2
  67. package/lib/utils/index.d.ts +1 -1
  68. package/lib/utils/index.js +4 -1
  69. package/package.json +1 -1
  70. package/.vscode/extensions.json +0 -5
@@ -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>>结构
@@ -16,18 +16,27 @@ export var getDecimalDigits = function getDecimalDigits() {
16
16
  * @param any value
17
17
  * @param any originalObj
18
18
  * @param {any} dataIndex
19
- * @return {any}
19
+ * @return {any} isChanged 返回bool值,表示存在比对
20
20
  */
21
21
  export var getOriginalValue = function getOriginalValue(value, record, originalObj, rowKey, dataIndex) {
22
22
  if (!originalObj) {
23
- return undefined;
23
+ return {
24
+ originalValue: null,
25
+ isChanged: null
26
+ };
24
27
  }
25
28
  var originalRecord = get(originalObj, get(record, rowKey));
26
29
  var originalValue = get(originalRecord, dataIndex);
27
30
  if (!isEqual(originalValue, value)) {
28
- return originalValue;
31
+ return {
32
+ originalValue: originalValue,
33
+ isChanged: true
34
+ };
29
35
  }
30
- return undefined;
36
+ return {
37
+ originalValue: null,
38
+ isChanged: false
39
+ };
31
40
  };
32
41
  export var getColumnDataIndex = function getColumnDataIndex(dataIndex) {
33
42
  return typeof dataIndex === 'string' ? dataIndex : dataIndex === null || dataIndex === void 0 ? void 0 : dataIndex.join('-');
@@ -1,6 +1,8 @@
1
1
  import "antd/es/tooltip/style";
2
2
  import _Tooltip from "antd/es/tooltip";
3
3
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
4
+ import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
5
+ import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
4
6
  import "antd/es/input/style";
5
7
  import _Input from "antd/es/input";
6
8
  import "antd/es/message/style";
@@ -18,7 +20,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
18
20
  import { useDeepCompareEffect, useRequest as useRequestFunc, useSetState } from 'ahooks';
19
21
  import classnames from 'classnames';
20
22
  import { useImperativeHandle, forwardRef } from 'react';
21
- import { cloneDeep } from 'lodash';
23
+ import { cloneDeep, debounce } from 'lodash';
22
24
  import { useProConfig } from '../../../ProConfigProvider';
23
25
  import Container from '../../../ProForm/components/Container';
24
26
  import AdaptiveTooltip from '../AdaptiveTooltip';
@@ -398,18 +400,35 @@ export var ProTreeSelect = function ProTreeSelect(props, ref) {
398
400
  sourceList = _filterData(sourceList);
399
401
  return sourceList;
400
402
  }
401
- var searchTreeEvent = function searchTreeEvent(searchVal) {
402
- if (!searchVal) {
403
- setState({
404
- selectList: cloneDeep(origDataSource || [])
405
- });
406
- return null;
407
- }
408
- var result = filterTree(cloneDeep(origDataSource || []), searchVal);
409
- setState({
410
- selectList: result || []
411
- });
412
- };
403
+ var searchTreeEvent = debounce(/*#__PURE__*/function () {
404
+ var _ref5 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(searchVal) {
405
+ var result;
406
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
407
+ while (1) switch (_context.prev = _context.next) {
408
+ case 0:
409
+ if (searchVal) {
410
+ _context.next = 3;
411
+ break;
412
+ }
413
+ setState({
414
+ selectList: cloneDeep(origDataSource || [])
415
+ });
416
+ return _context.abrupt("return", null);
417
+ case 3:
418
+ result = filterTree(cloneDeep(origDataSource || []), searchVal);
419
+ setState({
420
+ selectList: result || []
421
+ });
422
+ case 5:
423
+ case "end":
424
+ return _context.stop();
425
+ }
426
+ }, _callee);
427
+ }));
428
+ return function (_x) {
429
+ return _ref5.apply(this, arguments);
430
+ };
431
+ }(), 500);
413
432
  function findTreeNode(treeList, nodeValue) {
414
433
  var result = {};
415
434
  var _filterData2 = function filterData(data) {
@@ -280,8 +280,10 @@
280
280
  table {
281
281
  .@{ant-prefix}-table-tbody {
282
282
  .@{ant-prefix}-table-row:nth-child(even) {
283
- &:hover td {
284
- background-color: @zaui-table-hover-bg;
283
+ &:hover td,
284
+ &:hover td.@{ant-prefix}-table-cell-fix-right,
285
+ &:hover td.@{ant-prefix}-table-cell-fix-left {
286
+ background-color: @zaui-table-hover-bg !important;
285
287
  }
286
288
 
287
289
  & td,
@@ -1,3 +1,3 @@
1
1
  /** 判断一个值是否是空值 */
2
- export declare const isEmpty: (value: any) => boolean;
2
+ export declare const isEmpty: (value: any, emptyValue?: string) => boolean;
3
3
  export declare const useFocus: (element: Element) => boolean;
package/es/utils/index.js CHANGED
@@ -2,7 +2,10 @@ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
2
  import { useEffect, useState } from 'react';
3
3
  var EMPTY_VALUE = [undefined, null, ''];
4
4
  /** 判断一个值是否是空值 */
5
- export var isEmpty = function isEmpty(value) {
5
+ export var isEmpty = function isEmpty(value, emptyValue) {
6
+ if (emptyValue) {
7
+ EMPTY_VALUE.push(emptyValue);
8
+ }
6
9
  if (EMPTY_VALUE.includes(value)) {
7
10
  return true;
8
11
  }
@@ -39,6 +39,7 @@ var ProDrawer = function ProDrawer(_ref) {
39
39
  onCancel = _ref.onCancel,
40
40
  children = _ref.children,
41
41
  className = _ref.className,
42
+ zIndex = _ref.zIndex,
42
43
  drawerProps = _ref.drawerProps;
43
44
  var ref = (0, _react.useRef)(null);
44
45
  var modalRef = (0, _react.useRef)(null);
@@ -195,7 +196,8 @@ var ProDrawer = function ProDrawer(_ref) {
195
196
  placement: "right",
196
197
  className: "pro-drawer ".concat(className !== null && className !== void 0 ? className : ''),
197
198
  closable: false,
198
- onClose: onCancel
199
+ onClose: onCancel,
200
+ zIndex: zIndex
199
201
  }, drawerProps), {}, {
200
202
  children: [(0, _jsxRuntime.jsx)("div", {
201
203
  className: "pro-drawer-close",
@@ -38,8 +38,9 @@ var ProModal = function ProModal(_ref) {
38
38
  onCancel = _ref.onCancel,
39
39
  children = _ref.children,
40
40
  className = _ref.className,
41
- modalProps = _ref.modalProps,
42
- extraLeft = _ref.extraLeft;
41
+ extraLeft = _ref.extraLeft,
42
+ zIndex = _ref.zIndex,
43
+ modalProps = _ref.modalProps;
43
44
  var ref = (0, _react.useRef)(null);
44
45
  var _ref2 = (0, _ahooks.useScroll)((_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.parentNode) || {},
45
46
  top = _ref2.top;
@@ -181,7 +182,8 @@ var ProModal = function ProModal(_ref) {
181
182
  closeIcon: (0, _jsxRuntime.jsx)(_reactSvg.ReactSVG, {
182
183
  className: "close-icon",
183
184
  src: _close.default
184
- })
185
+ }),
186
+ zIndex: zIndex
185
187
  }, modalProps), {}, {
186
188
  children: (0, _jsxRuntime.jsx)("div", {
187
189
  ref: ref,
@@ -98,4 +98,5 @@ export interface ProDrawerFormPropsType {
98
98
  */
99
99
  onCloseClean?: boolean;
100
100
  children?: React.ReactNode;
101
+ zIndex?: number;
101
102
  }
@@ -167,6 +167,10 @@ var ListChangedWrapper = function ListChangedWrapper(props) {
167
167
  };
168
168
  // @ts-ignore
169
169
  var _showEllipse = ((_children$props = children.props) === null || _children$props === void 0 ? void 0 : _children$props.showEllipse) || ((_children$props2 = children.props) === null || _children$props2 === void 0 ? void 0 : _children$props2.tooltip);
170
+ var classNames = (0, _classnames.default)({
171
+ 'original-value-tooltip': true,
172
+ 'original-value-tooltip-fixed': true
173
+ });
170
174
  var diffClassName = (0, _classnames.default)({
171
175
  'pro-form-item-changed': isChanged,
172
176
  'pro-form-item-add': isAdd
@@ -177,7 +181,7 @@ var ListChangedWrapper = function ListChangedWrapper(props) {
177
181
  getPopupContainer: function getPopupContainer(trigger) {
178
182
  return scrollFollowParent ? trigger.parentElement : document.body;
179
183
  },
180
- overlayClassName: "original-value-tootip",
184
+ overlayClassName: classNames,
181
185
  placement: "topLeft",
182
186
  autoAdjustOverflow: false,
183
187
  title: (0, _jsxRuntime.jsxs)(_antd.Space, {
@@ -30,7 +30,7 @@ var _utils = require("../../../ProForm/utils");
30
30
  var _ConfirmWrapper = _interopRequireDefault(require("../../../ProForm/components/render/ConfirmWrapper"));
31
31
  var _getDefaultProps = require("../../utils/getDefaultProps");
32
32
  var _ListChangedWrapper = _interopRequireDefault(require("./ListChangedWrapper"));
33
- var _excluded = ["type", "valueType", "names", "fieldProps", "labelRequired", "editRender", "component", "viewRender", "title", "originTitle", "label", "dataIndex", "formItemProps", "isEditable", "required", "rules", "equalWith", "className", "trim", "confirm"];
33
+ var _excluded = ["type", "valueType", "names", "fieldProps", "labelRequired", "editRender", "component", "viewRender", "title", "originTitle", "label", "dataIndex", "formItemProps", "isEditable", "required", "rules", "equalWith", "onDiff", "className", "trim", "confirm"];
34
34
  /* eslint-disable prefer-destructuring */
35
35
  /* eslint-disable prefer-const */
36
36
  var RenderField = function RenderField(_ref) {
@@ -60,6 +60,7 @@ var RenderField = function RenderField(_ref) {
60
60
  _column$rules = column.rules,
61
61
  rules = _column$rules === void 0 ? [] : _column$rules,
62
62
  equalWith = column.equalWith,
63
+ onDiff = column.onDiff,
63
64
  className = column.className,
64
65
  trim = column.trim,
65
66
  confirm = column.confirm,
@@ -562,7 +563,7 @@ var RenderField = function RenderField(_ref) {
562
563
  originalNames: originalNames,
563
564
  originalValues: originalValues,
564
565
  form: form,
565
- equalWith: equalWith,
566
+ equalWith: onDiff || equalWith,
566
567
  type: type,
567
568
  onChange: _onChange,
568
569
  valuePropName: _formItemProps.valuePropName,
@@ -281,8 +281,11 @@
281
281
  }
282
282
  }
283
283
 
284
- .is-new-row, .is-new-row.@{ant-prefix}-table-row:hover {
285
- td, .@{ant-prefix}-table-cell-row-hover {
284
+ .@{ant-prefix}-table .@{ant-prefix}-table-body .@{ant-prefix}-table-tbody .is-new-row.@{ant-prefix}-table-row td{
285
+ background: var(--zaui-contract-bg-add, #d2fff4) !important;
286
+ }
287
+ .@{ant-prefix}-table .@{ant-prefix}-table-body .@{ant-prefix}-table-tbody .is-new-row.@{ant-prefix}-table-row:hover{
288
+ td, .@{ant-prefix}-table-cell-row-hover {
286
289
  background: var(--zaui-contract-bg-add, #d2fff4) !important;
287
290
  }
288
291
  }
@@ -44,7 +44,8 @@ var ProEnum = function ProEnum(props) {
44
44
  enumProps = (0, _objectWithoutProperties2.default)(props, _excluded);
45
45
  var _ref = otherProps || {},
46
46
  viewEmpty = _ref.viewEmpty;
47
- var _isView = isView || (otherProps === null || otherProps === void 0 ? void 0 : otherProps.isView);
47
+ var _isView = isView !== undefined && isView !== null ? isView : otherProps === null || otherProps === void 0 ? void 0 : otherProps.isView;
48
+ var _defalutValue = props === null || props === void 0 ? void 0 : props.defaultValue;
48
49
  var _ref2 = (0, _ProConfigProvider.useProConfig)('ProEnum') || {},
49
50
  fieldNames = _ref2.fieldNames,
50
51
  _ref2$clear = _ref2.clear,
@@ -274,16 +275,17 @@ var ProEnum = function ProEnum(props) {
274
275
  return (0, _lodash.isFunction)(props.optionRender) && record.length ? _optionRender() : labelList === null || labelList === void 0 ? void 0 : labelList.join(',');
275
276
  };
276
277
  if (_isView) {
277
- if (Array.isArray(value)) {
278
+ var __value = value || _defalutValue;
279
+ if (Array.isArray(__value)) {
278
280
  return (0, _jsxRuntime.jsx)(_Container.default, {
279
281
  tooltip: true,
280
282
  viewEmpty: viewEmpty,
281
- children: transToLabel(value)
283
+ children: transToLabel(__value)
282
284
  });
283
285
  }
284
286
  return (0, _jsxRuntime.jsx)(_Container.default, {
285
287
  viewEmpty: viewEmpty,
286
- children: value || (0, _lodash.isNumber)(value) ? transToLabel([value]) : null
288
+ children: __value || (0, _lodash.isNumber)(__value) ? transToLabel([__value]) : null
287
289
  });
288
290
  }
289
291
  return (0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
@@ -77,6 +77,7 @@ export interface ProEnum {
77
77
  otherProps?: ProFormOtherProps;
78
78
  allowClear?: boolean;
79
79
  id?: string;
80
+ defaultValue?: any;
80
81
  }
81
82
  export type PropProSelectsMap = {
82
83
  type?: 'ProSelect';
@@ -10,15 +10,17 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
10
10
  var _jsxRuntime = require("react/jsx-runtime");
11
11
  var _antd = require("antd");
12
12
  var _lodash = require("lodash");
13
+ var _classnames = _interopRequireDefault(require("classnames"));
13
14
  var _ProConfigProvider = require("../../../../ProConfigProvider");
14
15
  var _locale = _interopRequireDefault(require("../../../../locale"));
15
16
  var _ProForm = _interopRequireDefault(require("../../../../ProForm"));
16
- var _excluded = ["onChange", "disabled", "value", "otherProps"];
17
+ var _excluded = ["onChange", "disabled", "value", "otherProps", "className"];
17
18
  var SwitchCheckbox = function SwitchCheckbox(props) {
18
19
  var onChange = props.onChange,
19
20
  disabled = props.disabled,
20
21
  value = props.value,
21
22
  otherProps = props.otherProps,
23
+ className = props.className,
22
24
  restProps = (0, _objectWithoutProperties2.default)(props, _excluded);
23
25
  var _ref = _ProForm.default.useFieldProps() || {},
24
26
  isViewCon = _ref.isView,
@@ -53,9 +55,14 @@ var SwitchCheckbox = function SwitchCheckbox(props) {
53
55
  })]
54
56
  });
55
57
  }
58
+ var classNames = (0, _classnames.default)({
59
+ 'pro-switch-checkbox': true,
60
+ className: className
61
+ });
56
62
  return (0, _jsxRuntime.jsx)(_antd.Checkbox, (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({
57
63
  disabled: disabled,
58
- onChange: changeVal
64
+ onChange: changeVal,
65
+ className: classNames
59
66
  }, initialConfig), restProps), {}, {
60
67
  children: restProps.label
61
68
  }));
@@ -16,6 +16,7 @@ interface Props {
16
16
  valuePropName?: string;
17
17
  isView?: boolean;
18
18
  getValueProps?: (value: any) => Record<string, unknown>;
19
+ viewRender?: (props: any) => any;
19
20
  }
20
21
  /** 渲染组件 */
21
22
  declare const ComRender: React.FC<Props>;
@@ -15,7 +15,7 @@ var _ConfirmWrapper = _interopRequireDefault(require("../../../../components/ren
15
15
  var _useFieldProps = require("../../../../utils/useFieldProps");
16
16
  var componentMap = _interopRequireWildcard(require("../../../../../index"));
17
17
  var _AddonWrapper = _interopRequireDefault(require("./AddonWrapper"));
18
- var _excluded = ["type", "confirm", "component", "fieldProps", "contextProps", "before", "after", "getValueProps", "valuePropName", "valueType", "isView"];
18
+ var _excluded = ["type", "confirm", "component", "fieldProps", "contextProps", "before", "after", "getValueProps", "valuePropName", "valueType", "isView", "viewRender"];
19
19
  // 这里的key与组件内参数一致, 决定使用哪个包裹组件
20
20
  var wrapperMap = {
21
21
  confirm: _ConfirmWrapper.default,
@@ -50,6 +50,7 @@ var ComRender = function ComRender(props) {
50
50
  valuePropName = _props$valuePropName === void 0 ? 'value' : _props$valuePropName,
51
51
  valueType = props.valueType,
52
52
  isView = props.isView,
53
+ viewRender = props.viewRender,
53
54
  rest = (0, _objectWithoutProperties2.default)(props, _excluded);
54
55
  var TypeComponent = componentMap[type];
55
56
  var mergedGetValueProps = getValueProps || function (val) {
@@ -57,6 +58,16 @@ var ComRender = function ComRender(props) {
57
58
  };
58
59
  var _props = mergedGetValueProps(fieldProps.value);
59
60
  var componentProps = (0, _objectSpread3.default)((0, _objectSpread3.default)((0, _objectSpread3.default)({}, fieldProps), rest), _props);
61
+ if (viewRender && isView) {
62
+ return (0, _jsxRuntime.jsx)(_useFieldProps.FieldProvider, {
63
+ value: (0, _objectSpread3.default)((0, _objectSpread3.default)({}, contextProps), {}, {
64
+ valueType: valueType,
65
+ type: type,
66
+ isView: isView
67
+ }),
68
+ children: viewRender(componentProps)
69
+ });
70
+ }
60
71
  var Component = component ? (/*#__PURE__*/_react.default.cloneElement(component, (0, _objectSpread3.default)({}, componentProps))) : (0, _jsxRuntime.jsx)(TypeComponent, (0, _objectSpread3.default)({}, componentProps));
61
72
  var Com = getComRender(Component, props, componentProps);
62
73
  return (0, _jsxRuntime.jsx)(_useFieldProps.FieldProvider, {
@@ -32,7 +32,8 @@ var Group = function Group(props) {
32
32
  value = props.value,
33
33
  onChange = props.onChange,
34
34
  otherProps = props.otherProps,
35
- id = props.id;
35
+ id = props.id,
36
+ isParentView = props.isView;
36
37
  var contextProps = _ProForm.default.useFieldProps() || {};
37
38
  var names = contextProps.names,
38
39
  name = contextProps.name,
@@ -77,7 +78,7 @@ var Group = function Group(props) {
77
78
  children: columns.map(function (column, index) {
78
79
  return (0, _jsxRuntime.jsx)(_ComRender.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({
79
80
  contextProps: contextProps,
80
- isView: isView
81
+ isView: isParentView || isView
81
82
  }, column), {}, {
82
83
  otherProps: otherProps
83
84
  }), column.name);
@@ -88,7 +89,7 @@ var Group = function Group(props) {
88
89
  children: columns.map(function (column, index) {
89
90
  return (0, _jsxRuntime.jsx)(_ComRender.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({
90
91
  contextProps: contextProps,
91
- isView: isView
92
+ isView: isParentView || isView
92
93
  }, column), {}, {
93
94
  otherProps: otherProps
94
95
  }), column.name);
@@ -840,7 +840,8 @@ var ProModalSelect = function ProModalSelect(props, ref) {
840
840
  onOk: handleFinish,
841
841
  // @ts-ignore
842
842
  onCancel: handleClose,
843
- visible: visible
843
+ visible: visible,
844
+ zIndex: 1071
844
845
  }, restModalProps), {}, {
845
846
  children: [(0, _jsxRuntime.jsx)(_index.ProForm, {
846
847
  submitOnEnter: true,
@@ -34,7 +34,6 @@ var ChangedWrapper = function ChangedWrapper(props) {
34
34
  getValueProps = props.getValueProps,
35
35
  viewRender = props.viewRender,
36
36
  rest = (0, _objectWithoutProperties2.default)(props, _excluded);
37
- // const contentRef = useRef(null);
38
37
  var _useProConfig = (0, _ProConfigProvider.useProConfig)('ProForm'),
39
38
  isDiffAll = _useProConfig.isDiffAll;
40
39
  var originalValues = diffConfig.originalValues,
@@ -108,7 +107,7 @@ var ChangedWrapper = function ChangedWrapper(props) {
108
107
  getPopupContainer: function getPopupContainer(trigger) {
109
108
  return scrollFollowParent ? trigger.parentElement : document.body;
110
109
  },
111
- overlayClassName: "original-value-tootip",
110
+ overlayClassName: "original-value-tooltip",
112
111
  placement: "topLeft",
113
112
  autoAdjustOverflow: false,
114
113
  title: (0, _jsxRuntime.jsxs)(_antd.Space, {
@@ -17,7 +17,7 @@ var componentMap = _interopRequireWildcard(require("../index"));
17
17
  var _utils = require("../../utils");
18
18
  var _useFieldProps = require("../../utils/useFieldProps");
19
19
  var _locale = _interopRequireDefault(require("../../../locale"));
20
- var _excluded = ["show", "type", "viewRender", "viewType", "valueType", "formItemProps", "colProps", "formItemChildProps", "fieldProps", "equalWith", "clearNotShow", "required", "confirm"];
20
+ var _excluded = ["show", "type", "viewRender", "viewType", "valueType", "formItemProps", "colProps", "formItemChildProps", "fieldProps", "equalWith", "onDiff", "clearNotShow", "required", "confirm"];
21
21
  var RenderFields = function RenderFields(props) {
22
22
  var isView = props.isView,
23
23
  _props$columns = props.columns,
@@ -77,6 +77,7 @@ var RenderFields = function RenderFields(props) {
77
77
  _column$fieldProps = column.fieldProps,
78
78
  fieldProps = _column$fieldProps === void 0 ? {} : _column$fieldProps,
79
79
  equalWith = column.equalWith,
80
+ onDiff = column.onDiff,
80
81
  _column$clearNotShow = column.clearNotShow,
81
82
  clearNotShow = _column$clearNotShow === void 0 ? outerClearNotShow : _column$clearNotShow,
82
83
  columnRequired = column.required,
@@ -216,7 +217,7 @@ var RenderFields = function RenderFields(props) {
216
217
  fieldProps: (0, _lodash.isFunction)(fieldProps) ? fieldProps : null,
217
218
  isSelect: _isSelect,
218
219
  diffConfig: diffConfig,
219
- equalWith: equalWith,
220
+ equalWith: onDiff || equalWith,
220
221
  requiredOnView: requiredOnView,
221
222
  globalControl: globalControl,
222
223
  viewRender: viewRender
@@ -207,6 +207,7 @@ export interface ProFormColumnProps<Values = any> extends Omit<FormItemProps<Val
207
207
  hiddenNames?: string[] | any[];
208
208
  rules?: ProRule[] | ReactiveFunction<Values, ProRule[]>;
209
209
  equalWith?: DiffOriginalParams['equalWith'];
210
+ onDiff?: DiffOriginalParams['equalWith'];
210
211
  required?: boolean | boolean[] | ReactiveFunction<Values, boolean | boolean[]>;
211
212
  labelRequired?: boolean;
212
213
  toISOString?: boolean;
@@ -385,7 +385,7 @@
385
385
  }
386
386
 
387
387
  // checkbox
388
- .@{ant-prefix}-checkbox-group {
388
+ .@{ant-prefix}-checkbox-group,.pro-switch-checkbox {
389
389
  padding: 5px 0
390
390
  }
391
391
  // switch
@@ -412,7 +412,7 @@
412
412
  background: @zaui-contract-bg-add !important;
413
413
 
414
414
  .@{ant-prefix}-input {
415
- background: @zaui-contract-bg !important;
415
+ background: @zaui-contract-bg-add !important;
416
416
  }
417
417
 
418
418
  .@{ant-prefix}-select.@{ant-prefix}-select-disabled .@{ant-prefix}-select-selector{
@@ -463,7 +463,7 @@
463
463
  }
464
464
 
465
465
  // checkbox
466
- .@{ant-prefix}-checkbox-group {
466
+ .@{ant-prefix}-checkbox-group,.pro-switch-checkbox {
467
467
  padding: 5px 0
468
468
  }
469
469
  // switch
@@ -485,10 +485,9 @@
485
485
  }
486
486
  }
487
487
 
488
- .original-value-tootip{
488
+ .original-value-tooltip{
489
489
  max-width: 100%;
490
490
  width: max-content;
491
- position: fixed;
492
491
  .changed-tooltip {
493
492
  .original-value-container {
494
493
  .ant-space-item:nth-child(1) {
@@ -511,3 +510,7 @@
511
510
  }
512
511
  }
513
512
 
513
+ .original-value-tooltip-fixed {
514
+ position: fixed;
515
+ }
516
+
@@ -7,15 +7,17 @@ exports.diffOriginal = void 0;
7
7
  var _lodash = require("lodash");
8
8
  var _utils = require("../../utils");
9
9
  // 过滤对象中undefined字段
10
- // 防止{a: '1'} {a: '1', b: undefined}被认为不相等
11
- var filterUndefined = function filterUndefined(data) {
10
+ // 防止{a: '1'} {a: '1', b: undefined | null}被认为不相等
11
+ var filterObject = function filterObject(data) {
12
12
  if (!(0, _lodash.isObject)(data) || Array.isArray(data) || data === null) return data;
13
13
  var resData = {};
14
14
  Object.keys(data).forEach(function (key) {
15
- if (data[key] !== undefined) {
15
+ if (!(0, _utils.isEmpty)(data[key])) {
16
16
  resData[key] = data[key];
17
17
  }
18
18
  });
19
+ // 空对象视为null 比较时 null undefined {} [] '' 视为相等
20
+ if (!Object.keys(resData).length) return null;
19
21
  return resData;
20
22
  };
21
23
  var nullValue = [null, undefined, '']; // 输入框空值时可能存在的三种值 视为相等
@@ -26,18 +28,22 @@ var diffOriginal = exports.diffOriginal = function diffOriginal(params) {
26
28
  // 支持传入自定义比较事件
27
29
  if ((0, _lodash.isFunction)(equalWith)) {
28
30
  var diffRes = equalWith(originalValue, value);
29
- if (diffRes === undefined) return 'same';
30
- if (typeof diffRes === 'boolean') {
31
- return diffRes ? 'same' : 'changed';
31
+ // 如果返回undefined走内置比较逻辑
32
+ if (diffRes !== undefined) {
33
+ if (typeof diffRes === 'boolean') {
34
+ return diffRes ? 'same' : 'changed';
35
+ }
36
+ return diffRes;
32
37
  }
33
- return diffRes;
34
38
  }
39
+ var _value = filterObject(value);
40
+ var _originalValue = filterObject(originalValue);
35
41
  // 如果原始值为空 且当前有值的话 认为变更类型是新增
36
- if ((0, _utils.isEmpty)(originalValue) && !(0, _utils.isEmpty)(value)) {
42
+ if ((0, _utils.isEmpty)(_originalValue) && !(0, _utils.isEmpty)(_value)) {
37
43
  return 'add';
38
44
  }
39
- if (Array.isArray(originalValue)) {
40
- var isSame = originalValue.every(function (valueItem, index) {
45
+ if (Array.isArray(_originalValue)) {
46
+ var isSame = _originalValue.every(function (valueItem, index) {
41
47
  // 如果两个值有一个不是空值, 则进行深比较
42
48
  if (!(0, _utils.isEmpty)(value === null || value === void 0 ? void 0 : value[index]) || !(0, _utils.isEmpty)(valueItem)) {
43
49
  return (0, _lodash.isEqual)(value === null || value === void 0 ? void 0 : value[index], valueItem);
@@ -46,8 +52,8 @@ var diffOriginal = exports.diffOriginal = function diffOriginal(params) {
46
52
  });
47
53
  return isSame ? 'same' : 'changed';
48
54
  }
49
- if (!nullValue.includes(value) || !nullValue.includes(originalValue)) {
50
- return (0, _lodash.isEqual)(filterUndefined(value), filterUndefined(originalValue)) ? 'same' : 'changed';
55
+ if (!(0, _utils.isEmpty)(_originalValue) || !(0, _utils.isEmpty)(_value)) {
56
+ return (0, _lodash.isEqual)(_value, _originalValue) ? 'same' : 'changed';
51
57
  }
52
58
  return 'same';
53
59
  };
@@ -1,15 +1,17 @@
1
+ /**
2
+ * 调整点:
3
+ */
1
4
  import React from 'react';
2
5
  import { ProTableColumn } from '../../propsType';
3
- export declare const formatColumn: ({ column, originalObj, dataSourceObj, rowKey, diffToolTip, wrapToolTipProps, scroll, onUpdateMinWidth, isInNewRow, }: {
6
+ export declare const formatColumn: ({ column, originalObj, rowKey, wrapToolTipProps, scroll, onUpdateMinWidth, isInNewRow, diffConfig, }: {
4
7
  column: ProTableColumn;
5
8
  originalObj: any;
6
- dataSourceObj: any;
7
9
  rowKey: any;
8
- diffToolTip?: boolean;
9
10
  wrapToolTipProps?: any;
10
11
  scroll?: any;
11
12
  onUpdateMinWidth?: any;
12
13
  isInNewRow?: any;
14
+ diffConfig: any;
13
15
  }) => void;
14
16
  /**
15
17
  * 查找最近的父级className