@zat-design/sisyphus-react 3.10.1 → 3.10.2

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 (28) hide show
  1. package/.vscode/extensions.json +5 -0
  2. package/es/ProEditTable/components/RenderField/ListChangedWrapper.js +2 -3
  3. package/es/ProEditTable/components/RenderField/index.js +8 -16
  4. package/es/ProForm/components/base/Input/index.js +23 -2
  5. package/es/ProForm/components/base/Input/propsType.d.ts +2 -0
  6. package/es/ProForm/components/combination/Group/utils.js +1 -13
  7. package/es/ProForm/components/combination/ProCascader/index.js +13 -8
  8. package/es/ProForm/components/combination/ProCascader/propsType.d.ts +1 -0
  9. package/es/ProForm/components/render/ChangedWrapper.js +1 -1
  10. package/es/ProForm/components/render/Render.js +11 -19
  11. package/es/ProForm/utils/transformValue.js +9 -5
  12. package/es/ProForm/utils/valueType.d.ts +0 -6
  13. package/es/ProForm/utils/valueType.js +4 -50
  14. package/es/ProSelect/index.js +11 -3
  15. package/lib/ProEditTable/components/RenderField/ListChangedWrapper.js +1 -2
  16. package/lib/ProEditTable/components/RenderField/index.js +8 -16
  17. package/lib/ProForm/components/base/Input/index.js +23 -2
  18. package/lib/ProForm/components/base/Input/propsType.d.ts +2 -0
  19. package/lib/ProForm/components/combination/Group/utils.js +1 -13
  20. package/lib/ProForm/components/combination/ProCascader/index.js +13 -6
  21. package/lib/ProForm/components/combination/ProCascader/propsType.d.ts +1 -0
  22. package/lib/ProForm/components/render/ChangedWrapper.js +1 -1
  23. package/lib/ProForm/components/render/Render.js +11 -19
  24. package/lib/ProForm/utils/transformValue.js +9 -5
  25. package/lib/ProForm/utils/valueType.d.ts +0 -6
  26. package/lib/ProForm/utils/valueType.js +4 -50
  27. package/lib/ProSelect/index.js +10 -2
  28. package/package.json +1 -1
@@ -0,0 +1,5 @@
1
+ {
2
+ "recommendations": [
3
+ "kisstkondoros.vscode-codemetrics"
4
+ ]
5
+ }
@@ -7,7 +7,7 @@ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
7
7
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
8
8
  var _excluded = ["name", "names", "namesStr", "originalName", "originalNames", "originalValues", "form", "equalWith", "rowKeyPath", "children", "type", "normalize", "getValueProps", "valuePropName", "viewRender", "diffConfig", "index"];
9
9
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
- import React, { useMemo, useRef } from 'react';
10
+ import React, { useMemo } from 'react';
11
11
  import classnames from 'classnames';
12
12
  import { get } from 'lodash';
13
13
  import { diffOriginal } from '../../utils/diffOriginal';
@@ -101,7 +101,6 @@ var ListChangedWrapper = function ListChangedWrapper(props) {
101
101
  var _ref3 = diffConfig || {},
102
102
  _ref3$scrollFollowPar = _ref3.scrollFollowParent,
103
103
  scrollFollowParent = _ref3$scrollFollowPar === void 0 ? true : _ref3$scrollFollowPar;
104
- var contentRef = useRef(null);
105
104
  var namePath = toNamePath(namesStr || name);
106
105
  var originalNamePath = toNamePath(originalName);
107
106
  var originalNamePaths = originalNames && toNamePaths(originalNames);
@@ -142,7 +141,7 @@ var ListChangedWrapper = function ListChangedWrapper(props) {
142
141
  var tipContent = useMemo(function () {
143
142
  var _getValueProps;
144
143
  if (!isWatch || noChange) return undefined;
145
- var orgValue = getValueProps && !names ? (_getValueProps = getValueProps(originalValue)) === null || _getValueProps === void 0 ? void 0 : _getValueProps[valuePropName] : originalValue;
144
+ var orgValue = getValueProps ? (_getValueProps = getValueProps(originalValue, true)) === null || _getValueProps === void 0 ? void 0 : _getValueProps[valuePropName] : originalValue;
146
145
  // 兼容viewRender函数和Element场景
147
146
  var _children = children;
148
147
  if (viewRender) {
@@ -173,7 +173,9 @@ var RenderField = function RenderField(_ref) {
173
173
  fieldProps: column === null || column === void 0 ? void 0 : column.fieldProps
174
174
  });
175
175
  // 允许formItem的属性放在column最外层
176
- var _formItemProps = _objectSpread(_objectSpread(_objectSpread({}, defaultProps), resetProps), internalRule);
176
+ var _formItemProps = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, defaultProps), resetProps), internalRule), {}, {
177
+ validateTrigger: validateTrigger
178
+ });
177
179
  if (['Switch', 'SwitchCheckbox'].includes(type)) {
178
180
  _formItemProps.valuePropName = 'checked';
179
181
  _valueType = 'switch';
@@ -195,20 +197,14 @@ var RenderField = function RenderField(_ref) {
195
197
  * @returns {}
196
198
  */
197
199
  var valueTypeTransform = function valueTypeTransform() {
198
- var _fieldProps3, _desensitization2;
200
+ var _fieldProps3;
199
201
  // SwitchCheckbox默认YN, 兼容已有组件
200
202
  if (type === 'SwitchCheckbox') {
201
203
  _valueType = 'switch';
202
204
  }
203
205
  var params = _objectSpread(_objectSpread({}, column), {}, {
204
- mode: (_fieldProps3 = _fieldProps) === null || _fieldProps3 === void 0 ? void 0 : _fieldProps3.mode,
205
- desensitization: _desensitization
206
+ mode: (_fieldProps3 = _fieldProps) === null || _fieldProps3 === void 0 ? void 0 : _fieldProps3.mode
206
207
  });
207
- var isDesensit = sessionStorage.getItem(otherProps === null || otherProps === void 0 ? void 0 : otherProps.desensitizationKey);
208
- // 仅查看模式下进行数据脱敏
209
- if (((_desensitization2 = _desensitization) === null || _desensitization2 === void 0 ? void 0 : _desensitization2.length) && _disabled && isDesensit === 'ON') {
210
- _valueType = 'desensitization';
211
- }
212
208
  return isFunction(valueTypeMap[_valueType]) ? valueTypeMap[_valueType](params) : {};
213
209
  };
214
210
  if ((_names = names) === null || _names === void 0 ? void 0 : _names.length) {
@@ -237,14 +233,10 @@ var RenderField = function RenderField(_ref) {
237
233
  var namesTransform = function namesTransform() {
238
234
  var _names3;
239
235
  if (!((_names3 = names) === null || _names3 === void 0 ? void 0 : _names3.length)) {
240
- return {};
236
+ return valueTypeTransform();
241
237
  }
242
238
  var namesStr = [].concat(_toConsumableArray(baseName), [index, dataIndex]);
243
- var transform = {};
244
- if (_valueType) {
245
- transform = valueTypeTransform();
246
- }
247
- return transformNames(_objectSpread(_objectSpread({}, _formItemProps), transform), form, names, namesStr, type);
239
+ return transformNames(_objectSpread(_objectSpread({}, _formItemProps), valueTypeTransform()), form, names, namesStr, type);
248
240
  };
249
241
  if (!_editRender && typeof type === 'string') {
250
242
  var _componentMap$type;
@@ -556,7 +548,7 @@ var RenderField = function RenderField(_ref) {
556
548
  if (['Select', 'ProSelect', 'ProEnum'].includes(type)) {
557
549
  componentProps.scrollFollowParent = false;
558
550
  }
559
- Object.assign(_formItemProps, _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, defaultTransform()), valueTypeTransform()), namesTransform()), isTrim(type, trim, useProConfig())));
551
+ Object.assign(_formItemProps, _objectSpread(_objectSpread(_objectSpread({}, defaultTransform()), namesTransform()), isTrim(type, trim, useProConfig())));
560
552
  // 编辑&保存模式,在查看状态下移除表单的rules不做校验
561
553
  if (isView) {
562
554
  delete _formItemProps.rules;
@@ -2,13 +2,15 @@ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
2
  import "antd/es/input/style";
3
3
  import _Input from "antd/es/input";
4
4
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
5
- var _excluded = ["label", "form", "placeholder", "fieldName", "otherProps"];
5
+ var _excluded = ["label", "form", "placeholder", "fieldName", "otherProps", "desensitization"];
6
6
  import { jsx as _jsx } from "react/jsx-runtime";
7
+ import React from 'react';
7
8
  import { omit } from 'lodash';
8
9
  import { useProConfig } from '../../../../ProConfigProvider';
9
10
  import Container from '../../Container';
10
11
  import locale from '../../../../locale';
11
12
  import ProForm from '../../../index';
13
+ import { maskStringRangeWithRegex } from '../../../utils/valueType';
12
14
  // 参数优先级
13
15
  // 组件内默认值 < config默认值 < props
14
16
  var Input = function Input(props) {
@@ -17,6 +19,7 @@ var Input = function Input(props) {
17
19
  placeholder = props.placeholder,
18
20
  fieldName = props.fieldName,
19
21
  otherProps = props.otherProps,
22
+ desensitization = props.desensitization,
20
23
  rest = _objectWithoutProperties(props, _excluded);
21
24
  var _ref = ProForm.useFieldProps() || {},
22
25
  isViewCon = _ref.isView,
@@ -29,10 +32,28 @@ var Input = function Input(props) {
29
32
  children: rest.value
30
33
  });
31
34
  }
32
- return _jsx(_Input, _objectSpread(_objectSpread({
35
+ var ComInput = _jsx(_Input, _objectSpread(_objectSpread({
33
36
  allowClear: true,
34
37
  autoComplete: "off",
35
38
  placeholder: placeholder || "".concat(locale.ProForm.inputPlaceholder)
36
39
  }, omit(initialConfig, ['trim'])), rest));
40
+ // 仅查看模式下进行数据脱敏
41
+ if ((desensitization === null || desensitization === void 0 ? void 0 : desensitization.length) && (props === null || props === void 0 ? void 0 : props.disabled)) {
42
+ var isDesensit = sessionStorage.getItem(otherProps === null || otherProps === void 0 ? void 0 : otherProps.desensitizationKey);
43
+ if (isDesensit === 'ON') {
44
+ if (typeof rest.value === 'number') {
45
+ var _rest$value, _rest$value$toString;
46
+ rest.value = rest === null || rest === void 0 ? void 0 : (_rest$value = rest.value) === null || _rest$value === void 0 ? void 0 : (_rest$value$toString = _rest$value.toString) === null || _rest$value$toString === void 0 ? void 0 : _rest$value$toString.call(_rest$value);
47
+ }
48
+ return /*#__PURE__*/React.cloneElement(ComInput, _objectSpread(_objectSpread(_objectSpread({
49
+ allowClear: true,
50
+ autoComplete: 'off',
51
+ placeholder: placeholder || "".concat(locale.ProForm.inputPlaceholder)
52
+ }, omit(initialConfig, ['trim'])), rest), {}, {
53
+ value: maskStringRangeWithRegex(rest.value, desensitization)
54
+ }));
55
+ }
56
+ }
57
+ return ComInput;
37
58
  };
38
59
  export default Input;
@@ -12,4 +12,6 @@ export interface ProFieldProps<T = any> {
12
12
  export interface IProps extends InputProps, ProFieldProps {
13
13
  otherProps?: ProFormOtherProps;
14
14
  isView?: boolean;
15
+ /** 脱敏数据位置下标 */
16
+ desensitization?: [number, number];
15
17
  }
@@ -158,15 +158,7 @@ export var getReactiveProps = function getReactiveProps(params) {
158
158
  /** 获取当前字段的转换函数 */
159
159
  export var getValueTypeTrans = function getValueTypeTrans(params) {
160
160
  var _valueTypeMap$valueTy;
161
- var desensitizationKey = params.desensitizationKey;
162
161
  var valueType = params.valueType;
163
- var desensitization = params.desensitization,
164
- disabled = params.disabled;
165
- var isDesensit = sessionStorage.getItem(desensitizationKey);
166
- // 仅查看模式下进行数据脱敏
167
- if ((desensitization === null || desensitization === void 0 ? void 0 : desensitization.length) && disabled && isDesensit === 'ON') {
168
- valueType = 'desensitization';
169
- }
170
162
  var transform = (_valueTypeMap$valueTy = valueTypeMap[valueType]) === null || _valueTypeMap$valueTy === void 0 ? void 0 : _valueTypeMap$valueTy.call(valueTypeMap, params);
171
163
  return transform;
172
164
  };
@@ -276,17 +268,13 @@ export var useTransformColumns = function useTransformColumns(params) {
276
268
  if (reactiveProps.show === false) {
277
269
  return [];
278
270
  }
279
- var isDisabled = formDisabled || _disabled || reactiveProps.disabled;
280
271
  var transform = getValueTypeTrans({
281
272
  type: type,
282
273
  valueType: valueType,
283
274
  switchValue: switchValue,
284
275
  toISOString: toISOString,
285
276
  toCSTString: toCSTString,
286
- mode: mode,
287
- desensitizationKey: desensitizationKey,
288
- disabled: isDisabled,
289
- desensitization: reactiveProps.desensitization
277
+ mode: mode
290
278
  });
291
279
  var newValue;
292
280
  var handleChange = function handleChange() {
@@ -1,5 +1,3 @@
1
- import "antd/es/input/style";
2
- import _Input from "antd/es/input";
3
1
  import "antd/es/tooltip/style";
4
2
  import _Tooltip from "antd/es/tooltip";
5
3
  import "antd/es/cascader/style";
@@ -13,12 +11,13 @@ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
13
11
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
14
12
  import "antd/es/typography/style";
15
13
  import _Typography from "antd/es/typography";
16
- var _excluded = ["className", "hasDetail", "detailMaxLength", "fieldNames", "value", "disabled", "dataSource", "onChange", "useRequest", "transformResponse", "level", "isView", "enumCode", "code", "tooltip", "separator", "detailPlaceholder", "scrollFollowParent"];
14
+ var _excluded = ["className", "hasDetail", "detailMaxLength", "fieldNames", "value", "disabled", "dataSource", "onChange", "useRequest", "transformResponse", "level", "isView", "enumCode", "code", "tooltip", "separator", "detailPlaceholder", "scrollFollowParent", "desensitization", "otherProps"];
17
15
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
18
16
  import { useEffect, useState, memo, useMemo } from 'react';
19
17
  import { omit, find as _find, isBoolean } from 'lodash';
20
18
  import { transformDataName } from './utils/index';
21
19
  import { useProConfig } from '../../../../ProConfigProvider';
20
+ import Input from '../../base/Input';
22
21
  import useEnum from '../../../../ProEnum/hooks/useEnum';
23
22
  import locale from '../../../../locale';
24
23
  import ProForm from '../../..';
@@ -88,7 +87,9 @@ var ProCascader = function ProCascader(props) {
88
87
  separator = _props$separator === void 0 ? '/' : _props$separator,
89
88
  detailPlaceholder = props.detailPlaceholder,
90
89
  scrollFollowParent = props.scrollFollowParent,
91
- otherProps = _objectWithoutProperties(props, _excluded);
90
+ desensitization = props.desensitization,
91
+ otherProps = props.otherProps,
92
+ restProps = _objectWithoutProperties(props, _excluded);
92
93
  var _ref3 = ProForm.useFieldProps() || {},
93
94
  isViewCon = _ref3.isView,
94
95
  viewEmpty = _ref3.viewEmpty;
@@ -284,23 +285,27 @@ var ProCascader = function ProCascader(props) {
284
285
  getPopupContainer: function getPopupContainer(trigger) {
285
286
  return scrollFollowParent ? trigger.parentElement : document.body;
286
287
  }
287
- }, omit(otherProps, ['otherProps', 'scrollFollowParent']))), hasDetail && (tooltip && lastDisabled[1] && detail ? _jsx(_Tooltip, {
288
+ }, omit(restProps, ['otherProps', 'scrollFollowParent']))), hasDetail && (tooltip && lastDisabled[1] && detail ? _jsx(_Tooltip, {
288
289
  title: detail,
289
290
  children: _jsx("span", {
290
291
  className: "pro-address-detail",
291
- children: _jsx(_Input, {
292
+ children: _jsx(Input, {
292
293
  disabled: lastDisabled[1],
294
+ desensitization: desensitization,
295
+ otherProps: otherProps,
293
296
  value: detail
294
297
  })
295
298
  })
296
- }) : _jsx(_Input, {
299
+ }) : _jsx(Input, {
297
300
  allowClear: true,
298
301
  autoComplete: "off",
299
302
  disabled: lastDisabled[1],
300
303
  value: detail,
301
304
  maxLength: detailMaxLength,
302
305
  placeholder: detailPlaceholder || (locale === null || locale === void 0 ? void 0 : (_locale$ProAddressBar2 = locale.ProAddressBar) === null || _locale$ProAddressBar2 === void 0 ? void 0 : _locale$ProAddressBar2.detailPlaceholder),
303
- onChange: handleAddressChange
306
+ onChange: handleAddressChange,
307
+ desensitization: desensitization,
308
+ otherProps: otherProps
304
309
  }))]
305
310
  });
306
311
  };
@@ -36,4 +36,5 @@ export interface ProCascaderProps {
36
36
  detailPlaceholder?: string;
37
37
  /** 浮窗是否跟随父级 */
38
38
  scrollFollowParent?: boolean;
39
+ desensitization?: [number, number];
39
40
  }
@@ -66,7 +66,7 @@ var ChangedWrapper = function ChangedWrapper(props) {
66
66
  var isChanged = diffType === 'changed';
67
67
  var tipContent = useMemo(function () {
68
68
  if (!isWatch || noChange) return undefined;
69
- var valueProps = getValueProps && !names ? getValueProps(originalValue) : {
69
+ var valueProps = getValueProps ? getValueProps(originalValue, true) : {
70
70
  value: originalValue
71
71
  };
72
72
  if (viewRender) {
@@ -31,7 +31,7 @@ import ConfirmWrapper from './ConfirmWrapper';
31
31
  import ChangedWrapper from './ChangedWrapper';
32
32
  // 这个组件只管渲染, 参数的整理在外部处理
33
33
  var Render = function Render(props) {
34
- var _ref3, _ref4, _ref5, _ref6, _otherProps$names2;
34
+ var _ref2, _ref3, _ref4, _ref5, _otherProps$names2;
35
35
  var component = props.component,
36
36
  originComponent = props.originComponent,
37
37
  _props$formItemProps = props.formItemProps,
@@ -116,9 +116,7 @@ var Render = function Render(props) {
116
116
  */
117
117
  var valueTypeTransform = function valueTypeTransform() {
118
118
  var _ref = otherProps || {},
119
- desensitizationKey = _ref.desensitizationKey;
120
- var _ref2 = otherProps || {},
121
- valueType = _ref2.valueType;
119
+ valueType = _ref.valueType;
122
120
  // SwitchCheckbox默认YN, 兼容已有组件
123
121
  if (type === 'SwitchCheckbox') {
124
122
  valueType = 'switch';
@@ -126,18 +124,11 @@ var Render = function Render(props) {
126
124
  if (type === 'Input') {
127
125
  valueType = valueType || 'trim';
128
126
  }
129
- var isDesensit = sessionStorage.getItem(desensitizationKey);
130
- // 仅查看模式下进行数据脱敏
131
- if ((_desensitization === null || _desensitization === void 0 ? void 0 : _desensitization.length) && _disabled && isDesensit === 'ON') {
132
- valueType = 'desensitization';
133
- }
134
127
  // 不存在valueType返回空
135
128
  if (!valueType) {
136
129
  return {};
137
130
  }
138
- var params = _objectSpread(_objectSpread(_objectSpread({}, otherProps), otherFormItemProps), {}, {
139
- desensitization: _desensitization
140
- });
131
+ var params = _objectSpread(_objectSpread({}, otherProps), otherFormItemProps);
141
132
  return isFunction(valueTypeMap[valueType]) ? valueTypeMap[valueType](params) : {};
142
133
  };
143
134
  /**
@@ -153,7 +144,7 @@ var Render = function Render(props) {
153
144
  * globalControl true时,优先级 全局【formDisabled】> formitem上【column.disabled】 > 组件上【fieldProps.disabled】
154
145
  * globalControl false时,优先级 组件上【fieldProps.disabled】 > formitem上【column.disabled】 > 全局【formDisabled】
155
146
  */
156
- var lastDisabled = globalControl ? (_ref3 = (_ref4 = formDisabled !== null && formDisabled !== void 0 ? formDisabled : _disabled) !== null && _ref4 !== void 0 ? _ref4 : _fieldProps === null || _fieldProps === void 0 ? void 0 : _fieldProps.disabled) !== null && _ref3 !== void 0 ? _ref3 : componentProps === null || componentProps === void 0 ? void 0 : componentProps.disabled : (_ref5 = (_ref6 = _disabled !== null && _disabled !== void 0 ? _disabled : _fieldProps === null || _fieldProps === void 0 ? void 0 : _fieldProps.disabled) !== null && _ref6 !== void 0 ? _ref6 : componentProps === null || componentProps === void 0 ? void 0 : componentProps.disabled) !== null && _ref5 !== void 0 ? _ref5 : formDisabled;
147
+ var lastDisabled = globalControl ? (_ref2 = (_ref3 = formDisabled !== null && formDisabled !== void 0 ? formDisabled : _disabled) !== null && _ref3 !== void 0 ? _ref3 : _fieldProps === null || _fieldProps === void 0 ? void 0 : _fieldProps.disabled) !== null && _ref2 !== void 0 ? _ref2 : componentProps === null || componentProps === void 0 ? void 0 : componentProps.disabled : (_ref4 = (_ref5 = _disabled !== null && _disabled !== void 0 ? _disabled : _fieldProps === null || _fieldProps === void 0 ? void 0 : _fieldProps.disabled) !== null && _ref5 !== void 0 ? _ref5 : componentProps === null || componentProps === void 0 ? void 0 : componentProps.disabled) !== null && _ref4 !== void 0 ? _ref4 : formDisabled;
157
148
  // ↑↑↑↑↑↑ formItem参数整理 ↑↑↑↑↑↑
158
149
  Object.assign(otherFormItemProps, transforms, {
159
150
  names: otherProps.names
@@ -183,7 +174,8 @@ var Render = function Render(props) {
183
174
  * 最新fieldProps: 更新后的组件Props
184
175
  */
185
176
  var lastComponentProps = _objectSpread(_objectSpread(_objectSpread({}, componentProps), _fieldProps), {}, {
186
- disabled: lastDisabled
177
+ disabled: lastDisabled,
178
+ desensitization: _desensitization
187
179
  });
188
180
  var _className = classNames(_defineProperty(_defineProperty({}, className, className), 'pro-form-item-width-auto', ['Switch'].includes(type)));
189
181
  if (formItemProps.hidden === true || _show === false) {
@@ -206,8 +198,8 @@ var Render = function Render(props) {
206
198
  var functionArgs = function functionArgs(args) {
207
199
  var _otherFormItemProps$n;
208
200
  var _args = _toConsumableArray(args);
209
- var _ref7 = otherProps || {},
210
- valueType = _ref7.valueType;
201
+ var _ref6 = otherProps || {},
202
+ valueType = _ref6.valueType;
211
203
  _args[1] = form.getFieldsValue();
212
204
  _args[2] = {
213
205
  form: form
@@ -307,7 +299,7 @@ var Render = function Render(props) {
307
299
  * onBlur参数重置 (value, record, { form, index, namePath, option }) => void
308
300
  */
309
301
  var handleBlur = /*#__PURE__*/function () {
310
- var _ref8 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
302
+ var _ref7 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
311
303
  var _len3,
312
304
  args,
313
305
  _key3,
@@ -334,7 +326,7 @@ var Render = function Render(props) {
334
326
  }, _callee);
335
327
  }));
336
328
  return function handleBlur() {
337
- return _ref8.apply(this, arguments);
329
+ return _ref7.apply(this, arguments);
338
330
  };
339
331
  }();
340
332
  var renderItem = function renderItem() {
@@ -424,7 +416,7 @@ var Render = function Render(props) {
424
416
  colProps = _objectSpread(_objectSpread({}, colProps), {}, {
425
417
  span: lessMode ? colProps.span : 24 // 默认占一行
426
418
  });
427
- return _jsx(_Form.Item, _objectSpread(_objectSpread({}, omit(_otherFormItemProps, [].concat(filterFormItemKey, ['name', 'names']))), {}, {
419
+ return _jsx(_Form.Item, _objectSpread(_objectSpread({}, omit(_otherFormItemProps, filterFormItemKey)), {}, {
428
420
  // @ts-ignore
429
421
  _internalItemRender: internalItemRender,
430
422
  className: _className,
@@ -20,13 +20,17 @@ export var transformValue = function transformValue(names, form, fieldName, _nor
20
20
  });
21
21
  return _value;
22
22
  },
23
- getValueProps: function getValueProps(value) {
23
+ getValueProps: function getValueProps(value, isOrg) {
24
24
  var _curValue;
25
25
  var _value = [];
26
- names.forEach(function (name, index) {
27
- var value = form.getFieldValue(name);
28
- _value[index] = value;
29
- });
26
+ if (!isOrg) {
27
+ names.forEach(function (name, index) {
28
+ var value = form.getFieldValue(name);
29
+ _value[index] = value;
30
+ });
31
+ } else {
32
+ _value = value;
33
+ }
30
34
  // 支持外部传入转换函数
31
35
  var res = (_getValueProps === null || _getValueProps === void 0 ? void 0 : _getValueProps(_value)) || {
32
36
  value: _value
@@ -66,11 +66,5 @@ declare const _default: {
66
66
  value: any;
67
67
  };
68
68
  };
69
- /** 脱敏 转换 */
70
- desensitization: (props: any) => {
71
- getValueProps: (value: any) => {
72
- value: any;
73
- };
74
- };
75
69
  };
76
70
  export default _default;
@@ -1,4 +1,3 @@
1
- import _readOnlyError from "@babel/runtime/helpers/esm/readOnlyError";
2
1
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
2
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
4
3
  import Big from 'big.js';
@@ -192,6 +191,7 @@ var dateTransform = function dateTransform(_ref2) {
192
191
  };
193
192
  /** 脱敏处理函数 */
194
193
  export var maskStringRangeWithRegex = function maskStringRangeWithRegex(input, range) {
194
+ var _input$replace;
195
195
  var _ref3 = range || [],
196
196
  _ref4 = _slicedToArray(_ref3, 2),
197
197
  start = _ref4[0],
@@ -199,13 +199,13 @@ export var maskStringRangeWithRegex = function maskStringRangeWithRegex(input, r
199
199
  if (start < 0) {
200
200
  throw new Error('脱敏数据: start index cannot be negative');
201
201
  }
202
- var adjustedEnd = Math.min(end, input.length - 1);
203
- if (start >= input.length) {
202
+ var adjustedEnd = Math.min(end, (input === null || input === void 0 ? void 0 : input.length) - 1);
203
+ if (start >= (input === null || input === void 0 ? void 0 : input.length)) {
204
204
  return '';
205
205
  }
206
206
  var regexPattern = "^(.{".concat(start, "})(.{").concat(adjustedEnd - start + 1, "})(.*)$");
207
207
  var regex = new RegExp(regexPattern);
208
- var maskedValue = input.replace(regex, "$1".concat('*'.repeat(adjustedEnd - start + 1), "$3"));
208
+ var maskedValue = input === null || input === void 0 ? void 0 : (_input$replace = input.replace) === null || _input$replace === void 0 ? void 0 : _input$replace.call(input, regex, "$1".concat('*'.repeat(adjustedEnd - start + 1), "$3"));
209
209
  return maskedValue;
210
210
  };
211
211
  export default {
@@ -303,51 +303,5 @@ export default {
303
303
  switch: function _switch(_ref12) {
304
304
  var switchValue = _ref12.switchValue;
305
305
  return switchTransform(switchValue);
306
- },
307
- /** 脱敏 转换 */
308
- desensitization: function desensitization(props) {
309
- var desensitization = props.desensitization,
310
- type = props.type,
311
- mode = props.mode,
312
- names = props.names;
313
- // 判断是否是地址控件,并带地址详情场景
314
- if (type === 'ProCascader' && mode === 'address' && (names === null || names === void 0 ? void 0 : names.length) === 4) {
315
- return {
316
- getValueProps: function getValueProps(value) {
317
- try {
318
- if (value === null || value === void 0 ? void 0 : value.length) {
319
- var _value = _slicedToArray(value, 4),
320
- province = _value[0],
321
- city = _value[1],
322
- county = _value[2],
323
- address = _value[3];
324
- return {
325
- value: [province, city, county, maskStringRangeWithRegex(address, desensitization)]
326
- };
327
- }
328
- return {
329
- value: value
330
- };
331
- } catch (error) {
332
- return {
333
- value: value
334
- }; // 如果发生错误,返回原始值
335
- }
336
- }
337
- };
338
- }
339
- return {
340
- getValueProps: function getValueProps(value) {
341
- try {
342
- return {
343
- value: maskStringRangeWithRegex(value, desensitization)
344
- };
345
- } catch (error) {
346
- return {
347
- value: value
348
- }; // 如果发生错误,返回原始值
349
- }
350
- }
351
- };
352
306
  }
353
307
  };
@@ -12,7 +12,7 @@ import _Select from "antd/es/select";
12
12
  var _excluded = ["dataSource", "defaultDisableValue", "useRequest", "fieldNames", "tooltip", "otherProps", "labelInValue", "filterInList", "scrollFollowParent", "defaultOne", "onSearch", "optionRender", "onChange", "updateDataSource", "transformResponse", "getValueProps", "isView"];
13
13
  import { jsx as _jsx } from "react/jsx-runtime";
14
14
  import { useDeepCompareEffect, useRequest as useRequestFunc } from 'ahooks';
15
- import React, { useImperativeHandle, useState, forwardRef } from 'react';
15
+ import React, { useImperativeHandle, useState, forwardRef, isValidElement } from 'react';
16
16
  import { isFunction, isObject, isString, omit, isNumber } from 'lodash';
17
17
  import { useProConfig } from '../ProConfigProvider';
18
18
  import Container from '../ProForm/components/Container';
@@ -216,7 +216,15 @@ export var ProSelect = function ProSelect(props, ref) {
216
216
  }
217
217
  return props.children;
218
218
  };
219
- var handleChange = function handleChange(value, option) {
219
+ var isReactElement = function isReactElement(element) {
220
+ return /*#__PURE__*/isValidElement(element);
221
+ };
222
+ var handleChange = function handleChange(value, _option) {
223
+ // option/其第一层子节点是react节点且是labelInValue就拿record
224
+ var option = _option;
225
+ if (labelInValue && (isReactElement(_option) || isReactElement(_option === null || _option === void 0 ? void 0 : _option.children))) {
226
+ option = _option === null || _option === void 0 ? void 0 : _option.record;
227
+ }
220
228
  var getChangeValue = selectProps.getChangeValue;
221
229
  if (selectProps.mode && selectProps.mode === 'multiple') {
222
230
  if (Array.isArray(option)) {
@@ -234,7 +242,7 @@ export var ProSelect = function ProSelect(props, ref) {
234
242
  } else if (!selectProps.mode && labelInValue) {
235
243
  onChange(getChangeValue ? getChangeValue(getValueObject(value)) : getValueObject(value), option);
236
244
  } else {
237
- onChange === null || onChange === void 0 ? void 0 : onChange(getChangeValue ? getChangeValue(value) : value, option === null || option === void 0 ? void 0 : option.record);
245
+ onChange === null || onChange === void 0 ? void 0 : onChange(getChangeValue ? getChangeValue(value) : value, _option === null || _option === void 0 ? void 0 : _option.record);
238
246
  }
239
247
  };
240
248
  /**
@@ -106,7 +106,6 @@ var ListChangedWrapper = function ListChangedWrapper(props) {
106
106
  var _ref3 = diffConfig || {},
107
107
  _ref3$scrollFollowPar = _ref3.scrollFollowParent,
108
108
  scrollFollowParent = _ref3$scrollFollowPar === void 0 ? true : _ref3$scrollFollowPar;
109
- var contentRef = (0, _react.useRef)(null);
110
109
  var namePath = toNamePath(namesStr || name);
111
110
  var originalNamePath = toNamePath(originalName);
112
111
  var originalNamePaths = originalNames && toNamePaths(originalNames);
@@ -147,7 +146,7 @@ var ListChangedWrapper = function ListChangedWrapper(props) {
147
146
  var tipContent = (0, _react.useMemo)(function () {
148
147
  var _getValueProps;
149
148
  if (!isWatch || noChange) return undefined;
150
- var orgValue = getValueProps && !names ? (_getValueProps = getValueProps(originalValue)) === null || _getValueProps === void 0 ? void 0 : _getValueProps[valuePropName] : originalValue;
149
+ var orgValue = getValueProps ? (_getValueProps = getValueProps(originalValue, true)) === null || _getValueProps === void 0 ? void 0 : _getValueProps[valuePropName] : originalValue;
151
150
  // 兼容viewRender函数和Element场景
152
151
  var _children = children;
153
152
  if (viewRender) {
@@ -180,7 +180,9 @@ var RenderField = function RenderField(_ref) {
180
180
  fieldProps: column === null || column === void 0 ? void 0 : column.fieldProps
181
181
  });
182
182
  // 允许formItem的属性放在column最外层
183
- var _formItemProps = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, defaultProps), resetProps), internalRule);
183
+ var _formItemProps = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, defaultProps), resetProps), internalRule), {}, {
184
+ validateTrigger: validateTrigger
185
+ });
184
186
  if (['Switch', 'SwitchCheckbox'].includes(type)) {
185
187
  _formItemProps.valuePropName = 'checked';
186
188
  _valueType = 'switch';
@@ -202,20 +204,14 @@ var RenderField = function RenderField(_ref) {
202
204
  * @returns {}
203
205
  */
204
206
  var valueTypeTransform = function valueTypeTransform() {
205
- var _fieldProps3, _desensitization2;
207
+ var _fieldProps3;
206
208
  // SwitchCheckbox默认YN, 兼容已有组件
207
209
  if (type === 'SwitchCheckbox') {
208
210
  _valueType = 'switch';
209
211
  }
210
212
  var params = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, column), {}, {
211
- mode: (_fieldProps3 = _fieldProps) === null || _fieldProps3 === void 0 ? void 0 : _fieldProps3.mode,
212
- desensitization: _desensitization
213
+ mode: (_fieldProps3 = _fieldProps) === null || _fieldProps3 === void 0 ? void 0 : _fieldProps3.mode
213
214
  });
214
- var isDesensit = sessionStorage.getItem(otherProps === null || otherProps === void 0 ? void 0 : otherProps.desensitizationKey);
215
- // 仅查看模式下进行数据脱敏
216
- if (((_desensitization2 = _desensitization) === null || _desensitization2 === void 0 ? void 0 : _desensitization2.length) && _disabled && isDesensit === 'ON') {
217
- _valueType = 'desensitization';
218
- }
219
215
  return (0, _lodash.isFunction)(_valueType2.default[_valueType]) ? _valueType2.default[_valueType](params) : {};
220
216
  };
221
217
  if ((_names = names) === null || _names === void 0 ? void 0 : _names.length) {
@@ -244,14 +240,10 @@ var RenderField = function RenderField(_ref) {
244
240
  var namesTransform = function namesTransform() {
245
241
  var _names3;
246
242
  if (!((_names3 = names) === null || _names3 === void 0 ? void 0 : _names3.length)) {
247
- return {};
243
+ return valueTypeTransform();
248
244
  }
249
245
  var namesStr = [].concat((0, _toConsumableArray2.default)(baseName), [index, dataIndex]);
250
- var transform = {};
251
- if (_valueType) {
252
- transform = valueTypeTransform();
253
- }
254
- return (0, _transformNames.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, _formItemProps), transform), form, names, namesStr, type);
246
+ return (0, _transformNames.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, _formItemProps), valueTypeTransform()), form, names, namesStr, type);
255
247
  };
256
248
  if (!_editRender && typeof type === 'string') {
257
249
  var _componentMap$type;
@@ -563,7 +555,7 @@ var RenderField = function RenderField(_ref) {
563
555
  if (['Select', 'ProSelect', 'ProEnum'].includes(type)) {
564
556
  componentProps.scrollFollowParent = false;
565
557
  }
566
- Object.assign(_formItemProps, (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, defaultTransform()), valueTypeTransform()), namesTransform()), (0, _utils.isTrim)(type, trim, (0, _ProConfigProvider.useProConfig)())));
558
+ Object.assign(_formItemProps, (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, defaultTransform()), namesTransform()), (0, _utils.isTrim)(type, trim, (0, _ProConfigProvider.useProConfig)())));
567
559
  // 编辑&保存模式,在查看状态下移除表单的rules不做校验
568
560
  if (isView) {
569
561
  delete _formItemProps.rules;
@@ -8,13 +8,15 @@ exports.default = void 0;
8
8
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
9
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
10
  var _jsxRuntime = require("react/jsx-runtime");
11
+ var _react = _interopRequireDefault(require("react"));
11
12
  var _antd = require("antd");
12
13
  var _lodash = require("lodash");
13
14
  var _ProConfigProvider = require("../../../../ProConfigProvider");
14
15
  var _Container = _interopRequireDefault(require("../../Container"));
15
16
  var _locale = _interopRequireDefault(require("../../../../locale"));
16
17
  var _index = _interopRequireDefault(require("../../../index"));
17
- var _excluded = ["label", "form", "placeholder", "fieldName", "otherProps"];
18
+ var _valueType = require("../../../utils/valueType");
19
+ var _excluded = ["label", "form", "placeholder", "fieldName", "otherProps", "desensitization"];
18
20
  // 参数优先级
19
21
  // 组件内默认值 < config默认值 < props
20
22
  var Input = function Input(props) {
@@ -23,6 +25,7 @@ var Input = function Input(props) {
23
25
  placeholder = props.placeholder,
24
26
  fieldName = props.fieldName,
25
27
  otherProps = props.otherProps,
28
+ desensitization = props.desensitization,
26
29
  rest = (0, _objectWithoutProperties2.default)(props, _excluded);
27
30
  var _ref = _index.default.useFieldProps() || {},
28
31
  isViewCon = _ref.isView,
@@ -35,10 +38,28 @@ var Input = function Input(props) {
35
38
  children: rest.value
36
39
  });
37
40
  }
38
- return (0, _jsxRuntime.jsx)(_antd.Input, (0, _objectSpread2.default)((0, _objectSpread2.default)({
41
+ var ComInput = (0, _jsxRuntime.jsx)(_antd.Input, (0, _objectSpread2.default)((0, _objectSpread2.default)({
39
42
  allowClear: true,
40
43
  autoComplete: "off",
41
44
  placeholder: placeholder || "".concat(_locale.default.ProForm.inputPlaceholder)
42
45
  }, (0, _lodash.omit)(initialConfig, ['trim'])), rest));
46
+ // 仅查看模式下进行数据脱敏
47
+ if ((desensitization === null || desensitization === void 0 ? void 0 : desensitization.length) && (props === null || props === void 0 ? void 0 : props.disabled)) {
48
+ var isDesensit = sessionStorage.getItem(otherProps === null || otherProps === void 0 ? void 0 : otherProps.desensitizationKey);
49
+ if (isDesensit === 'ON') {
50
+ if (typeof rest.value === 'number') {
51
+ var _rest$value, _rest$value$toString;
52
+ rest.value = rest === null || rest === void 0 ? void 0 : (_rest$value = rest.value) === null || _rest$value === void 0 ? void 0 : (_rest$value$toString = _rest$value.toString) === null || _rest$value$toString === void 0 ? void 0 : _rest$value$toString.call(_rest$value);
53
+ }
54
+ return /*#__PURE__*/_react.default.cloneElement(ComInput, (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({
55
+ allowClear: true,
56
+ autoComplete: 'off',
57
+ placeholder: placeholder || "".concat(_locale.default.ProForm.inputPlaceholder)
58
+ }, (0, _lodash.omit)(initialConfig, ['trim'])), rest), {}, {
59
+ value: (0, _valueType.maskStringRangeWithRegex)(rest.value, desensitization)
60
+ }));
61
+ }
62
+ }
63
+ return ComInput;
43
64
  };
44
65
  var _default = exports.default = Input;
@@ -12,4 +12,6 @@ export interface ProFieldProps<T = any> {
12
12
  export interface IProps extends InputProps, ProFieldProps {
13
13
  otherProps?: ProFormOtherProps;
14
14
  isView?: boolean;
15
+ /** 脱敏数据位置下标 */
16
+ desensitization?: [number, number];
15
17
  }
@@ -166,15 +166,7 @@ var getReactiveProps = exports.getReactiveProps = function getReactiveProps(para
166
166
  /** 获取当前字段的转换函数 */
167
167
  var getValueTypeTrans = exports.getValueTypeTrans = function getValueTypeTrans(params) {
168
168
  var _valueTypeMap$valueTy;
169
- var desensitizationKey = params.desensitizationKey;
170
169
  var valueType = params.valueType;
171
- var desensitization = params.desensitization,
172
- disabled = params.disabled;
173
- var isDesensit = sessionStorage.getItem(desensitizationKey);
174
- // 仅查看模式下进行数据脱敏
175
- if ((desensitization === null || desensitization === void 0 ? void 0 : desensitization.length) && disabled && isDesensit === 'ON') {
176
- valueType = 'desensitization';
177
- }
178
170
  var transform = (_valueTypeMap$valueTy = _valueType.default[valueType]) === null || _valueTypeMap$valueTy === void 0 ? void 0 : _valueTypeMap$valueTy.call(_valueType.default, params);
179
171
  return transform;
180
172
  };
@@ -284,17 +276,13 @@ var useTransformColumns = exports.useTransformColumns = function useTransformCol
284
276
  if (reactiveProps.show === false) {
285
277
  return [];
286
278
  }
287
- var isDisabled = formDisabled || _disabled || reactiveProps.disabled;
288
279
  var transform = getValueTypeTrans({
289
280
  type: type,
290
281
  valueType: valueType,
291
282
  switchValue: switchValue,
292
283
  toISOString: toISOString,
293
284
  toCSTString: toCSTString,
294
- mode: mode,
295
- desensitizationKey: desensitizationKey,
296
- disabled: isDisabled,
297
- desensitization: reactiveProps.desensitization
285
+ mode: mode
298
286
  });
299
287
  var newValue;
300
288
  var handleChange = function handleChange() {
@@ -18,11 +18,12 @@ var _antd = require("antd");
18
18
  var _lodash = require("lodash");
19
19
  var _index = require("./utils/index");
20
20
  var _ProConfigProvider = require("../../../../ProConfigProvider");
21
+ var _Input = _interopRequireDefault(require("../../base/Input"));
21
22
  var _useEnum = _interopRequireDefault(require("../../../../ProEnum/hooks/useEnum"));
22
23
  var _locale = _interopRequireDefault(require("../../../../locale"));
23
24
  var _ = _interopRequireDefault(require("../../.."));
24
25
  var _Container = _interopRequireDefault(require("../../Container"));
25
- var _excluded = ["className", "hasDetail", "detailMaxLength", "fieldNames", "value", "disabled", "dataSource", "onChange", "useRequest", "transformResponse", "level", "isView", "enumCode", "code", "tooltip", "separator", "detailPlaceholder", "scrollFollowParent"];
26
+ var _excluded = ["className", "hasDetail", "detailMaxLength", "fieldNames", "value", "disabled", "dataSource", "onChange", "useRequest", "transformResponse", "level", "isView", "enumCode", "code", "tooltip", "separator", "detailPlaceholder", "scrollFollowParent", "desensitization", "otherProps"];
26
27
  var Text = _antd.Typography.Text;
27
28
  var defaultFieldNames = {
28
29
  label: 'name',
@@ -88,7 +89,9 @@ var ProCascader = function ProCascader(props) {
88
89
  separator = _props$separator === void 0 ? '/' : _props$separator,
89
90
  detailPlaceholder = props.detailPlaceholder,
90
91
  scrollFollowParent = props.scrollFollowParent,
91
- otherProps = (0, _objectWithoutProperties2.default)(props, _excluded);
92
+ desensitization = props.desensitization,
93
+ otherProps = props.otherProps,
94
+ restProps = (0, _objectWithoutProperties2.default)(props, _excluded);
92
95
  var _ref3 = _.default.useFieldProps() || {},
93
96
  isViewCon = _ref3.isView,
94
97
  viewEmpty = _ref3.viewEmpty;
@@ -284,23 +287,27 @@ var ProCascader = function ProCascader(props) {
284
287
  getPopupContainer: function getPopupContainer(trigger) {
285
288
  return scrollFollowParent ? trigger.parentElement : document.body;
286
289
  }
287
- }, (0, _lodash.omit)(otherProps, ['otherProps', 'scrollFollowParent']))), hasDetail && (tooltip && lastDisabled[1] && detail ? (0, _jsxRuntime.jsx)(_antd.Tooltip, {
290
+ }, (0, _lodash.omit)(restProps, ['otherProps', 'scrollFollowParent']))), hasDetail && (tooltip && lastDisabled[1] && detail ? (0, _jsxRuntime.jsx)(_antd.Tooltip, {
288
291
  title: detail,
289
292
  children: (0, _jsxRuntime.jsx)("span", {
290
293
  className: "pro-address-detail",
291
- children: (0, _jsxRuntime.jsx)(_antd.Input, {
294
+ children: (0, _jsxRuntime.jsx)(_Input.default, {
292
295
  disabled: lastDisabled[1],
296
+ desensitization: desensitization,
297
+ otherProps: otherProps,
293
298
  value: detail
294
299
  })
295
300
  })
296
- }) : (0, _jsxRuntime.jsx)(_antd.Input, {
301
+ }) : (0, _jsxRuntime.jsx)(_Input.default, {
297
302
  allowClear: true,
298
303
  autoComplete: "off",
299
304
  disabled: lastDisabled[1],
300
305
  value: detail,
301
306
  maxLength: detailMaxLength,
302
307
  placeholder: detailPlaceholder || (_locale.default === null || _locale.default === void 0 ? void 0 : (_locale$ProAddressBar2 = _locale.default.ProAddressBar) === null || _locale$ProAddressBar2 === void 0 ? void 0 : _locale$ProAddressBar2.detailPlaceholder),
303
- onChange: handleAddressChange
308
+ onChange: handleAddressChange,
309
+ desensitization: desensitization,
310
+ otherProps: otherProps
304
311
  }))]
305
312
  });
306
313
  };
@@ -36,4 +36,5 @@ export interface ProCascaderProps {
36
36
  detailPlaceholder?: string;
37
37
  /** 浮窗是否跟随父级 */
38
38
  scrollFollowParent?: boolean;
39
+ desensitization?: [number, number];
39
40
  }
@@ -71,7 +71,7 @@ var ChangedWrapper = function ChangedWrapper(props) {
71
71
  var isChanged = diffType === 'changed';
72
72
  var tipContent = (0, _react.useMemo)(function () {
73
73
  if (!isWatch || noChange) return undefined;
74
- var valueProps = getValueProps && !names ? getValueProps(originalValue) : {
74
+ var valueProps = getValueProps ? getValueProps(originalValue, true) : {
75
75
  value: originalValue
76
76
  };
77
77
  if (viewRender) {
@@ -31,7 +31,7 @@ var _excluded = ["labelWidth", "hiddenNames", "trim", "upperCase", "className",
31
31
  /* eslint-disable prefer-destructuring */
32
32
  // 这个组件只管渲染, 参数的整理在外部处理
33
33
  var Render = function Render(props) {
34
- var _ref3, _ref4, _ref5, _ref6, _otherProps$names2;
34
+ var _ref2, _ref3, _ref4, _ref5, _otherProps$names2;
35
35
  var component = props.component,
36
36
  originComponent = props.originComponent,
37
37
  _props$formItemProps = props.formItemProps,
@@ -116,9 +116,7 @@ var Render = function Render(props) {
116
116
  */
117
117
  var valueTypeTransform = function valueTypeTransform() {
118
118
  var _ref = otherProps || {},
119
- desensitizationKey = _ref.desensitizationKey;
120
- var _ref2 = otherProps || {},
121
- valueType = _ref2.valueType;
119
+ valueType = _ref.valueType;
122
120
  // SwitchCheckbox默认YN, 兼容已有组件
123
121
  if (type === 'SwitchCheckbox') {
124
122
  valueType = 'switch';
@@ -126,18 +124,11 @@ var Render = function Render(props) {
126
124
  if (type === 'Input') {
127
125
  valueType = valueType || 'trim';
128
126
  }
129
- var isDesensit = sessionStorage.getItem(desensitizationKey);
130
- // 仅查看模式下进行数据脱敏
131
- if ((_desensitization === null || _desensitization === void 0 ? void 0 : _desensitization.length) && _disabled && isDesensit === 'ON') {
132
- valueType = 'desensitization';
133
- }
134
127
  // 不存在valueType返回空
135
128
  if (!valueType) {
136
129
  return {};
137
130
  }
138
- var params = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, otherProps), otherFormItemProps), {}, {
139
- desensitization: _desensitization
140
- });
131
+ var params = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, otherProps), otherFormItemProps);
141
132
  return (0, _lodash.isFunction)(_valueType.default[valueType]) ? _valueType.default[valueType](params) : {};
142
133
  };
143
134
  /**
@@ -153,7 +144,7 @@ var Render = function Render(props) {
153
144
  * globalControl true时,优先级 全局【formDisabled】> formitem上【column.disabled】 > 组件上【fieldProps.disabled】
154
145
  * globalControl false时,优先级 组件上【fieldProps.disabled】 > formitem上【column.disabled】 > 全局【formDisabled】
155
146
  */
156
- var lastDisabled = globalControl ? (_ref3 = (_ref4 = formDisabled !== null && formDisabled !== void 0 ? formDisabled : _disabled) !== null && _ref4 !== void 0 ? _ref4 : _fieldProps === null || _fieldProps === void 0 ? void 0 : _fieldProps.disabled) !== null && _ref3 !== void 0 ? _ref3 : componentProps === null || componentProps === void 0 ? void 0 : componentProps.disabled : (_ref5 = (_ref6 = _disabled !== null && _disabled !== void 0 ? _disabled : _fieldProps === null || _fieldProps === void 0 ? void 0 : _fieldProps.disabled) !== null && _ref6 !== void 0 ? _ref6 : componentProps === null || componentProps === void 0 ? void 0 : componentProps.disabled) !== null && _ref5 !== void 0 ? _ref5 : formDisabled;
147
+ var lastDisabled = globalControl ? (_ref2 = (_ref3 = formDisabled !== null && formDisabled !== void 0 ? formDisabled : _disabled) !== null && _ref3 !== void 0 ? _ref3 : _fieldProps === null || _fieldProps === void 0 ? void 0 : _fieldProps.disabled) !== null && _ref2 !== void 0 ? _ref2 : componentProps === null || componentProps === void 0 ? void 0 : componentProps.disabled : (_ref4 = (_ref5 = _disabled !== null && _disabled !== void 0 ? _disabled : _fieldProps === null || _fieldProps === void 0 ? void 0 : _fieldProps.disabled) !== null && _ref5 !== void 0 ? _ref5 : componentProps === null || componentProps === void 0 ? void 0 : componentProps.disabled) !== null && _ref4 !== void 0 ? _ref4 : formDisabled;
157
148
  // ↑↑↑↑↑↑ formItem参数整理 ↑↑↑↑↑↑
158
149
  Object.assign(otherFormItemProps, transforms, {
159
150
  names: otherProps.names
@@ -183,7 +174,8 @@ var Render = function Render(props) {
183
174
  * 最新fieldProps: 更新后的组件Props
184
175
  */
185
176
  var lastComponentProps = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, componentProps), _fieldProps), {}, {
186
- disabled: lastDisabled
177
+ disabled: lastDisabled,
178
+ desensitization: _desensitization
187
179
  });
188
180
  var _className = (0, _classnames.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, className, className), 'pro-form-item-width-auto', ['Switch'].includes(type)));
189
181
  if (formItemProps.hidden === true || _show === false) {
@@ -206,8 +198,8 @@ var Render = function Render(props) {
206
198
  var functionArgs = function functionArgs(args) {
207
199
  var _otherFormItemProps$n;
208
200
  var _args = (0, _toConsumableArray2.default)(args);
209
- var _ref7 = otherProps || {},
210
- valueType = _ref7.valueType;
201
+ var _ref6 = otherProps || {},
202
+ valueType = _ref6.valueType;
211
203
  _args[1] = form.getFieldsValue();
212
204
  _args[2] = {
213
205
  form: form
@@ -307,7 +299,7 @@ var Render = function Render(props) {
307
299
  * onBlur参数重置 (value, record, { form, index, namePath, option }) => void
308
300
  */
309
301
  var handleBlur = /*#__PURE__*/function () {
310
- var _ref8 = (0, _asyncToGenerator2.default)(/*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee() {
302
+ var _ref7 = (0, _asyncToGenerator2.default)(/*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee() {
311
303
  var _len3,
312
304
  args,
313
305
  _key3,
@@ -334,7 +326,7 @@ var Render = function Render(props) {
334
326
  }, _callee);
335
327
  }));
336
328
  return function handleBlur() {
337
- return _ref8.apply(this, arguments);
329
+ return _ref7.apply(this, arguments);
338
330
  };
339
331
  }();
340
332
  var renderItem = function renderItem() {
@@ -424,7 +416,7 @@ var Render = function Render(props) {
424
416
  colProps = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, colProps), {}, {
425
417
  span: lessMode ? colProps.span : 24 // 默认占一行
426
418
  });
427
- return (0, _jsxRuntime.jsx)(_antd.Form.Item, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, (0, _lodash.omit)(_otherFormItemProps, [].concat(filterFormItemKey, ['name', 'names']))), {}, {
419
+ return (0, _jsxRuntime.jsx)(_antd.Form.Item, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, (0, _lodash.omit)(_otherFormItemProps, filterFormItemKey)), {}, {
428
420
  // @ts-ignore
429
421
  _internalItemRender: internalItemRender,
430
422
  className: _className,
@@ -27,13 +27,17 @@ var transformValue = exports.transformValue = function transformValue(names, for
27
27
  });
28
28
  return _value;
29
29
  },
30
- getValueProps: function getValueProps(value) {
30
+ getValueProps: function getValueProps(value, isOrg) {
31
31
  var _curValue;
32
32
  var _value = [];
33
- names.forEach(function (name, index) {
34
- var value = form.getFieldValue(name);
35
- _value[index] = value;
36
- });
33
+ if (!isOrg) {
34
+ names.forEach(function (name, index) {
35
+ var value = form.getFieldValue(name);
36
+ _value[index] = value;
37
+ });
38
+ } else {
39
+ _value = value;
40
+ }
37
41
  // 支持外部传入转换函数
38
42
  var res = (_getValueProps === null || _getValueProps === void 0 ? void 0 : _getValueProps(_value)) || {
39
43
  value: _value
@@ -66,11 +66,5 @@ declare const _default: {
66
66
  value: any;
67
67
  };
68
68
  };
69
- /** 脱敏 转换 */
70
- desensitization: (props: any) => {
71
- getValueProps: (value: any) => {
72
- value: any;
73
- };
74
- };
75
69
  };
76
70
  export default _default;
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.maskStringRangeWithRegex = exports.default = void 0;
8
- var _readOnlyError2 = _interopRequireDefault(require("@babel/runtime/helpers/readOnlyError"));
9
8
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
9
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
10
  var _big = _interopRequireDefault(require("big.js"));
@@ -199,6 +198,7 @@ var dateTransform = function dateTransform(_ref2) {
199
198
  };
200
199
  /** 脱敏处理函数 */
201
200
  var maskStringRangeWithRegex = exports.maskStringRangeWithRegex = function maskStringRangeWithRegex(input, range) {
201
+ var _input$replace;
202
202
  var _ref3 = range || [],
203
203
  _ref4 = (0, _slicedToArray2.default)(_ref3, 2),
204
204
  start = _ref4[0],
@@ -206,13 +206,13 @@ var maskStringRangeWithRegex = exports.maskStringRangeWithRegex = function maskS
206
206
  if (start < 0) {
207
207
  throw new Error('脱敏数据: start index cannot be negative');
208
208
  }
209
- var adjustedEnd = Math.min(end, input.length - 1);
210
- if (start >= input.length) {
209
+ var adjustedEnd = Math.min(end, (input === null || input === void 0 ? void 0 : input.length) - 1);
210
+ if (start >= (input === null || input === void 0 ? void 0 : input.length)) {
211
211
  return '';
212
212
  }
213
213
  var regexPattern = "^(.{".concat(start, "})(.{").concat(adjustedEnd - start + 1, "})(.*)$");
214
214
  var regex = new RegExp(regexPattern);
215
- var maskedValue = input.replace(regex, "$1".concat('*'.repeat(adjustedEnd - start + 1), "$3"));
215
+ var maskedValue = input === null || input === void 0 ? void 0 : (_input$replace = input.replace) === null || _input$replace === void 0 ? void 0 : _input$replace.call(input, regex, "$1".concat('*'.repeat(adjustedEnd - start + 1), "$3"));
216
216
  return maskedValue;
217
217
  };
218
218
  var _default = exports.default = {
@@ -310,51 +310,5 @@ var _default = exports.default = {
310
310
  switch: function _switch(_ref12) {
311
311
  var switchValue = _ref12.switchValue;
312
312
  return switchTransform(switchValue);
313
- },
314
- /** 脱敏 转换 */
315
- desensitization: function desensitization(props) {
316
- var desensitization = props.desensitization,
317
- type = props.type,
318
- mode = props.mode,
319
- names = props.names;
320
- // 判断是否是地址控件,并带地址详情场景
321
- if (type === 'ProCascader' && mode === 'address' && (names === null || names === void 0 ? void 0 : names.length) === 4) {
322
- return {
323
- getValueProps: function getValueProps(value) {
324
- try {
325
- if (value === null || value === void 0 ? void 0 : value.length) {
326
- var _value = (0, _slicedToArray2.default)(value, 4),
327
- province = _value[0],
328
- city = _value[1],
329
- county = _value[2],
330
- address = _value[3];
331
- return {
332
- value: [province, city, county, maskStringRangeWithRegex(address, desensitization)]
333
- };
334
- }
335
- return {
336
- value: value
337
- };
338
- } catch (error) {
339
- return {
340
- value: value
341
- }; // 如果发生错误,返回原始值
342
- }
343
- }
344
- };
345
- }
346
- return {
347
- getValueProps: function getValueProps(value) {
348
- try {
349
- return {
350
- value: maskStringRangeWithRegex(value, desensitization)
351
- };
352
- } catch (error) {
353
- return {
354
- value: value
355
- }; // 如果发生错误,返回原始值
356
- }
357
- }
358
- };
359
313
  }
360
314
  };
@@ -217,7 +217,15 @@ var ProSelect = exports.ProSelect = function ProSelect(props, ref) {
217
217
  }
218
218
  return props.children;
219
219
  };
220
- var handleChange = function handleChange(value, option) {
220
+ var isReactElement = function isReactElement(element) {
221
+ return /*#__PURE__*/(0, _react.isValidElement)(element);
222
+ };
223
+ var handleChange = function handleChange(value, _option) {
224
+ // option/其第一层子节点是react节点且是labelInValue就拿record
225
+ var option = _option;
226
+ if (labelInValue && (isReactElement(_option) || isReactElement(_option === null || _option === void 0 ? void 0 : _option.children))) {
227
+ option = _option === null || _option === void 0 ? void 0 : _option.record;
228
+ }
221
229
  var getChangeValue = selectProps.getChangeValue;
222
230
  if (selectProps.mode && selectProps.mode === 'multiple') {
223
231
  if (Array.isArray(option)) {
@@ -235,7 +243,7 @@ var ProSelect = exports.ProSelect = function ProSelect(props, ref) {
235
243
  } else if (!selectProps.mode && labelInValue) {
236
244
  onChange(getChangeValue ? getChangeValue(getValueObject(value)) : getValueObject(value), option);
237
245
  } else {
238
- onChange === null || onChange === void 0 ? void 0 : onChange(getChangeValue ? getChangeValue(value) : value, option === null || option === void 0 ? void 0 : option.record);
246
+ onChange === null || onChange === void 0 ? void 0 : onChange(getChangeValue ? getChangeValue(value) : value, _option === null || _option === void 0 ? void 0 : _option.record);
239
247
  }
240
248
  };
241
249
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zat-design/sisyphus-react",
3
- "version": "3.10.1",
3
+ "version": "3.10.2",
4
4
  "license": "Apache-2.0",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",