@zat-design/sisyphus-react 3.2.1-beta.4 → 3.2.1-beta.6

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.
@@ -905,6 +905,10 @@
905
905
  }
906
906
  .pro-header .ant-breadcrumb .ant-breadcrumb-link {
907
907
  font-size: var(--zaui-font-size-xl, 18px);
908
+ display: -webkit-inline-box;
909
+ display: -webkit-inline-flex;
910
+ display: -ms-inline-flexbox;
911
+ display: inline-flex;
908
912
  }
909
913
  .pro-header .ant-breadcrumb .ant-breadcrumb-separator {
910
914
  font-weight: 500;
@@ -1618,6 +1622,10 @@
1618
1622
  .pro-table .custom-column-btn .anticon {
1619
1623
  height: 16px;
1620
1624
  }
1625
+ .pro-table .ant-table-tbody .ant-table-cell-fix-left,
1626
+ .pro-table .ant-table-tbody .ant-table-cell-fix-right {
1627
+ background: unset !important;
1628
+ }
1621
1629
  .pro-table .ant-table-body .ant-table-cell .varied-cell {
1622
1630
  margin-left: -8px;
1623
1631
  background: var(--zaui-contract-bg, #fffaa1);
@@ -2517,6 +2525,11 @@ span.ant-input-group-compact.pro-range-limit .forever-checkbox {
2517
2525
  .pro-form .ant-form-item.pro-form-item-changed .ant-picker .ant-select-selection-placeholder {
2518
2526
  z-index: 9;
2519
2527
  }
2528
+ .pro-form .ant-form-item.pro-form-item-changed .ant-form-item-control-input-content > span {
2529
+ background: var(--zaui-contract-bg, #fffaa1);
2530
+ padding: 4px 8px;
2531
+ border-radius: 4px;
2532
+ }
2520
2533
  .pro-form .ant-form-item .ant-row {
2521
2534
  width: 100%;
2522
2535
  }
@@ -5137,6 +5150,10 @@ input[type='button'] {
5137
5150
  .ant-tabs .ant-tabs-nav .ant-tabs-tab-btn {
5138
5151
  font-size: var(--zaui-font-size-lg, 16px);
5139
5152
  }
5153
+ .ant-tabs.ant-tabs-card .ant-tabs-tab {
5154
+ padding: 8px calc(var(--zaui-space-size-md, 16px)*var(--zaui-size, 1)) !important;
5155
+ margin-right: 10px !important;
5156
+ }
5140
5157
  .ant-tabs.ant-tabs-card .ant-tabs-nav .ant-tabs-tab-btn {
5141
5158
  font-size: var(--zaui-font-size, 14px);
5142
5159
  }
@@ -1,15 +1,22 @@
1
+ import "antd/es/tooltip/style";
2
+ import _Tooltip from "antd/es/tooltip";
1
3
  import "antd/es/form/style";
2
4
  import _Form from "antd/es/form";
5
+ import "antd/es/space/style";
6
+ import _Space from "antd/es/space";
7
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
8
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
9
  import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
4
10
  import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
5
11
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
6
12
  import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
7
13
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
8
- var _excluded = ["type", "valueType", "names", "fieldProps", "labelRequired", "editRender", "component", "viewRender", "title", "originTitle", "label", "dataIndex", "formItemProps", "isEditable", "required", "rules"];
9
- import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
14
+ var _excluded = ["type", "valueType", "names", "fieldProps", "labelRequired", "editRender", "component", "viewRender", "title", "originTitle", "label", "dataIndex", "formItemProps", "isEditable", "required", "rules", "equalWith", "className"];
15
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
16
  /* eslint-disable prefer-destructuring */
11
17
  /* eslint-disable prefer-const */
12
18
  import React, { useCallback, useEffect } from 'react';
19
+ import classNames from 'classnames';
13
20
  import { cloneDeep, isEqual, debounce, omit, isFunction, isString } from 'lodash';
14
21
  import valueTypeMap from '../../../ProForm/utils/valueType';
15
22
  import transformMap from '../../utils/transform';
@@ -18,11 +25,12 @@ import * as componentMap from '../../../ProForm/components';
18
25
  import Container from '../../../ProForm/components/Container';
19
26
  import transformNames from '../../../ProForm/utils/transformNames';
20
27
  import { FieldProvider } from '../../../ProForm/utils/useFieldProps';
28
+ import { useChanged } from '../../../ProForm/utils/useChanged';
21
29
  import useRules from '../../../ProForm/utils/useRules';
22
30
  import { isSelect } from '../../../ProForm/utils';
23
31
  import locale from '../../../locale';
24
32
  var RenderField = function RenderField(_ref) {
25
- var _type, _type$replace, _fieldProps2, _fieldProps3, _fieldProps4, _names, _formItemChildProps$p, _TargetComponent4;
33
+ var _type, _type$replace, _fieldProps2, _fieldProps3, _fieldProps4, _names, _formItemChildProps$p, _TargetComponent4, _classNames;
26
34
  var value = _ref.text,
27
35
  record = _ref.record,
28
36
  index = _ref.index,
@@ -47,6 +55,8 @@ var RenderField = function RenderField(_ref) {
47
55
  required = _column$required === void 0 ? false : _column$required,
48
56
  _column$rules = column.rules,
49
57
  rules = _column$rules === void 0 ? [] : _column$rules,
58
+ equalWith = column.equalWith,
59
+ className = column.className,
50
60
  resetProps = _objectWithoutProperties(column, _excluded);
51
61
  // editRender弃用使用component同ProForm
52
62
  var _editRender = component || editRender;
@@ -61,7 +71,9 @@ var RenderField = function RenderField(_ref) {
61
71
  setState = config.setState,
62
72
  name = config.name,
63
73
  virtualKey = config.virtualKey,
64
- viewEmpty = config.viewEmpty;
74
+ viewEmpty = config.viewEmpty,
75
+ originalValues = config.originalValues,
76
+ originalTip = config.originalTip;
65
77
  var _fieldProps = fieldProps || formItemProps || {};
66
78
  var _rules = rules || [];
67
79
  var _required = required;
@@ -175,13 +187,23 @@ var RenderField = function RenderField(_ref) {
175
187
  return [].concat(_toConsumableArray(baseName), [index, key]);
176
188
  });
177
189
  }
190
+ var originalName = cellName;
191
+ var originalNames = names;
192
+ if (virtualKey) {
193
+ var _cellName$slice, _names2, _names2$map;
194
+ originalName = [].concat(_toConsumableArray(name), _toConsumableArray(cellName === null || cellName === void 0 ? void 0 : (_cellName$slice = cellName.slice) === null || _cellName$slice === void 0 ? void 0 : _cellName$slice.call(cellName, 1)));
195
+ originalNames = (_names2 = names) === null || _names2 === void 0 ? void 0 : (_names2$map = _names2.map) === null || _names2$map === void 0 ? void 0 : _names2$map.call(_names2, function (item) {
196
+ var _item$slice;
197
+ return [].concat(_toConsumableArray(name), _toConsumableArray(item === null || item === void 0 ? void 0 : (_item$slice = item.slice) === null || _item$slice === void 0 ? void 0 : _item$slice.call(item, 1)));
198
+ });
199
+ }
178
200
  /**
179
201
  * 配置names时,基于formItem的normalize与getValueProps进行值类型转换
180
202
  * @returns {}
181
203
  */
182
204
  var namesTransform = function namesTransform() {
183
- var _names2;
184
- if (!((_names2 = names) === null || _names2 === void 0 ? void 0 : _names2.length)) {
205
+ var _names3;
206
+ if (!((_names3 = names) === null || _names3 === void 0 ? void 0 : _names3.length)) {
185
207
  return {};
186
208
  }
187
209
  var namesStr = [baseName, index, dataIndex];
@@ -341,14 +363,6 @@ var RenderField = function RenderField(_ref) {
341
363
  d: Date.now()
342
364
  }
343
365
  });
344
- // if (virtualKey) {
345
- // // 单行编辑时需要 强制更新视图
346
- // setState({
347
- // forceUpdate: {
348
- // d: Date.now(),
349
- // },
350
- // });
351
- // }
352
366
  case 30:
353
367
  case "end":
354
368
  return _context.stop();
@@ -437,6 +451,20 @@ var RenderField = function RenderField(_ref) {
437
451
  return _ref3.apply(this, arguments);
438
452
  };
439
453
  }();
454
+ // 判断当前字段是否变更
455
+ var _useChanged = useChanged({
456
+ name: cellName,
457
+ names: names,
458
+ namesStr: [].concat(_toConsumableArray(baseName), [index, dataIndex]),
459
+ originalName: originalName,
460
+ originalNames: originalNames,
461
+ originalValues: originalValues,
462
+ form: form,
463
+ equalWith: equalWith
464
+ }),
465
+ _useChanged2 = _slicedToArray(_useChanged, 2),
466
+ changed = _useChanged2[0],
467
+ originalValue = _useChanged2[1];
440
468
  var componentProps = _objectSpread(_objectSpread(_objectSpread({
441
469
  form: form,
442
470
  name: cellName,
@@ -477,15 +505,32 @@ var RenderField = function RenderField(_ref) {
477
505
  if (!isEditing) {
478
506
  delete _formItemProps.rules;
479
507
  }
508
+ var _className = classNames((_classNames = {}, _defineProperty(_classNames, className, className), _defineProperty(_classNames, 'pro-form-item-changed', changed), _classNames));
509
+ var originalTitle = _jsxs(_Space, {
510
+ children: ["\u521D\u59CB\u503C\uFF1A", /*#__PURE__*/React.isValidElement(TargetComponent) ? /*#__PURE__*/React.cloneElement(TargetComponent, _objectSpread(_objectSpread({}, omit(componentProps, ['onFieldChange'])), {}, {
511
+ isView: true,
512
+ value: originalValue,
513
+ checked: type === 'Switch' ? originalValue : undefined
514
+ })) : _jsx(TargetComponent, _objectSpread(_objectSpread({}, omit(componentProps, ['onFieldChange'])), {}, {
515
+ isView: true,
516
+ value: originalValue,
517
+ checked: type === 'Switch' ? originalValue : undefined
518
+ }))]
519
+ });
520
+ var FormItem = _jsx(_Form.Item, _objectSpread(_objectSpread({
521
+ validateFirst: true
522
+ }, omit(_formItemProps, ['render', 'cache', 'key', 'width', 'hiddenNames', 'name'])), {}, {
523
+ className: _className,
524
+ name: cellName,
525
+ children: /*#__PURE__*/React.isValidElement(TargetComponent) ? /*#__PURE__*/React.cloneElement(TargetComponent, _objectSpread({}, omit(componentProps, ['onFieldChange']))) : _jsx(TargetComponent, _objectSpread({}, omit(componentProps, ['onFieldChange'])))
526
+ }));
480
527
  return _jsx(FieldProvider, {
481
528
  value: componentProps === null || componentProps === void 0 ? void 0 : componentProps.otherProps,
482
- children: _jsx(_Form.Item, _objectSpread(_objectSpread({
483
- validateFirst: true,
484
- noStyle: !isEditing
485
- }, omit(_formItemProps, ['render', 'cache', 'key', 'width', 'hiddenNames', 'name'])), {}, {
486
- name: cellName,
487
- children: /*#__PURE__*/React.isValidElement(TargetComponent) ? /*#__PURE__*/React.cloneElement(TargetComponent, _objectSpread({}, omit(componentProps, ['onFieldChange']))) : _jsx(TargetComponent, _objectSpread({}, omit(componentProps, ['onFieldChange'])))
488
- }))
529
+ children: !originalTip || ['FormList', 'ProEditTable'].includes(type) ? FormItem : _jsx(_Tooltip, {
530
+ title: originalTitle,
531
+ open: changed ? undefined : false,
532
+ children: FormItem
533
+ })
489
534
  });
490
535
  };
491
536
  export default RenderField;
@@ -10,7 +10,7 @@ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
10
10
  import "antd/es/form/style";
11
11
  import _Form from "antd/es/form";
12
12
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
13
- var _excluded = ["value", "onChange", "className", "columns", "type", "mode", "stripe", "draggable", "disabled", "insertType", "emptyBtnText", "actionWidth", "actionProps", "toolbarProps", "rowSelection", "onlyOneLineMsg", "deletePoConfirmMsg", "mulDeletePoConfirmMsg", "otherProps", "requiredAlign", "summary", "max", "headerRender", "pagination"];
13
+ var _excluded = ["value", "onChange", "className", "columns", "type", "mode", "stripe", "draggable", "disabled", "insertType", "emptyBtnText", "actionWidth", "actionProps", "toolbarProps", "rowSelection", "onlyOneLineMsg", "deletePoConfirmMsg", "mulDeletePoConfirmMsg", "otherProps", "requiredAlign", "summary", "max", "headerRender", "pagination", "originalValues", "originalTip"];
14
14
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
15
15
  import { forwardRef, useCallback, useEffect, useImperativeHandle, useRef } from 'react';
16
16
  import { isArray } from 'lodash';
@@ -48,6 +48,8 @@ var ProEditTable = function ProEditTable(_ref, ref) {
48
48
  max = _ref.max,
49
49
  headerRender = _ref.headerRender,
50
50
  pagination = _ref.pagination,
51
+ originalValues = _ref.originalValues,
52
+ originalTip = _ref.originalTip,
51
53
  resetProps = _objectWithoutProperties(_ref, _excluded);
52
54
  // 上下文form
53
55
  var contentForm = _Form.useFormInstance();
@@ -134,7 +136,9 @@ var ProEditTable = function ProEditTable(_ref, ref) {
134
136
  tableRef: tableRef,
135
137
  max: max,
136
138
  tableLength: value === null || value === void 0 ? void 0 : value.length,
137
- page: page
139
+ page: page,
140
+ originalValues: originalValues,
141
+ originalTip: originalTip
138
142
  };
139
143
  // 判断是否禁止添加、批量删除
140
144
  var isForbiddenBtn = useCallback(function (type) {
@@ -121,9 +121,19 @@ export interface ProEditTableProps<T = any> extends Omit<TableProps<T>, 'onChang
121
121
  * @default -
122
122
  */
123
123
  form?: FormInstance;
124
+ /**
125
+ * @description 原始数据源,设置后可以对比更新后的数值
126
+ * @default -
127
+ */
128
+ originalValues?: any;
129
+ /**
130
+ * @description 原始数据源,是否tooltip显示
131
+ * @default -
132
+ */
133
+ originalTip?: boolean;
124
134
  /**
125
135
  * @description 可编辑表格的类型,单行、多行、单元格编辑
126
- * @default multiple
136
+ * @default false
127
137
  */
128
138
  mode?: 'single' | 'multiple' | 'cell';
129
139
  /**
@@ -15,6 +15,7 @@ import Container from '../../Container';
15
15
  import * as componentMap from '../../index';
16
16
  import { isNullValue, weedOutProps } from '../../../utils';
17
17
  import { otherKeys } from '../../../propsType';
18
+ import ProForm from '../../../../ProForm';
18
19
  import './style/index.less';
19
20
  var useControlled = function useControlled(props) {
20
21
  var value = props.value,
@@ -137,6 +137,12 @@
137
137
  z-index: 9;
138
138
  }
139
139
  }
140
+
141
+ .ant-form-item-control-input-content > span {
142
+ background: @zaui-contract-bg;
143
+ padding: 4px 8px;
144
+ border-radius: 4px;
145
+ }
140
146
  }
141
147
 
142
148
  .ant-row {
@@ -106,6 +106,7 @@
106
106
 
107
107
  .ant-breadcrumb-link {
108
108
  font-size: var(--zaui-font-size-xl, 18px);
109
+ display : inline-flex;
109
110
  }
110
111
 
111
112
  .ant-breadcrumb-separator {
@@ -86,6 +86,6 @@ var RenderColumn = function RenderColumn(props) {
86
86
  children: node
87
87
  }) : '-';
88
88
  }
89
- return value ? node : '-';
89
+ return value || value === 0 ? node : '-';
90
90
  };
91
91
  export default RenderColumn;
@@ -54,6 +54,12 @@
54
54
  }
55
55
  }
56
56
 
57
+ .ant-table-tbody {
58
+ .ant-table-cell-fix-left, .ant-table-cell-fix-right {
59
+ background: unset !important;
60
+ }
61
+ }
62
+
57
63
  .ant-table-body {
58
64
  .ant-table-cell .varied-cell {
59
65
  margin-left: -8px;
@@ -125,7 +125,7 @@ function List(props) {
125
125
  _useState2 = _slicedToArray(_useState, 2),
126
126
  open = _useState2[0],
127
127
  setOpen = _useState2[1];
128
- var operateButton = menu && menu(item === null || item === void 0 ? void 0 : item.value, item);
128
+ var operateButton = menu && menu(item === null || item === void 0 ? void 0 : item[fieldNameValue], item);
129
129
  operateButton === null || operateButton === void 0 ? void 0 : operateButton.map(function (item, i) {
130
130
  return _jsx(React.Fragment, {
131
131
  children: item
@@ -145,9 +145,10 @@ export var ProTreeSelect = function ProTreeSelect(props, ref) {
145
145
  _message.error(msg);
146
146
  return;
147
147
  }
148
+ var resultData = transferDataSource(data, showCodeName);
148
149
  setState({
149
- selectList: data || [],
150
- origDataSource: data || []
150
+ selectList: resultData || [],
151
+ origDataSource: resultData || []
151
152
  });
152
153
  };
153
154
  // 配置了异步数据源,拉取枚举数据逻辑 如果有code不掉接口从local里根据code取值
@@ -339,6 +339,11 @@
339
339
  }
340
340
 
341
341
  &.ant-tabs-card {
342
+ .ant-tabs-tab {
343
+ padding : 8px calc(var(--zaui-space-size-md, 16px)*var(--zaui-size, 1)) !important;
344
+ margin-right: 10px !important;
345
+ }
346
+
342
347
  .ant-tabs-nav .ant-tabs-tab-btn {
343
348
  font-size: var(--zaui-font-size, 14px);
344
349
  }
@@ -6,6 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.default = void 0;
9
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
11
  var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
10
12
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
13
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
@@ -14,6 +16,7 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
14
16
  var _jsxRuntime = require("react/jsx-runtime");
15
17
  var _react = _interopRequireWildcard(require("react"));
16
18
  var _antd = require("antd");
19
+ var _classnames = _interopRequireDefault(require("classnames"));
17
20
  var _lodash = require("lodash");
18
21
  var _valueType = _interopRequireDefault(require("../../../ProForm/utils/valueType"));
19
22
  var _transform = _interopRequireDefault(require("../../utils/transform"));
@@ -22,14 +25,15 @@ var componentMap = _interopRequireWildcard(require("../../../ProForm/components"
22
25
  var _Container = _interopRequireDefault(require("../../../ProForm/components/Container"));
23
26
  var _transformNames = _interopRequireDefault(require("../../../ProForm/utils/transformNames"));
24
27
  var _useFieldProps = require("../../../ProForm/utils/useFieldProps");
28
+ var _useChanged3 = require("../../../ProForm/utils/useChanged");
25
29
  var _useRules = _interopRequireDefault(require("../../../ProForm/utils/useRules"));
26
30
  var _utils = require("../../../ProForm/utils");
27
31
  var _locale = _interopRequireDefault(require("../../../locale"));
28
- var _excluded = ["type", "valueType", "names", "fieldProps", "labelRequired", "editRender", "component", "viewRender", "title", "originTitle", "label", "dataIndex", "formItemProps", "isEditable", "required", "rules"];
32
+ var _excluded = ["type", "valueType", "names", "fieldProps", "labelRequired", "editRender", "component", "viewRender", "title", "originTitle", "label", "dataIndex", "formItemProps", "isEditable", "required", "rules", "equalWith", "className"];
29
33
  /* eslint-disable prefer-destructuring */
30
34
  /* eslint-disable prefer-const */
31
35
  var RenderField = function RenderField(_ref) {
32
- var _type, _type$replace, _fieldProps2, _fieldProps3, _fieldProps4, _names, _formItemChildProps$p, _TargetComponent4;
36
+ var _type, _type$replace, _fieldProps2, _fieldProps3, _fieldProps4, _names, _formItemChildProps$p, _TargetComponent4, _classNames;
33
37
  var value = _ref.text,
34
38
  record = _ref.record,
35
39
  index = _ref.index,
@@ -54,6 +58,8 @@ var RenderField = function RenderField(_ref) {
54
58
  required = _column$required === void 0 ? false : _column$required,
55
59
  _column$rules = column.rules,
56
60
  rules = _column$rules === void 0 ? [] : _column$rules,
61
+ equalWith = column.equalWith,
62
+ className = column.className,
57
63
  resetProps = (0, _objectWithoutProperties2.default)(column, _excluded);
58
64
  // editRender弃用使用component同ProForm
59
65
  var _editRender = component || editRender;
@@ -68,7 +74,9 @@ var RenderField = function RenderField(_ref) {
68
74
  setState = config.setState,
69
75
  name = config.name,
70
76
  virtualKey = config.virtualKey,
71
- viewEmpty = config.viewEmpty;
77
+ viewEmpty = config.viewEmpty,
78
+ originalValues = config.originalValues,
79
+ originalTip = config.originalTip;
72
80
  var _fieldProps = fieldProps || formItemProps || {};
73
81
  var _rules = rules || [];
74
82
  var _required = required;
@@ -182,13 +190,23 @@ var RenderField = function RenderField(_ref) {
182
190
  return [].concat((0, _toConsumableArray2.default)(baseName), [index, key]);
183
191
  });
184
192
  }
193
+ var originalName = cellName;
194
+ var originalNames = names;
195
+ if (virtualKey) {
196
+ var _cellName$slice, _names2, _names2$map;
197
+ originalName = [].concat((0, _toConsumableArray2.default)(name), (0, _toConsumableArray2.default)(cellName === null || cellName === void 0 ? void 0 : (_cellName$slice = cellName.slice) === null || _cellName$slice === void 0 ? void 0 : _cellName$slice.call(cellName, 1)));
198
+ originalNames = (_names2 = names) === null || _names2 === void 0 ? void 0 : (_names2$map = _names2.map) === null || _names2$map === void 0 ? void 0 : _names2$map.call(_names2, function (item) {
199
+ var _item$slice;
200
+ return [].concat((0, _toConsumableArray2.default)(name), (0, _toConsumableArray2.default)(item === null || item === void 0 ? void 0 : (_item$slice = item.slice) === null || _item$slice === void 0 ? void 0 : _item$slice.call(item, 1)));
201
+ });
202
+ }
185
203
  /**
186
204
  * 配置names时,基于formItem的normalize与getValueProps进行值类型转换
187
205
  * @returns {}
188
206
  */
189
207
  var namesTransform = function namesTransform() {
190
- var _names2;
191
- if (!((_names2 = names) === null || _names2 === void 0 ? void 0 : _names2.length)) {
208
+ var _names3;
209
+ if (!((_names3 = names) === null || _names3 === void 0 ? void 0 : _names3.length)) {
192
210
  return {};
193
211
  }
194
212
  var namesStr = [baseName, index, dataIndex];
@@ -348,14 +366,6 @@ var RenderField = function RenderField(_ref) {
348
366
  d: Date.now()
349
367
  }
350
368
  });
351
- // if (virtualKey) {
352
- // // 单行编辑时需要 强制更新视图
353
- // setState({
354
- // forceUpdate: {
355
- // d: Date.now(),
356
- // },
357
- // });
358
- // }
359
369
  case 30:
360
370
  case "end":
361
371
  return _context.stop();
@@ -444,6 +454,20 @@ var RenderField = function RenderField(_ref) {
444
454
  return _ref3.apply(this, arguments);
445
455
  };
446
456
  }();
457
+ // 判断当前字段是否变更
458
+ var _useChanged = (0, _useChanged3.useChanged)({
459
+ name: cellName,
460
+ names: names,
461
+ namesStr: [].concat((0, _toConsumableArray2.default)(baseName), [index, dataIndex]),
462
+ originalName: originalName,
463
+ originalNames: originalNames,
464
+ originalValues: originalValues,
465
+ form: form,
466
+ equalWith: equalWith
467
+ }),
468
+ _useChanged2 = (0, _slicedToArray2.default)(_useChanged, 2),
469
+ changed = _useChanged2[0],
470
+ originalValue = _useChanged2[1];
447
471
  var componentProps = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({
448
472
  form: form,
449
473
  name: cellName,
@@ -484,15 +508,32 @@ var RenderField = function RenderField(_ref) {
484
508
  if (!isEditing) {
485
509
  delete _formItemProps.rules;
486
510
  }
511
+ var _className = (0, _classnames.default)((_classNames = {}, (0, _defineProperty2.default)(_classNames, className, className), (0, _defineProperty2.default)(_classNames, 'pro-form-item-changed', changed), _classNames));
512
+ var originalTitle = (0, _jsxRuntime.jsxs)(_antd.Space, {
513
+ children: ["\u521D\u59CB\u503C\uFF1A", /*#__PURE__*/_react.default.isValidElement(TargetComponent) ? /*#__PURE__*/_react.default.cloneElement(TargetComponent, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, (0, _lodash.omit)(componentProps, ['onFieldChange'])), {}, {
514
+ isView: true,
515
+ value: originalValue,
516
+ checked: type === 'Switch' ? originalValue : undefined
517
+ })) : (0, _jsxRuntime.jsx)(TargetComponent, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, (0, _lodash.omit)(componentProps, ['onFieldChange'])), {}, {
518
+ isView: true,
519
+ value: originalValue,
520
+ checked: type === 'Switch' ? originalValue : undefined
521
+ }))]
522
+ });
523
+ var FormItem = (0, _jsxRuntime.jsx)(_antd.Form.Item, (0, _objectSpread2.default)((0, _objectSpread2.default)({
524
+ validateFirst: true
525
+ }, (0, _lodash.omit)(_formItemProps, ['render', 'cache', 'key', 'width', 'hiddenNames', 'name'])), {}, {
526
+ className: _className,
527
+ name: cellName,
528
+ children: /*#__PURE__*/_react.default.isValidElement(TargetComponent) ? /*#__PURE__*/_react.default.cloneElement(TargetComponent, (0, _objectSpread2.default)({}, (0, _lodash.omit)(componentProps, ['onFieldChange']))) : (0, _jsxRuntime.jsx)(TargetComponent, (0, _objectSpread2.default)({}, (0, _lodash.omit)(componentProps, ['onFieldChange'])))
529
+ }));
487
530
  return (0, _jsxRuntime.jsx)(_useFieldProps.FieldProvider, {
488
531
  value: componentProps === null || componentProps === void 0 ? void 0 : componentProps.otherProps,
489
- children: (0, _jsxRuntime.jsx)(_antd.Form.Item, (0, _objectSpread2.default)((0, _objectSpread2.default)({
490
- validateFirst: true,
491
- noStyle: !isEditing
492
- }, (0, _lodash.omit)(_formItemProps, ['render', 'cache', 'key', 'width', 'hiddenNames', 'name'])), {}, {
493
- name: cellName,
494
- children: /*#__PURE__*/_react.default.isValidElement(TargetComponent) ? /*#__PURE__*/_react.default.cloneElement(TargetComponent, (0, _objectSpread2.default)({}, (0, _lodash.omit)(componentProps, ['onFieldChange']))) : (0, _jsxRuntime.jsx)(TargetComponent, (0, _objectSpread2.default)({}, (0, _lodash.omit)(componentProps, ['onFieldChange'])))
495
- }))
532
+ children: !originalTip || ['FormList', 'ProEditTable'].includes(type) ? FormItem : (0, _jsxRuntime.jsx)(_antd.Tooltip, {
533
+ title: originalTitle,
534
+ open: changed ? undefined : false,
535
+ children: FormItem
536
+ })
496
537
  });
497
538
  };
498
539
  var _default = exports.default = RenderField;
@@ -22,7 +22,7 @@ var _tools = require("./utils/tools");
22
22
  var _components = require("./components");
23
23
  var _empty = _interopRequireDefault(require("../assets/empty.png"));
24
24
  var _locale = _interopRequireDefault(require("../locale"));
25
- var _excluded = ["value", "onChange", "className", "columns", "type", "mode", "stripe", "draggable", "disabled", "insertType", "emptyBtnText", "actionWidth", "actionProps", "toolbarProps", "rowSelection", "onlyOneLineMsg", "deletePoConfirmMsg", "mulDeletePoConfirmMsg", "otherProps", "requiredAlign", "summary", "max", "headerRender", "pagination"];
25
+ var _excluded = ["value", "onChange", "className", "columns", "type", "mode", "stripe", "draggable", "disabled", "insertType", "emptyBtnText", "actionWidth", "actionProps", "toolbarProps", "rowSelection", "onlyOneLineMsg", "deletePoConfirmMsg", "mulDeletePoConfirmMsg", "otherProps", "requiredAlign", "summary", "max", "headerRender", "pagination", "originalValues", "originalTip"];
26
26
  var ProEditTable = function ProEditTable(_ref, ref) {
27
27
  var _resetProps$id, _resetProps$id$split, _value$2;
28
28
  var value = _ref.value,
@@ -50,6 +50,8 @@ var ProEditTable = function ProEditTable(_ref, ref) {
50
50
  max = _ref.max,
51
51
  headerRender = _ref.headerRender,
52
52
  pagination = _ref.pagination,
53
+ originalValues = _ref.originalValues,
54
+ originalTip = _ref.originalTip,
53
55
  resetProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
54
56
  // 上下文form
55
57
  var contentForm = _antd.Form.useFormInstance();
@@ -136,7 +138,9 @@ var ProEditTable = function ProEditTable(_ref, ref) {
136
138
  tableRef: tableRef,
137
139
  max: max,
138
140
  tableLength: value === null || value === void 0 ? void 0 : value.length,
139
- page: page
141
+ page: page,
142
+ originalValues: originalValues,
143
+ originalTip: originalTip
140
144
  };
141
145
  // 判断是否禁止添加、批量删除
142
146
  var isForbiddenBtn = (0, _react.useCallback)(function (type) {
@@ -121,9 +121,19 @@ export interface ProEditTableProps<T = any> extends Omit<TableProps<T>, 'onChang
121
121
  * @default -
122
122
  */
123
123
  form?: FormInstance;
124
+ /**
125
+ * @description 原始数据源,设置后可以对比更新后的数值
126
+ * @default -
127
+ */
128
+ originalValues?: any;
129
+ /**
130
+ * @description 原始数据源,是否tooltip显示
131
+ * @default -
132
+ */
133
+ originalTip?: boolean;
124
134
  /**
125
135
  * @description 可编辑表格的类型,单行、多行、单元格编辑
126
- * @default multiple
136
+ * @default false
127
137
  */
128
138
  mode?: 'single' | 'multiple' | 'cell';
129
139
  /**
@@ -17,6 +17,7 @@ var _Container = _interopRequireDefault(require("../../Container"));
17
17
  var componentMap = _interopRequireWildcard(require("../../index"));
18
18
  var _utils = require("../../../utils");
19
19
  var _propsType = require("../../../propsType");
20
+ var _ProForm = _interopRequireDefault(require("../../../../ProForm"));
20
21
  require("./style/index.less");
21
22
  // @ts-nocheck
22
23
 
@@ -54,7 +55,7 @@ var ProCombination = exports.ProCombination = function ProCombination(props) {
54
55
  renderType: 'Input'
55
56
  }] : _props$childProps,
56
57
  separator = props.separator;
57
- var _ref = ProForm.useFieldProps() || {},
58
+ var _ref = _ProForm.default.useFieldProps() || {},
58
59
  _ref$isView = _ref.isView,
59
60
  isView = _ref$isView === void 0 ? false : _ref$isView,
60
61
  viewEmpty = _ref.viewEmpty,
@@ -137,6 +137,12 @@
137
137
  z-index: 9;
138
138
  }
139
139
  }
140
+
141
+ .ant-form-item-control-input-content > span {
142
+ background: @zaui-contract-bg;
143
+ padding: 4px 8px;
144
+ border-radius: 4px;
145
+ }
140
146
  }
141
147
 
142
148
  .ant-row {
@@ -106,6 +106,7 @@
106
106
 
107
107
  .ant-breadcrumb-link {
108
108
  font-size: var(--zaui-font-size-xl, 18px);
109
+ display : inline-flex;
109
110
  }
110
111
 
111
112
  .ant-breadcrumb-separator {
@@ -90,6 +90,6 @@ var RenderColumn = function RenderColumn(props) {
90
90
  children: node
91
91
  }) : '-';
92
92
  }
93
- return value ? node : '-';
93
+ return value || value === 0 ? node : '-';
94
94
  };
95
95
  var _default = exports.default = RenderColumn;
@@ -54,6 +54,12 @@
54
54
  }
55
55
  }
56
56
 
57
+ .ant-table-tbody {
58
+ .ant-table-cell-fix-left, .ant-table-cell-fix-right {
59
+ background: unset !important;
60
+ }
61
+ }
62
+
57
63
  .ant-table-body {
58
64
  .ant-table-cell .varied-cell {
59
65
  margin-left: -8px;
@@ -130,7 +130,7 @@ function List(props) {
130
130
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
131
131
  open = _useState2[0],
132
132
  setOpen = _useState2[1];
133
- var operateButton = menu && menu(item === null || item === void 0 ? void 0 : item.value, item);
133
+ var operateButton = menu && menu(item === null || item === void 0 ? void 0 : item[fieldNameValue], item);
134
134
  operateButton === null || operateButton === void 0 ? void 0 : operateButton.map(function (item, i) {
135
135
  return (0, _jsxRuntime.jsx)(_react.default.Fragment, {
136
136
  children: item
@@ -147,9 +147,10 @@ var ProTreeSelect = exports.ProTreeSelect = function ProTreeSelect(props, ref) {
147
147
  _antd.message.error(msg);
148
148
  return;
149
149
  }
150
+ var resultData = transferDataSource(data, showCodeName);
150
151
  setState({
151
- selectList: data || [],
152
- origDataSource: data || []
152
+ selectList: resultData || [],
153
+ origDataSource: resultData || []
153
154
  });
154
155
  };
155
156
  // 配置了异步数据源,拉取枚举数据逻辑 如果有code不掉接口从local里根据code取值
@@ -339,6 +339,11 @@
339
339
  }
340
340
 
341
341
  &.ant-tabs-card {
342
+ .ant-tabs-tab {
343
+ padding : 8px calc(var(--zaui-space-size-md, 16px)*var(--zaui-size, 1)) !important;
344
+ margin-right: 10px !important;
345
+ }
346
+
342
347
  .ant-tabs-nav .ant-tabs-tab-btn {
343
348
  font-size: var(--zaui-font-size, 14px);
344
349
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zat-design/sisyphus-react",
3
- "version": "3.2.1-beta.4",
3
+ "version": "3.2.1-beta.6",
4
4
  "license": "Apache-2.0",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",