fmui-base 2.3.31 → 2.3.32

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
@@ -3,6 +3,7 @@
3
3
  ---npm publish
4
4
 
5
5
  ## 更新日志
6
+ - 2.3.32:移动端子表字段为空时不存,只读情况下不再默认拼一行空子表
6
7
  - 2.3.31:移动端推送点开的流程表单切换组织不显示,集成新疆CA
7
8
  - 2.3.30:移动端日期型字段日期格式(xx年xx月xx日)移动端办理后丢失
8
9
  - 2.3.29:移动端办理宏值签名丢失
@@ -0,0 +1,148 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
8
+
9
+ exports.cloneAndFilterEmptySubTblRows = cloneAndFilterEmptySubTblRows;
10
+ /**
11
+ * 子表空行过滤(提交用):UI 仍可留空行,仅从提交数据中去掉业务全空行。
12
+ * 系统字段忽略;0/false 有值;宏回填有值则保留。
13
+ */
14
+
15
+ var SUB_TBL_SYS_FIELDS = {
16
+ id: true,
17
+ rowId: true,
18
+ rowid: true,
19
+ createdBy: true,
20
+ createdDate: true,
21
+ createdOrg: true,
22
+ lastModifiedBy: true,
23
+ lastModifiedDate: true,
24
+ lastModifiedOrg: true,
25
+ optlock: true,
26
+ fkid: true,
27
+ corp_id: true,
28
+ formid: true,
29
+ sort_no: true
30
+ };
31
+
32
+ function isSubTblSysField(key) {
33
+ if (key == null || key === '') {
34
+ return true;
35
+ }
36
+ if (SUB_TBL_SYS_FIELDS[key]) {
37
+ return true;
38
+ }
39
+ var lower = String(key).toLowerCase();
40
+ for (var k in SUB_TBL_SYS_FIELDS) {
41
+ if (Object.prototype.hasOwnProperty.call(SUB_TBL_SYS_FIELDS, k) && k.toLowerCase() === lower) {
42
+ return true;
43
+ }
44
+ }
45
+ return false;
46
+ }
47
+
48
+ function hasSubTblBusinessValue(value) {
49
+ if (value === null || typeof value === 'undefined') {
50
+ return false;
51
+ }
52
+ if (typeof value === 'boolean' || typeof value === 'number') {
53
+ return true;
54
+ }
55
+ if (Array.isArray(value)) {
56
+ if (value.length === 0) {
57
+ return false;
58
+ }
59
+ for (var i = 0; i < value.length; i++) {
60
+ if (hasSubTblBusinessValue(value[i])) {
61
+ return true;
62
+ }
63
+ }
64
+ return false;
65
+ }
66
+ if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object') {
67
+ return Object.keys(value).length > 0;
68
+ }
69
+ var s = String(value).replace(/^\s+|\s+$/g, '');
70
+ if (s === '' || s === 'null' || s === 'undefined' || s === '[]' || s === '{}') {
71
+ return false;
72
+ }
73
+ if (s.charAt(0) === '[' && s.indexOf('scopeValue') >= 0) {
74
+ var compact = s.replace(/\s+/g, '');
75
+ if (compact.indexOf('"scopeValue":""') >= 0 || compact.indexOf('"scopeValue":null') >= 0) {
76
+ var stripped = compact.replace(/\{"scopeValue":""[^}]*\}/g, '').replace(/\{"scopeValue":null[^}]*\}/g, '').replace(/,/g, '');
77
+ if (stripped === '[]' || stripped.length <= 2) {
78
+ return false;
79
+ }
80
+ }
81
+ }
82
+ return true;
83
+ }
84
+
85
+ function isEmptySubTblBusinessRow(row) {
86
+ if (!row || !row.length) {
87
+ return true;
88
+ }
89
+ for (var i = 0; i < row.length; i++) {
90
+ var kv = row[i];
91
+ if (!kv || isSubTblSysField(kv.key)) {
92
+ continue;
93
+ }
94
+ if (hasSubTblBusinessValue(kv.value)) {
95
+ return false;
96
+ }
97
+ }
98
+ return true;
99
+ }
100
+
101
+ function filterEmptySubTblDataList(subTblData) {
102
+ if (!subTblData || !subTblData.length) {
103
+ return subTblData || [];
104
+ }
105
+ var kept = [];
106
+ for (var i = 0; i < subTblData.length; i++) {
107
+ if (!isEmptySubTblBusinessRow(subTblData[i])) {
108
+ kept.push(subTblData[i]);
109
+ }
110
+ }
111
+ return kept;
112
+ }
113
+
114
+ /**
115
+ * 深拷贝后过滤空子表行(不改动页面 state / UI)
116
+ */
117
+ function cloneAndFilterEmptySubTblRows(editFormData) {
118
+ if (!editFormData) {
119
+ return editFormData;
120
+ }
121
+ var data;
122
+ try {
123
+ data = JSON.parse(JSON.stringify(editFormData));
124
+ } catch (e) {
125
+ return editFormData;
126
+ }
127
+ var subTbl = data.subTbl || [];
128
+ for (var i = 0; i < subTbl.length; i++) {
129
+ if (subTbl[i] && subTbl[i].subTblData) {
130
+ subTbl[i].subTblData = filterEmptySubTblDataList(subTbl[i].subTblData);
131
+ }
132
+ }
133
+ var relatedTbl = data.relatedTbl || [];
134
+ for (var r = 0; r < relatedTbl.length; r++) {
135
+ var relatedSub = relatedTbl[r] && relatedTbl[r].relatedSubTblData;
136
+ if (!relatedSub) {
137
+ continue;
138
+ }
139
+ for (var s = 0; s < relatedSub.length; s++) {
140
+ if (relatedSub[s] && relatedSub[s].subTblData) {
141
+ relatedSub[s].subTblData = filterEmptySubTblDataList(relatedSub[s].subTblData);
142
+ }
143
+ }
144
+ }
145
+ return data;
146
+ }
147
+
148
+ exports.default = cloneAndFilterEmptySubTblRows;
package/lib/form/form.js CHANGED
@@ -2396,6 +2396,7 @@ var PageHome = function (_React$Component) {
2396
2396
  var subFormList = [];
2397
2397
  subForm = { show: true, form: subForm };
2398
2398
  var itemCode = itemParam.key;
2399
+ var subtableReadonly = itemParam.subtableReadonly === true || this.props.status == 2;
2399
2400
  var value = [];
2400
2401
  if (subTbl.length > 0) {
2401
2402
  for (var i = 0; i < subTbl.length; i++) {
@@ -2407,7 +2408,7 @@ var PageHome = function (_React$Component) {
2407
2408
  value.push({ mainTblData: subTblData[j], mainTblName: itemCode });
2408
2409
  subFormList.push(subForm);
2409
2410
  }
2410
- } else {
2411
+ } else if (!subtableReadonly) {
2411
2412
  value.push({ mainTblData: [], mainTblName: itemCode });
2412
2413
  subFormList.push(subForm);
2413
2414
  }
@@ -2417,6 +2418,11 @@ var PageHome = function (_React$Component) {
2417
2418
  }
2418
2419
  if (subFormList.length > 0) {
2419
2420
  itemParam.subForm = subFormList;
2421
+ } else if (subtableReadonly) {
2422
+ itemParam.subForm = [];
2423
+ if (subTbl.length === 0) {
2424
+ subTbl.push({ subTblData: [], subTblName: itemCode });
2425
+ }
2420
2426
  } else {
2421
2427
  subFormList.push(subForm);
2422
2428
  itemParam.subForm = subFormList;
@@ -224,6 +224,7 @@ var PageHome = function (_React$Component) {
224
224
  var subFormList = [];
225
225
  var itemCode = itemParam.key;
226
226
  var fieldControll = itemParam.fieldControll;
227
+ var subtableReadonly = itemParam.subtableReadonly === true;
227
228
  var mustFields = "";
228
229
  if (fieldControll) {
229
230
  mustFields = fieldControll.mustFields;
@@ -251,7 +252,7 @@ var PageHome = function (_React$Component) {
251
252
  var subForm1 = { show: true, form: subForm };
252
253
  subFormList.push(subForm1);
253
254
  }
254
- } else {
255
+ } else if (!subtableReadonly) {
255
256
  var subForm2 = { show: true, form: subForm };
256
257
  value.push({ mainTblData: [], mainTblName: itemCode });
257
258
  subFormList.push(subForm2);
@@ -273,7 +274,7 @@ var PageHome = function (_React$Component) {
273
274
  var subForm1 = { show: true, form: subForm };
274
275
  subFormList.push(subForm1);
275
276
  }
276
- } else {
277
+ } else if (!subtableReadonly) {
277
278
  var subForm2 = { show: true, form: subForm };
278
279
  value.push({ mainTblData: [], mainTblName: itemCode });
279
280
  subFormList.push(subForm2);
@@ -284,6 +285,12 @@ var PageHome = function (_React$Component) {
284
285
  }
285
286
  if (subFormList.length > 0) {
286
287
  itemParam.subForm = subFormList;
288
+ } else if (subtableReadonly) {
289
+ // 只读/查看且无数据:不补空行,仅挂空结构
290
+ itemParam.subForm = [];
291
+ if (subTbl.length === 0 && !(relatedTbl && relatedTbl.length > 0)) {
292
+ subTbl.push({ subTblData: [], subTblName: itemCode });
293
+ }
287
294
  } else if (relatedTbl && relatedTbl.length > 0) {
288
295
  var subForm3 = { show: true, form: subForm };
289
296
  subFormList.push(subForm3);
@@ -76,6 +76,8 @@ var _table = require('../form/table');
76
76
 
77
77
  var _table2 = _interopRequireDefault(_table);
78
78
 
79
+ var _filterEmptySubTblRows = require('../form/filterEmptySubTblRows');
80
+
79
81
  var _FlowChart = require('./FlowChart');
80
82
 
81
83
  var _FlowChart2 = _interopRequireDefault(_FlowChart);
@@ -1394,12 +1396,12 @@ var PageHome = function (_React$Component) {
1394
1396
  });
1395
1397
  } else if (operate == 1) {
1396
1398
  //提交
1397
- var sendData = t.state.editFormData;
1399
+ var sendData = (0, _filterEmptySubTblRows.cloneAndFilterEmptySubTblRows)(t.state.editFormData) || {};
1398
1400
  sendData.formItem = [];
1399
1401
  var param = {
1400
1402
  taskId: this.state.taskId,
1401
1403
  auditorUserIds: auditorUserIds,
1402
- allEditIds: this.getAllEditIds(t.state.editFormData),
1404
+ allEditIds: this.getAllEditIds(sendData),
1403
1405
  code: this.state.code,
1404
1406
  formData: JSON.stringify(sendData),
1405
1407
  dataId: this.state.dataId,
@@ -2282,9 +2284,9 @@ var PageHome = function (_React$Component) {
2282
2284
  taskId: t.state.taskId,
2283
2285
  permissionCode: t.state.permissionCode,
2284
2286
  processInstanceId: t.state.processInstanceId,
2285
- allEditIds: t.getAllEditIds(t.state.editFormData),
2287
+ allEditIds: t.getAllEditIds((0, _filterEmptySubTblRows.cloneAndFilterEmptySubTblRows)(t.state.editFormData)),
2286
2288
  editType: t.state.editType,
2287
- formData: JSON.stringify(t.state.editFormData),
2289
+ formData: JSON.stringify((0, _filterEmptySubTblRows.cloneAndFilterEmptySubTblRows)(t.state.editFormData)),
2288
2290
  module: t.state.module,
2289
2291
  comment: newComment
2290
2292
  }).then(function (content) {
@@ -2454,7 +2456,7 @@ var PageHome = function (_React$Component) {
2454
2456
  while (1) {
2455
2457
  switch (_context2.prev = _context2.next) {
2456
2458
  case 0:
2457
- editFormData = _this2.state.editFormData;
2459
+ editFormData = (0, _filterEmptySubTblRows.cloneAndFilterEmptySubTblRows)(_this2.state.editFormData);
2458
2460
  nextRadomListSelect = _this2.state.nextRadomList;
2459
2461
  nextActivityListSelect = _this2.state.nextActivityList;
2460
2462
  selectedActivity = '';
@@ -2727,7 +2729,7 @@ var PageHome = function (_React$Component) {
2727
2729
  param = {
2728
2730
  taskId: _this2.state.taskId,
2729
2731
  selectedActivity: selectedActivity,
2730
- allEditIds: _this2.getAllEditIds(t.state.editFormData),
2732
+ allEditIds: _this2.getAllEditIds(editFormData),
2731
2733
  corpId: corpid,
2732
2734
  code: _this2.state.code,
2733
2735
  formData: JSON.stringify(editFormData),
@@ -2814,7 +2816,7 @@ var PageHome = function (_React$Component) {
2814
2816
  this.jump();
2815
2817
  } else if (operate == 10) {
2816
2818
  //随机节点结束
2817
- var editFormData = this.state.editFormData;
2819
+ var editFormData = (0, _filterEmptySubTblRows.cloneAndFilterEmptySubTblRows)(this.state.editFormData);
2818
2820
  var sshortMessage = '0';
2819
2821
  var sendShortMessage = t.state.sendShortMessage;
2820
2822
  /*if(sendShortMessage.length>0){
@@ -2828,7 +2830,7 @@ var PageHome = function (_React$Component) {
2828
2830
  var param = {
2829
2831
  taskId: this.state.taskId,
2830
2832
  selectedActivity: '',
2831
- allEditIds: this.getAllEditIds(t.state.editFormData),
2833
+ allEditIds: this.getAllEditIds(editFormData),
2832
2834
  corpId: corpid,
2833
2835
  code: this.state.code,
2834
2836
  formData: JSON.stringify(editFormData),
@@ -3037,7 +3039,7 @@ var PageHome = function (_React$Component) {
3037
3039
 
3038
3040
  var t = this;
3039
3041
  var db = _db2.default;
3040
- var editFormData = this.state.editFormData;
3042
+ var editFormData = (0, _filterEmptySubTblRows.cloneAndFilterEmptySubTblRows)(this.state.editFormData);
3041
3043
  newComment = t.state.newspyj.content;
3042
3044
  if (typeof newComment == "undefined" || newComment == '') {
3043
3045
  newComment = t.state.defaultValue;
@@ -3047,7 +3049,7 @@ var PageHome = function (_React$Component) {
3047
3049
  taskId: this.state.taskId,
3048
3050
  module: t.state.module,
3049
3051
  processInstanceId: t.state.processInstanceId,
3050
- allEditIds: t.getAllEditIds(t.state.editFormData),
3052
+ allEditIds: t.getAllEditIds(editFormData),
3051
3053
  formData: JSON.stringify(editFormData),
3052
3054
  formType: "4",
3053
3055
  editType: this.state.editType
@@ -3435,10 +3437,10 @@ var PageHome = function (_React$Component) {
3435
3437
  $(window).scrollTop(0);
3436
3438
  });
3437
3439
  } else {
3438
- var editFormData = this.state.editFormData;
3440
+ var editFormData = (0, _filterEmptySubTblRows.cloneAndFilterEmptySubTblRows)(this.state.editFormData);
3439
3441
  var param = {
3440
3442
  taskId: this.state.taskId,
3441
- allEditIds: this.getAllEditIds(t.state.editFormData),
3443
+ allEditIds: this.getAllEditIds(editFormData),
3442
3444
  code: this.state.code,
3443
3445
  formData: JSON.stringify(editFormData),
3444
3446
  dataId: this.state.dataId,
@@ -4162,8 +4164,8 @@ var PageHome = function (_React$Component) {
4162
4164
  processInstanceId: t.state.processInstanceId,
4163
4165
  selectedActivity: selectedActivity,
4164
4166
  auditorUserIds: assignId,
4165
- allEditIds: t.getAllEditIds(t.state.editFormData),
4166
- formData: JSON.stringify(t.state.editFormData),
4167
+ allEditIds: t.getAllEditIds((0, _filterEmptySubTblRows.cloneAndFilterEmptySubTblRows)(t.state.editFormData)),
4168
+ formData: JSON.stringify((0, _filterEmptySubTblRows.cloneAndFilterEmptySubTblRows)(t.state.editFormData)),
4167
4169
  hasCommentField: '0',
4168
4170
  editType: t.state.editType,
4169
4171
  module: t.state.module,
@@ -88,6 +88,8 @@ var _table2 = _interopRequireDefault(_table);
88
88
 
89
89
  var _formExtHelper = require('../form/formExtHelper');
90
90
 
91
+ var _filterEmptySubTblRows = require('../form/filterEmptySubTblRows');
92
+
91
93
  var _FlowChart = require('./FlowChart');
92
94
 
93
95
  var _FlowChart2 = _interopRequireDefault(_FlowChart);
@@ -2558,8 +2560,8 @@ var PageHome = function (_React$Component) {
2558
2560
 
2559
2561
  // 定义后续提交逻辑的执行函数
2560
2562
  var executeSubmitProcess = function executeSubmitProcess() {
2561
- var sendData = t.state.editFormData;
2562
- var allEditIds = _this2.getAllEditIds(t.state.editFormData);
2563
+ var sendData = (0, _filterEmptySubTblRows.cloneAndFilterEmptySubTblRows)(t.state.editFormData);
2564
+ var allEditIds = _this2.getAllEditIds(sendData);
2563
2565
  var dataId = "";
2564
2566
  if (allEditIds) {
2565
2567
  dataId = allEditIds.split(",")[0];
@@ -2571,7 +2573,7 @@ var PageHome = function (_React$Component) {
2571
2573
  var param = {
2572
2574
  taskId: _this2.state.taskId,
2573
2575
  auditorUserIds: auditorUserIds,
2574
- allEditIds: _this2.getAllEditIds(t.state.editFormData),
2576
+ allEditIds: allEditIds,
2575
2577
  code: _this2.state.code,
2576
2578
  formData: JSON.stringify(sendData),
2577
2579
  dataId: dataId,
@@ -3777,14 +3779,15 @@ var PageHome = function (_React$Component) {
3777
3779
  title: '提示',
3778
3780
  content: '确定已阅吗?',
3779
3781
  onConfirm: function onConfirm() {
3782
+ var submitEditFormData = (0, _filterEmptySubTblRows.cloneAndFilterEmptySubTblRows)(t.state.editFormData);
3780
3783
  db.FlowModuleAPI.readCompleteTask({
3781
3784
  dataId: t.state.dataId,
3782
3785
  taskId: t.state.taskId,
3783
3786
  permissionCode: t.state.permissionCode,
3784
3787
  processInstanceId: t.state.processInstanceId,
3785
- allEditIds: t.getAllEditIds(t.state.editFormData),
3788
+ allEditIds: t.getAllEditIds(submitEditFormData),
3786
3789
  editType: t.state.editType,
3787
- formData: JSON.stringify(t.state.editFormData),
3790
+ formData: JSON.stringify(submitEditFormData),
3788
3791
  module: t.state.module,
3789
3792
  comment: newComment,
3790
3793
  commentAttitude: t.getSelectedCommentAttitude()
@@ -4032,7 +4035,7 @@ var PageHome = function (_React$Component) {
4032
4035
  while (1) {
4033
4036
  switch (_context2.prev = _context2.next) {
4034
4037
  case 0:
4035
- editFormData = _this3.state.editFormData;
4038
+ editFormData = (0, _filterEmptySubTblRows.cloneAndFilterEmptySubTblRows)(_this3.state.editFormData);
4036
4039
  nextRadomListSelect = _this3.state.nextRadomList;
4037
4040
  nextActivityListSelect = _this3.state.nextActivityList;
4038
4041
  selectedActivity = '';
@@ -4315,7 +4318,7 @@ var PageHome = function (_React$Component) {
4315
4318
  cshortMessage=circulateShortMessage[0].value;
4316
4319
  }*/
4317
4320
 
4318
- allEditIds = _this3.getAllEditIds(t.state.editFormData);
4321
+ allEditIds = _this3.getAllEditIds(editFormData);
4319
4322
  dataId = "";
4320
4323
 
4321
4324
  if (allEditIds) {
@@ -4421,7 +4424,7 @@ var PageHome = function (_React$Component) {
4421
4424
  this.handleInvalid();
4422
4425
  } else if (operate == 10) {
4423
4426
  //随机节点结束
4424
- var editFormData = this.state.editFormData;
4427
+ var editFormData = (0, _filterEmptySubTblRows.cloneAndFilterEmptySubTblRows)(this.state.editFormData);
4425
4428
  var sshortMessage = '0';
4426
4429
  var sendShortMessage = t.state.sendShortMessage;
4427
4430
  /*if(sendShortMessage.length>0){
@@ -4435,7 +4438,7 @@ var PageHome = function (_React$Component) {
4435
4438
  var param = {
4436
4439
  taskId: this.state.taskId,
4437
4440
  selectedActivity: '',
4438
- allEditIds: this.getAllEditIds(t.state.editFormData),
4441
+ allEditIds: this.getAllEditIds(editFormData),
4439
4442
  corpId: corpid,
4440
4443
  code: this.state.code,
4441
4444
  formData: JSON.stringify(editFormData),
@@ -4921,14 +4924,14 @@ var PageHome = function (_React$Component) {
4921
4924
 
4922
4925
  var t = this;
4923
4926
  var db = _db2.default;
4924
- var editFormData = this.state.editFormData;
4927
+ var editFormData = (0, _filterEmptySubTblRows.cloneAndFilterEmptySubTblRows)(this.state.editFormData);
4925
4928
  newComment = t.state.newspyj.content;
4926
4929
  if (typeof newComment == "undefined" || newComment == '') {
4927
4930
  newComment = t.state.defaultValue;
4928
4931
  }
4929
4932
  var isPush = t.state.isPush;
4930
4933
 
4931
- var allEditIds = this.getAllEditIds(t.state.editFormData);
4934
+ var allEditIds = this.getAllEditIds(editFormData);
4932
4935
  var dataId = "";
4933
4936
  if (allEditIds) {
4934
4937
  dataId = allEditIds.split(",")[0];
@@ -5757,10 +5760,10 @@ var PageHome = function (_React$Component) {
5757
5760
  $(window).scrollTop(0);
5758
5761
  });
5759
5762
  } else {
5760
- var editFormData = this.state.editFormData;
5763
+ var editFormData = (0, _filterEmptySubTblRows.cloneAndFilterEmptySubTblRows)(this.state.editFormData);
5761
5764
  var param = {
5762
5765
  taskId: this.state.taskId,
5763
- allEditIds: this.getAllEditIds(t.state.editFormData),
5766
+ allEditIds: this.getAllEditIds(editFormData),
5764
5767
  code: this.state.code,
5765
5768
  formData: JSON.stringify(editFormData),
5766
5769
  dataId: this.state.dataId,
@@ -5982,13 +5985,14 @@ var PageHome = function (_React$Component) {
5982
5985
  if (urgent == '') {
5983
5986
  urgent = '50';
5984
5987
  }
5988
+ var submitEditFormData = (0, _filterEmptySubTblRows.cloneAndFilterEmptySubTblRows)(t.state.editFormData);
5985
5989
  var param = {
5986
5990
  formId: t.state.formId,
5987
5991
  dataId: t.state.dataId,
5988
5992
  taskId: t.state.taskId,
5989
5993
  processInstanceId: t.state.processInstanceId,
5990
- allEditIds: this.getAllEditIds(t.state.editFormData),
5991
- formData: JSON.stringify(t.state.editFormData),
5994
+ allEditIds: this.getAllEditIds(submitEditFormData),
5995
+ formData: JSON.stringify(submitEditFormData),
5992
5996
  assignId: assignId,
5993
5997
  assignName: assignName,
5994
5998
  hasCommentField: t.state.hasCommentField,
@@ -6614,6 +6618,7 @@ var PageHome = function (_React$Component) {
6614
6618
  if (jumpShortMessage) {
6615
6619
  shortMessage = jumpShortMessage;
6616
6620
  }
6621
+ var submitEditFormData = (0, _filterEmptySubTblRows.cloneAndFilterEmptySubTblRows)(t.state.editFormData);
6617
6622
  var param = {
6618
6623
  formId: t.state.formId,
6619
6624
  dataId: t.state.dataId,
@@ -6621,8 +6626,8 @@ var PageHome = function (_React$Component) {
6621
6626
  processInstanceId: t.state.processInstanceId,
6622
6627
  selectedActivity: selectedActivity,
6623
6628
  auditorUserIds: assignId,
6624
- allEditIds: t.getAllEditIds(t.state.editFormData),
6625
- formData: JSON.stringify(t.state.editFormData),
6629
+ allEditIds: t.getAllEditIds(submitEditFormData),
6630
+ formData: JSON.stringify(submitEditFormData),
6626
6631
  hasCommentField: t.state.hasCommentField,
6627
6632
  editType: t.state.editType,
6628
6633
  module: t.state.module,
@@ -6,9 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.getAllEditIds = getAllEditIds;
7
7
  exports.buildRuntimeDataSaveParams = buildRuntimeDataSaveParams;
8
8
  exports.isRuntimeSaveSuccess = isRuntimeSaveSuccess;
9
- /**
10
- * 纯表单保存:runtimeData 与 processInfo.editFormData 结构一致
11
- */
9
+
10
+ var _filterEmptySubTblRows = require('../form/filterEmptySubTblRows');
12
11
 
13
12
  /** 收集主表/关联表/子表已有数据 id,对应后端 allEditIds */
14
13
  function getAllEditIds(data) {
@@ -86,12 +85,16 @@ function getAllEditIds(data) {
86
85
  /**
87
86
  * 组装 runtimeDataSave 请求参数
88
87
  */
88
+ /**
89
+ * 纯表单保存:runtimeData 与 processInfo.editFormData 结构一致
90
+ */
89
91
  function buildRuntimeDataSaveParams(editFormData, options) {
90
92
  var opts = options || {};
91
93
  var editType = opts.editType || 'add';
92
94
  var existDataId = opts.existDataId != null ? opts.existDataId : editFormData.dataId || '';
93
95
 
94
- var runtimeData = JSON.parse(JSON.stringify(editFormData));
96
+ // 提交前过滤空子表行(不改 UI state)
97
+ var runtimeData = (0, _filterEmptySubTblRows.cloneAndFilterEmptySubTblRows)(editFormData) || {};
95
98
  if (!runtimeData.formId && opts.formId) {
96
99
  runtimeData.formId = opts.formId;
97
100
  }
@@ -99,7 +102,7 @@ function buildRuntimeDataSaveParams(editFormData, options) {
99
102
  return {
100
103
  runtimeData: JSON.stringify(runtimeData),
101
104
  editType: editType,
102
- allEditIds: getAllEditIds(editFormData),
105
+ allEditIds: getAllEditIds(runtimeData),
103
106
  existDataId: existDataId || '',
104
107
  formType: opts.formType != null ? opts.formType : '4',
105
108
  logField: opts.logField || '',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fmui-base",
3
- "version": "2.3.31",
3
+ "version": "2.3.32",
4
4
  "title": "fmui-base",
5
5
  "description": "fmui移动端组件",
6
6
  "main": "lib/index.js",