@zat-design/sisyphus-react 3.4.5 → 3.4.6-beta.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 (125) hide show
  1. package/dist/index.esm.css +147 -34
  2. package/dist/less.esm.css +147 -34
  3. package/es/ProConfigProvider/index.d.ts +2 -2
  4. package/es/ProConfigProvider/index.js +0 -3
  5. package/es/ProEditTable/components/RenderField/index.js +55 -48
  6. package/es/ProEditTable/index.js +3 -3
  7. package/es/ProEditTable/style/index.less +0 -5
  8. package/es/ProEditTable/utils/tools.d.ts +12 -0
  9. package/es/ProEditTable/utils/tools.js +79 -2
  10. package/es/ProForm/components/base/RangePicker/index.js +9 -9
  11. package/es/ProForm/components/combination/Container/index.js +3 -2
  12. package/es/ProForm/components/combination/Container/style/index.less +5 -1
  13. package/es/ProForm/components/combination/{ProAddressBar → ProCascader}/index.d.ts +2 -2
  14. package/es/ProForm/components/combination/ProCascader/index.js +256 -0
  15. package/es/ProForm/components/combination/{ProAddressBar → ProCascader}/propsType.d.ts +9 -6
  16. package/es/ProForm/components/combination/ProCascader/utils/index.d.ts +14 -0
  17. package/es/ProForm/components/combination/ProCascader/utils/index.js +26 -0
  18. package/es/ProForm/components/combination/ProModalSelect/index.js +13 -5
  19. package/es/ProForm/components/combination/ProModalSelect/style/index.less +23 -0
  20. package/es/ProForm/components/combination/ProRangeLimit/index.d.ts +2 -2
  21. package/es/ProForm/components/combination/ProRangeLimit/index.js +17 -10
  22. package/es/ProForm/components/index.d.ts +1 -2
  23. package/es/ProForm/components/index.js +1 -4
  24. package/es/ProForm/components/render/Render.js +19 -14
  25. package/es/ProForm/components/render/RenderFields.js +3 -1
  26. package/es/ProForm/components/render/propsType.d.ts +3 -7
  27. package/es/ProForm/index.js +6 -2
  28. package/es/ProForm/propsType.d.ts +2 -0
  29. package/es/ProForm/style/index.less +2 -1
  30. package/es/ProForm/utils/index.d.ts +6 -1
  31. package/es/ProForm/utils/index.js +9 -6
  32. package/es/ProForm/utils/useChanged.js +1 -2
  33. package/es/ProForm/utils/useForm.js +18 -6
  34. package/es/ProForm/utils/useListChanged.js +1 -3
  35. package/es/ProIcon/config/index.d.ts +2 -0
  36. package/es/ProIcon/config/index.js +4 -2
  37. package/es/ProIcon/index.js +148 -81
  38. package/es/ProIcon/propsTypes.d.ts +6 -1
  39. package/es/ProIcon/utils/index.d.ts +5 -0
  40. package/es/ProIcon/utils/index.js +60 -0
  41. package/es/ProLayout/components/ProCollapse/index.js +6 -3
  42. package/es/ProLayout/components/ProCollapse/style/index.less +1 -1
  43. package/es/ProSelect/index.js +1 -1
  44. package/es/ProStep/components/Step/index.js +4 -3
  45. package/es/ProStep/style/index.less +37 -0
  46. package/es/ProTable/utils.js +6 -3
  47. package/es/ProThemeTools/component/PrdTools/index.d.ts +1 -1
  48. package/es/ProThemeTools/component/PrdTools/index.js +16 -6
  49. package/es/ProThemeTools/component/PrdTools/style/index.less +56 -48
  50. package/es/ProTree/components/ProTree.js +96 -74
  51. package/es/ProTree/components/ProTreeSelect/index.js +5 -9
  52. package/es/ProTree/components/ProTreeSelect/style/index.less +6 -8
  53. package/es/ProTree/components/Tree.js +63 -41
  54. package/es/ProTree/style/index.less +38 -16
  55. package/es/ProUpload/index.js +11 -13
  56. package/es/ProUpload/propsType.d.ts +8 -3
  57. package/es/assets/view.svg +2 -2
  58. package/es/global.less +6 -6
  59. package/lib/ProConfigProvider/index.d.ts +2 -2
  60. package/lib/ProConfigProvider/index.js +0 -3
  61. package/lib/ProEditTable/components/RenderField/index.js +53 -46
  62. package/lib/ProEditTable/index.js +3 -3
  63. package/lib/ProEditTable/style/index.less +0 -5
  64. package/lib/ProEditTable/utils/tools.d.ts +12 -0
  65. package/lib/ProEditTable/utils/tools.js +80 -2
  66. package/lib/ProForm/components/base/RangePicker/index.js +9 -9
  67. package/lib/ProForm/components/combination/Container/index.js +3 -2
  68. package/lib/ProForm/components/combination/Container/style/index.less +5 -1
  69. package/lib/ProForm/components/combination/{ProAddressBar → ProCascader}/index.d.ts +2 -2
  70. package/lib/ProForm/components/combination/ProCascader/index.js +256 -0
  71. package/lib/ProForm/components/combination/{ProAddressBar → ProCascader}/propsType.d.ts +9 -6
  72. package/lib/ProForm/components/combination/ProCascader/utils/index.d.ts +14 -0
  73. package/lib/ProForm/components/combination/ProCascader/utils/index.js +33 -0
  74. package/lib/ProForm/components/combination/ProModalSelect/index.js +12 -4
  75. package/lib/ProForm/components/combination/ProModalSelect/style/index.less +23 -0
  76. package/lib/ProForm/components/combination/ProRangeLimit/index.d.ts +2 -2
  77. package/lib/ProForm/components/combination/ProRangeLimit/index.js +17 -10
  78. package/lib/ProForm/components/index.d.ts +1 -2
  79. package/lib/ProForm/components/index.js +1 -8
  80. package/lib/ProForm/components/render/Render.js +19 -14
  81. package/lib/ProForm/components/render/RenderFields.js +3 -1
  82. package/lib/ProForm/components/render/propsType.d.ts +3 -7
  83. package/lib/ProForm/index.js +5 -1
  84. package/lib/ProForm/propsType.d.ts +2 -0
  85. package/lib/ProForm/style/index.less +2 -1
  86. package/lib/ProForm/utils/index.d.ts +6 -1
  87. package/lib/ProForm/utils/index.js +9 -6
  88. package/lib/ProForm/utils/useChanged.js +1 -2
  89. package/lib/ProForm/utils/useForm.js +18 -6
  90. package/lib/ProForm/utils/useListChanged.js +1 -3
  91. package/lib/ProIcon/config/index.d.ts +2 -0
  92. package/lib/ProIcon/config/index.js +4 -2
  93. package/lib/ProIcon/index.js +144 -77
  94. package/lib/ProIcon/propsTypes.d.ts +6 -1
  95. package/lib/ProIcon/utils/index.d.ts +5 -0
  96. package/lib/ProIcon/utils/index.js +62 -1
  97. package/lib/ProLayout/components/ProCollapse/index.js +6 -3
  98. package/lib/ProLayout/components/ProCollapse/style/index.less +1 -1
  99. package/lib/ProSelect/index.js +1 -1
  100. package/lib/ProStep/components/Step/index.js +4 -3
  101. package/lib/ProStep/style/index.less +37 -0
  102. package/lib/ProTable/utils.js +6 -3
  103. package/lib/ProThemeTools/component/PrdTools/index.d.ts +1 -1
  104. package/lib/ProThemeTools/component/PrdTools/index.js +16 -6
  105. package/lib/ProThemeTools/component/PrdTools/style/index.less +56 -48
  106. package/lib/ProTree/components/ProTree.js +96 -74
  107. package/lib/ProTree/components/ProTreeSelect/index.js +5 -9
  108. package/lib/ProTree/components/ProTreeSelect/style/index.less +6 -8
  109. package/lib/ProTree/components/Tree.js +63 -41
  110. package/lib/ProTree/style/index.less +38 -16
  111. package/lib/ProUpload/index.js +10 -12
  112. package/lib/ProUpload/propsType.d.ts +8 -3
  113. package/lib/assets/view.svg +2 -2
  114. package/lib/global.less +6 -6
  115. package/package.json +2 -2
  116. package/es/ProForm/components/base/ProCascader/index.d.ts +0 -14
  117. package/es/ProForm/components/base/ProCascader/index.js +0 -72
  118. package/es/ProForm/components/combination/ProAddressBar/index.js +0 -437
  119. package/lib/ProForm/components/base/ProCascader/index.d.ts +0 -14
  120. package/lib/ProForm/components/base/ProCascader/index.js +0 -78
  121. package/lib/ProForm/components/combination/ProAddressBar/index.js +0 -437
  122. /package/es/ProForm/components/combination/{ProAddressBar → ProCascader}/propsType.js +0 -0
  123. /package/es/ProForm/components/combination/{ProAddressBar → ProCascader}/style/index.less +0 -0
  124. /package/lib/ProForm/components/combination/{ProAddressBar → ProCascader}/propsType.js +0 -0
  125. /package/lib/ProForm/components/combination/{ProAddressBar → ProCascader}/style/index.less +0 -0
@@ -14,3 +14,15 @@ export declare const onDelete: ({ name, form, virtualKey, selectedRowKeys }: {
14
14
  virtualKey: any;
15
15
  selectedRowKeys: any;
16
16
  }) => void;
17
+ /** 获取最终的disabled, 两张模式【子级优先,全局优先】
18
+ * 全局优先:globalControl为true时,全局控制
19
+ * 子级优先:globalControl为false时,子级控制
20
+ * @param globalControl 全局控制
21
+ * @param formDisabled 表单的disabled
22
+ * @param column 当前列
23
+ * @param tabledDisabled 表格的disabled
24
+ * @param columnFieldProps 当前列的fieldProps
25
+ * @param params 当前列的参数
26
+ * @param rowDisabled 行禁用参数
27
+ */
28
+ export declare const getDisabled: ({ globalControl, formDisabled, column, tabledDisabled, columnFieldProps, params, rowDisabled }: any) => any;
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
- exports.splitNames = exports.onDelete = exports.getRandom = exports.getNamePath = exports.difference = exports.customValidate = void 0;
7
+ exports.splitNames = exports.onDelete = exports.getRandom = exports.getNamePath = exports.getDisabled = exports.difference = exports.customValidate = void 0;
8
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
7
9
  var _lodash = require("lodash");
8
10
  var getRandom = exports.getRandom = function getRandom() {
9
11
  return Math.random().toString(36).slice(-6);
@@ -12,7 +14,8 @@ var getRandom = exports.getRandom = function getRandom() {
12
14
  var difference = exports.difference = function difference(object, base) {
13
15
  var changes = function changes(object, base) {
14
16
  return (0, _lodash.transform)(object, function (result, value, key) {
15
- if (key.indexOf('-') > -1) {
17
+ var _key$indexOf;
18
+ if ((key === null || key === void 0 ? void 0 : (_key$indexOf = key.indexOf) === null || _key$indexOf === void 0 ? void 0 : _key$indexOf.call(key, '-')) > -1) {
16
19
  result[key] = true;
17
20
  } else if (!(0, _lodash.isEqual)(value, base[key])) {
18
21
  result[key] = (0, _lodash.isObject)(value) && (0, _lodash.isObject)(base[key]) ? changes(value, base[key]) : value;
@@ -80,4 +83,79 @@ var onDelete = exports.onDelete = function onDelete(_ref) {
80
83
  form.setFieldValue(namePath, virtualList);
81
84
  }
82
85
  }
86
+ };
87
+ /** 获取最终的disabled, 两张模式【子级优先,全局优先】
88
+ * 全局优先:globalControl为true时,全局控制
89
+ * 子级优先:globalControl为false时,子级控制
90
+ * @param globalControl 全局控制
91
+ * @param formDisabled 表单的disabled
92
+ * @param column 当前列
93
+ * @param tabledDisabled 表格的disabled
94
+ * @param columnFieldProps 当前列的fieldProps
95
+ * @param params 当前列的参数
96
+ * @param rowDisabled 行禁用参数
97
+ */
98
+ var getDisabled = exports.getDisabled = function getDisabled(_ref2) {
99
+ var globalControl = _ref2.globalControl,
100
+ formDisabled = _ref2.formDisabled,
101
+ column = _ref2.column,
102
+ tabledDisabled = _ref2.tabledDisabled,
103
+ columnFieldProps = _ref2.columnFieldProps,
104
+ params = _ref2.params,
105
+ rowDisabled = _ref2.rowDisabled;
106
+ var convertToBoolean = function convertToBoolean(value) {
107
+ if (Array.isArray(value)) {
108
+ return value;
109
+ }
110
+ if (value === null || value === undefined || value === '') {
111
+ return false;
112
+ }
113
+ if (value === 0) {
114
+ return true;
115
+ }
116
+ return Boolean(value);
117
+ };
118
+ // 判断是否有column的disabled属性
119
+ var noColumnDisabled = function noColumnDisabled() {
120
+ if ((0, _lodash.isFunction)(column === null || column === void 0 ? void 0 : column.disabled) || (0, _lodash.isFunction)(columnFieldProps === null || columnFieldProps === void 0 ? void 0 : columnFieldProps.disabled) || (0, _lodash.isBoolean)(column === null || column === void 0 ? void 0 : column.disabled) || (0, _lodash.isBoolean)(columnFieldProps === null || columnFieldProps === void 0 ? void 0 : columnFieldProps.disabled)) {
121
+ return false;
122
+ }
123
+ // 判断FieldProps是否有disabled属性
124
+ if ((0, _lodash.isFunction)(columnFieldProps)) {
125
+ var _columnFieldProps = columnFieldProps.apply(void 0, (0, _toConsumableArray2.default)(params)),
126
+ disabled = _columnFieldProps.disabled;
127
+ if ((0, _lodash.isFunction)(disabled) || (0, _lodash.isBoolean)(disabled)) {
128
+ return false;
129
+ }
130
+ }
131
+ return true;
132
+ };
133
+ if (globalControl) {
134
+ return convertToBoolean(formDisabled) || convertToBoolean(tabledDisabled);
135
+ }
136
+ if (rowDisabled === 'empty') {
137
+ return false;
138
+ }
139
+ // 当表单含有diabled属性时,优先使用表单的disabled
140
+ if ((0, _lodash.isFunction)(rowDisabled) && noColumnDisabled()) {
141
+ return rowDisabled(params[1]);
142
+ }
143
+ if ((0, _lodash.isFunction)(column === null || column === void 0 ? void 0 : column.disabled)) {
144
+ return convertToBoolean(column === null || column === void 0 ? void 0 : column.disabled.apply(column, (0, _toConsumableArray2.default)(params)));
145
+ }
146
+ // 表单FieldProps为函数时
147
+ if ((0, _lodash.isFunction)(columnFieldProps)) {
148
+ var _columnFieldProps2 = columnFieldProps.apply(void 0, (0, _toConsumableArray2.default)(params)),
149
+ disabled = _columnFieldProps2.disabled;
150
+ if ((0, _lodash.isFunction)(disabled)) {
151
+ return convertToBoolean(disabled.apply(void 0, (0, _toConsumableArray2.default)(params)));
152
+ }
153
+ if ((0, _lodash.isBoolean)(disabled)) {
154
+ return convertToBoolean(disabled);
155
+ }
156
+ }
157
+ if ((0, _lodash.isFunction)(columnFieldProps === null || columnFieldProps === void 0 ? void 0 : columnFieldProps.disabled)) {
158
+ return convertToBoolean(columnFieldProps === null || columnFieldProps === void 0 ? void 0 : columnFieldProps.disabled.apply(columnFieldProps, (0, _toConsumableArray2.default)(params)));
159
+ }
160
+ return convertToBoolean(column === null || column === void 0 ? void 0 : column.disabled) || convertToBoolean(columnFieldProps === null || columnFieldProps === void 0 ? void 0 : columnFieldProps.disabled) || convertToBoolean(tabledDisabled);
83
161
  };
@@ -29,9 +29,16 @@ var RangePicker = function RangePicker(props) {
29
29
  viewEmpty = _ref.viewEmpty,
30
30
  valueType = _ref.valueType;
31
31
  var isView = typeof props.isView === 'boolean' ? props.isView : isViewCon;
32
+ var _res = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, rest), {}, {
33
+ showTime: !rest.showTime && valueType === 'dateTime' || rest.showTime
34
+ });
35
+ // 字符串时间格式兼容
36
+ if (Array.isArray(_res.value) && (0, _lodash.isString)(_res.value[0]) && (0, _lodash.isString)(_res.value[1])) {
37
+ _res.value = [(0, _moment.default)(_res.value[0]), (0, _moment.default)(_res.value[1])];
38
+ }
32
39
  if (isView) {
33
- var _props$value = props.value,
34
- value = _props$value === void 0 ? [] : _props$value;
40
+ var _res$value = _res.value,
41
+ value = _res$value === void 0 ? [] : _res$value;
35
42
  var viewChildren = null;
36
43
  if (!value || !value[0] || !value[1]) {
37
44
  viewChildren = null;
@@ -53,13 +60,6 @@ var RangePicker = function RangePicker(props) {
53
60
  children: viewChildren
54
61
  });
55
62
  }
56
- var _res = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, rest), {}, {
57
- showTime: !rest.showTime && valueType === 'dateTime' || rest.showTime
58
- });
59
- // 字符串时间格式兼容
60
- if (Array.isArray(_res.value) && (0, _lodash.isString)(_res.value[0]) && (0, _lodash.isString)(_res.value[1])) {
61
- _res.value = [(0, _moment.default)(_res.value[0]), (0, _moment.default)(_res.value[1])];
62
- }
63
63
  return (0, _jsxRuntime.jsx)(AntRangePicker, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, initialConfig), (0, _lodash.omit)(_res, ['separator'])));
64
64
  };
65
65
  var _default = exports.default = RangePicker;
@@ -28,10 +28,11 @@ var Container = function Container(props) {
28
28
  disabled = _ref.disabled;
29
29
  var _className = (0, _classnames2.default)((0, _defineProperty2.default)({
30
30
  'pro-container': true,
31
- 'pro-container-diy': type === 'Container'
31
+ 'pro-container-diy': type === 'Container',
32
+ 'pro-container-empty': !(children === null || children === void 0 ? void 0 : children.length)
32
33
  }, "".concat(className), className));
33
34
  var _children = (0, _react.useMemo)(function () {
34
- var result = children.map(function (item) {
35
+ var result = children === null || children === void 0 ? void 0 : children.map(function (item) {
35
36
  return (0, _objectSpread2.default)({
36
37
  clearNotShow: clearNotShow,
37
38
  show: show,
@@ -2,7 +2,11 @@
2
2
  @import (reference) '~antd/es/style/themes/index.less';
3
3
 
4
4
  .pro-container {
5
-
5
+ &.pro-container-empty{
6
+ .@{ant-prefix}-collapse-content{
7
+ display: none;
8
+ }
9
+ }
6
10
  &.pro-container-diy {
7
11
  .pro-container-content {
8
12
  display : flex;
@@ -1,4 +1,4 @@
1
1
  /// <reference types="react" />
2
- import { AddressProps } from './propsType';
3
- declare const _default: import("react").MemoExoticComponent<(props: AddressProps) => JSX.Element>;
2
+ import { ProCascaderProps } from './propsType';
3
+ declare const _default: import("react").MemoExoticComponent<(props: ProCascaderProps) => JSX.Element>;
4
4
  export default _default;
@@ -0,0 +1,256 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
+ var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
10
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
12
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
13
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
14
+ var _jsxRuntime = require("react/jsx-runtime");
15
+ var _react = require("react");
16
+ var _antd = require("antd");
17
+ var _lodash = require("lodash");
18
+ var _index = require("./utils/index");
19
+ var _ProConfigProvider = require("../../../../ProConfigProvider");
20
+ var _useEnum = _interopRequireDefault(require("../../../../ProEnum/hooks/useEnum"));
21
+ var _locale = _interopRequireDefault(require("../../../../locale"));
22
+ var _ = _interopRequireDefault(require("../../.."));
23
+ var _excluded = ["className", "hasDetail", "detailMaxLength", "fieldNames", "value", "disabled", "dataSource", "onChange", "useRequest", "transformResponse", "level", "isView", "enumCode", "code", "tooltip", "separator"];
24
+ var Text = _antd.Typography.Text;
25
+ var filterDataSource = function filterDataSource(dataSource, level) {
26
+ return dataSource === null || dataSource === void 0 ? void 0 : dataSource.map(function (item) {
27
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, item), {}, {
28
+ children: level === 1 ? [] : filterDataSource(item === null || item === void 0 ? void 0 : item.children, level - 1)
29
+ });
30
+ });
31
+ };
32
+ var getViewLabel = function getViewLabel(_ref) {
33
+ var dataSource = _ref.dataSource,
34
+ value = _ref.value;
35
+ var viewLabel = [];
36
+ // 根据dataSource得到label数组,查看模式展示需要
37
+ value === null || value === void 0 ? void 0 : value.forEach(function (value, index) {
38
+ var _dataSource;
39
+ var temp = (_dataSource = dataSource) === null || _dataSource === void 0 ? void 0 : _dataSource.find(function (item) {
40
+ return (item === null || item === void 0 ? void 0 : item.value) === value;
41
+ });
42
+ dataSource = (temp === null || temp === void 0 ? void 0 : temp.children) || [];
43
+ viewLabel[index] = temp === null || temp === void 0 ? void 0 : temp.label;
44
+ });
45
+ return viewLabel;
46
+ };
47
+ var defaultFieldNames = {
48
+ label: 'name',
49
+ value: 'code',
50
+ children: 'children'
51
+ };
52
+ var ProCascader = function ProCascader(props) {
53
+ var _value$slice, _ref7, _ref7$filter, _defaultLabel$filter, _locale$ProAddressBar, _locale$ProAddressBar2;
54
+ var _ref2 = (0, _ProConfigProvider.useProConfig)('ProAddressBar') || {},
55
+ configDetailMaxLength = _ref2.detailMaxLength,
56
+ configEnumCode = _ref2.enumCode,
57
+ configCode = _ref2.code;
58
+ var isAddressMode = (props === null || props === void 0 ? void 0 : props.mode) === 'address';
59
+ var _props$className = props.className,
60
+ className = _props$className === void 0 ? '' : _props$className,
61
+ _props$hasDetail = props.hasDetail,
62
+ hasDetail = _props$hasDetail === void 0 ? isAddressMode ? true : undefined : _props$hasDetail,
63
+ _props$detailMaxLengt = props.detailMaxLength,
64
+ detailMaxLength = _props$detailMaxLengt === void 0 ? isAddressMode ? configDetailMaxLength || 100 : 100 : _props$detailMaxLengt,
65
+ _props$fieldNames = props.fieldNames,
66
+ fieldNames = _props$fieldNames === void 0 ? defaultFieldNames : _props$fieldNames,
67
+ value = props.value,
68
+ disabled = props.disabled,
69
+ dataSource = props.dataSource,
70
+ onChange = props.onChange,
71
+ useRequest = props.useRequest,
72
+ transformResponse = props.transformResponse,
73
+ _props$level = props.level,
74
+ level = _props$level === void 0 ? isAddressMode ? 3 : undefined : _props$level,
75
+ isView = props.isView,
76
+ _props$enumCode = props.enumCode,
77
+ enumCode = _props$enumCode === void 0 ? configEnumCode : _props$enumCode,
78
+ _props$code = props.code,
79
+ code = _props$code === void 0 ? configCode : _props$code,
80
+ tooltip = props.tooltip,
81
+ _props$separator = props.separator,
82
+ separator = _props$separator === void 0 ? '' : _props$separator,
83
+ otherProps = (0, _objectWithoutProperties2.default)(props, _excluded);
84
+ var _ref3 = _.default.useFieldProps() || {},
85
+ isViewCon = _ref3.isView;
86
+ var addressCode = code || enumCode;
87
+ var realIsView = typeof isView === 'boolean' ? isView : isViewCon;
88
+ var realLevel = Math.max(2, level);
89
+ var detail = value === null || value === void 0 ? void 0 : value[realLevel];
90
+ var enumData = (0, _useEnum.default)(addressCode);
91
+ var _ref4 = Array.isArray(enumData) ? enumData : [],
92
+ _ref5 = (0, _slicedToArray2.default)(_ref4, 1),
93
+ _ref5$ = _ref5[0],
94
+ enumDataSource = _ref5$ === void 0 ? [] : _ref5$;
95
+ var realDataSource = (0, _react.useMemo)(function () {
96
+ var innerDataSource = dataSource || (addressCode ? enumDataSource : []);
97
+ var result = isAddressMode && realLevel === 2 ? filterDataSource(innerDataSource, level) : innerDataSource;
98
+ return (0, _lodash.isEqual)(fieldNames, defaultFieldNames) ? result : (0, _index.transformDataName)(result, fieldNames);
99
+ }, [isAddressMode, addressCode, realLevel, dataSource, enumDataSource === null || enumDataSource === void 0 ? void 0 : enumDataSource.length]);
100
+ var _useRequest = (0, _objectSpread2.default)({}, useRequest),
101
+ service = _useRequest.service,
102
+ _useRequest$defaultPa = _useRequest.defaultParams,
103
+ defaultParams = _useRequest$defaultPa === void 0 ? {} : _useRequest$defaultPa;
104
+ var _useState = (0, _react.useState)([]),
105
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
106
+ serviceData = _useState2[0],
107
+ setServiceData = _useState2[1];
108
+ var _useState3 = (0, _react.useState)([]),
109
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
110
+ defaultLabel = _useState4[0],
111
+ setDefaultLabel = _useState4[1];
112
+ var getFirstLevelOptions = /*#__PURE__*/function () {
113
+ var _ref6 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee() {
114
+ var _yield$service, data, newData, transFormData, serviceData;
115
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
116
+ while (1) switch (_context.prev = _context.next) {
117
+ case 0:
118
+ _context.next = 2;
119
+ return service(defaultParams);
120
+ case 2:
121
+ _yield$service = _context.sent;
122
+ data = _yield$service.data;
123
+ newData = data;
124
+ if (transformResponse) {
125
+ newData = transformResponse(data);
126
+ }
127
+ transFormData = (0, _index.transformDataName)(newData, {
128
+ label: fieldNames.label,
129
+ value: fieldNames.value,
130
+ children: (fieldNames === null || fieldNames === void 0 ? void 0 : fieldNames.children) || 'children'
131
+ });
132
+ serviceData = isAddressMode && realLevel === 2 ? filterDataSource(transFormData, level) : transFormData;
133
+ setServiceData(serviceData);
134
+ case 9:
135
+ case "end":
136
+ return _context.stop();
137
+ }
138
+ }, _callee);
139
+ }));
140
+ return function getFirstLevelOptions() {
141
+ return _ref6.apply(this, arguments);
142
+ };
143
+ }();
144
+ (0, _react.useEffect)(function () {
145
+ if (service) {
146
+ // 传入useRequest时,初次加载级联第一级数据源
147
+ getFirstLevelOptions();
148
+ }
149
+ }, [service]);
150
+ (0, _react.useEffect)(function () {
151
+ if (realIsView && value) {
152
+ // 传入dataSource + 查看时初始化展示
153
+ if (service) {
154
+ setDefaultLabel(getViewLabel({
155
+ dataSource: serviceData,
156
+ value: isAddressMode && hasDetail ? value === null || value === void 0 ? void 0 : value.slice(0, realLevel) : value
157
+ }));
158
+ } else if ((realDataSource === null || realDataSource === void 0 ? void 0 : realDataSource.length) > 0) {
159
+ setDefaultLabel(getViewLabel({
160
+ dataSource: realDataSource,
161
+ value: isAddressMode && hasDetail ? value === null || value === void 0 ? void 0 : value.slice(0, realLevel) : value
162
+ }));
163
+ }
164
+ }
165
+ }, [realIsView, value, realDataSource, serviceData]);
166
+ var handleChange = function handleChange(changeValue, selectedOptions) {
167
+ if (onChange) {
168
+ if (isAddressMode && hasDetail && detail) {
169
+ // 有详情地址
170
+ var realValue = changeValue || [];
171
+ realValue[realLevel] = detail;
172
+ onChange(realValue, selectedOptions);
173
+ } else {
174
+ onChange(changeValue, selectedOptions);
175
+ }
176
+ }
177
+ };
178
+ // showSearch中的筛选函数
179
+ var handlefilter = function handlefilter(inputValue, path) {
180
+ return path.some(function (option) {
181
+ return option.label.toLowerCase().indexOf(inputValue.toLowerCase()) > -1;
182
+ });
183
+ };
184
+ var handleAddressChange = function handleAddressChange(e) {
185
+ var cascaderValue = value === null || value === void 0 ? void 0 : value.slice(0, realLevel);
186
+ if (onChange) {
187
+ if (!e.target.value && (cascaderValue === null || cascaderValue === void 0 ? void 0 : cascaderValue.every(function (item) {
188
+ return !item;
189
+ }))) {
190
+ onChange(undefined);
191
+ } else {
192
+ var realValue = value ? (0, _toConsumableArray2.default)(value) : [];
193
+ realValue[realLevel] = e.target.value;
194
+ onChange(realValue);
195
+ }
196
+ }
197
+ };
198
+ var displayRender = function displayRender(label) {
199
+ return label === null || label === void 0 ? void 0 : label.filter(function (item) {
200
+ return !!item;
201
+ }).join('/');
202
+ };
203
+ var addressValue = isAddressMode ? value && ((_value$slice = value.slice(0, realLevel)) === null || _value$slice === void 0 ? void 0 : _value$slice.some(function (item) {
204
+ return !!item;
205
+ })) ? value.slice(0, realLevel) : undefined : value;
206
+ var viewValue = isAddressMode ? ((_ref7 = [].concat((0, _toConsumableArray2.default)(defaultLabel), [value === null || value === void 0 ? void 0 : value[realLevel]])) === null || _ref7 === void 0 ? void 0 : (_ref7$filter = _ref7.filter(function (item) {
207
+ return !!item;
208
+ })) === null || _ref7$filter === void 0 ? void 0 : _ref7$filter.join(separator)) || '-' : (defaultLabel === null || defaultLabel === void 0 ? void 0 : (_defaultLabel$filter = defaultLabel.filter(function (item) {
209
+ return !!item;
210
+ })) === null || _defaultLabel$filter === void 0 ? void 0 : _defaultLabel$filter.join(separator)) || '-';
211
+ return realIsView ? tooltip ? (0, _jsxRuntime.jsx)(_antd.Tooltip, {
212
+ className: className,
213
+ title: tooltip === true ? viewValue : tooltip,
214
+ children: (0, _jsxRuntime.jsx)(Text, {
215
+ ellipsis: {
216
+ tooltip: false
217
+ },
218
+ children: viewValue
219
+ })
220
+ }) : (0, _jsxRuntime.jsx)("span", {
221
+ className: className,
222
+ children: viewValue
223
+ }) : (0, _jsxRuntime.jsxs)("div", {
224
+ className: "pro-address ".concat(className),
225
+ children: [(0, _jsxRuntime.jsx)(_antd.Cascader, (0, _objectSpread2.default)({
226
+ className: hasDetail ? '' : 'no-detail',
227
+ placeholder: _locale.default === null || _locale.default === void 0 ? void 0 : (_locale$ProAddressBar = _locale.default.ProAddressBar) === null || _locale$ProAddressBar === void 0 ? void 0 : _locale$ProAddressBar.placeholder,
228
+ value: addressValue,
229
+ options: service ? serviceData : realDataSource,
230
+ disabled: disabled,
231
+ displayRender: displayRender,
232
+ showSearch: {
233
+ filter: handlefilter
234
+ },
235
+ onChange: handleChange
236
+ }, (0, _lodash.omit)(otherProps, 'otherProps'))), hasDetail && (tooltip && disabled && detail ? (0, _jsxRuntime.jsx)(_antd.Tooltip, {
237
+ title: detail,
238
+ children: (0, _jsxRuntime.jsx)("span", {
239
+ className: "pro-address-detail",
240
+ children: (0, _jsxRuntime.jsx)(_antd.Input, {
241
+ disabled: disabled,
242
+ value: detail
243
+ })
244
+ })
245
+ }) : (0, _jsxRuntime.jsx)(_antd.Input, {
246
+ allowClear: true,
247
+ autoComplete: "off",
248
+ disabled: disabled,
249
+ value: detail,
250
+ maxLength: detailMaxLength,
251
+ placeholder: _locale.default === null || _locale.default === void 0 ? void 0 : (_locale$ProAddressBar2 = _locale.default.ProAddressBar) === null || _locale$ProAddressBar2 === void 0 ? void 0 : _locale$ProAddressBar2.detailPlaceholder,
252
+ onChange: handleAddressChange
253
+ }))]
254
+ });
255
+ };
256
+ var _default = exports.default = /*#__PURE__*/(0, _react.memo)(ProCascader);
@@ -1,19 +1,22 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { DefaultOptionType } from 'rc-select/lib/Select';
3
3
  import { Service } from 'ahooks/lib/useRequest/src/types';
4
- export interface AddressProps {
5
- getPopupContainer?: () => ReactNode;
4
+ export interface fieldNamesProps {
5
+ label: string;
6
+ value: string;
7
+ children?: string;
8
+ [key: string]: string;
9
+ }
10
+ export interface ProCascaderProps {
6
11
  className?: string;
12
+ mode?: 'address' | 'default';
7
13
  isView?: boolean;
8
14
  value?: string[];
9
15
  disabled?: boolean;
10
16
  hasDetail?: boolean;
11
17
  tooltip?: boolean | ReactNode;
12
18
  detailMaxLength?: number;
13
- fieldNames?: {
14
- label: string;
15
- value: string;
16
- };
19
+ fieldNames?: fieldNamesProps;
17
20
  dataSource?: DefaultOptionType[];
18
21
  useRequest?: {
19
22
  loadData?: boolean;
@@ -0,0 +1,14 @@
1
+ interface DataNode {
2
+ label: string;
3
+ value: string;
4
+ children?: DataNode[];
5
+ [key: string]: any;
6
+ }
7
+ interface FieldNames {
8
+ label: string;
9
+ value: string;
10
+ children?: string;
11
+ [key: string]: string;
12
+ }
13
+ export declare const transformDataName: (dataSource: any[], fieldNames: FieldNames) => DataNode[];
14
+ export {};
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.transformDataName = void 0;
8
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
9
+ var _excluded = ["label", "value", "children"];
10
+ var transformDataName = exports.transformDataName = function transformDataName(dataSource, fieldNames) {
11
+ var label = fieldNames.label,
12
+ value = fieldNames.value,
13
+ children = fieldNames.children,
14
+ extraFields = (0, _objectWithoutProperties2.default)(fieldNames, _excluded);
15
+ function transformNode(node) {
16
+ var newNode = {
17
+ label: node[label],
18
+ value: node[value]
19
+ };
20
+ // 处理额外的字段
21
+ Object.keys(extraFields).forEach(function (key) {
22
+ newNode[key] = node[extraFields[key]];
23
+ });
24
+ if (children && Array.isArray(node[children])) {
25
+ newNode.children = node[children].map(transformNode);
26
+ }
27
+ return newNode;
28
+ }
29
+ function transformData(data) {
30
+ return data.map(transformNode);
31
+ }
32
+ return transformData(dataSource);
33
+ };
@@ -338,7 +338,7 @@ var ProModalSelect = function ProModalSelect(props, ref) {
338
338
  case 16:
339
339
  _context2.prev = 16;
340
340
  _context2.t0 = _context2["catch"](0);
341
- console.log('error', _context2.t0);
341
+ console.warn('error', _context2.t0);
342
342
  case 19:
343
343
  case "end":
344
344
  return _context2.stop();
@@ -593,6 +593,9 @@ var ProModalSelect = function ProModalSelect(props, ref) {
593
593
  });
594
594
  nextState.selectedRows = value;
595
595
  }
596
+ } else if (value) {
597
+ nextState.selectedRowKeys = [value];
598
+ nextState.selectedRows = [(0, _defineProperty2.default)({}, valueKey, value[valueKey])];
596
599
  }
597
600
  setState(nextState);
598
601
  }
@@ -667,9 +670,8 @@ var ProModalSelect = function ProModalSelect(props, ref) {
667
670
  labelInValue: labelInValue,
668
671
  dataSource: options,
669
672
  scrollFollowParent: false,
670
- onClick: function onClick() {
671
- // 没有值的时候,初始化点击默认查询前五十条
672
- if (!value && isInit || !(options === null || options === void 0 ? void 0 : options.length)) {
673
+ onFocus: function onFocus() {
674
+ if (useRequest) {
673
675
  var _useRequest$options9;
674
676
  var queryBean = (useRequest === null || useRequest === void 0 ? void 0 : (_useRequest$options9 = useRequest.options) === null || _useRequest$options9 === void 0 ? void 0 : _useRequest$options9.defaultParams) || {};
675
677
  var params = withPagination ? {
@@ -752,6 +754,11 @@ var ProModalSelect = function ProModalSelect(props, ref) {
752
754
  };
753
755
  }
754
756
  }, [value, isTooltip]);
757
+ (0, _ahooks.useDeepCompareEffect)(function () {
758
+ setState({
759
+ options: tableProps === null || tableProps === void 0 ? void 0 : tableProps.dataSource
760
+ });
761
+ }, [tableProps === null || tableProps === void 0 ? void 0 : tableProps.dataSource]);
755
762
  // 当搜索条件只有一个时,且为输入框,默认设置suffix
756
763
  if ((formColumns === null || formColumns === void 0 ? void 0 : formColumns.length) === 1 && (formColumns === null || formColumns === void 0 ? void 0 : (_formColumns$ = formColumns[0]) === null || _formColumns$ === void 0 ? void 0 : _formColumns$.type) === 'Input') {
757
764
  var _formColumns$2, _formColumns$3, _formColumns$3$fieldP;
@@ -797,6 +804,7 @@ var ProModalSelect = function ProModalSelect(props, ref) {
797
804
  form: form,
798
805
  columns: formColumns,
799
806
  onFinish: handleSearch,
807
+ confirmLoading: loading,
800
808
  footer: (formColumns === null || formColumns === void 0 ? void 0 : formColumns.length) > 1
801
809
  }), (0, _jsxRuntime.jsx)(_index.ProTable, (0, _objectSpread3.default)({
802
810
  onRow: function onRow(record) {
@@ -53,6 +53,20 @@
53
53
  }
54
54
  }
55
55
 
56
+ // 新加适用于 readonly false
57
+ .@{ant-prefix}-input-affix-wrapper {
58
+ border-top-right-radius: 0;
59
+ border-bottom-right-radius: 0;
60
+ &.ant-input-affix-wrapper-status-error{
61
+ & + .@{ant-prefix}-btn{
62
+ border: 1px solid var(--ant-error-color);
63
+ >.viewSvg{
64
+ color: var(--ant-error-color);
65
+ }
66
+ }
67
+ }
68
+ }
69
+
56
70
  .pro-tree-modal-input-appoint {
57
71
  .@{ant-prefix}-input {
58
72
  border-top-left-radius: 0;
@@ -93,6 +107,15 @@
93
107
  fill: #c5c7cd;
94
108
  }
95
109
 
110
+ .@{ant-prefix}-select-status-error {
111
+ & + .@{ant-prefix}-btn{
112
+ border: 1px solid var(--ant-error-color);
113
+ >.viewSvg{
114
+ color: var(--ant-error-color);
115
+ }
116
+ }
117
+ }
118
+
96
119
  .@{ant-prefix}-input-group-addon {
97
120
  padding: 0px var(--zaui-space-size-sm, 8px);
98
121
  background-color: var(--zaui-base-bg, #ffffff);
@@ -12,8 +12,8 @@ export type Props = Omit<RangePickerProps, 'value' | 'onChange' | 'format' | 'se
12
12
  separator?: any;
13
13
  isView?: boolean;
14
14
  };
15
- type Value = [Moment?, Moment?, boolean?];
16
- type ValueStr = [string?, string?, string?];
15
+ type Value = [Moment?, Moment?, boolean?] | null;
16
+ type ValueStr = [string?, string?, string?] | null;
17
17
  type HandleChange = (value: ValueStr | null, valueStr: Value | null) => void;
18
18
  declare const ProRangeLimit: React.FC<Props>;
19
19
  export default ProRangeLimit;