kts-component-invoice-operate 3.2.214 → 4.0.1

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.
package/README.md CHANGED
@@ -7,3 +7,7 @@
7
7
 
8
8
 
9
9
  node 16.20.2
10
+
11
+ version 4.0.1
12
+ 这个版本升级主要是为了支持途虎的特殊票种,但是标准版暂时不能升级,数据结构发生了变化,22升级会导致报错,
13
+ 这是一个不兼容的升级
package/dist/index.esm.js CHANGED
@@ -8,7 +8,7 @@ import { message as message$1, TableManual, Switch, AutoComplete as AutoComplete
8
8
  import classnames from 'classnames';
9
9
  import { Table } from 'kts-components-antd-x4-v4';
10
10
  import { render } from 'react-dom';
11
- import { DatePicker, Row as Row$1, Col as Col$1, Cascader, Input as Input$2, Select as Select$2 } from 'kts-components-antd-x4';
11
+ import { DatePicker, Row as Row$1, Col as Col$1, Input as Input$2, Cascader, Select as Select$2 } from 'kts-components-antd-x4';
12
12
  import { Input as Input$3, NumberPicker } from '@formily/antd-components';
13
13
  import { createAsyncFormActions, FormEffectHooks, SchemaForm, FormButtonGroup, SchemaMarkupField } from '@formily/antd';
14
14
 
@@ -24285,7 +24285,7 @@ var Main$3 = decorator(Form.create())(function (props) {
24285
24285
  })), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Statistics$1, null)));
24286
24286
  });
24287
24287
 
24288
- var css_248z$r = ".kts-invoice-operate-real-estate-info-digtal {\n padding: 20px;\n border-bottom: 2px solid #9F613E;\n border-left: 2px solid #9F613E;\n border-right: 2px solid #9F613E;\n}\n.kts-invoice-operate-real-estate-info-digtal .real-estate-info-digtal-label {\n color: #9F613E;\n font-weight: bold;\n}\n.kts-invoice-operate-real-estate-info-digtal .ktsAnt3x-row.ktsAnt3x-form-item {\n margin-bottom: 0;\n}\n";
24288
+ var css_248z$r = ".kts-invoice-operate-real-estate-info-digtal {\n padding: 20px;\n border-bottom: 2px solid #9F613E;\n border-left: 2px solid #9F613E;\n border-right: 2px solid #9F613E;\n}\n.kts-invoice-operate-real-estate-info-digtal .real-estate-info-digtal-label {\n color: #9F613E;\n font-weight: bold;\n}\n.kts-invoice-operate-real-estate-info-digtal .ktsAnt3x-row.ktsAnt3x-form-item {\n margin-bottom: 0;\n}\n.kts-invoice-operate-real-estate-info-digtal .ktsAntX-row {\n border-bottom: 1px dashed #9F613E;\n}\n.kts-invoice-operate-real-estate-info-digtal .ktsAntX-row:last-child {\n border-bottom: none;\n}\n";
24289
24289
  styleInject(css_248z$r);
24290
24290
 
24291
24291
  var RangePicker = DatePicker.RangePicker;
@@ -24301,126 +24301,213 @@ var RealEstateInfo = decorator(Form.create())(function (props) {
24301
24301
  }, []);
24302
24302
  var readOnly = React.useMemo(function () {
24303
24303
  return model === 'readOnly';
24304
- }, [model]); // 注册 form
24304
+ }, [model]);
24305
+ var goodsList = controller.useMemo(function (s) {
24306
+ return s.goodsListState.goodsList;
24307
+ }, []);
24308
+ var indexRef = React.useRef([]);
24309
+ useEffect(function () {
24310
+ var dd = goodsList === null || goodsList === void 0 ? void 0 : goodsList.reduce(function (acc, cur) {
24311
+ if (cur.lineAttribute === 0) {
24312
+ acc.push(cur.$index);
24313
+ }
24314
+
24315
+ return acc;
24316
+ }, []);
24317
+ indexRef.current = dd;
24318
+ }, [goodsList, indexRef]); // 注册 form
24305
24319
 
24306
24320
  controller.useForm('realEstateInfo', form);
24321
+
24322
+ var getList = function getList() {
24323
+ var decrease = indexRef.current.length > goodsList.length;
24324
+
24325
+ if (decrease) {
24326
+ //已删行列表
24327
+ var diff = indexRef.current.filter(function (item) {
24328
+ return !goodsList.find(function (i) {
24329
+ return i.$index === item;
24330
+ });
24331
+ });
24332
+ var formData = form.getFieldValue('realEstateDataDto');
24333
+
24334
+ if (Array.isArray(formData) && diff.length > 0) {
24335
+ var newForm = formData === null || formData === void 0 ? void 0 : formData.filter(function (item) {
24336
+ return !diff.find(function (i) {
24337
+ return i === item.$index;
24338
+ });
24339
+ });
24340
+ form.setFieldsValue({
24341
+ realEstateDataDto: newForm
24342
+ });
24343
+ } else {
24344
+ form.setFieldsValue({
24345
+ realEstateDataDto: undefined
24346
+ });
24347
+ }
24348
+ }
24349
+
24350
+ return goodsList.map(function (item, index) {
24351
+ if (item.lineAttribute === 0) {
24352
+ return /*#__PURE__*/React.createElement(Row$1, {
24353
+ gutter: [17, 0]
24354
+ }, /*#__PURE__*/React.createElement(Col$1, {
24355
+ span: 6
24356
+ }, /*#__PURE__*/React.createElement(Form.Item, {
24357
+ style: {
24358
+ display: 'none'
24359
+ }
24360
+ }, getFieldDecorator("realEstateDataDto[".concat(index, "].$index"), {
24361
+ initialValue: item.$index
24362
+ })( /*#__PURE__*/React.createElement(Input$2, null))), /*#__PURE__*/React.createElement(Form.Item, {
24363
+ label: "\u4E0D\u52A8\u4EA7\u5730\u5740"
24364
+ }, getFieldDecorator("realEstateDataDto[".concat(index, "].realEstateAddress"), {
24365
+ rules: readOnly ? [] : [{
24366
+ required: true,
24367
+ message: '请选择不动产地址'
24368
+ }]
24369
+ })(readOnly ? /*#__PURE__*/React.createElement(MyArrString, null) : /*#__PURE__*/React.createElement(Cascader, {
24370
+ style: {
24371
+ width: '100%'
24372
+ },
24373
+ options: [{
24374
+ "name": "北京市"
24375
+ }] || props.realEstateAddressOptions,
24376
+ fieldNames: {
24377
+ label: 'name',
24378
+ value: 'name',
24379
+ children: 'children'
24380
+ } || props.realEstateAddressFieldNames,
24381
+ placeholder: "\u8BF7\u9009\u62E9\u7701\u5E02\u533A\u53BF"
24382
+ })))), /*#__PURE__*/React.createElement(Col$1, {
24383
+ span: 6
24384
+ }, /*#__PURE__*/React.createElement(Form.Item, {
24385
+ label: "\u8BE6\u7EC6\u5730\u5740"
24386
+ }, getFieldDecorator("realEstateDataDto[".concat(index, "].realEstateDetailedAddress"), {
24387
+ rules: readOnly ? [] : [{
24388
+ required: true,
24389
+ message: '请输入详细地址'
24390
+ }, {
24391
+ max: 120,
24392
+ message: '详细地址最多120个字符'
24393
+ }, {
24394
+ validator: function () {
24395
+ var _validator = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(_, value, callback) {
24396
+ var pattern;
24397
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
24398
+ while (1) {
24399
+ switch (_context.prev = _context.next) {
24400
+ case 0:
24401
+ pattern = /街|路|村|乡|镇|道|巷|号/;
24402
+
24403
+ if (pattern.test(value)) {
24404
+ callback();
24405
+ } else {
24406
+ callback('地址必须包含“街”、“路”、“村”、“乡”、“镇”、“道”、“巷”、“号”等任意一个关键词');
24407
+ }
24408
+
24409
+ case 2:
24410
+ case "end":
24411
+ return _context.stop();
24412
+ }
24413
+ }
24414
+ }, _callee);
24415
+ }));
24416
+
24417
+ function validator(_x, _x2, _x3) {
24418
+ return _validator.apply(this, arguments);
24419
+ }
24420
+
24421
+ return validator;
24422
+ }()
24423
+ }]
24424
+ })(readOnly ? /*#__PURE__*/React.createElement(MyDiv$3, null) : /*#__PURE__*/React.createElement(Input$2, {
24425
+ autoComplete: 'off',
24426
+ placeholder: "\u8BF7\u8F93\u5165\u8BE6\u7EC6\u5730\u5740"
24427
+ })))), /*#__PURE__*/React.createElement(Col$1, {
24428
+ span: 6
24429
+ }, /*#__PURE__*/React.createElement(Form.Item, {
24430
+ label: "\u79DF\u8D41\u671F\u8D77\u6B62"
24431
+ }, getFieldDecorator("realEstateDataDto[".concat(index, "].leaseTerm"), {
24432
+ rules: readOnly ? [] : [{
24433
+ required: true,
24434
+ message: '请输入租赁期'
24435
+ }]
24436
+ })(readOnly ? /*#__PURE__*/React.createElement(MyArrMoment, null) : /*#__PURE__*/React.createElement(RangePicker, {
24437
+ style: {
24438
+ width: '100%'
24439
+ }
24440
+ })))), /*#__PURE__*/React.createElement(Col$1, {
24441
+ span: 6
24442
+ }, /*#__PURE__*/React.createElement(Form.Item, {
24443
+ label: "\u8DE8\u5730\uFF08\u5E02\uFF09\u6807\u5FD7"
24444
+ }, getFieldDecorator("realEstateDataDto[".concat(index, "].crossCitiesSign"), {
24445
+ rules: readOnly ? [] : [{
24446
+ required: true,
24447
+ message: '请选择跨地(市)标志'
24448
+ }]
24449
+ })(readOnly ? /*#__PURE__*/React.createElement(MyNY, null) : /*#__PURE__*/React.createElement(Select$2, {
24450
+ placeholder: "\u8BF7\u9009\u62E9",
24451
+ style: {
24452
+ width: '100%'
24453
+ }
24454
+ }, /*#__PURE__*/React.createElement(Select$2.Option, {
24455
+ value: 'Y'
24456
+ }, "\u662F"), /*#__PURE__*/React.createElement(Select$2.Option, {
24457
+ value: 'N'
24458
+ }, "\u5426"))))), /*#__PURE__*/React.createElement(Col$1, {
24459
+ span: 6
24460
+ }, /*#__PURE__*/React.createElement(Form.Item, {
24461
+ label: "\u4EA7\u6743\u8BC1\u4E66/\u4E0D\u52A8\u4EA7\u6743\u8BC1\u53F7"
24462
+ }, getFieldDecorator("realEstateDataDto[".concat(index, "].realEstateNumber"), {
24463
+ rules: readOnly ? [] : [{
24464
+ required: true,
24465
+ message: '请输入证书编号,若没有证书填写“无”'
24466
+ }, {
24467
+ max: 40,
24468
+ message: '证书编号最多40个字符'
24469
+ }]
24470
+ })(readOnly ? /*#__PURE__*/React.createElement(MyDiv$3, null) : /*#__PURE__*/React.createElement(Input$2, {
24471
+ autoComplete: 'off',
24472
+ placeholder: "\u8BF7\u8F93\u5165\u8BC1\u4E66\u7F16\u53F7\uFF0C\u82E5\u6CA1\u6709\u8BC1\u4E66\u586B\u5199\u201C\u65E0\u201D"
24473
+ })))), /*#__PURE__*/React.createElement(Col$1, {
24474
+ span: 6
24475
+ }, /*#__PURE__*/React.createElement(Form.Item, {
24476
+ label: "\u9762\u79EF\u5355\u4F4D"
24477
+ }, getFieldDecorator("realEstateDataDto[".concat(index, "].realEstateUnit"), {
24478
+ rules: readOnly ? [] : [{
24479
+ required: true,
24480
+ message: '请选择面积单位'
24481
+ }]
24482
+ })(readOnly ? /*#__PURE__*/React.createElement(MyDiv$3, null) : /*#__PURE__*/React.createElement(Select$2, {
24483
+ placeholder: "\u8BF7\u9009\u62E9",
24484
+ style: {
24485
+ width: '100%'
24486
+ }
24487
+ }, /*#__PURE__*/React.createElement(Select$2.Option, {
24488
+ value: "\u5E73\u65B9\u5343\u7C73"
24489
+ }, "\u5E73\u65B9\u5343\u7C73"), /*#__PURE__*/React.createElement(Select$2.Option, {
24490
+ value: "\u5E73\u65B9\u7C73"
24491
+ }, "\u5E73\u65B9\u7C73"), /*#__PURE__*/React.createElement(Select$2.Option, {
24492
+ value: "\u516C\u9877"
24493
+ }, "\u516C\u9877"), /*#__PURE__*/React.createElement(Select$2.Option, {
24494
+ value: "\u4EA9"
24495
+ }, "\u4EA9"), /*#__PURE__*/React.createElement(Select$2.Option, {
24496
+ value: "h\u33A1"
24497
+ }, "h\u33A1"), /*#__PURE__*/React.createElement(Select$2.Option, {
24498
+ value: "k\u33A1"
24499
+ }, "k\u33A1"), /*#__PURE__*/React.createElement(Select$2.Option, {
24500
+ value: "\u33A1"
24501
+ }, "\u33A1"))))));
24502
+ }
24503
+ });
24504
+ };
24505
+
24307
24506
  return /*#__PURE__*/React.createElement("div", {
24308
24507
  className: "kts-invoice-operate-real-estate-info-digtal"
24309
24508
  }, /*#__PURE__*/React.createElement("div", {
24310
24509
  className: 'real-estate-info-digtal-label'
24311
- }, "\u7279\u6B8A\u4FE1\u606F-\u4E0D\u52A8\u4EA7\u7ECF\u8425\u79DF\u8D41\u670D\u52A1"), /*#__PURE__*/React.createElement(Row$1, {
24312
- gutter: [17, 0]
24313
- }, /*#__PURE__*/React.createElement(Col$1, {
24314
- span: 6
24315
- }, /*#__PURE__*/React.createElement(Form.Item, {
24316
- label: "\u4E0D\u52A8\u4EA7\u5730\u5740"
24317
- }, getFieldDecorator('realEstateAddress', {
24318
- rules: readOnly ? [] : [{
24319
- required: true,
24320
- message: '请选择不动产地址'
24321
- }]
24322
- })(readOnly ? /*#__PURE__*/React.createElement(MyArrString, null) : /*#__PURE__*/React.createElement(Cascader, {
24323
- style: {
24324
- width: '100%'
24325
- },
24326
- options: props.realEstateAddressOptions,
24327
- fieldNames: props.realEstateAddressFieldNames,
24328
- placeholder: "\u8BF7\u9009\u62E9\u7701\u5E02\u533A\u53BF"
24329
- })))), /*#__PURE__*/React.createElement(Col$1, {
24330
- span: 6
24331
- }, /*#__PURE__*/React.createElement(Form.Item, {
24332
- label: "\u8BE6\u7EC6\u5730\u5740"
24333
- }, getFieldDecorator('realEstateDetailedAddress', {
24334
- rules: readOnly ? [] : [{
24335
- required: true,
24336
- message: '请输入详细地址'
24337
- }, {
24338
- max: 120,
24339
- message: '详细地址最多120个字符'
24340
- }, {
24341
- validator: function validator(_, value) {
24342
- var pattern = /街|路|村|乡|镇|道|巷|号/;
24343
- return pattern.test(value) ? Promise.resolve() : Promise.reject('地址必须包含“街”、“路”、“村”、“乡”、“镇”、“道”、“巷”、“号”等任意一个关键词');
24344
- }
24345
- }]
24346
- })(readOnly ? /*#__PURE__*/React.createElement(MyDiv$3, null) : /*#__PURE__*/React.createElement(Input$2, {
24347
- autoComplete: 'off',
24348
- placeholder: "\u8BF7\u8F93\u5165\u8BE6\u7EC6\u5730\u5740"
24349
- })))), /*#__PURE__*/React.createElement(Col$1, {
24350
- span: 6
24351
- }, /*#__PURE__*/React.createElement(Form.Item, {
24352
- label: "\u79DF\u8D41\u671F\u8D77\u6B62"
24353
- }, getFieldDecorator('leaseTerm', {
24354
- rules: readOnly ? [] : [{
24355
- required: true,
24356
- message: '请输入租赁期'
24357
- }]
24358
- })(readOnly ? /*#__PURE__*/React.createElement(MyArrMoment, null) : /*#__PURE__*/React.createElement(RangePicker, {
24359
- style: {
24360
- width: '100%'
24361
- }
24362
- })))), /*#__PURE__*/React.createElement(Col$1, {
24363
- span: 6
24364
- }, /*#__PURE__*/React.createElement(Form.Item, {
24365
- label: "\u8DE8\u5730\uFF08\u5E02\uFF09\u6807\u5FD7"
24366
- }, getFieldDecorator('crossCitiesSign', {
24367
- rules: readOnly ? [] : [{
24368
- required: true,
24369
- message: '请选择跨地(市)标志'
24370
- }]
24371
- })(readOnly ? /*#__PURE__*/React.createElement(MyNY, null) : /*#__PURE__*/React.createElement(Select$2, {
24372
- placeholder: "\u8BF7\u9009\u62E9",
24373
- style: {
24374
- width: '100%'
24375
- }
24376
- }, /*#__PURE__*/React.createElement(Select$2.Option, {
24377
- value: 'Y'
24378
- }, "\u662F"), /*#__PURE__*/React.createElement(Select$2.Option, {
24379
- value: 'N'
24380
- }, "\u5426"))))), /*#__PURE__*/React.createElement(Col$1, {
24381
- span: 6
24382
- }, /*#__PURE__*/React.createElement(Form.Item, {
24383
- label: "\u4EA7\u6743\u8BC1\u4E66/\u4E0D\u52A8\u4EA7\u6743\u8BC1\u53F7"
24384
- }, getFieldDecorator('realEstateNumber', {
24385
- rules: readOnly ? [] : [{
24386
- required: true,
24387
- message: '请输入证书编号,若没有证书填写“无”'
24388
- }, {
24389
- max: 40,
24390
- message: '证书编号最多40个字符'
24391
- }]
24392
- })(readOnly ? /*#__PURE__*/React.createElement(MyDiv$3, null) : /*#__PURE__*/React.createElement(Input$2, {
24393
- autoComplete: 'off',
24394
- placeholder: "\u8BF7\u8F93\u5165\u8BC1\u4E66\u7F16\u53F7\uFF0C\u82E5\u6CA1\u6709\u8BC1\u4E66\u586B\u5199\u201C\u65E0\u201D"
24395
- })))), /*#__PURE__*/React.createElement(Col$1, {
24396
- span: 6
24397
- }, /*#__PURE__*/React.createElement(Form.Item, {
24398
- label: "\u9762\u79EF\u5355\u4F4D"
24399
- }, getFieldDecorator('realEstateUnit', {
24400
- rules: readOnly ? [] : [{
24401
- required: true,
24402
- message: '请选择面积单位'
24403
- }]
24404
- })(readOnly ? /*#__PURE__*/React.createElement(MyDiv$3, null) : /*#__PURE__*/React.createElement(Select$2, {
24405
- placeholder: "\u8BF7\u9009\u62E9",
24406
- style: {
24407
- width: '100%'
24408
- }
24409
- }, /*#__PURE__*/React.createElement(Select$2.Option, {
24410
- value: "\u5E73\u65B9\u5343\u7C73"
24411
- }, "\u5E73\u65B9\u5343\u7C73"), /*#__PURE__*/React.createElement(Select$2.Option, {
24412
- value: "\u5E73\u65B9\u7C73"
24413
- }, "\u5E73\u65B9\u7C73"), /*#__PURE__*/React.createElement(Select$2.Option, {
24414
- value: "\u516C\u9877"
24415
- }, "\u516C\u9877"), /*#__PURE__*/React.createElement(Select$2.Option, {
24416
- value: "\u4EA9"
24417
- }, "\u4EA9"), /*#__PURE__*/React.createElement(Select$2.Option, {
24418
- value: "h\u33A1"
24419
- }, "h\u33A1"), /*#__PURE__*/React.createElement(Select$2.Option, {
24420
- value: "k\u33A1"
24421
- }, "k\u33A1"), /*#__PURE__*/React.createElement(Select$2.Option, {
24422
- value: "\u33A1"
24423
- }, "\u33A1")))))));
24510
+ }, "\u7279\u6B8A\u4FE1\u606F-\u4E0D\u52A8\u4EA7\u7ECF\u8425\u79DF\u8D41\u670D\u52A1"), getList());
24424
24511
  });
24425
24512
 
24426
24513
  var MyDiv$3 = /*#__PURE__*/function (_React$Component) {
package/dist/index.js CHANGED
@@ -24295,7 +24295,7 @@ var Main$3 = GreyReactBox.decorator(ktsComponentsAntdX3.Form.create())(function
24295
24295
  })), /*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement(Statistics$1, null)));
24296
24296
  });
24297
24297
 
24298
- var css_248z$r = ".kts-invoice-operate-real-estate-info-digtal {\n padding: 20px;\n border-bottom: 2px solid #9F613E;\n border-left: 2px solid #9F613E;\n border-right: 2px solid #9F613E;\n}\n.kts-invoice-operate-real-estate-info-digtal .real-estate-info-digtal-label {\n color: #9F613E;\n font-weight: bold;\n}\n.kts-invoice-operate-real-estate-info-digtal .ktsAnt3x-row.ktsAnt3x-form-item {\n margin-bottom: 0;\n}\n";
24298
+ var css_248z$r = ".kts-invoice-operate-real-estate-info-digtal {\n padding: 20px;\n border-bottom: 2px solid #9F613E;\n border-left: 2px solid #9F613E;\n border-right: 2px solid #9F613E;\n}\n.kts-invoice-operate-real-estate-info-digtal .real-estate-info-digtal-label {\n color: #9F613E;\n font-weight: bold;\n}\n.kts-invoice-operate-real-estate-info-digtal .ktsAnt3x-row.ktsAnt3x-form-item {\n margin-bottom: 0;\n}\n.kts-invoice-operate-real-estate-info-digtal .ktsAntX-row {\n border-bottom: 1px dashed #9F613E;\n}\n.kts-invoice-operate-real-estate-info-digtal .ktsAntX-row:last-child {\n border-bottom: none;\n}\n";
24299
24299
  styleInject(css_248z$r);
24300
24300
 
24301
24301
  var RangePicker = ktsComponentsAntdX4.DatePicker.RangePicker;
@@ -24311,126 +24311,213 @@ var RealEstateInfo = GreyReactBox.decorator(ktsComponentsAntdX3.Form.create())(f
24311
24311
  }, []);
24312
24312
  var readOnly = React__default['default'].useMemo(function () {
24313
24313
  return model === 'readOnly';
24314
- }, [model]); // 注册 form
24314
+ }, [model]);
24315
+ var goodsList = controller.useMemo(function (s) {
24316
+ return s.goodsListState.goodsList;
24317
+ }, []);
24318
+ var indexRef = React__default['default'].useRef([]);
24319
+ React.useEffect(function () {
24320
+ var dd = goodsList === null || goodsList === void 0 ? void 0 : goodsList.reduce(function (acc, cur) {
24321
+ if (cur.lineAttribute === 0) {
24322
+ acc.push(cur.$index);
24323
+ }
24324
+
24325
+ return acc;
24326
+ }, []);
24327
+ indexRef.current = dd;
24328
+ }, [goodsList, indexRef]); // 注册 form
24315
24329
 
24316
24330
  controller.useForm('realEstateInfo', form);
24331
+
24332
+ var getList = function getList() {
24333
+ var decrease = indexRef.current.length > goodsList.length;
24334
+
24335
+ if (decrease) {
24336
+ //已删行列表
24337
+ var diff = indexRef.current.filter(function (item) {
24338
+ return !goodsList.find(function (i) {
24339
+ return i.$index === item;
24340
+ });
24341
+ });
24342
+ var formData = form.getFieldValue('realEstateDataDto');
24343
+
24344
+ if (Array.isArray(formData) && diff.length > 0) {
24345
+ var newForm = formData === null || formData === void 0 ? void 0 : formData.filter(function (item) {
24346
+ return !diff.find(function (i) {
24347
+ return i === item.$index;
24348
+ });
24349
+ });
24350
+ form.setFieldsValue({
24351
+ realEstateDataDto: newForm
24352
+ });
24353
+ } else {
24354
+ form.setFieldsValue({
24355
+ realEstateDataDto: undefined
24356
+ });
24357
+ }
24358
+ }
24359
+
24360
+ return goodsList.map(function (item, index) {
24361
+ if (item.lineAttribute === 0) {
24362
+ return /*#__PURE__*/React__default['default'].createElement(ktsComponentsAntdX4.Row, {
24363
+ gutter: [17, 0]
24364
+ }, /*#__PURE__*/React__default['default'].createElement(ktsComponentsAntdX4.Col, {
24365
+ span: 6
24366
+ }, /*#__PURE__*/React__default['default'].createElement(ktsComponentsAntdX3.Form.Item, {
24367
+ style: {
24368
+ display: 'none'
24369
+ }
24370
+ }, getFieldDecorator("realEstateDataDto[".concat(index, "].$index"), {
24371
+ initialValue: item.$index
24372
+ })( /*#__PURE__*/React__default['default'].createElement(ktsComponentsAntdX4.Input, null))), /*#__PURE__*/React__default['default'].createElement(ktsComponentsAntdX3.Form.Item, {
24373
+ label: "\u4E0D\u52A8\u4EA7\u5730\u5740"
24374
+ }, getFieldDecorator("realEstateDataDto[".concat(index, "].realEstateAddress"), {
24375
+ rules: readOnly ? [] : [{
24376
+ required: true,
24377
+ message: '请选择不动产地址'
24378
+ }]
24379
+ })(readOnly ? /*#__PURE__*/React__default['default'].createElement(MyArrString, null) : /*#__PURE__*/React__default['default'].createElement(ktsComponentsAntdX4.Cascader, {
24380
+ style: {
24381
+ width: '100%'
24382
+ },
24383
+ options: [{
24384
+ "name": "北京市"
24385
+ }] || props.realEstateAddressOptions,
24386
+ fieldNames: {
24387
+ label: 'name',
24388
+ value: 'name',
24389
+ children: 'children'
24390
+ } || props.realEstateAddressFieldNames,
24391
+ placeholder: "\u8BF7\u9009\u62E9\u7701\u5E02\u533A\u53BF"
24392
+ })))), /*#__PURE__*/React__default['default'].createElement(ktsComponentsAntdX4.Col, {
24393
+ span: 6
24394
+ }, /*#__PURE__*/React__default['default'].createElement(ktsComponentsAntdX3.Form.Item, {
24395
+ label: "\u8BE6\u7EC6\u5730\u5740"
24396
+ }, getFieldDecorator("realEstateDataDto[".concat(index, "].realEstateDetailedAddress"), {
24397
+ rules: readOnly ? [] : [{
24398
+ required: true,
24399
+ message: '请输入详细地址'
24400
+ }, {
24401
+ max: 120,
24402
+ message: '详细地址最多120个字符'
24403
+ }, {
24404
+ validator: function () {
24405
+ var _validator = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(_, value, callback) {
24406
+ var pattern;
24407
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
24408
+ while (1) {
24409
+ switch (_context.prev = _context.next) {
24410
+ case 0:
24411
+ pattern = /街|路|村|乡|镇|道|巷|号/;
24412
+
24413
+ if (pattern.test(value)) {
24414
+ callback();
24415
+ } else {
24416
+ callback('地址必须包含“街”、“路”、“村”、“乡”、“镇”、“道”、“巷”、“号”等任意一个关键词');
24417
+ }
24418
+
24419
+ case 2:
24420
+ case "end":
24421
+ return _context.stop();
24422
+ }
24423
+ }
24424
+ }, _callee);
24425
+ }));
24426
+
24427
+ function validator(_x, _x2, _x3) {
24428
+ return _validator.apply(this, arguments);
24429
+ }
24430
+
24431
+ return validator;
24432
+ }()
24433
+ }]
24434
+ })(readOnly ? /*#__PURE__*/React__default['default'].createElement(MyDiv$3, null) : /*#__PURE__*/React__default['default'].createElement(ktsComponentsAntdX4.Input, {
24435
+ autoComplete: 'off',
24436
+ placeholder: "\u8BF7\u8F93\u5165\u8BE6\u7EC6\u5730\u5740"
24437
+ })))), /*#__PURE__*/React__default['default'].createElement(ktsComponentsAntdX4.Col, {
24438
+ span: 6
24439
+ }, /*#__PURE__*/React__default['default'].createElement(ktsComponentsAntdX3.Form.Item, {
24440
+ label: "\u79DF\u8D41\u671F\u8D77\u6B62"
24441
+ }, getFieldDecorator("realEstateDataDto[".concat(index, "].leaseTerm"), {
24442
+ rules: readOnly ? [] : [{
24443
+ required: true,
24444
+ message: '请输入租赁期'
24445
+ }]
24446
+ })(readOnly ? /*#__PURE__*/React__default['default'].createElement(MyArrMoment, null) : /*#__PURE__*/React__default['default'].createElement(RangePicker, {
24447
+ style: {
24448
+ width: '100%'
24449
+ }
24450
+ })))), /*#__PURE__*/React__default['default'].createElement(ktsComponentsAntdX4.Col, {
24451
+ span: 6
24452
+ }, /*#__PURE__*/React__default['default'].createElement(ktsComponentsAntdX3.Form.Item, {
24453
+ label: "\u8DE8\u5730\uFF08\u5E02\uFF09\u6807\u5FD7"
24454
+ }, getFieldDecorator("realEstateDataDto[".concat(index, "].crossCitiesSign"), {
24455
+ rules: readOnly ? [] : [{
24456
+ required: true,
24457
+ message: '请选择跨地(市)标志'
24458
+ }]
24459
+ })(readOnly ? /*#__PURE__*/React__default['default'].createElement(MyNY, null) : /*#__PURE__*/React__default['default'].createElement(ktsComponentsAntdX4.Select, {
24460
+ placeholder: "\u8BF7\u9009\u62E9",
24461
+ style: {
24462
+ width: '100%'
24463
+ }
24464
+ }, /*#__PURE__*/React__default['default'].createElement(ktsComponentsAntdX4.Select.Option, {
24465
+ value: 'Y'
24466
+ }, "\u662F"), /*#__PURE__*/React__default['default'].createElement(ktsComponentsAntdX4.Select.Option, {
24467
+ value: 'N'
24468
+ }, "\u5426"))))), /*#__PURE__*/React__default['default'].createElement(ktsComponentsAntdX4.Col, {
24469
+ span: 6
24470
+ }, /*#__PURE__*/React__default['default'].createElement(ktsComponentsAntdX3.Form.Item, {
24471
+ label: "\u4EA7\u6743\u8BC1\u4E66/\u4E0D\u52A8\u4EA7\u6743\u8BC1\u53F7"
24472
+ }, getFieldDecorator("realEstateDataDto[".concat(index, "].realEstateNumber"), {
24473
+ rules: readOnly ? [] : [{
24474
+ required: true,
24475
+ message: '请输入证书编号,若没有证书填写“无”'
24476
+ }, {
24477
+ max: 40,
24478
+ message: '证书编号最多40个字符'
24479
+ }]
24480
+ })(readOnly ? /*#__PURE__*/React__default['default'].createElement(MyDiv$3, null) : /*#__PURE__*/React__default['default'].createElement(ktsComponentsAntdX4.Input, {
24481
+ autoComplete: 'off',
24482
+ placeholder: "\u8BF7\u8F93\u5165\u8BC1\u4E66\u7F16\u53F7\uFF0C\u82E5\u6CA1\u6709\u8BC1\u4E66\u586B\u5199\u201C\u65E0\u201D"
24483
+ })))), /*#__PURE__*/React__default['default'].createElement(ktsComponentsAntdX4.Col, {
24484
+ span: 6
24485
+ }, /*#__PURE__*/React__default['default'].createElement(ktsComponentsAntdX3.Form.Item, {
24486
+ label: "\u9762\u79EF\u5355\u4F4D"
24487
+ }, getFieldDecorator("realEstateDataDto[".concat(index, "].realEstateUnit"), {
24488
+ rules: readOnly ? [] : [{
24489
+ required: true,
24490
+ message: '请选择面积单位'
24491
+ }]
24492
+ })(readOnly ? /*#__PURE__*/React__default['default'].createElement(MyDiv$3, null) : /*#__PURE__*/React__default['default'].createElement(ktsComponentsAntdX4.Select, {
24493
+ placeholder: "\u8BF7\u9009\u62E9",
24494
+ style: {
24495
+ width: '100%'
24496
+ }
24497
+ }, /*#__PURE__*/React__default['default'].createElement(ktsComponentsAntdX4.Select.Option, {
24498
+ value: "\u5E73\u65B9\u5343\u7C73"
24499
+ }, "\u5E73\u65B9\u5343\u7C73"), /*#__PURE__*/React__default['default'].createElement(ktsComponentsAntdX4.Select.Option, {
24500
+ value: "\u5E73\u65B9\u7C73"
24501
+ }, "\u5E73\u65B9\u7C73"), /*#__PURE__*/React__default['default'].createElement(ktsComponentsAntdX4.Select.Option, {
24502
+ value: "\u516C\u9877"
24503
+ }, "\u516C\u9877"), /*#__PURE__*/React__default['default'].createElement(ktsComponentsAntdX4.Select.Option, {
24504
+ value: "\u4EA9"
24505
+ }, "\u4EA9"), /*#__PURE__*/React__default['default'].createElement(ktsComponentsAntdX4.Select.Option, {
24506
+ value: "h\u33A1"
24507
+ }, "h\u33A1"), /*#__PURE__*/React__default['default'].createElement(ktsComponentsAntdX4.Select.Option, {
24508
+ value: "k\u33A1"
24509
+ }, "k\u33A1"), /*#__PURE__*/React__default['default'].createElement(ktsComponentsAntdX4.Select.Option, {
24510
+ value: "\u33A1"
24511
+ }, "\u33A1"))))));
24512
+ }
24513
+ });
24514
+ };
24515
+
24317
24516
  return /*#__PURE__*/React__default['default'].createElement("div", {
24318
24517
  className: "kts-invoice-operate-real-estate-info-digtal"
24319
24518
  }, /*#__PURE__*/React__default['default'].createElement("div", {
24320
24519
  className: 'real-estate-info-digtal-label'
24321
- }, "\u7279\u6B8A\u4FE1\u606F-\u4E0D\u52A8\u4EA7\u7ECF\u8425\u79DF\u8D41\u670D\u52A1"), /*#__PURE__*/React__default['default'].createElement(ktsComponentsAntdX4.Row, {
24322
- gutter: [17, 0]
24323
- }, /*#__PURE__*/React__default['default'].createElement(ktsComponentsAntdX4.Col, {
24324
- span: 6
24325
- }, /*#__PURE__*/React__default['default'].createElement(ktsComponentsAntdX3.Form.Item, {
24326
- label: "\u4E0D\u52A8\u4EA7\u5730\u5740"
24327
- }, getFieldDecorator('realEstateAddress', {
24328
- rules: readOnly ? [] : [{
24329
- required: true,
24330
- message: '请选择不动产地址'
24331
- }]
24332
- })(readOnly ? /*#__PURE__*/React__default['default'].createElement(MyArrString, null) : /*#__PURE__*/React__default['default'].createElement(ktsComponentsAntdX4.Cascader, {
24333
- style: {
24334
- width: '100%'
24335
- },
24336
- options: props.realEstateAddressOptions,
24337
- fieldNames: props.realEstateAddressFieldNames,
24338
- placeholder: "\u8BF7\u9009\u62E9\u7701\u5E02\u533A\u53BF"
24339
- })))), /*#__PURE__*/React__default['default'].createElement(ktsComponentsAntdX4.Col, {
24340
- span: 6
24341
- }, /*#__PURE__*/React__default['default'].createElement(ktsComponentsAntdX3.Form.Item, {
24342
- label: "\u8BE6\u7EC6\u5730\u5740"
24343
- }, getFieldDecorator('realEstateDetailedAddress', {
24344
- rules: readOnly ? [] : [{
24345
- required: true,
24346
- message: '请输入详细地址'
24347
- }, {
24348
- max: 120,
24349
- message: '详细地址最多120个字符'
24350
- }, {
24351
- validator: function validator(_, value) {
24352
- var pattern = /街|路|村|乡|镇|道|巷|号/;
24353
- return pattern.test(value) ? Promise.resolve() : Promise.reject('地址必须包含“街”、“路”、“村”、“乡”、“镇”、“道”、“巷”、“号”等任意一个关键词');
24354
- }
24355
- }]
24356
- })(readOnly ? /*#__PURE__*/React__default['default'].createElement(MyDiv$3, null) : /*#__PURE__*/React__default['default'].createElement(ktsComponentsAntdX4.Input, {
24357
- autoComplete: 'off',
24358
- placeholder: "\u8BF7\u8F93\u5165\u8BE6\u7EC6\u5730\u5740"
24359
- })))), /*#__PURE__*/React__default['default'].createElement(ktsComponentsAntdX4.Col, {
24360
- span: 6
24361
- }, /*#__PURE__*/React__default['default'].createElement(ktsComponentsAntdX3.Form.Item, {
24362
- label: "\u79DF\u8D41\u671F\u8D77\u6B62"
24363
- }, getFieldDecorator('leaseTerm', {
24364
- rules: readOnly ? [] : [{
24365
- required: true,
24366
- message: '请输入租赁期'
24367
- }]
24368
- })(readOnly ? /*#__PURE__*/React__default['default'].createElement(MyArrMoment, null) : /*#__PURE__*/React__default['default'].createElement(RangePicker, {
24369
- style: {
24370
- width: '100%'
24371
- }
24372
- })))), /*#__PURE__*/React__default['default'].createElement(ktsComponentsAntdX4.Col, {
24373
- span: 6
24374
- }, /*#__PURE__*/React__default['default'].createElement(ktsComponentsAntdX3.Form.Item, {
24375
- label: "\u8DE8\u5730\uFF08\u5E02\uFF09\u6807\u5FD7"
24376
- }, getFieldDecorator('crossCitiesSign', {
24377
- rules: readOnly ? [] : [{
24378
- required: true,
24379
- message: '请选择跨地(市)标志'
24380
- }]
24381
- })(readOnly ? /*#__PURE__*/React__default['default'].createElement(MyNY, null) : /*#__PURE__*/React__default['default'].createElement(ktsComponentsAntdX4.Select, {
24382
- placeholder: "\u8BF7\u9009\u62E9",
24383
- style: {
24384
- width: '100%'
24385
- }
24386
- }, /*#__PURE__*/React__default['default'].createElement(ktsComponentsAntdX4.Select.Option, {
24387
- value: 'Y'
24388
- }, "\u662F"), /*#__PURE__*/React__default['default'].createElement(ktsComponentsAntdX4.Select.Option, {
24389
- value: 'N'
24390
- }, "\u5426"))))), /*#__PURE__*/React__default['default'].createElement(ktsComponentsAntdX4.Col, {
24391
- span: 6
24392
- }, /*#__PURE__*/React__default['default'].createElement(ktsComponentsAntdX3.Form.Item, {
24393
- label: "\u4EA7\u6743\u8BC1\u4E66/\u4E0D\u52A8\u4EA7\u6743\u8BC1\u53F7"
24394
- }, getFieldDecorator('realEstateNumber', {
24395
- rules: readOnly ? [] : [{
24396
- required: true,
24397
- message: '请输入证书编号,若没有证书填写“无”'
24398
- }, {
24399
- max: 40,
24400
- message: '证书编号最多40个字符'
24401
- }]
24402
- })(readOnly ? /*#__PURE__*/React__default['default'].createElement(MyDiv$3, null) : /*#__PURE__*/React__default['default'].createElement(ktsComponentsAntdX4.Input, {
24403
- autoComplete: 'off',
24404
- placeholder: "\u8BF7\u8F93\u5165\u8BC1\u4E66\u7F16\u53F7\uFF0C\u82E5\u6CA1\u6709\u8BC1\u4E66\u586B\u5199\u201C\u65E0\u201D"
24405
- })))), /*#__PURE__*/React__default['default'].createElement(ktsComponentsAntdX4.Col, {
24406
- span: 6
24407
- }, /*#__PURE__*/React__default['default'].createElement(ktsComponentsAntdX3.Form.Item, {
24408
- label: "\u9762\u79EF\u5355\u4F4D"
24409
- }, getFieldDecorator('realEstateUnit', {
24410
- rules: readOnly ? [] : [{
24411
- required: true,
24412
- message: '请选择面积单位'
24413
- }]
24414
- })(readOnly ? /*#__PURE__*/React__default['default'].createElement(MyDiv$3, null) : /*#__PURE__*/React__default['default'].createElement(ktsComponentsAntdX4.Select, {
24415
- placeholder: "\u8BF7\u9009\u62E9",
24416
- style: {
24417
- width: '100%'
24418
- }
24419
- }, /*#__PURE__*/React__default['default'].createElement(ktsComponentsAntdX4.Select.Option, {
24420
- value: "\u5E73\u65B9\u5343\u7C73"
24421
- }, "\u5E73\u65B9\u5343\u7C73"), /*#__PURE__*/React__default['default'].createElement(ktsComponentsAntdX4.Select.Option, {
24422
- value: "\u5E73\u65B9\u7C73"
24423
- }, "\u5E73\u65B9\u7C73"), /*#__PURE__*/React__default['default'].createElement(ktsComponentsAntdX4.Select.Option, {
24424
- value: "\u516C\u9877"
24425
- }, "\u516C\u9877"), /*#__PURE__*/React__default['default'].createElement(ktsComponentsAntdX4.Select.Option, {
24426
- value: "\u4EA9"
24427
- }, "\u4EA9"), /*#__PURE__*/React__default['default'].createElement(ktsComponentsAntdX4.Select.Option, {
24428
- value: "h\u33A1"
24429
- }, "h\u33A1"), /*#__PURE__*/React__default['default'].createElement(ktsComponentsAntdX4.Select.Option, {
24430
- value: "k\u33A1"
24431
- }, "k\u33A1"), /*#__PURE__*/React__default['default'].createElement(ktsComponentsAntdX4.Select.Option, {
24432
- value: "\u33A1"
24433
- }, "\u33A1")))))));
24520
+ }, "\u7279\u6B8A\u4FE1\u606F-\u4E0D\u52A8\u4EA7\u7ECF\u8425\u79DF\u8D41\u670D\u52A1"), getList());
24434
24521
  });
24435
24522
 
24436
24523
  var MyDiv$3 = /*#__PURE__*/function (_React$Component) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kts-component-invoice-operate",
3
- "version": "3.2.214",
3
+ "version": "4.0.1",
4
4
  "scripts": {
5
5
  "dev": "dumi dev --max-old-space-size=6096",
6
6
  "start": "dumi dev",
@@ -122,14 +122,16 @@ export default () => {
122
122
  }
123
123
  React.useEffect(() => {
124
124
  controller.run(async s => {
125
- s.stakeholder.enables = ['taxAmount'];
126
- s.priceIntegerDigit = 25;
127
- s.calculatingDigits = 25;
125
+ s.goodsListState.isRecalculateWhenSwitchTax = true;
128
126
  s.goodsListState.isTaxIncluded = false;
129
- s.goodsListState.amountExcludeTax = parseFloat(data?.invoiceAmount) || undefined;
130
- s.goodsListState.amountIncludeTax = parseFloat(data?.totalAmount) || undefined;
131
- s.goodsListState.amountTax = parseFloat(data?.taxAmount) || undefined;
132
- s.goodsListState.goodsList = data?.detailList?.map(e => sToCi(e)) ?? [];
127
+ // s.stakeholder.enables = ['taxAmount'];
128
+ // s.priceIntegerDigit = 25;
129
+ // s.calculatingDigits = 25;
130
+ // s.goodsListState.isTaxIncluded = false;
131
+ // s.goodsListState.amountExcludeTax = parseFloat(data?.invoiceAmount) || undefined;
132
+ // s.goodsListState.amountIncludeTax = parseFloat(data?.totalAmount) || undefined;
133
+ // s.goodsListState.amountTax = parseFloat(data?.taxAmount) || undefined;
134
+ // s.goodsListState.goodsList = data?.detailList?.map(e => sToCi(e)) ?? [];
133
135
  })
134
136
  }, [controller])
135
137
  return (
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import Invoice from '../../..';
3
3
  import moment from 'moment';
4
4
  import 'antd/dist/antd.css';
5
-
5
+ import { Button } from 'kts-components-antd-x3';
6
6
  export default () => {
7
7
 
8
8
  const controller = React.useMemo(() => new Invoice.InvoiceController(), []);
@@ -11,12 +11,18 @@ export default () => {
11
11
  controller.run(async s => {
12
12
  })
13
13
  }, [])
14
-
14
+ const onSave =async ()=>{
15
+ const formValues = await controller.validateFields();
16
+ console.log(formValues)
17
+ }
15
18
  return (
19
+ <>
20
+ <Button onClick={onSave}>输出表单内容</Button>
16
21
  <Invoice
17
22
  invoiceType='digtal'
18
23
  controller={controller}
19
24
  specialInfor={<Invoice.RealEstateInfo />}
20
25
  />
26
+ </>
21
27
  )
22
28
  };
@@ -1,10 +1,13 @@
1
1
  # 数电
2
2
 
3
- ## 简单用法
4
- <code src="./_test/easiest/index.tsx"></code>
3
+ <!-- ## 简单用法
4
+ <code src="./_test/easiest/index.tsx"></code> -->
5
5
 
6
- ## 建筑服务
7
- <code src="./_test/architecture/index.tsx"></code>
6
+ ## 不动产经营租赁服务
7
+ <code src="./_test/realEstateInfo/index.tsx"></code>
8
+
9
+ <!-- ## 建筑服务
10
+ <code src="./_test/architecture/index.tsx"></code> -->
8
11
 
9
12
  <!-- ## 只读模式
10
13
  <code src="./_test/readOnly/index.tsx"></code> -->
@@ -33,10 +36,9 @@
33
36
  ## 查看当前可用授信额度
34
37
  <code src="./_test/lineCredit/index.tsx"></code>
35
38
 
36
- ## 不动产经营租赁服务
37
- <code src="./_test/realEstateInfo/index.tsx"></code>
39
+
38
40
 
39
41
  -->
40
42
 
41
- ## 货物运输服务
42
- <code src="./_test/freight/index.tsx"></code>
43
+ <!-- ## 货物运输服务
44
+ <code src="./_test/freight/index.tsx"></code> -->
@@ -12,4 +12,11 @@
12
12
  .ktsAnt3x-row.ktsAnt3x-form-item {
13
13
  margin-bottom: 0;
14
14
  }
15
+ .ktsAntX-row{
16
+ border-bottom: 1px dashed #9F613E;
17
+ &:last-child {
18
+ border-bottom: none;
19
+ }
20
+ }
21
+
15
22
  }
@@ -1,5 +1,5 @@
1
1
 
2
- import React from "react";
2
+ import React, { useEffect } from "react";
3
3
  import { decorator } from 'grey-react-box';
4
4
  import { Form } from 'kts-components-antd-x3';
5
5
  import { FormComponentProps } from 'kts-components-antd-x3/lib/form';
@@ -36,110 +36,164 @@ export default decorator<RealEstateInfoProps, FormComponentProps & RealEstateInf
36
36
 
37
37
  const readOnly = React.useMemo(() => model === 'readOnly', [model]);
38
38
 
39
+ const goodsList = controller.useMemo(s => s.goodsListState.goodsList, []);
40
+ const indexRef = React.useRef<any>([]);
41
+ useEffect(() => {
42
+ const dd = goodsList?.reduce((acc: any, cur: any) => {
43
+ if (cur.lineAttribute === 0) {
44
+ acc.push(cur.$index)
45
+ }
46
+ return acc
47
+ }, [])
48
+ indexRef.current = dd;
49
+ }, [goodsList, indexRef])
39
50
  // 注册 form
40
51
  controller.useForm('realEstateInfo', form);
41
-
52
+ const getList = () => {
53
+ const decrease = indexRef.current.length > goodsList.length
54
+ if (decrease) {
55
+ //已删行列表
56
+ const diff = indexRef.current.filter((item: any) => !goodsList.find(i => i.$index === item));
57
+
58
+ const formData: any[] = form.getFieldValue('realEstateDataDto');
59
+ if (Array.isArray(formData) && diff.length > 0) {
60
+
61
+ const newForm = formData?.filter(item => !diff.find((i: any) => i === item.$index));
62
+
63
+ form.setFieldsValue({
64
+ realEstateDataDto: newForm
65
+ });
66
+ } else {
67
+ form.setFieldsValue({
68
+ realEstateDataDto: undefined
69
+ });
70
+ }
71
+ }
72
+ return goodsList.map((item, index) => {
73
+ if (item.lineAttribute === 0) {
74
+ return <Row gutter={[17, 0]} >
75
+ <Col span={6} >
76
+ <Form.Item style={{ display: 'none' }}>
77
+ {getFieldDecorator(`realEstateDataDto[${index}].$index`, {
78
+ initialValue: item.$index,
79
+ })(
80
+ <Input />
81
+ )}
82
+ </Form.Item>
83
+ <Form.Item label='不动产地址'>
84
+ {getFieldDecorator(`realEstateDataDto[${index}].realEstateAddress`, {
85
+ rules: readOnly ? [] : [{ required: true, message: '请选择不动产地址' }]
86
+ })(
87
+ readOnly
88
+ ? (<MyArrString />)
89
+ : (<Cascader
90
+ style={{ width: '100%' }}
91
+ options={[{
92
+ "name": "北京市",
93
+ }] || props.realEstateAddressOptions}
94
+ fieldNames={{
95
+ label: 'name',
96
+ value: 'name',
97
+ children: 'children'
98
+ } || props.realEstateAddressFieldNames}
99
+ placeholder="请选择省市区县"
100
+ />)
101
+ )}
102
+ </Form.Item>
103
+ </Col>
104
+ <Col span={6} >
105
+ <Form.Item label='详细地址' >
106
+ {getFieldDecorator(`realEstateDataDto[${index}].realEstateDetailedAddress`, {
107
+ rules: readOnly ? [] : [
108
+ { required: true, message: '请输入详细地址' },
109
+ { max: 120, message: '详细地址最多120个字符' },
110
+ {
111
+ validator: async (_, value, callback) => {
112
+ const pattern = /街|路|村|乡|镇|道|巷|号/;
113
+ if (pattern.test(value)) {
114
+ callback()
115
+ } else {
116
+ callback('地址必须包含“街”、“路”、“村”、“乡”、“镇”、“道”、“巷”、“号”等任意一个关键词')
117
+ }
118
+ }
119
+ }
120
+ ]
121
+ })(
122
+ readOnly
123
+ ? <MyDiv />
124
+ : <Input autoComplete='off' placeholder="请输入详细地址" />
125
+ )}
126
+ </Form.Item>
127
+ </Col>
128
+ <Col span={6} >
129
+ <Form.Item label='租赁期起止' >
130
+ {getFieldDecorator(`realEstateDataDto[${index}].leaseTerm`, {
131
+ rules: readOnly ? [] : [{ required: true, message: '请输入租赁期' }]
132
+ })(
133
+ readOnly
134
+ ? <MyArrMoment />
135
+ : <RangePicker style={{ width: '100%' }} />
136
+ )}
137
+ </Form.Item>
138
+ </Col>
139
+ <Col span={6} >
140
+ <Form.Item label='跨地(市)标志' >
141
+ {getFieldDecorator(`realEstateDataDto[${index}].crossCitiesSign`, {
142
+ rules: readOnly ? [] : [
143
+ { required: true, message: '请选择跨地(市)标志' }
144
+ ]
145
+ })(
146
+ readOnly
147
+ ? <MyNY />
148
+ : <Select placeholder='请选择' style={{ width: '100%' }} >
149
+ <Select.Option value='Y'>是</Select.Option>
150
+ <Select.Option value='N'>否</Select.Option>
151
+ </Select>
152
+ )}
153
+ </Form.Item>
154
+ </Col>
155
+ <Col span={6} >
156
+ <Form.Item label='产权证书/不动产权证号' >
157
+ {getFieldDecorator(`realEstateDataDto[${index}].realEstateNumber`, {
158
+ rules: readOnly ? [] : [
159
+ { required: true, message: '请输入证书编号,若没有证书填写“无”' },
160
+ { max: 40, message: '证书编号最多40个字符' },
161
+ ]
162
+ })(
163
+ readOnly
164
+ ? <MyDiv />
165
+ : <Input autoComplete='off' placeholder="请输入证书编号,若没有证书填写“无”" />
166
+ )}
167
+ </Form.Item>
168
+ </Col>
169
+ <Col span={6} >
170
+ <Form.Item label='面积单位' >
171
+ {getFieldDecorator(`realEstateDataDto[${index}].realEstateUnit`, {
172
+ rules: readOnly ? [] : [{ required: true, message: '请选择面积单位' }]
173
+ })(
174
+ readOnly
175
+ ? <MyDiv />
176
+ : <Select placeholder='请选择' style={{ width: '100%' }} >
177
+ <Select.Option value="平方千米">平方千米</Select.Option>
178
+ <Select.Option value="平方米">平方米</Select.Option>
179
+ <Select.Option value="公顷">公顷</Select.Option>
180
+ <Select.Option value="亩">亩</Select.Option>
181
+ <Select.Option value="h㎡">h㎡</Select.Option>
182
+ <Select.Option value="k㎡">k㎡</Select.Option>
183
+ <Select.Option value="㎡">㎡</Select.Option>
184
+ </Select>
185
+ )}
186
+ </Form.Item>
187
+ </Col>
188
+ </Row>
189
+ }
190
+ })
191
+ }
42
192
  return (
43
193
  <div className="kts-invoice-operate-real-estate-info-digtal">
44
194
  <div className='real-estate-info-digtal-label' >特殊信息-不动产经营租赁服务</div>
45
- <Row gutter={[17, 0]}>
46
- <Col span={6} >
47
- <Form.Item label='不动产地址' >
48
- {getFieldDecorator('realEstateAddress', {
49
- rules: readOnly ? [] : [{ required: true, message: '请选择不动产地址' }]
50
- })(
51
- readOnly
52
- ? (<MyArrString />)
53
- : (<Cascader
54
- style={{ width: '100%' }}
55
- options={props.realEstateAddressOptions}
56
- fieldNames={props.realEstateAddressFieldNames}
57
- placeholder="请选择省市区县"
58
- />)
59
- )}
60
- </Form.Item>
61
- </Col>
62
- <Col span={6} >
63
- <Form.Item label='详细地址' >
64
- {getFieldDecorator('realEstateDetailedAddress', {
65
- rules: readOnly ? [] : [
66
- { required: true, message: '请输入详细地址' },
67
- { max: 120, message: '详细地址最多120个字符' },
68
- {
69
- validator: (_, value) => {
70
- const pattern = /街|路|村|乡|镇|道|巷|号/;
71
- return pattern.test(value) ? Promise.resolve() : Promise.reject('地址必须包含“街”、“路”、“村”、“乡”、“镇”、“道”、“巷”、“号”等任意一个关键词');
72
- }
73
- }
74
- ]
75
- })(
76
- readOnly
77
- ? <MyDiv />
78
- : <Input autoComplete='off' placeholder="请输入详细地址" />
79
- )}
80
- </Form.Item>
81
- </Col>
82
- <Col span={6} >
83
- <Form.Item label='租赁期起止' >
84
- {getFieldDecorator('leaseTerm', {
85
- rules: readOnly ? [] : [{ required: true, message: '请输入租赁期' }]
86
- })(
87
- readOnly
88
- ? <MyArrMoment />
89
- : <RangePicker style={{ width: '100%' }} />
90
- )}
91
- </Form.Item>
92
- </Col>
93
- <Col span={6} >
94
- <Form.Item label='跨地(市)标志' >
95
- {getFieldDecorator('crossCitiesSign', {
96
- rules: readOnly ? [] : [
97
- { required: true, message: '请选择跨地(市)标志' }
98
- ]
99
- })(
100
- readOnly
101
- ? <MyNY />
102
- : <Select placeholder='请选择' style={{ width: '100%' }} >
103
- <Select.Option value='Y'>是</Select.Option>
104
- <Select.Option value='N'>否</Select.Option>
105
- </Select>
106
- )}
107
- </Form.Item>
108
- </Col>
109
- <Col span={6} >
110
- <Form.Item label='产权证书/不动产权证号' >
111
- {getFieldDecorator('realEstateNumber', {
112
- rules: readOnly ? [] : [
113
- { required: true, message: '请输入证书编号,若没有证书填写“无”' },
114
- { max: 40, message: '证书编号最多40个字符' },
115
- ]
116
- })(
117
- readOnly
118
- ? <MyDiv />
119
- : <Input autoComplete='off' placeholder="请输入证书编号,若没有证书填写“无”" />
120
- )}
121
- </Form.Item>
122
- </Col>
123
- <Col span={6} >
124
- <Form.Item label='面积单位' >
125
- {getFieldDecorator('realEstateUnit', {
126
- rules: readOnly ? [] : [{ required: true, message: '请选择面积单位' }]
127
- })(
128
- readOnly
129
- ? <MyDiv />
130
- : <Select placeholder='请选择' style={{ width: '100%' }} >
131
- <Select.Option value="平方千米">平方千米</Select.Option>
132
- <Select.Option value="平方米">平方米</Select.Option>
133
- <Select.Option value="公顷">公顷</Select.Option>
134
- <Select.Option value="亩">亩</Select.Option>
135
- <Select.Option value="h㎡">h㎡</Select.Option>
136
- <Select.Option value="k㎡">k㎡</Select.Option>
137
- <Select.Option value="㎡">㎡</Select.Option>
138
- </Select>
139
- )}
140
- </Form.Item>
141
- </Col>
142
- </Row>
195
+ {getList()}
196
+
143
197
  </div>
144
198
  )
145
199
  })