fan-standard-comp 3.0.13 → 3.1.0-beta

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.
@@ -27,6 +27,7 @@ function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(
27
27
 
28
28
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
29
29
 
30
+ import { __rest } from "tslib";
30
31
  import React, { useState, useEffect } from "react";
31
32
  import { IconNode } from "../components/index";
32
33
  import SpecIcon from "../SpecIcon/index";
@@ -114,6 +115,19 @@ var ButtonGroup = function ButtonGroup(props) {
114
115
 
115
116
 
116
117
  var RenderButtonList = function RenderButtonList(item) {
118
+ var exName = item.exName,
119
+ name = item.name,
120
+ type = item.type,
121
+ icon = item.icon,
122
+ ghost = item.ghost,
123
+ danger = item.danger,
124
+ disabled = item.disabled,
125
+ loading = item.loading,
126
+ fn = item.fn,
127
+ code = item.code,
128
+ rowParams = item.rowParams,
129
+ others = __rest(item, ["exName", "name", "type", "icon", "ghost", "danger", "disabled", "loading", "fn", "code", "rowParams"]);
130
+
117
131
  if (Array.isArray(item.children) && item.children.length > 0) {
118
132
  return /*#__PURE__*/React.createElement(_Dropdown, {
119
133
  overlay: buttonMenu(item.children),
@@ -125,17 +139,19 @@ var ButtonGroup = function ButtonGroup(props) {
125
139
  })));
126
140
  }
127
141
 
128
- return /*#__PURE__*/React.createElement(_Button, {
129
- type: item.type ? item.type : 'primary',
130
- danger: item.danger,
142
+ return /*#__PURE__*/React.createElement(_Button, Object.assign({
143
+ type: type || 'primary',
144
+ danger: danger,
145
+ ghost: ghost,
146
+ onClick: fn ? function () {
147
+ return fn(item);
148
+ } : null
149
+ }, others, {
131
150
  icon: /*#__PURE__*/React.createElement(IconNode, {
132
- icon: item.icon
151
+ icon: icon
133
152
  }),
134
- disabled: btnIsDisabled(item.disabled, rowParams),
135
- onClick: item.fn ? function () {
136
- return item.fn(item);
137
- } : null
138
- }, item.exName || item.name);
153
+ disabled: btnIsDisabled(disabled, rowParams)
154
+ }), exName || name);
139
155
  }; // 渲染文本形式多级菜单列表(用于表格)
140
156
 
141
157
 
@@ -261,14 +277,16 @@ var ButtonGroup = function ButtonGroup(props) {
261
277
 
262
278
 
263
279
  var renderDisplayButton = function renderDisplayButton(item, index) {
280
+ /*渲染自定义*/
264
281
  if (item.render) {
265
282
  return /*#__PURE__*/React.createElement(React.Fragment, null, typeof item.render === 'function' ? item.render.apply(item, _toConsumableArray(Object.keys(rowParams).map(function (pItem) {
266
283
  return rowParams[pItem];
267
284
  }))) : item.render);
268
285
  }
286
+ /*渲染按钮形式*/
287
+
269
288
 
270
289
  if (type === 'button') {
271
- /*渲染按钮形式*/
272
290
  return /*#__PURE__*/React.createElement(RenderButtonList, Object.assign({
273
291
  key: index
274
292
  }, item, {
@@ -6,6 +6,7 @@ interface OptionNameProps {
6
6
  disabled?: string;
7
7
  title?: string;
8
8
  children?: string;
9
+ [k: string]: any;
9
10
  }
10
11
  export interface FieldComponentProps {
11
12
  label?: any;
@@ -16,6 +17,7 @@ export interface FieldComponentProps {
16
17
  onChange?: (value?: any, option?: any) => void;
17
18
  selectOptions?: PropTypes.ReactNodeArray;
18
19
  selectOptionName?: OptionNameProps;
20
+ fieldNames?: OptionNameProps;
19
21
  treeData?: PropTypes.ReactNodeArray;
20
22
  treeOptionName?: OptionNameProps;
21
23
  placeholder?: string;
@@ -1,3 +1,7 @@
1
+ import "antd/es/rate/style";
2
+ import _Rate from "antd/es/rate";
3
+ import "antd/es/mentions/style";
4
+ import _Mentions from "antd/es/mentions";
1
5
  import "antd/es/slider/style";
2
6
  import _Slider from "antd/es/slider";
3
7
  import "antd/es/switch/style";
@@ -49,6 +53,12 @@ var FieldComponent = /*#__PURE__*/React.forwardRef(function (props, ref) {
49
53
  disabled: 'disabled',
50
54
  title: 'title'
51
55
  } : _props$selectOptionNa,
56
+ _props$fieldNames = props.fieldNames,
57
+ fieldNames = _props$fieldNames === void 0 ? {
58
+ label: 'label',
59
+ value: 'value',
60
+ children: 'children'
61
+ } : _props$fieldNames,
52
62
  _props$treeOptionName = props.treeOptionName,
53
63
  treeOptionName = _props$treeOptionName === void 0 ? {
54
64
  title: 'title',
@@ -169,7 +179,8 @@ var FieldComponent = /*#__PURE__*/React.forwardRef(function (props, ref) {
169
179
  filterOption: function filterOption(inputValue, option) {
170
180
  return defaultProps.showSearch ? option.children.toLowerCase().indexOf(inputValue.toLowerCase()) >= 0 : false;
171
181
  },
172
- value: value
182
+ value: value,
183
+ fieldNames: fieldNames || selectOptionName
173
184
  }, defaultProps, {
174
185
  // onChange返回参数:累加当前选中包括其他字段值的数据
175
186
  onChange: function onChange(value, Option) {
@@ -355,6 +366,7 @@ var FieldComponent = /*#__PURE__*/React.forwardRef(function (props, ref) {
355
366
  }) : /*#__PURE__*/React.createElement(_Cascader, Object.assign({
356
367
  options: selectOptions,
357
368
  allowClear: true,
369
+ fieldNames: fieldNames || selectOptionName,
358
370
  placeholder: fieldStatus === 'disabled' || defaultProps.disabled ? '' : defaultProps.placeholder || placeholder || '请选择'
359
371
  }, defaultProps));
360
372
  break;
@@ -376,6 +388,23 @@ var FieldComponent = /*#__PURE__*/React.forwardRef(function (props, ref) {
376
388
  }));
377
389
  break;
378
390
 
391
+ case 'mentions':
392
+ compContent = viewOnly ? value : /*#__PURE__*/React.createElement(_Mentions, Object.assign({
393
+ placeholder: "\u8BF7\u8F93\u5165 ".concat(defaultProps.prefix || '@', " \u9009\u62E9")
394
+ }, defaultProps), selectOptions.map(function (val) {
395
+ return /*#__PURE__*/React.createElement(Option, {
396
+ value: val.value,
397
+ key: val.value
398
+ }, selectOptionRender ? selectOptionRender(val) : val.label);
399
+ }));
400
+ break;
401
+
402
+ case 'rate':
403
+ compContent = /*#__PURE__*/React.createElement(_Rate, Object.assign({
404
+ disabled: viewOnly || defaultProps.disabled
405
+ }, defaultProps));
406
+ break;
407
+
379
408
  case 'custom':
380
409
  compContent = defaultProps.render && defaultProps.render(props) || defaultProps.customRender && defaultProps.customRender(props) || null;
381
410
  break;
@@ -15,12 +15,20 @@ export interface FieldsItemProps extends FieldComponentProps {
15
15
  size?: 'large' | 'middle' | 'small' | string;
16
16
  componentStyle?: React.CSSProperties;
17
17
  }
18
+ interface layoutProps {
19
+ labelCol?: any;
20
+ wrapperCol?: any;
21
+ }
22
+ interface displayLayoutProps extends layoutProps {
23
+ side?: layoutProps;
24
+ block?: layoutProps;
25
+ }
18
26
  interface ItemGroupProps {
19
27
  itemGroup: any | FieldsItemProps[];
20
28
  size?: string;
21
29
  fieldStatus?: 'default' | 'viewOnly' | 'disabled';
22
30
  fieldSize?: 'large' | 'middle' | 'small' | any;
23
- displayLayout?: object;
31
+ displayLayout?: displayLayoutProps;
24
32
  form?: any;
25
33
  layout?: string;
26
34
  doUpdateFormFields?: () => void;
@@ -159,14 +159,20 @@ var RenderItemGroup = function RenderItemGroup(props) {
159
159
  // // 如果未配置,则使用以下配置值
160
160
  // formLayout = { ...displayLayout }
161
161
  // }
162
+ // 优先级 displayLayout.side > displayLayout > general
163
+ // 优先级:若有displayLayout.block 则直接使用 general > displayLayout
162
164
 
163
- formLayout = displayLayout || general.modalSize[size].formLayout;
165
+ formLayout = (displayLayout === null || displayLayout === void 0 ? void 0 : displayLayout.side) || ((displayLayout === null || displayLayout === void 0 ? void 0 : displayLayout.block) ? general.modalSize[size].formLayout : !displayLayout || JSON.stringify(displayLayout) === '{}' ? general.modalSize[size].formLayout : displayLayout);
164
166
 
165
167
  if (item.hasOwnProperty('display')) {
166
168
  if (typeof display === 'string') {
167
- formLayout = display === 'block' ? general.modalSize[size].formBlockLayout : general.modalSize[size].formLayout;
169
+ if (display === 'block') {
170
+ formLayout = (displayLayout === null || displayLayout === void 0 ? void 0 : displayLayout.block) || general.modalSize[size].formBlockLayout;
171
+ } else {// 使用默认
172
+ // formLayout = displayLayout?.side || (displayLayout?.block ? general.modalSize[size].formLayout : displayLayout) || general.modalSize[size].formLayout
173
+ }
168
174
  } else {
169
- formLayout = item.display; // 对象类型传值如: {labelCol: {span: 3},wrapperCol: {span: 8}}
175
+ formLayout = item.display; // 对象类型传值如: {labelCol: {span: 3},wrapperCol: {span: 8}} 优先级最高
170
176
  }
171
177
  } // 当布局为 'vertical'或'inline'时,不配置栅格结构
172
178
 
@@ -15,5 +15,5 @@ export interface StepFormProp extends StandardFormProps {
15
15
  stepClick?: (type?: string, formChild?: any, values?: any) => void;
16
16
  formItemGroup?: StepItemGroupProps[];
17
17
  }
18
- declare const StepForm: React.ForwardRefExoticComponent<StepFormProp & React.RefAttributes<unknown>>;
18
+ declare const StepForm: React.ForwardRefExoticComponent<Pick<StepFormProp, string | number> & React.RefAttributes<unknown>>;
19
19
  export default StepForm;
@@ -42,7 +42,8 @@ var StepForm = /*#__PURE__*/React.forwardRef(function (props, ref) {
42
42
  stepsConfig = _props$stepsConfig === void 0 ? {
43
43
  current: 0
44
44
  } : _props$stepsConfig,
45
- stepClick = props.stepClick;
45
+ stepClick = props.stepClick,
46
+ displayLayout = props.displayLayout;
46
47
 
47
48
  var _useState = useState(),
48
49
  _useState2 = _slicedToArray(_useState, 2),
@@ -215,6 +216,7 @@ var StepForm = /*#__PURE__*/React.forwardRef(function (props, ref) {
215
216
  ref: ref,
216
217
  fieldSize: fieldSize,
217
218
  initialValues: initialValues,
219
+ // @ts-ignore
218
220
  getFormFields: function getFormFields(fields, form) {
219
221
  setFormChildFields(fields);
220
222
  setFormChild(form);
@@ -245,6 +247,7 @@ var StepForm = /*#__PURE__*/React.forwardRef(function (props, ref) {
245
247
  form: formChild,
246
248
  fieldStatus: fieldStatus,
247
249
  size: formGridSize,
250
+ displayLayout: displayLayout,
248
251
  // doUpdateFormFields={() => console.log('强制渲染表单')}
249
252
  itemGroup: item.fields
250
253
  }) : item.fields, !actionHide && /*#__PURE__*/React.createElement(_Col, {
@@ -15,5 +15,5 @@ export interface TabFormProp extends StandardFormProps {
15
15
  actionHide?: boolean;
16
16
  formItemGroup?: TabItemGroupProps[];
17
17
  }
18
- declare const TabForm: React.ForwardRefExoticComponent<TabFormProp & React.RefAttributes<unknown>>;
18
+ declare const TabForm: React.ForwardRefExoticComponent<Pick<TabFormProp, string | number> & React.RefAttributes<unknown>>;
19
19
  export default TabForm;
@@ -36,7 +36,8 @@ var TabForm = /*#__PURE__*/React.forwardRef(function (props, ref) {
36
36
  fieldSize = _props$fieldSize === void 0 ? "middle" : _props$fieldSize,
37
37
  onSubmit = props.onSubmit,
38
38
  initialValues = props.initialValues,
39
- tabsConfig = props.tabsConfig;
39
+ tabsConfig = props.tabsConfig,
40
+ displayLayout = props.displayLayout;
40
41
 
41
42
  var _useState = useState(),
42
43
  _useState2 = _slicedToArray(_useState, 2),
@@ -73,6 +74,7 @@ var TabForm = /*#__PURE__*/React.forwardRef(function (props, ref) {
73
74
  actionGroup: [],
74
75
  ref: ref,
75
76
  fieldSize: fieldSize,
77
+ // @ts-ignore
76
78
  getFormFields: function getFormFields(fields, form) {
77
79
  setFormChildFields(fields);
78
80
  setFormChild(form);
@@ -101,6 +103,7 @@ var TabForm = /*#__PURE__*/React.forwardRef(function (props, ref) {
101
103
  form: formChild,
102
104
  fieldStatus: fieldStatus,
103
105
  size: formGridSize,
106
+ displayLayout: displayLayout,
104
107
  // doUpdateFormFields={() => forceUpdateForm()}
105
108
  itemGroup: fields
106
109
  }) : fields, !actionHide && actions && /*#__PURE__*/React.createElement(_Col, {
@@ -25,6 +25,8 @@ export interface StandardFormProps {
25
25
  children?: React.ReactNode;
26
26
  postfix?: React.ReactNode;
27
27
  prefix?: React.ReactNode;
28
+ displayLayout?: any;
29
+ [k: string]: any;
28
30
  }
29
- declare const StandardForm: React.ForwardRefExoticComponent<StandardFormProps & React.RefAttributes<unknown>>;
31
+ declare const StandardForm: React.ForwardRefExoticComponent<Pick<StandardFormProps, string | number> & React.RefAttributes<unknown>>;
30
32
  export default StandardForm;
@@ -46,7 +46,8 @@ var StandardForm = /*#__PURE__*/React.forwardRef(function (props, ref) {
46
46
  prefix = props.prefix,
47
47
  postfix = props.postfix,
48
48
  fieldSize = props.fieldSize,
49
- baseProps = __rest(props, ["formItemGroup", "className", "initialValues", "layout", "grid", "getFormFields", "fieldStatus", "onSubmit", "confirmText", "onCancel", "cancelText", "actionAlign", "actionGroup", "onFinishFailed", "children", "prefix", "postfix", "fieldSize"]);
49
+ displayLayout = props.displayLayout,
50
+ baseProps = __rest(props, ["formItemGroup", "className", "initialValues", "layout", "grid", "getFormFields", "fieldStatus", "onSubmit", "confirmText", "onCancel", "cancelText", "actionAlign", "actionGroup", "onFinishFailed", "children", "prefix", "postfix", "fieldSize", "displayLayout"]);
50
51
 
51
52
  var _Form$useForm = _Form.useForm(),
52
53
  _Form$useForm2 = _slicedToArray(_Form$useForm, 1),
@@ -159,6 +160,7 @@ var StandardForm = /*#__PURE__*/React.forwardRef(function (props, ref) {
159
160
  }), prefix, children, /*#__PURE__*/React.createElement(React.Fragment, null, formItemGroup.length > 0 ? /*#__PURE__*/React.createElement(RenderItemGroup, {
160
161
  itemGroup: formItemGroup,
161
162
  fieldSize: fieldSize,
163
+ displayLayout: displayLayout,
162
164
  // doUpdateFormFields={() => forceUpdateForm()}
163
165
  size: gridSize,
164
166
  layout: layout,
@@ -30,7 +30,7 @@ export interface StandardModalProps extends ModalProps {
30
30
  hideFooter?: Boolean;
31
31
  footerButtonGroup?: ((modalForm?: any, props?: StandardModalProps) => React.ReactNode | PropTypes.ReactNodeArray | any) | any;
32
32
  footer?: any;
33
- displayLayout?: object;
33
+ displayLayout?: any;
34
34
  confirmLoading?: boolean;
35
35
  okText?: string;
36
36
  okButtonProps?: any;
@@ -57,7 +57,8 @@ var StandardModal = function StandardModal(props) {
57
57
  formLayout = _props$formLayout === void 0 ? 'horizontal' : _props$formLayout,
58
58
  tabsConfig = props.tabsConfig,
59
59
  stepsConfig = props.stepsConfig,
60
- otherProps = __rest(props, ["children", "className", "style", "size", "type", "formItemGroup", "title", "visible", "formPrefix", "formPostfix", "initialValues", "hideRequiredMark", "bodyStyle", "footer", "footerButtonGroup", "hideFooter", "getFormFields", "fieldStatus", "formLayout", "tabsConfig", "stepsConfig"]);
60
+ displayLayout = props.displayLayout,
61
+ otherProps = __rest(props, ["children", "className", "style", "size", "type", "formItemGroup", "title", "visible", "formPrefix", "formPostfix", "initialValues", "hideRequiredMark", "bodyStyle", "footer", "footerButtonGroup", "hideFooter", "getFormFields", "fieldStatus", "formLayout", "tabsConfig", "stepsConfig", "displayLayout"]);
61
62
 
62
63
  var _Form$useForm = _Form.useForm(),
63
64
  _Form$useForm2 = _slicedToArray(_Form$useForm, 1),
@@ -257,8 +258,7 @@ var StandardModal = function StandardModal(props) {
257
258
  var fieldStatus = props.fieldStatus,
258
259
  formItemGroup = props.formItemGroup,
259
260
  _props$size2 = props.size,
260
- size = _props$size2 === void 0 ? 'md' : _props$size2,
261
- displayLayout = props.displayLayout;
261
+ size = _props$size2 === void 0 ? 'md' : _props$size2;
262
262
 
263
263
  if (Array.isArray(formItemGroup)) {
264
264
  return /*#__PURE__*/React.createElement(RenderItemGroup, {
@@ -324,22 +324,34 @@ var StandardModal = function StandardModal(props) {
324
324
 
325
325
  if (footerButtonGroup) {
326
326
  if (Array.isArray(footerButtonGroup)) {
327
- if (footerButtonGroup.length === 0) return /*#__PURE__*/React.createElement("div", null, "\u6309\u94AE\u7EC4\u5408\u914D\u7F6E\u4E3A\u7A7A");
327
+ if (footerButtonGroup.length === 0) return null; // <div>按钮组合配置为空</div>
328
+
328
329
  return /*#__PURE__*/React.createElement(React.Fragment, null, footerButtonGroup.map(function (item) {
329
330
  if (_typeof(item) === 'object') {
330
- return /*#__PURE__*/React.createElement(_Button, {
331
- key: item.name,
332
- type: item.type ? item.type : 'primary',
331
+ if (item.isHide) return null;
332
+
333
+ var name = item.name,
334
+ _type = item.type,
335
+ icon = item.icon,
336
+ ghost = item.ghost,
337
+ disabled = item.disabled,
338
+ loading = item.loading,
339
+ fn = item.fn,
340
+ others = __rest(item, ["name", "type", "icon", "ghost", "disabled", "loading", "fn"]);
341
+
342
+ return /*#__PURE__*/React.createElement(_Button, Object.assign({
343
+ key: name,
344
+ type: _type || 'primary',
333
345
  icon: /*#__PURE__*/React.createElement(IconNode, {
334
- icon: item.icon
346
+ icon: icon
335
347
  }),
336
- ghost: item.ghost,
337
- disabled: item.disabled,
338
- loading: item.loading,
339
- onClick: item.fn ? function (e) {
340
- return item.fn(item, modalForm, props, e);
348
+ ghost: ghost,
349
+ disabled: disabled,
350
+ loading: loading,
351
+ onClick: fn ? function (e) {
352
+ return fn(item, modalForm, props, e);
341
353
  } : null
342
- }, item.name);
354
+ }, others), name);
343
355
  } else {
344
356
  return item; // 如果是DOM,则直接渲染
345
357
  }
@@ -425,6 +437,7 @@ var StandardModal = function StandardModal(props) {
425
437
  layout: formLayout,
426
438
  fieldStatus: fieldStatus,
427
439
  actionHide: true,
440
+ // @ts-ignore
428
441
  getFormFields: function getFormFields(fields, form) {
429
442
  setFormChild(form);
430
443
  _getFormFields && _getFormFields(fields, form);
@@ -432,20 +445,23 @@ var StandardModal = function StandardModal(props) {
432
445
  formItemGroup: formItemGroup,
433
446
  tabsConfig: tabsConfig,
434
447
  onSubmit: handleSubmit,
435
- initialValues: Object.assign({}, initialValues)
448
+ initialValues: Object.assign({}, initialValues),
449
+ displayLayout: displayLayout
436
450
  }), type === 'stepForm' && /*#__PURE__*/React.createElement(StepForm, {
437
451
  grid: size,
438
452
  layout: formLayout,
439
453
  fieldStatus: fieldStatus,
440
454
  actionHide: true,
455
+ // @ts-ignore
441
456
  getFormFields: function getFormFields(fields, form) {
442
457
  setFormChild(form);
443
458
  _getFormFields && _getFormFields(fields, form);
444
459
  },
445
460
  formItemGroup: formItemGroup,
446
461
  stepsConfig: stepsConfig,
462
+ onSubmit: handleSubmit,
447
463
  initialValues: Object.assign({}, initialValues),
448
- onSubmit: handleSubmit
464
+ displayLayout: displayLayout
449
465
  }));
450
466
  };
451
467
 
@@ -23,6 +23,8 @@ require("antd/es/menu/style");
23
23
 
24
24
  var _menu = _interopRequireDefault(require("antd/es/menu"));
25
25
 
26
+ var _tslib = require("tslib");
27
+
26
28
  var _react = _interopRequireWildcard(require("react"));
27
29
 
28
30
  var _index = require("../components/index");
@@ -143,6 +145,19 @@ var ButtonGroup = function ButtonGroup(props) {
143
145
 
144
146
 
145
147
  var RenderButtonList = function RenderButtonList(item) {
148
+ var exName = item.exName,
149
+ name = item.name,
150
+ type = item.type,
151
+ icon = item.icon,
152
+ ghost = item.ghost,
153
+ danger = item.danger,
154
+ disabled = item.disabled,
155
+ loading = item.loading,
156
+ fn = item.fn,
157
+ code = item.code,
158
+ rowParams = item.rowParams,
159
+ others = (0, _tslib.__rest)(item, ["exName", "name", "type", "icon", "ghost", "danger", "disabled", "loading", "fn", "code", "rowParams"]);
160
+
146
161
  if (Array.isArray(item.children) && item.children.length > 0) {
147
162
  return /*#__PURE__*/_react.default.createElement(_dropdown.default, {
148
163
  overlay: buttonMenu(item.children),
@@ -154,17 +169,19 @@ var ButtonGroup = function ButtonGroup(props) {
154
169
  })));
155
170
  }
156
171
 
157
- return /*#__PURE__*/_react.default.createElement(_button.default, {
158
- type: item.type ? item.type : 'primary',
159
- danger: item.danger,
172
+ return /*#__PURE__*/_react.default.createElement(_button.default, Object.assign({
173
+ type: type || 'primary',
174
+ danger: danger,
175
+ ghost: ghost,
176
+ onClick: fn ? function () {
177
+ return fn(item);
178
+ } : null
179
+ }, others, {
160
180
  icon: /*#__PURE__*/_react.default.createElement(_index.IconNode, {
161
- icon: item.icon
181
+ icon: icon
162
182
  }),
163
- disabled: (0, _filterPermission.btnIsDisabled)(item.disabled, rowParams),
164
- onClick: item.fn ? function () {
165
- return item.fn(item);
166
- } : null
167
- }, item.exName || item.name);
183
+ disabled: (0, _filterPermission.btnIsDisabled)(disabled, rowParams)
184
+ }), exName || name);
168
185
  }; // 渲染文本形式多级菜单列表(用于表格)
169
186
 
170
187
 
@@ -290,14 +307,16 @@ var ButtonGroup = function ButtonGroup(props) {
290
307
 
291
308
 
292
309
  var renderDisplayButton = function renderDisplayButton(item, index) {
310
+ /*渲染自定义*/
293
311
  if (item.render) {
294
312
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, typeof item.render === 'function' ? item.render.apply(item, _toConsumableArray(Object.keys(rowParams).map(function (pItem) {
295
313
  return rowParams[pItem];
296
314
  }))) : item.render);
297
315
  }
316
+ /*渲染按钮形式*/
317
+
298
318
 
299
319
  if (type === 'button') {
300
- /*渲染按钮形式*/
301
320
  return /*#__PURE__*/_react.default.createElement(RenderButtonList, Object.assign({
302
321
  key: index
303
322
  }, item, {
@@ -6,6 +6,7 @@ interface OptionNameProps {
6
6
  disabled?: string;
7
7
  title?: string;
8
8
  children?: string;
9
+ [k: string]: any;
9
10
  }
10
11
  export interface FieldComponentProps {
11
12
  label?: any;
@@ -16,6 +17,7 @@ export interface FieldComponentProps {
16
17
  onChange?: (value?: any, option?: any) => void;
17
18
  selectOptions?: PropTypes.ReactNodeArray;
18
19
  selectOptionName?: OptionNameProps;
20
+ fieldNames?: OptionNameProps;
19
21
  treeData?: PropTypes.ReactNodeArray;
20
22
  treeOptionName?: OptionNameProps;
21
23
  placeholder?: string;
@@ -5,6 +5,14 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
 
8
+ require("antd/es/rate/style");
9
+
10
+ var _rate = _interopRequireDefault(require("antd/es/rate"));
11
+
12
+ require("antd/es/mentions/style");
13
+
14
+ var _mentions = _interopRequireDefault(require("antd/es/mentions"));
15
+
8
16
  require("antd/es/slider/style");
9
17
 
10
18
  var _slider = _interopRequireDefault(require("antd/es/slider"));
@@ -87,6 +95,12 @@ var FieldComponent = /*#__PURE__*/_react.default.forwardRef(function (props, ref
87
95
  disabled: 'disabled',
88
96
  title: 'title'
89
97
  } : _props$selectOptionNa,
98
+ _props$fieldNames = props.fieldNames,
99
+ fieldNames = _props$fieldNames === void 0 ? {
100
+ label: 'label',
101
+ value: 'value',
102
+ children: 'children'
103
+ } : _props$fieldNames,
90
104
  _props$treeOptionName = props.treeOptionName,
91
105
  treeOptionName = _props$treeOptionName === void 0 ? {
92
106
  title: 'title',
@@ -207,7 +221,8 @@ var FieldComponent = /*#__PURE__*/_react.default.forwardRef(function (props, ref
207
221
  filterOption: function filterOption(inputValue, option) {
208
222
  return defaultProps.showSearch ? option.children.toLowerCase().indexOf(inputValue.toLowerCase()) >= 0 : false;
209
223
  },
210
- value: value
224
+ value: value,
225
+ fieldNames: fieldNames || selectOptionName
211
226
  }, defaultProps, {
212
227
  // onChange返回参数:累加当前选中包括其他字段值的数据
213
228
  onChange: function onChange(value, Option) {
@@ -393,6 +408,7 @@ var FieldComponent = /*#__PURE__*/_react.default.forwardRef(function (props, ref
393
408
  }) : /*#__PURE__*/_react.default.createElement(_cascader.default, Object.assign({
394
409
  options: selectOptions,
395
410
  allowClear: true,
411
+ fieldNames: fieldNames || selectOptionName,
396
412
  placeholder: fieldStatus === 'disabled' || defaultProps.disabled ? '' : defaultProps.placeholder || placeholder || '请选择'
397
413
  }, defaultProps));
398
414
  break;
@@ -414,6 +430,23 @@ var FieldComponent = /*#__PURE__*/_react.default.forwardRef(function (props, ref
414
430
  }));
415
431
  break;
416
432
 
433
+ case 'mentions':
434
+ compContent = viewOnly ? value : /*#__PURE__*/_react.default.createElement(_mentions.default, Object.assign({
435
+ placeholder: "\u8BF7\u8F93\u5165 ".concat(defaultProps.prefix || '@', " \u9009\u62E9")
436
+ }, defaultProps), selectOptions.map(function (val) {
437
+ return /*#__PURE__*/_react.default.createElement(Option, {
438
+ value: val.value,
439
+ key: val.value
440
+ }, selectOptionRender ? selectOptionRender(val) : val.label);
441
+ }));
442
+ break;
443
+
444
+ case 'rate':
445
+ compContent = /*#__PURE__*/_react.default.createElement(_rate.default, Object.assign({
446
+ disabled: viewOnly || defaultProps.disabled
447
+ }, defaultProps));
448
+ break;
449
+
417
450
  case 'custom':
418
451
  compContent = defaultProps.render && defaultProps.render(props) || defaultProps.customRender && defaultProps.customRender(props) || null;
419
452
  break;
@@ -15,12 +15,20 @@ export interface FieldsItemProps extends FieldComponentProps {
15
15
  size?: 'large' | 'middle' | 'small' | string;
16
16
  componentStyle?: React.CSSProperties;
17
17
  }
18
+ interface layoutProps {
19
+ labelCol?: any;
20
+ wrapperCol?: any;
21
+ }
22
+ interface displayLayoutProps extends layoutProps {
23
+ side?: layoutProps;
24
+ block?: layoutProps;
25
+ }
18
26
  interface ItemGroupProps {
19
27
  itemGroup: any | FieldsItemProps[];
20
28
  size?: string;
21
29
  fieldStatus?: 'default' | 'viewOnly' | 'disabled';
22
30
  fieldSize?: 'large' | 'middle' | 'small' | any;
23
- displayLayout?: object;
31
+ displayLayout?: displayLayoutProps;
24
32
  form?: any;
25
33
  layout?: string;
26
34
  doUpdateFormFields?: () => void;
@@ -179,14 +179,20 @@ var RenderItemGroup = function RenderItemGroup(props) {
179
179
  // // 如果未配置,则使用以下配置值
180
180
  // formLayout = { ...displayLayout }
181
181
  // }
182
+ // 优先级 displayLayout.side > displayLayout > general
183
+ // 优先级:若有displayLayout.block 则直接使用 general > displayLayout
182
184
 
183
- formLayout = displayLayout || _data.general.modalSize[size].formLayout;
185
+ formLayout = (displayLayout === null || displayLayout === void 0 ? void 0 : displayLayout.side) || ((displayLayout === null || displayLayout === void 0 ? void 0 : displayLayout.block) ? _data.general.modalSize[size].formLayout : !displayLayout || JSON.stringify(displayLayout) === '{}' ? _data.general.modalSize[size].formLayout : displayLayout);
184
186
 
185
187
  if (item.hasOwnProperty('display')) {
186
188
  if (typeof display === 'string') {
187
- formLayout = display === 'block' ? _data.general.modalSize[size].formBlockLayout : _data.general.modalSize[size].formLayout;
189
+ if (display === 'block') {
190
+ formLayout = (displayLayout === null || displayLayout === void 0 ? void 0 : displayLayout.block) || _data.general.modalSize[size].formBlockLayout;
191
+ } else {// 使用默认
192
+ // formLayout = displayLayout?.side || (displayLayout?.block ? general.modalSize[size].formLayout : displayLayout) || general.modalSize[size].formLayout
193
+ }
188
194
  } else {
189
- formLayout = item.display; // 对象类型传值如: {labelCol: {span: 3},wrapperCol: {span: 8}}
195
+ formLayout = item.display; // 对象类型传值如: {labelCol: {span: 3},wrapperCol: {span: 8}} 优先级最高
190
196
  }
191
197
  } // 当布局为 'vertical'或'inline'时,不配置栅格结构
192
198
 
@@ -15,5 +15,5 @@ export interface StepFormProp extends StandardFormProps {
15
15
  stepClick?: (type?: string, formChild?: any, values?: any) => void;
16
16
  formItemGroup?: StepItemGroupProps[];
17
17
  }
18
- declare const StepForm: React.ForwardRefExoticComponent<StepFormProp & React.RefAttributes<unknown>>;
18
+ declare const StepForm: React.ForwardRefExoticComponent<Pick<StepFormProp, string | number> & React.RefAttributes<unknown>>;
19
19
  export default StepForm;
@@ -68,7 +68,8 @@ var StepForm = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
68
68
  stepsConfig = _props$stepsConfig === void 0 ? {
69
69
  current: 0
70
70
  } : _props$stepsConfig,
71
- stepClick = props.stepClick;
71
+ stepClick = props.stepClick,
72
+ displayLayout = props.displayLayout;
72
73
 
73
74
  var _useState = (0, _react.useState)(),
74
75
  _useState2 = _slicedToArray(_useState, 2),
@@ -241,6 +242,7 @@ var StepForm = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
241
242
  ref: ref,
242
243
  fieldSize: fieldSize,
243
244
  initialValues: initialValues,
245
+ // @ts-ignore
244
246
  getFormFields: function getFormFields(fields, form) {
245
247
  setFormChildFields(fields);
246
248
  setFormChild(form);
@@ -271,6 +273,7 @@ var StepForm = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
271
273
  form: formChild,
272
274
  fieldStatus: fieldStatus,
273
275
  size: formGridSize,
276
+ displayLayout: displayLayout,
274
277
  // doUpdateFormFields={() => console.log('强制渲染表单')}
275
278
  itemGroup: item.fields
276
279
  }) : item.fields, !actionHide && /*#__PURE__*/_react.default.createElement(_col.default, {