wargerm 0.2.9 → 0.2.13

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.
@@ -47,9 +47,11 @@ export interface WFormProps extends FormProps {
47
47
  className?: string;
48
48
  style?: React.CSSProperties;
49
49
  columns: ColumnProps[];
50
+ extraColumns?: ColumnProps[];
50
51
  disabled?: boolean;
51
52
  disabledHideInSearch?: boolean;
52
53
  onSubmit?: (params: Record<string, any>) => void;
54
+ onFormChange?: (changedValues: Record<string, any>, allValues: Record<string, any>, form: any) => void;
53
55
  onReset?: () => void;
54
56
  formRef?: MutableRefObject<FormInstance>;
55
57
  search?: Isearch | false;
package/dist/index.esm.js CHANGED
@@ -4,7 +4,7 @@ import 'antd/es/dropdown/style';
4
4
  import _Dropdown from 'antd/es/dropdown';
5
5
  import 'antd/es/menu/style';
6
6
  import _Menu from 'antd/es/menu';
7
- import React, { useState, useEffect, useMemo, useImperativeHandle, useRef } from 'react';
7
+ import React, { useState, useEffect, useMemo, useRef, useImperativeHandle } from 'react';
8
8
  import { createFromIconfontCN, SearchOutlined, ReloadOutlined, CloseCircleOutlined, PlusOutlined, EditOutlined, EyeOutlined, ExclamationCircleOutlined, DeleteOutlined } from '@ant-design/icons';
9
9
  import 'antd/es/input/style';
10
10
  import _Input from 'antd/es/input';
@@ -7532,16 +7532,18 @@ Table.defaultProps = {
7532
7532
  rowKey: 'key'
7533
7533
  };
7534
7534
 
7535
- var _excluded$5 = ["columns", "className", "style", "search", "disabled", "disabledHideInSearch", "onSubmit", "onReset"];
7535
+ var _excluded$5 = ["columns", "extraColumns", "className", "style", "search", "disabled", "disabledHideInSearch", "onFormChange", "onSubmit", "onReset"];
7536
7536
  var RangePicker$2 = Index$2.RangePicker;
7537
7537
 
7538
7538
  var WForm = function WForm(props, ref) {
7539
7539
  var columns = props.columns,
7540
+ extraColumns = props.extraColumns,
7540
7541
  className = props.className,
7541
7542
  style = props.style,
7542
7543
  search = props.search,
7543
7544
  disabled = props.disabled,
7544
7545
  disabledHideInSearch = props.disabledHideInSearch,
7546
+ onFormChange = props.onFormChange,
7545
7547
  onSubmit = props.onSubmit,
7546
7548
  onReset = props.onReset,
7547
7549
  extraProps = _objectWithoutProperties(props, _excluded$5);
@@ -7550,6 +7552,8 @@ var WForm = function WForm(props, ref) {
7550
7552
  _Form$useForm2 = _slicedToArray(_Form$useForm, 1),
7551
7553
  form = _Form$useForm2[0];
7552
7554
 
7555
+ var columnsFieldsRef = useRef({});
7556
+
7553
7557
  var _useState = useState({}),
7554
7558
  _useState2 = _slicedToArray(_useState, 2),
7555
7559
  changedValues = _useState2[0],
@@ -7560,11 +7564,18 @@ var WForm = function WForm(props, ref) {
7560
7564
  columnsFields = _useState4[0],
7561
7565
  setColumnsFields = _useState4[1];
7562
7566
 
7563
- var filterFormColumns = columns.filter(function (c) {
7567
+ var filterFormColumns = _toConsumableArray(columns).filter(function (c) {
7564
7568
  return !c.hideInSearch || disabledHideInSearch;
7565
7569
  }).sort(function (a, b) {
7566
7570
  return (b.order || 0) - (a.order || 0);
7567
7571
  });
7572
+
7573
+ var filterExtraFormColumns = _toConsumableArray(extraColumns || []).filter(function (c) {
7574
+ return !c.hideInSearch || disabledHideInSearch;
7575
+ }).sort(function (a, b) {
7576
+ return (b.order || 0) - (a.order || 0);
7577
+ });
7578
+
7568
7579
  var filterForm = useMemo(function () {
7569
7580
  return filterFormColumns.map(function (c) {
7570
7581
  var colProps = {};
@@ -7614,6 +7625,10 @@ var WForm = function WForm(props, ref) {
7614
7625
  placeholder: "\u8BF7\u9009\u62E9",
7615
7626
  disabled: disabled,
7616
7627
  onLoad: function onLoad(opt) {
7628
+ if (columnsFieldsRef.current) {
7629
+ columnsFieldsRef.current[c.dataIndex] = opt;
7630
+ }
7631
+
7617
7632
  setColumnsFields(function (preColumnsFields) {
7618
7633
  return _objectSpread2(_objectSpread2({}, preColumnsFields), {}, _defineProperty({}, c.dataIndex, opt));
7619
7634
  });
@@ -7753,6 +7768,10 @@ var WForm = function WForm(props, ref) {
7753
7768
  options = c.options;
7754
7769
  }
7755
7770
 
7771
+ if (columnsFieldsRef.current) {
7772
+ columnsFieldsRef.current[c.dataIndex] = options;
7773
+ }
7774
+
7756
7775
  setColumnsFields(function (preColumnsFields) {
7757
7776
  return _objectSpread2(_objectSpread2({}, preColumnsFields), {}, _defineProperty({}, c.dataIndex, options));
7758
7777
  });
@@ -7799,6 +7818,10 @@ var WForm = function WForm(props, ref) {
7799
7818
  }
7800
7819
  }
7801
7820
 
7821
+ if (columnsFieldsRef.current) {
7822
+ columnsFieldsRef.current[c.dataIndex] = _options;
7823
+ }
7824
+
7802
7825
  setColumnsFields(function (preColumnsFields) {
7803
7826
  return _objectSpread2(_objectSpread2({}, preColumnsFields), {}, _defineProperty({}, c.dataIndex, _options));
7804
7827
  });
@@ -7859,6 +7882,10 @@ var WForm = function WForm(props, ref) {
7859
7882
  };
7860
7883
  }
7861
7884
 
7885
+ if (columnsFieldsRef.current) {
7886
+ columnsFieldsRef.current[c.dataIndex] = _options2;
7887
+ }
7888
+
7862
7889
  setColumnsFields(function (preColumnsFields) {
7863
7890
  return _objectSpread2(_objectSpread2({}, preColumnsFields), {}, _defineProperty({}, c.dataIndex, _options2));
7864
7891
  });
@@ -7916,7 +7943,9 @@ var WForm = function WForm(props, ref) {
7916
7943
 
7917
7944
  var baseitem = c.renderFormItem(c, _objectSpread2(_objectSpread2({}, c), {}, {
7918
7945
  formItemProps: c.formItemProps,
7919
- fieldProps: c.fieldProps
7946
+ fieldProps: c.fieldProps,
7947
+ columnsFields: columnsFields,
7948
+ columnsFieldsRef: columnsFieldsRef
7920
7949
  }), form);
7921
7950
  return baseitem ? /*#__PURE__*/React.createElement(_Col, _objectSpread2(_objectSpread2({
7922
7951
  style: {
@@ -8013,7 +8042,474 @@ var WForm = function WForm(props, ref) {
8013
8042
  }, c.fieldProps))));
8014
8043
  }
8015
8044
  });
8016
- }, [changedValues, disabled, JSON.stringify(form.getFieldsValue())]);
8045
+ }, [changedValues, columns, disabled, columnsFieldsRef, JSON.stringify(form.getFieldsValue())]);
8046
+ var filterExtraColumnsForm = useMemo(function () {
8047
+ return filterExtraFormColumns.map(function (c) {
8048
+ var colProps = {};
8049
+
8050
+ if (search && search.span) {
8051
+ colProps.span = typeof search.span == 'number' ? (c.colSize || 1) * search.span : {
8052
+ xs: 24,
8053
+ sm: 24,
8054
+ md: 12,
8055
+ lg: 12,
8056
+ xl: 8,
8057
+ xxl: 6
8058
+ };
8059
+ }
8060
+
8061
+ if (c.valueType == 'select') {
8062
+ var _extraProps3 = {};
8063
+
8064
+ if (c.request) {
8065
+ _extraProps3.request = c.request;
8066
+ } else if (c.valueEnum) {
8067
+ _extraProps3.valueEnum = c.valueEnum;
8068
+ }
8069
+
8070
+ var labelCol = {};
8071
+
8072
+ if (search && search.labelWidth) {
8073
+ labelCol.style = {
8074
+ width: search.labelWidth
8075
+ };
8076
+ }
8077
+
8078
+ return /*#__PURE__*/React.createElement(_Col, _objectSpread2(_objectSpread2({
8079
+ style: {
8080
+ paddingLeft: '12px',
8081
+ paddingRight: '12px'
8082
+ }
8083
+ }, colProps), {}, {
8084
+ key: c.dataIndex
8085
+ }), /*#__PURE__*/React.createElement(_Form.Item, _objectSpread2(_objectSpread2({
8086
+ initialValue: c.initialValue
8087
+ }, c.formItemProps), {}, {
8088
+ name: c.dataIndex,
8089
+ label: c.title,
8090
+ labelCol: labelCol
8091
+ }), /*#__PURE__*/React.createElement(Index$1, _objectSpread2(_objectSpread2({
8092
+ placeholder: "\u8BF7\u9009\u62E9",
8093
+ disabled: disabled,
8094
+ onLoad: function onLoad(opt) {
8095
+ if (columnsFieldsRef.current) {
8096
+ columnsFieldsRef.current[c.dataIndex] = opt;
8097
+ }
8098
+
8099
+ setColumnsFields(function (preColumnsFields) {
8100
+ return _objectSpread2(_objectSpread2({}, preColumnsFields), {}, _defineProperty({}, c.dataIndex, opt));
8101
+ });
8102
+ }
8103
+ }, c.fieldProps), _extraProps3))));
8104
+ } else if (c.valueType == 'treeSelect') {
8105
+ var _extraProps4 = {};
8106
+
8107
+ if (c.request) {
8108
+ _extraProps4.request = c.request;
8109
+ }
8110
+
8111
+ var _labelCol12 = {};
8112
+
8113
+ if (search && search.labelWidth) {
8114
+ _labelCol12.style = {
8115
+ width: search.labelWidth
8116
+ };
8117
+ }
8118
+
8119
+ return /*#__PURE__*/React.createElement(_Col, _objectSpread2(_objectSpread2({
8120
+ style: {
8121
+ paddingLeft: '12px',
8122
+ paddingRight: '12px'
8123
+ }
8124
+ }, colProps), {}, {
8125
+ key: c.dataIndex
8126
+ }), /*#__PURE__*/React.createElement(_Form.Item, _objectSpread2(_objectSpread2({
8127
+ initialValue: c.initialValue
8128
+ }, c.formItemProps), {}, {
8129
+ name: c.dataIndex,
8130
+ label: c.title,
8131
+ labelCol: _labelCol12
8132
+ }), /*#__PURE__*/React.createElement(Index$5, _objectSpread2(_objectSpread2({
8133
+ disabled: disabled,
8134
+ placeholder: "\u8BF7\u9009\u62E9",
8135
+ onLoad: function onLoad(opt) {}
8136
+ }, c.fieldProps), _extraProps4))));
8137
+ } else if (c.valueType && ['date', 'dateTime', 'dateMonth', 'dateYear'].includes(c.valueType)) {
8138
+ var _labelCol13 = {};
8139
+
8140
+ if (search && search.labelWidth) {
8141
+ _labelCol13.style = {
8142
+ width: search.labelWidth
8143
+ };
8144
+ }
8145
+
8146
+ var showTime = {};
8147
+ var picker = {};
8148
+
8149
+ if (c.valueType == 'dateTime') {
8150
+ showTime = {
8151
+ showTime: {
8152
+ format: 'HH:mm'
8153
+ }
8154
+ };
8155
+ }
8156
+
8157
+ if (c.valueType == 'dateMonth') {
8158
+ picker = {
8159
+ picker: 'month'
8160
+ };
8161
+ }
8162
+
8163
+ if (c.valueType == 'dateYear') {
8164
+ picker = {
8165
+ picker: 'year'
8166
+ };
8167
+ }
8168
+
8169
+ return /*#__PURE__*/React.createElement(_Col, _objectSpread2(_objectSpread2({
8170
+ style: {
8171
+ paddingLeft: '12px',
8172
+ paddingRight: '12px'
8173
+ }
8174
+ }, colProps), {}, {
8175
+ key: c.dataIndex
8176
+ }), /*#__PURE__*/React.createElement(_Form.Item, _objectSpread2(_objectSpread2({
8177
+ initialValue: c.initialValue
8178
+ }, c.formItemProps), {}, {
8179
+ name: c.dataIndex,
8180
+ label: c.title,
8181
+ labelCol: _labelCol13
8182
+ }), /*#__PURE__*/React.createElement(Index$2, _objectSpread2(_objectSpread2(_objectSpread2({
8183
+ disabled: disabled,
8184
+ placeholder: "\u8BF7\u8F93\u5165"
8185
+ }, picker), showTime), c.fieldProps))));
8186
+ } else if (c.valueType === 'dateRange' || c.valueType === 'dateTimeRange') {
8187
+ var _labelCol14 = {};
8188
+
8189
+ if (search && search.labelWidth) {
8190
+ _labelCol14.style = {
8191
+ width: search.labelWidth
8192
+ };
8193
+ }
8194
+
8195
+ var _showTime2 = {};
8196
+
8197
+ if (c.valueType == 'dateTimeRange') {
8198
+ _showTime2 = {
8199
+ showTime: {
8200
+ format: 'HH:mm'
8201
+ }
8202
+ };
8203
+ }
8204
+
8205
+ return /*#__PURE__*/React.createElement(_Col, _objectSpread2(_objectSpread2({
8206
+ style: {
8207
+ paddingLeft: '12px',
8208
+ paddingRight: '12px'
8209
+ }
8210
+ }, colProps), {}, {
8211
+ key: c.dataIndex
8212
+ }), /*#__PURE__*/React.createElement(_Form.Item, _objectSpread2(_objectSpread2({
8213
+ initialValue: c.initialValue
8214
+ }, c.formItemProps), {}, {
8215
+ name: c.dataIndex,
8216
+ label: c.title,
8217
+ labelCol: _labelCol14
8218
+ }), /*#__PURE__*/React.createElement(RangePicker$2, _objectSpread2(_objectSpread2({
8219
+ disabled: disabled
8220
+ }, _showTime2), c.fieldProps))));
8221
+ } else if (c.valueType === 'checkbox') {
8222
+ var options = [];
8223
+
8224
+ if (c.valueEnum) {
8225
+ for (var key in c.valueEnum) {
8226
+ var text = c.valueEnum[key].text;
8227
+ options.push({
8228
+ label: text,
8229
+ value: key
8230
+ });
8231
+ }
8232
+ }
8233
+
8234
+ if (c.options) {
8235
+ options = c.options;
8236
+ }
8237
+
8238
+ if (columnsFieldsRef.current) {
8239
+ columnsFieldsRef.current[c.dataIndex] = options;
8240
+ }
8241
+
8242
+ setColumnsFields(function (preColumnsFields) {
8243
+ return _objectSpread2(_objectSpread2({}, preColumnsFields), {}, _defineProperty({}, c.dataIndex, options));
8244
+ });
8245
+ var _labelCol15 = {};
8246
+
8247
+ if (search && search.labelWidth) {
8248
+ _labelCol15.style = {
8249
+ width: search.labelWidth
8250
+ };
8251
+ }
8252
+
8253
+ return /*#__PURE__*/React.createElement(_Col, _objectSpread2(_objectSpread2({
8254
+ style: {
8255
+ paddingLeft: '12px',
8256
+ paddingRight: '12px'
8257
+ }
8258
+ }, colProps), {}, {
8259
+ key: c.dataIndex
8260
+ }), /*#__PURE__*/React.createElement(_Form.Item, _objectSpread2(_objectSpread2({
8261
+ initialValue: c.initialValue
8262
+ }, c.formItemProps), {}, {
8263
+ name: c.dataIndex,
8264
+ label: c.title,
8265
+ labelCol: _labelCol15
8266
+ }), /*#__PURE__*/React.createElement(Index$4.Group, _objectSpread2({
8267
+ disabled: disabled,
8268
+ options: options
8269
+ }, c.fieldProps))));
8270
+ } else if (c.valueType === 'radio' || c.valueType === 'radioButton') {
8271
+ var _options3 = [];
8272
+
8273
+ if (c.options) {
8274
+ _options3 = c.options;
8275
+ }
8276
+
8277
+ if (c.valueEnum) {
8278
+ for (var _key3 in c.valueEnum) {
8279
+ var _text3 = c.valueEnum[_key3].text;
8280
+
8281
+ _options3.push({
8282
+ label: _text3,
8283
+ value: _key3
8284
+ });
8285
+ }
8286
+ }
8287
+
8288
+ if (columnsFieldsRef.current) {
8289
+ columnsFieldsRef.current[c.dataIndex] = _options3;
8290
+ }
8291
+
8292
+ setColumnsFields(function (preColumnsFields) {
8293
+ return _objectSpread2(_objectSpread2({}, preColumnsFields), {}, _defineProperty({}, c.dataIndex, _options3));
8294
+ });
8295
+ var _labelCol16 = {};
8296
+
8297
+ if (search && search.labelWidth) {
8298
+ _labelCol16.style = {
8299
+ width: search.labelWidth
8300
+ };
8301
+ }
8302
+
8303
+ var radioButtonProps = {};
8304
+
8305
+ if (c.valueType === 'radioButton') {
8306
+ radioButtonProps = {
8307
+ optionType: 'button',
8308
+ buttonStyle: 'solid'
8309
+ };
8310
+ }
8311
+
8312
+ return /*#__PURE__*/React.createElement(_Col, _objectSpread2(_objectSpread2({
8313
+ style: {
8314
+ paddingLeft: '12px',
8315
+ paddingRight: '12px'
8316
+ }
8317
+ }, colProps), {}, {
8318
+ key: c.dataIndex
8319
+ }), /*#__PURE__*/React.createElement(_Form.Item, _objectSpread2(_objectSpread2({
8320
+ initialValue: c.initialValue
8321
+ }, c.formItemProps), {}, {
8322
+ name: c.dataIndex,
8323
+ label: c.title,
8324
+ labelCol: _labelCol16
8325
+ }), /*#__PURE__*/React.createElement(Index$3.Group, _objectSpread2(_objectSpread2({
8326
+ disabled: disabled
8327
+ }, radioButtonProps), {}, {
8328
+ options: _options3
8329
+ }, c.fieldProps))));
8330
+ } else if (c.valueType === 'switch') {
8331
+ var _options4 = [];
8332
+
8333
+ if (c.valueEnum) {
8334
+ for (var _key4 in c.valueEnum) {
8335
+ var _text4 = c.valueEnum[_key4].text;
8336
+
8337
+ _options4.push({
8338
+ label: _text4,
8339
+ value: _key4
8340
+ });
8341
+ }
8342
+ }
8343
+
8344
+ var _labelCol17 = {};
8345
+
8346
+ if (search && search.labelWidth) {
8347
+ _labelCol17.style = {
8348
+ width: search.labelWidth
8349
+ };
8350
+ }
8351
+
8352
+ if (columnsFieldsRef.current) {
8353
+ columnsFieldsRef.current[c.dataIndex] = _options4;
8354
+ }
8355
+
8356
+ setColumnsFields(function (preColumnsFields) {
8357
+ return _objectSpread2(_objectSpread2({}, preColumnsFields), {}, _defineProperty({}, c.dataIndex, _options4));
8358
+ });
8359
+ return /*#__PURE__*/React.createElement(_Col, _objectSpread2(_objectSpread2({
8360
+ style: {
8361
+ paddingLeft: '12px',
8362
+ paddingRight: '12px'
8363
+ }
8364
+ }, colProps), {}, {
8365
+ key: c.dataIndex
8366
+ }), /*#__PURE__*/React.createElement(_Form.Item, _objectSpread2(_objectSpread2({
8367
+ initialValue: c.initialValue,
8368
+ valuePropName: "checked"
8369
+ }, c.formItemProps), {}, {
8370
+ name: c.dataIndex,
8371
+ label: c.title,
8372
+ labelCol: _labelCol17
8373
+ }), /*#__PURE__*/React.createElement(WSwitch, _objectSpread2({
8374
+ disabled: disabled
8375
+ }, c.fieldProps))));
8376
+ } else if (c.valueType === 'digit') {
8377
+ var _labelCol18 = {};
8378
+
8379
+ if (search && search.labelWidth) {
8380
+ _labelCol18.style = {
8381
+ width: search.labelWidth
8382
+ };
8383
+ }
8384
+
8385
+ return /*#__PURE__*/React.createElement(_Col, _objectSpread2(_objectSpread2({
8386
+ style: {
8387
+ paddingLeft: '12px',
8388
+ paddingRight: '12px'
8389
+ }
8390
+ }, colProps), {}, {
8391
+ key: c.dataIndex
8392
+ }), /*#__PURE__*/React.createElement(_Form.Item, _objectSpread2(_objectSpread2({
8393
+ initialValue: c.initialValue
8394
+ }, c.formItemProps), {}, {
8395
+ name: c.dataIndex,
8396
+ label: c.title,
8397
+ labelCol: _labelCol18
8398
+ }), /*#__PURE__*/React.createElement(NumericInput, _objectSpread2({
8399
+ disabled: disabled,
8400
+ placeholder: "\u8BF7\u8F93\u5165\u53C2\u6570(double/int)"
8401
+ }, c.fieldProps))));
8402
+ } else if (c.renderFormItem) {
8403
+ var _labelCol19 = {};
8404
+
8405
+ if (search && search.labelWidth) {
8406
+ _labelCol19.style = {
8407
+ width: search.labelWidth
8408
+ };
8409
+ }
8410
+
8411
+ var baseitem = c.renderFormItem(c, _objectSpread2(_objectSpread2({}, c), {}, {
8412
+ formItemProps: c.formItemProps,
8413
+ fieldProps: c.fieldProps,
8414
+ columnsFields: columnsFields,
8415
+ columnsFieldsRef: columnsFieldsRef
8416
+ }), form);
8417
+ return baseitem ? /*#__PURE__*/React.createElement(_Col, _objectSpread2(_objectSpread2({
8418
+ style: {
8419
+ paddingLeft: '12px',
8420
+ paddingRight: '12px'
8421
+ }
8422
+ }, colProps), {}, {
8423
+ key: c.dataIndex
8424
+ }), /*#__PURE__*/React.createElement(_Form.Item, _objectSpread2(_objectSpread2({
8425
+ initialValue: c.initialValue
8426
+ }, c.formItemProps), {}, {
8427
+ name: c.dataIndex,
8428
+ label: c.title,
8429
+ labelCol: _labelCol19
8430
+ }), baseitem)) : null;
8431
+ } else if (c.valueType === 'textarea') {
8432
+ var _labelCol20 = {};
8433
+
8434
+ if (search && search.labelWidth) {
8435
+ _labelCol20.style = {
8436
+ width: search.labelWidth
8437
+ };
8438
+ }
8439
+
8440
+ return /*#__PURE__*/React.createElement(_Col, _objectSpread2(_objectSpread2({
8441
+ style: {
8442
+ paddingLeft: '12px',
8443
+ paddingRight: '12px'
8444
+ }
8445
+ }, colProps), {}, {
8446
+ key: c.dataIndex
8447
+ }), /*#__PURE__*/React.createElement(_Form.Item, _objectSpread2(_objectSpread2({
8448
+ initialValue: c.initialValue
8449
+ }, c.formItemProps), {}, {
8450
+ name: c.dataIndex,
8451
+ label: c.title,
8452
+ labelCol: _labelCol20
8453
+ }), /*#__PURE__*/React.createElement(Index.TextArea, _objectSpread2({
8454
+ rows: 4,
8455
+ disabled: disabled,
8456
+ placeholder: "\u8BF7\u8F93\u5165"
8457
+ }, c.fieldProps))));
8458
+ } else if (c.valueType === 'inputNumber') {
8459
+ var _labelCol21 = {};
8460
+
8461
+ if (search && search.labelWidth) {
8462
+ _labelCol21.style = {
8463
+ width: search.labelWidth
8464
+ };
8465
+ }
8466
+
8467
+ return /*#__PURE__*/React.createElement(_Col, _objectSpread2(_objectSpread2({
8468
+ style: {
8469
+ paddingLeft: '12px',
8470
+ paddingRight: '12px'
8471
+ }
8472
+ }, colProps), {}, {
8473
+ key: c.dataIndex
8474
+ }), /*#__PURE__*/React.createElement(_Form.Item, _objectSpread2(_objectSpread2({
8475
+ initialValue: c.initialValue
8476
+ }, c.formItemProps), {}, {
8477
+ name: c.dataIndex,
8478
+ label: c.title,
8479
+ labelCol: _labelCol21
8480
+ }), /*#__PURE__*/React.createElement(WInputNumber, _objectSpread2({
8481
+ disabled: disabled,
8482
+ placeholder: "\u8BF7\u8F93\u5165"
8483
+ }, c.fieldProps))));
8484
+ } else {
8485
+ var _labelCol22 = {};
8486
+
8487
+ if (search && search.labelWidth) {
8488
+ _labelCol22.style = {
8489
+ width: search.labelWidth
8490
+ };
8491
+ }
8492
+
8493
+ return /*#__PURE__*/React.createElement(_Col, _objectSpread2(_objectSpread2({
8494
+ style: {
8495
+ paddingLeft: '12px',
8496
+ paddingRight: '12px'
8497
+ }
8498
+ }, colProps), {}, {
8499
+ key: c.dataIndex
8500
+ }), /*#__PURE__*/React.createElement(_Form.Item, _objectSpread2(_objectSpread2({
8501
+ initialValue: c.initialValue
8502
+ }, c.formItemProps), {}, {
8503
+ name: c.dataIndex,
8504
+ label: c.title,
8505
+ labelCol: _labelCol22
8506
+ }), /*#__PURE__*/React.createElement(Index, _objectSpread2({
8507
+ disabled: disabled,
8508
+ placeholder: "\u8BF7\u8F93\u5165"
8509
+ }, c.fieldProps))));
8510
+ }
8511
+ });
8512
+ }, [changedValues, extraColumns, disabled, columnsFieldsRef, JSON.stringify(form.getFieldsValue())]);
8017
8513
 
8018
8514
  var handleSearch = function handleSearch(v) {
8019
8515
  var searchForm = form.getFieldsValue();
@@ -8082,10 +8578,11 @@ var WForm = function WForm(props, ref) {
8082
8578
  },
8083
8579
  onFinish: handleSearch,
8084
8580
  onValuesChange: function onValuesChange(changedValues, allValues) {
8581
+ onFormChange && onFormChange(changedValues, allValues, form);
8085
8582
  setchangedValues(changedValues);
8086
8583
  },
8087
8584
  form: form
8088
- }, extraProps), /*#__PURE__*/React.createElement(_Row, null, filterForm), search && search.hideSubmit ? null : /*#__PURE__*/React.createElement(_Row, {
8585
+ }, extraProps), /*#__PURE__*/React.createElement(_Row, null, filterForm), /*#__PURE__*/React.createElement(_Row, null, filterExtraColumnsForm), search && search.hideSubmit ? null : /*#__PURE__*/React.createElement(_Row, {
8089
8586
  justify: "end"
8090
8587
  }, /*#__PURE__*/React.createElement(_Col, {
8091
8588
  style: {
@@ -9413,10 +9910,11 @@ Modal.hidden = function () {
9413
9910
  ModalContainer[modelSysbol] && ModalContainer[modelSysbol].hidden();
9414
9911
  };
9415
9912
 
9416
- var _excluded$d = ["columns", "search", "visible", "setVisible", "disabled", "submitMethod", "onSubmitSuccess", "title", "record"];
9913
+ var _excluded$d = ["columns", "extraColumns", "search", "visible", "setVisible", "disabled", "submitMethod", "onSubmitSuccess", "title", "record", "onFormChange"];
9417
9914
 
9418
9915
  var ModalForm = function ModalForm(props, ref) {
9419
9916
  var columns = props.columns,
9917
+ extraColumns = props.extraColumns,
9420
9918
  search = props.search,
9421
9919
  visible = props.visible,
9422
9920
  setVisible = props.setVisible,
@@ -9425,6 +9923,7 @@ var ModalForm = function ModalForm(props, ref) {
9425
9923
  onSubmitSuccess = props.onSubmitSuccess,
9426
9924
  title = props.title,
9427
9925
  record = props.record,
9926
+ onFormChange = props.onFormChange,
9428
9927
  extraProps = _objectWithoutProperties(props, _excluded$d);
9429
9928
 
9430
9929
  var formRef = useRef(null);
@@ -9546,24 +10045,28 @@ var ModalForm = function ModalForm(props, ref) {
9546
10045
  ref: formRef,
9547
10046
  disabled: disabled,
9548
10047
  onSubmit: onSubmit,
10048
+ onFormChange: onFormChange,
9549
10049
  disabledHideInSearch: true,
9550
10050
  search: search,
9551
- columns: columns
10051
+ columns: columns,
10052
+ extraColumns: extraColumns
9552
10053
  }));
9553
10054
  };
9554
10055
 
9555
10056
  var ModalForm$1 = /*#__PURE__*/React.forwardRef(ModalForm);
9556
10057
 
9557
- var _excluded$e = ["columns", "request", "modalFormSearch", "tableAction", "renderTableBar", "className", "style", "modalConfig", "optionColumnConfig"];
10058
+ var _excluded$e = ["columns", "extraColumns", "request", "modalFormSearch", "tableAction", "renderTableBar", "className", "style", "onFormChange", "modalConfig", "optionColumnConfig"];
9558
10059
 
9559
10060
  var TabelCard = function TabelCard(props, ref) {
9560
10061
  var columns = props.columns,
10062
+ extraColumns = props.extraColumns,
9561
10063
  request = props.request,
9562
10064
  modalFormSearch = props.modalFormSearch,
9563
10065
  tableAction = props.tableAction,
9564
10066
  renderTableBar = props.renderTableBar,
9565
10067
  className = props.className,
9566
10068
  style = props.style,
10069
+ onFormChange = props.onFormChange,
9567
10070
  modalConfig = props.modalConfig,
9568
10071
  optionColumnConfig = props.optionColumnConfig,
9569
10072
  extraProps = _objectWithoutProperties(props, _excluded$e);
@@ -9853,6 +10356,8 @@ var TabelCard = function TabelCard(props, ref) {
9853
10356
  }(),
9854
10357
  search: modalFormSearch
9855
10358
  }, modalConfig), {}, {
10359
+ onFormChange: onFormChange,
10360
+ extraColumns: extraColumns || [],
9856
10361
  columns: (columns || []).filter(function (item) {
9857
10362
  return !item.hiddenInModalForm;
9858
10363
  })
package/dist/index.js CHANGED
@@ -7565,16 +7565,18 @@ Table.defaultProps = {
7565
7565
  rowKey: 'key'
7566
7566
  };
7567
7567
 
7568
- var _excluded$5 = ["columns", "className", "style", "search", "disabled", "disabledHideInSearch", "onSubmit", "onReset"];
7568
+ var _excluded$5 = ["columns", "extraColumns", "className", "style", "search", "disabled", "disabledHideInSearch", "onFormChange", "onSubmit", "onReset"];
7569
7569
  var RangePicker$2 = Index$2.RangePicker;
7570
7570
 
7571
7571
  var WForm = function WForm(props, ref) {
7572
7572
  var columns = props.columns,
7573
+ extraColumns = props.extraColumns,
7573
7574
  className = props.className,
7574
7575
  style = props.style,
7575
7576
  search = props.search,
7576
7577
  disabled = props.disabled,
7577
7578
  disabledHideInSearch = props.disabledHideInSearch,
7579
+ onFormChange = props.onFormChange,
7578
7580
  onSubmit = props.onSubmit,
7579
7581
  onReset = props.onReset,
7580
7582
  extraProps = _objectWithoutProperties(props, _excluded$5);
@@ -7583,6 +7585,8 @@ var WForm = function WForm(props, ref) {
7583
7585
  _Form$useForm2 = _slicedToArray(_Form$useForm, 1),
7584
7586
  form = _Form$useForm2[0];
7585
7587
 
7588
+ var columnsFieldsRef = React.useRef({});
7589
+
7586
7590
  var _useState = React.useState({}),
7587
7591
  _useState2 = _slicedToArray(_useState, 2),
7588
7592
  changedValues = _useState2[0],
@@ -7593,11 +7597,18 @@ var WForm = function WForm(props, ref) {
7593
7597
  columnsFields = _useState4[0],
7594
7598
  setColumnsFields = _useState4[1];
7595
7599
 
7596
- var filterFormColumns = columns.filter(function (c) {
7600
+ var filterFormColumns = _toConsumableArray(columns).filter(function (c) {
7597
7601
  return !c.hideInSearch || disabledHideInSearch;
7598
7602
  }).sort(function (a, b) {
7599
7603
  return (b.order || 0) - (a.order || 0);
7600
7604
  });
7605
+
7606
+ var filterExtraFormColumns = _toConsumableArray(extraColumns || []).filter(function (c) {
7607
+ return !c.hideInSearch || disabledHideInSearch;
7608
+ }).sort(function (a, b) {
7609
+ return (b.order || 0) - (a.order || 0);
7610
+ });
7611
+
7601
7612
  var filterForm = React.useMemo(function () {
7602
7613
  return filterFormColumns.map(function (c) {
7603
7614
  var colProps = {};
@@ -7647,6 +7658,10 @@ var WForm = function WForm(props, ref) {
7647
7658
  placeholder: "\u8BF7\u9009\u62E9",
7648
7659
  disabled: disabled,
7649
7660
  onLoad: function onLoad(opt) {
7661
+ if (columnsFieldsRef.current) {
7662
+ columnsFieldsRef.current[c.dataIndex] = opt;
7663
+ }
7664
+
7650
7665
  setColumnsFields(function (preColumnsFields) {
7651
7666
  return _objectSpread2(_objectSpread2({}, preColumnsFields), {}, _defineProperty({}, c.dataIndex, opt));
7652
7667
  });
@@ -7786,6 +7801,10 @@ var WForm = function WForm(props, ref) {
7786
7801
  options = c.options;
7787
7802
  }
7788
7803
 
7804
+ if (columnsFieldsRef.current) {
7805
+ columnsFieldsRef.current[c.dataIndex] = options;
7806
+ }
7807
+
7789
7808
  setColumnsFields(function (preColumnsFields) {
7790
7809
  return _objectSpread2(_objectSpread2({}, preColumnsFields), {}, _defineProperty({}, c.dataIndex, options));
7791
7810
  });
@@ -7832,6 +7851,10 @@ var WForm = function WForm(props, ref) {
7832
7851
  }
7833
7852
  }
7834
7853
 
7854
+ if (columnsFieldsRef.current) {
7855
+ columnsFieldsRef.current[c.dataIndex] = _options;
7856
+ }
7857
+
7835
7858
  setColumnsFields(function (preColumnsFields) {
7836
7859
  return _objectSpread2(_objectSpread2({}, preColumnsFields), {}, _defineProperty({}, c.dataIndex, _options));
7837
7860
  });
@@ -7892,6 +7915,10 @@ var WForm = function WForm(props, ref) {
7892
7915
  };
7893
7916
  }
7894
7917
 
7918
+ if (columnsFieldsRef.current) {
7919
+ columnsFieldsRef.current[c.dataIndex] = _options2;
7920
+ }
7921
+
7895
7922
  setColumnsFields(function (preColumnsFields) {
7896
7923
  return _objectSpread2(_objectSpread2({}, preColumnsFields), {}, _defineProperty({}, c.dataIndex, _options2));
7897
7924
  });
@@ -7949,7 +7976,9 @@ var WForm = function WForm(props, ref) {
7949
7976
 
7950
7977
  var baseitem = c.renderFormItem(c, _objectSpread2(_objectSpread2({}, c), {}, {
7951
7978
  formItemProps: c.formItemProps,
7952
- fieldProps: c.fieldProps
7979
+ fieldProps: c.fieldProps,
7980
+ columnsFields: columnsFields,
7981
+ columnsFieldsRef: columnsFieldsRef
7953
7982
  }), form);
7954
7983
  return baseitem ? /*#__PURE__*/React__default['default'].createElement(_Col__default['default'], _objectSpread2(_objectSpread2({
7955
7984
  style: {
@@ -8046,7 +8075,474 @@ var WForm = function WForm(props, ref) {
8046
8075
  }, c.fieldProps))));
8047
8076
  }
8048
8077
  });
8049
- }, [changedValues, disabled, JSON.stringify(form.getFieldsValue())]);
8078
+ }, [changedValues, columns, disabled, columnsFieldsRef, JSON.stringify(form.getFieldsValue())]);
8079
+ var filterExtraColumnsForm = React.useMemo(function () {
8080
+ return filterExtraFormColumns.map(function (c) {
8081
+ var colProps = {};
8082
+
8083
+ if (search && search.span) {
8084
+ colProps.span = typeof search.span == 'number' ? (c.colSize || 1) * search.span : {
8085
+ xs: 24,
8086
+ sm: 24,
8087
+ md: 12,
8088
+ lg: 12,
8089
+ xl: 8,
8090
+ xxl: 6
8091
+ };
8092
+ }
8093
+
8094
+ if (c.valueType == 'select') {
8095
+ var _extraProps3 = {};
8096
+
8097
+ if (c.request) {
8098
+ _extraProps3.request = c.request;
8099
+ } else if (c.valueEnum) {
8100
+ _extraProps3.valueEnum = c.valueEnum;
8101
+ }
8102
+
8103
+ var labelCol = {};
8104
+
8105
+ if (search && search.labelWidth) {
8106
+ labelCol.style = {
8107
+ width: search.labelWidth
8108
+ };
8109
+ }
8110
+
8111
+ return /*#__PURE__*/React__default['default'].createElement(_Col__default['default'], _objectSpread2(_objectSpread2({
8112
+ style: {
8113
+ paddingLeft: '12px',
8114
+ paddingRight: '12px'
8115
+ }
8116
+ }, colProps), {}, {
8117
+ key: c.dataIndex
8118
+ }), /*#__PURE__*/React__default['default'].createElement(_Form__default['default'].Item, _objectSpread2(_objectSpread2({
8119
+ initialValue: c.initialValue
8120
+ }, c.formItemProps), {}, {
8121
+ name: c.dataIndex,
8122
+ label: c.title,
8123
+ labelCol: labelCol
8124
+ }), /*#__PURE__*/React__default['default'].createElement(Index$1, _objectSpread2(_objectSpread2({
8125
+ placeholder: "\u8BF7\u9009\u62E9",
8126
+ disabled: disabled,
8127
+ onLoad: function onLoad(opt) {
8128
+ if (columnsFieldsRef.current) {
8129
+ columnsFieldsRef.current[c.dataIndex] = opt;
8130
+ }
8131
+
8132
+ setColumnsFields(function (preColumnsFields) {
8133
+ return _objectSpread2(_objectSpread2({}, preColumnsFields), {}, _defineProperty({}, c.dataIndex, opt));
8134
+ });
8135
+ }
8136
+ }, c.fieldProps), _extraProps3))));
8137
+ } else if (c.valueType == 'treeSelect') {
8138
+ var _extraProps4 = {};
8139
+
8140
+ if (c.request) {
8141
+ _extraProps4.request = c.request;
8142
+ }
8143
+
8144
+ var _labelCol12 = {};
8145
+
8146
+ if (search && search.labelWidth) {
8147
+ _labelCol12.style = {
8148
+ width: search.labelWidth
8149
+ };
8150
+ }
8151
+
8152
+ return /*#__PURE__*/React__default['default'].createElement(_Col__default['default'], _objectSpread2(_objectSpread2({
8153
+ style: {
8154
+ paddingLeft: '12px',
8155
+ paddingRight: '12px'
8156
+ }
8157
+ }, colProps), {}, {
8158
+ key: c.dataIndex
8159
+ }), /*#__PURE__*/React__default['default'].createElement(_Form__default['default'].Item, _objectSpread2(_objectSpread2({
8160
+ initialValue: c.initialValue
8161
+ }, c.formItemProps), {}, {
8162
+ name: c.dataIndex,
8163
+ label: c.title,
8164
+ labelCol: _labelCol12
8165
+ }), /*#__PURE__*/React__default['default'].createElement(Index$5, _objectSpread2(_objectSpread2({
8166
+ disabled: disabled,
8167
+ placeholder: "\u8BF7\u9009\u62E9",
8168
+ onLoad: function onLoad(opt) {}
8169
+ }, c.fieldProps), _extraProps4))));
8170
+ } else if (c.valueType && ['date', 'dateTime', 'dateMonth', 'dateYear'].includes(c.valueType)) {
8171
+ var _labelCol13 = {};
8172
+
8173
+ if (search && search.labelWidth) {
8174
+ _labelCol13.style = {
8175
+ width: search.labelWidth
8176
+ };
8177
+ }
8178
+
8179
+ var showTime = {};
8180
+ var picker = {};
8181
+
8182
+ if (c.valueType == 'dateTime') {
8183
+ showTime = {
8184
+ showTime: {
8185
+ format: 'HH:mm'
8186
+ }
8187
+ };
8188
+ }
8189
+
8190
+ if (c.valueType == 'dateMonth') {
8191
+ picker = {
8192
+ picker: 'month'
8193
+ };
8194
+ }
8195
+
8196
+ if (c.valueType == 'dateYear') {
8197
+ picker = {
8198
+ picker: 'year'
8199
+ };
8200
+ }
8201
+
8202
+ return /*#__PURE__*/React__default['default'].createElement(_Col__default['default'], _objectSpread2(_objectSpread2({
8203
+ style: {
8204
+ paddingLeft: '12px',
8205
+ paddingRight: '12px'
8206
+ }
8207
+ }, colProps), {}, {
8208
+ key: c.dataIndex
8209
+ }), /*#__PURE__*/React__default['default'].createElement(_Form__default['default'].Item, _objectSpread2(_objectSpread2({
8210
+ initialValue: c.initialValue
8211
+ }, c.formItemProps), {}, {
8212
+ name: c.dataIndex,
8213
+ label: c.title,
8214
+ labelCol: _labelCol13
8215
+ }), /*#__PURE__*/React__default['default'].createElement(Index$2, _objectSpread2(_objectSpread2(_objectSpread2({
8216
+ disabled: disabled,
8217
+ placeholder: "\u8BF7\u8F93\u5165"
8218
+ }, picker), showTime), c.fieldProps))));
8219
+ } else if (c.valueType === 'dateRange' || c.valueType === 'dateTimeRange') {
8220
+ var _labelCol14 = {};
8221
+
8222
+ if (search && search.labelWidth) {
8223
+ _labelCol14.style = {
8224
+ width: search.labelWidth
8225
+ };
8226
+ }
8227
+
8228
+ var _showTime2 = {};
8229
+
8230
+ if (c.valueType == 'dateTimeRange') {
8231
+ _showTime2 = {
8232
+ showTime: {
8233
+ format: 'HH:mm'
8234
+ }
8235
+ };
8236
+ }
8237
+
8238
+ return /*#__PURE__*/React__default['default'].createElement(_Col__default['default'], _objectSpread2(_objectSpread2({
8239
+ style: {
8240
+ paddingLeft: '12px',
8241
+ paddingRight: '12px'
8242
+ }
8243
+ }, colProps), {}, {
8244
+ key: c.dataIndex
8245
+ }), /*#__PURE__*/React__default['default'].createElement(_Form__default['default'].Item, _objectSpread2(_objectSpread2({
8246
+ initialValue: c.initialValue
8247
+ }, c.formItemProps), {}, {
8248
+ name: c.dataIndex,
8249
+ label: c.title,
8250
+ labelCol: _labelCol14
8251
+ }), /*#__PURE__*/React__default['default'].createElement(RangePicker$2, _objectSpread2(_objectSpread2({
8252
+ disabled: disabled
8253
+ }, _showTime2), c.fieldProps))));
8254
+ } else if (c.valueType === 'checkbox') {
8255
+ var options = [];
8256
+
8257
+ if (c.valueEnum) {
8258
+ for (var key in c.valueEnum) {
8259
+ var text = c.valueEnum[key].text;
8260
+ options.push({
8261
+ label: text,
8262
+ value: key
8263
+ });
8264
+ }
8265
+ }
8266
+
8267
+ if (c.options) {
8268
+ options = c.options;
8269
+ }
8270
+
8271
+ if (columnsFieldsRef.current) {
8272
+ columnsFieldsRef.current[c.dataIndex] = options;
8273
+ }
8274
+
8275
+ setColumnsFields(function (preColumnsFields) {
8276
+ return _objectSpread2(_objectSpread2({}, preColumnsFields), {}, _defineProperty({}, c.dataIndex, options));
8277
+ });
8278
+ var _labelCol15 = {};
8279
+
8280
+ if (search && search.labelWidth) {
8281
+ _labelCol15.style = {
8282
+ width: search.labelWidth
8283
+ };
8284
+ }
8285
+
8286
+ return /*#__PURE__*/React__default['default'].createElement(_Col__default['default'], _objectSpread2(_objectSpread2({
8287
+ style: {
8288
+ paddingLeft: '12px',
8289
+ paddingRight: '12px'
8290
+ }
8291
+ }, colProps), {}, {
8292
+ key: c.dataIndex
8293
+ }), /*#__PURE__*/React__default['default'].createElement(_Form__default['default'].Item, _objectSpread2(_objectSpread2({
8294
+ initialValue: c.initialValue
8295
+ }, c.formItemProps), {}, {
8296
+ name: c.dataIndex,
8297
+ label: c.title,
8298
+ labelCol: _labelCol15
8299
+ }), /*#__PURE__*/React__default['default'].createElement(Index$4.Group, _objectSpread2({
8300
+ disabled: disabled,
8301
+ options: options
8302
+ }, c.fieldProps))));
8303
+ } else if (c.valueType === 'radio' || c.valueType === 'radioButton') {
8304
+ var _options3 = [];
8305
+
8306
+ if (c.options) {
8307
+ _options3 = c.options;
8308
+ }
8309
+
8310
+ if (c.valueEnum) {
8311
+ for (var _key3 in c.valueEnum) {
8312
+ var _text3 = c.valueEnum[_key3].text;
8313
+
8314
+ _options3.push({
8315
+ label: _text3,
8316
+ value: _key3
8317
+ });
8318
+ }
8319
+ }
8320
+
8321
+ if (columnsFieldsRef.current) {
8322
+ columnsFieldsRef.current[c.dataIndex] = _options3;
8323
+ }
8324
+
8325
+ setColumnsFields(function (preColumnsFields) {
8326
+ return _objectSpread2(_objectSpread2({}, preColumnsFields), {}, _defineProperty({}, c.dataIndex, _options3));
8327
+ });
8328
+ var _labelCol16 = {};
8329
+
8330
+ if (search && search.labelWidth) {
8331
+ _labelCol16.style = {
8332
+ width: search.labelWidth
8333
+ };
8334
+ }
8335
+
8336
+ var radioButtonProps = {};
8337
+
8338
+ if (c.valueType === 'radioButton') {
8339
+ radioButtonProps = {
8340
+ optionType: 'button',
8341
+ buttonStyle: 'solid'
8342
+ };
8343
+ }
8344
+
8345
+ return /*#__PURE__*/React__default['default'].createElement(_Col__default['default'], _objectSpread2(_objectSpread2({
8346
+ style: {
8347
+ paddingLeft: '12px',
8348
+ paddingRight: '12px'
8349
+ }
8350
+ }, colProps), {}, {
8351
+ key: c.dataIndex
8352
+ }), /*#__PURE__*/React__default['default'].createElement(_Form__default['default'].Item, _objectSpread2(_objectSpread2({
8353
+ initialValue: c.initialValue
8354
+ }, c.formItemProps), {}, {
8355
+ name: c.dataIndex,
8356
+ label: c.title,
8357
+ labelCol: _labelCol16
8358
+ }), /*#__PURE__*/React__default['default'].createElement(Index$3.Group, _objectSpread2(_objectSpread2({
8359
+ disabled: disabled
8360
+ }, radioButtonProps), {}, {
8361
+ options: _options3
8362
+ }, c.fieldProps))));
8363
+ } else if (c.valueType === 'switch') {
8364
+ var _options4 = [];
8365
+
8366
+ if (c.valueEnum) {
8367
+ for (var _key4 in c.valueEnum) {
8368
+ var _text4 = c.valueEnum[_key4].text;
8369
+
8370
+ _options4.push({
8371
+ label: _text4,
8372
+ value: _key4
8373
+ });
8374
+ }
8375
+ }
8376
+
8377
+ var _labelCol17 = {};
8378
+
8379
+ if (search && search.labelWidth) {
8380
+ _labelCol17.style = {
8381
+ width: search.labelWidth
8382
+ };
8383
+ }
8384
+
8385
+ if (columnsFieldsRef.current) {
8386
+ columnsFieldsRef.current[c.dataIndex] = _options4;
8387
+ }
8388
+
8389
+ setColumnsFields(function (preColumnsFields) {
8390
+ return _objectSpread2(_objectSpread2({}, preColumnsFields), {}, _defineProperty({}, c.dataIndex, _options4));
8391
+ });
8392
+ return /*#__PURE__*/React__default['default'].createElement(_Col__default['default'], _objectSpread2(_objectSpread2({
8393
+ style: {
8394
+ paddingLeft: '12px',
8395
+ paddingRight: '12px'
8396
+ }
8397
+ }, colProps), {}, {
8398
+ key: c.dataIndex
8399
+ }), /*#__PURE__*/React__default['default'].createElement(_Form__default['default'].Item, _objectSpread2(_objectSpread2({
8400
+ initialValue: c.initialValue,
8401
+ valuePropName: "checked"
8402
+ }, c.formItemProps), {}, {
8403
+ name: c.dataIndex,
8404
+ label: c.title,
8405
+ labelCol: _labelCol17
8406
+ }), /*#__PURE__*/React__default['default'].createElement(WSwitch, _objectSpread2({
8407
+ disabled: disabled
8408
+ }, c.fieldProps))));
8409
+ } else if (c.valueType === 'digit') {
8410
+ var _labelCol18 = {};
8411
+
8412
+ if (search && search.labelWidth) {
8413
+ _labelCol18.style = {
8414
+ width: search.labelWidth
8415
+ };
8416
+ }
8417
+
8418
+ return /*#__PURE__*/React__default['default'].createElement(_Col__default['default'], _objectSpread2(_objectSpread2({
8419
+ style: {
8420
+ paddingLeft: '12px',
8421
+ paddingRight: '12px'
8422
+ }
8423
+ }, colProps), {}, {
8424
+ key: c.dataIndex
8425
+ }), /*#__PURE__*/React__default['default'].createElement(_Form__default['default'].Item, _objectSpread2(_objectSpread2({
8426
+ initialValue: c.initialValue
8427
+ }, c.formItemProps), {}, {
8428
+ name: c.dataIndex,
8429
+ label: c.title,
8430
+ labelCol: _labelCol18
8431
+ }), /*#__PURE__*/React__default['default'].createElement(NumericInput, _objectSpread2({
8432
+ disabled: disabled,
8433
+ placeholder: "\u8BF7\u8F93\u5165\u53C2\u6570(double/int)"
8434
+ }, c.fieldProps))));
8435
+ } else if (c.renderFormItem) {
8436
+ var _labelCol19 = {};
8437
+
8438
+ if (search && search.labelWidth) {
8439
+ _labelCol19.style = {
8440
+ width: search.labelWidth
8441
+ };
8442
+ }
8443
+
8444
+ var baseitem = c.renderFormItem(c, _objectSpread2(_objectSpread2({}, c), {}, {
8445
+ formItemProps: c.formItemProps,
8446
+ fieldProps: c.fieldProps,
8447
+ columnsFields: columnsFields,
8448
+ columnsFieldsRef: columnsFieldsRef
8449
+ }), form);
8450
+ return baseitem ? /*#__PURE__*/React__default['default'].createElement(_Col__default['default'], _objectSpread2(_objectSpread2({
8451
+ style: {
8452
+ paddingLeft: '12px',
8453
+ paddingRight: '12px'
8454
+ }
8455
+ }, colProps), {}, {
8456
+ key: c.dataIndex
8457
+ }), /*#__PURE__*/React__default['default'].createElement(_Form__default['default'].Item, _objectSpread2(_objectSpread2({
8458
+ initialValue: c.initialValue
8459
+ }, c.formItemProps), {}, {
8460
+ name: c.dataIndex,
8461
+ label: c.title,
8462
+ labelCol: _labelCol19
8463
+ }), baseitem)) : null;
8464
+ } else if (c.valueType === 'textarea') {
8465
+ var _labelCol20 = {};
8466
+
8467
+ if (search && search.labelWidth) {
8468
+ _labelCol20.style = {
8469
+ width: search.labelWidth
8470
+ };
8471
+ }
8472
+
8473
+ return /*#__PURE__*/React__default['default'].createElement(_Col__default['default'], _objectSpread2(_objectSpread2({
8474
+ style: {
8475
+ paddingLeft: '12px',
8476
+ paddingRight: '12px'
8477
+ }
8478
+ }, colProps), {}, {
8479
+ key: c.dataIndex
8480
+ }), /*#__PURE__*/React__default['default'].createElement(_Form__default['default'].Item, _objectSpread2(_objectSpread2({
8481
+ initialValue: c.initialValue
8482
+ }, c.formItemProps), {}, {
8483
+ name: c.dataIndex,
8484
+ label: c.title,
8485
+ labelCol: _labelCol20
8486
+ }), /*#__PURE__*/React__default['default'].createElement(Index.TextArea, _objectSpread2({
8487
+ rows: 4,
8488
+ disabled: disabled,
8489
+ placeholder: "\u8BF7\u8F93\u5165"
8490
+ }, c.fieldProps))));
8491
+ } else if (c.valueType === 'inputNumber') {
8492
+ var _labelCol21 = {};
8493
+
8494
+ if (search && search.labelWidth) {
8495
+ _labelCol21.style = {
8496
+ width: search.labelWidth
8497
+ };
8498
+ }
8499
+
8500
+ return /*#__PURE__*/React__default['default'].createElement(_Col__default['default'], _objectSpread2(_objectSpread2({
8501
+ style: {
8502
+ paddingLeft: '12px',
8503
+ paddingRight: '12px'
8504
+ }
8505
+ }, colProps), {}, {
8506
+ key: c.dataIndex
8507
+ }), /*#__PURE__*/React__default['default'].createElement(_Form__default['default'].Item, _objectSpread2(_objectSpread2({
8508
+ initialValue: c.initialValue
8509
+ }, c.formItemProps), {}, {
8510
+ name: c.dataIndex,
8511
+ label: c.title,
8512
+ labelCol: _labelCol21
8513
+ }), /*#__PURE__*/React__default['default'].createElement(WInputNumber, _objectSpread2({
8514
+ disabled: disabled,
8515
+ placeholder: "\u8BF7\u8F93\u5165"
8516
+ }, c.fieldProps))));
8517
+ } else {
8518
+ var _labelCol22 = {};
8519
+
8520
+ if (search && search.labelWidth) {
8521
+ _labelCol22.style = {
8522
+ width: search.labelWidth
8523
+ };
8524
+ }
8525
+
8526
+ return /*#__PURE__*/React__default['default'].createElement(_Col__default['default'], _objectSpread2(_objectSpread2({
8527
+ style: {
8528
+ paddingLeft: '12px',
8529
+ paddingRight: '12px'
8530
+ }
8531
+ }, colProps), {}, {
8532
+ key: c.dataIndex
8533
+ }), /*#__PURE__*/React__default['default'].createElement(_Form__default['default'].Item, _objectSpread2(_objectSpread2({
8534
+ initialValue: c.initialValue
8535
+ }, c.formItemProps), {}, {
8536
+ name: c.dataIndex,
8537
+ label: c.title,
8538
+ labelCol: _labelCol22
8539
+ }), /*#__PURE__*/React__default['default'].createElement(Index, _objectSpread2({
8540
+ disabled: disabled,
8541
+ placeholder: "\u8BF7\u8F93\u5165"
8542
+ }, c.fieldProps))));
8543
+ }
8544
+ });
8545
+ }, [changedValues, extraColumns, disabled, columnsFieldsRef, JSON.stringify(form.getFieldsValue())]);
8050
8546
 
8051
8547
  var handleSearch = function handleSearch(v) {
8052
8548
  var searchForm = form.getFieldsValue();
@@ -8115,10 +8611,11 @@ var WForm = function WForm(props, ref) {
8115
8611
  },
8116
8612
  onFinish: handleSearch,
8117
8613
  onValuesChange: function onValuesChange(changedValues, allValues) {
8614
+ onFormChange && onFormChange(changedValues, allValues, form);
8118
8615
  setchangedValues(changedValues);
8119
8616
  },
8120
8617
  form: form
8121
- }, extraProps), /*#__PURE__*/React__default['default'].createElement(_Row__default['default'], null, filterForm), search && search.hideSubmit ? null : /*#__PURE__*/React__default['default'].createElement(_Row__default['default'], {
8618
+ }, extraProps), /*#__PURE__*/React__default['default'].createElement(_Row__default['default'], null, filterForm), /*#__PURE__*/React__default['default'].createElement(_Row__default['default'], null, filterExtraColumnsForm), search && search.hideSubmit ? null : /*#__PURE__*/React__default['default'].createElement(_Row__default['default'], {
8122
8619
  justify: "end"
8123
8620
  }, /*#__PURE__*/React__default['default'].createElement(_Col__default['default'], {
8124
8621
  style: {
@@ -9446,10 +9943,11 @@ Modal.hidden = function () {
9446
9943
  ModalContainer[modelSysbol] && ModalContainer[modelSysbol].hidden();
9447
9944
  };
9448
9945
 
9449
- var _excluded$d = ["columns", "search", "visible", "setVisible", "disabled", "submitMethod", "onSubmitSuccess", "title", "record"];
9946
+ var _excluded$d = ["columns", "extraColumns", "search", "visible", "setVisible", "disabled", "submitMethod", "onSubmitSuccess", "title", "record", "onFormChange"];
9450
9947
 
9451
9948
  var ModalForm = function ModalForm(props, ref) {
9452
9949
  var columns = props.columns,
9950
+ extraColumns = props.extraColumns,
9453
9951
  search = props.search,
9454
9952
  visible = props.visible,
9455
9953
  setVisible = props.setVisible,
@@ -9458,6 +9956,7 @@ var ModalForm = function ModalForm(props, ref) {
9458
9956
  onSubmitSuccess = props.onSubmitSuccess,
9459
9957
  title = props.title,
9460
9958
  record = props.record,
9959
+ onFormChange = props.onFormChange,
9461
9960
  extraProps = _objectWithoutProperties(props, _excluded$d);
9462
9961
 
9463
9962
  var formRef = React.useRef(null);
@@ -9579,24 +10078,28 @@ var ModalForm = function ModalForm(props, ref) {
9579
10078
  ref: formRef,
9580
10079
  disabled: disabled,
9581
10080
  onSubmit: onSubmit,
10081
+ onFormChange: onFormChange,
9582
10082
  disabledHideInSearch: true,
9583
10083
  search: search,
9584
- columns: columns
10084
+ columns: columns,
10085
+ extraColumns: extraColumns
9585
10086
  }));
9586
10087
  };
9587
10088
 
9588
10089
  var ModalForm$1 = /*#__PURE__*/React__default['default'].forwardRef(ModalForm);
9589
10090
 
9590
- var _excluded$e = ["columns", "request", "modalFormSearch", "tableAction", "renderTableBar", "className", "style", "modalConfig", "optionColumnConfig"];
10091
+ var _excluded$e = ["columns", "extraColumns", "request", "modalFormSearch", "tableAction", "renderTableBar", "className", "style", "onFormChange", "modalConfig", "optionColumnConfig"];
9591
10092
 
9592
10093
  var TabelCard = function TabelCard(props, ref) {
9593
10094
  var columns = props.columns,
10095
+ extraColumns = props.extraColumns,
9594
10096
  request = props.request,
9595
10097
  modalFormSearch = props.modalFormSearch,
9596
10098
  tableAction = props.tableAction,
9597
10099
  renderTableBar = props.renderTableBar,
9598
10100
  className = props.className,
9599
10101
  style = props.style,
10102
+ onFormChange = props.onFormChange,
9600
10103
  modalConfig = props.modalConfig,
9601
10104
  optionColumnConfig = props.optionColumnConfig,
9602
10105
  extraProps = _objectWithoutProperties(props, _excluded$e);
@@ -9886,6 +10389,8 @@ var TabelCard = function TabelCard(props, ref) {
9886
10389
  }(),
9887
10390
  search: modalFormSearch
9888
10391
  }, modalConfig), {}, {
10392
+ onFormChange: onFormChange,
10393
+ extraColumns: extraColumns || [],
9889
10394
  columns: (columns || []).filter(function (item) {
9890
10395
  return !item.hiddenInModalForm;
9891
10396
  })
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "private": false,
3
3
  "name": "wargerm",
4
- "version": "0.2.9",
4
+ "version": "0.2.13",
5
5
  "scripts": {
6
6
  "dev": "dumi dev",
7
7
  "docs:build": "dumi build",