fmui-base 2.3.31 → 2.3.33
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 +2 -0
- package/lib/comment_list/List.js +142 -56
- package/lib/db/db.js +2 -8
- package/lib/form/filterEmptySubTblRows.js +148 -0
- package/lib/form/form.js +8 -2
- package/lib/form/subForm.js +9 -2
- package/lib/form_info/formInfo.js +16 -14
- package/lib/process_info/processInfo.js +22 -17
- package/lib/selectMember/select.js +27 -5
- package/lib/tblform/formSaveUtils.js +8 -5
- package/package.json +1 -1
package/README.md
CHANGED
package/lib/comment_list/List.js
CHANGED
|
@@ -53,36 +53,161 @@ var PageHome = function (_React$Component) {
|
|
|
53
53
|
|
|
54
54
|
var _this = _possibleConstructorReturn(this, (PageHome.__proto__ || Object.getPrototypeOf(PageHome)).call(this, props));
|
|
55
55
|
|
|
56
|
+
var list = props.list || [];
|
|
56
57
|
_this.state = {
|
|
57
58
|
loadImg: _variables2.default.loadImg + "&fid=",
|
|
58
|
-
commentList:
|
|
59
|
+
commentList: list,
|
|
60
|
+
// 意见表 ca_signature_img:有值则优先渲染(可来自接口字段或二次拉取)
|
|
61
|
+
caSignatureMap: _this.buildCaSignatureMap(list)
|
|
59
62
|
};
|
|
60
|
-
|
|
61
63
|
return _this;
|
|
62
64
|
}
|
|
63
65
|
|
|
64
66
|
_createClass(PageHome, [{
|
|
67
|
+
key: 'buildCaSignatureMap',
|
|
68
|
+
value: function buildCaSignatureMap(list) {
|
|
69
|
+
var map = {};
|
|
70
|
+
if (!list || !list.length) {
|
|
71
|
+
return map;
|
|
72
|
+
}
|
|
73
|
+
for (var i = 0; i < list.length; i++) {
|
|
74
|
+
var item = list[i];
|
|
75
|
+
if (item && item.id && item.caSignatureImg) {
|
|
76
|
+
var img = this.normalizeBase64(item.caSignatureImg);
|
|
77
|
+
if (img) {
|
|
78
|
+
map[item.id] = img;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
return map;
|
|
83
|
+
}
|
|
84
|
+
}, {
|
|
65
85
|
key: 'componentDidMount',
|
|
66
86
|
value: function componentDidMount() {
|
|
67
87
|
var t = this;
|
|
88
|
+
var list = t.props.list || [];
|
|
68
89
|
t.setState({
|
|
69
|
-
commentList:
|
|
90
|
+
commentList: list,
|
|
91
|
+
caSignatureMap: Object.assign({}, t.state.caSignatureMap, t.buildCaSignatureMap(list))
|
|
70
92
|
}, function () {
|
|
71
|
-
t.casigin();
|
|
93
|
+
t.casigin(t.props);
|
|
72
94
|
});
|
|
73
95
|
}
|
|
96
|
+
}, {
|
|
97
|
+
key: 'componentWillReceiveProps',
|
|
98
|
+
value: function componentWillReceiveProps(nextProps) {
|
|
99
|
+
var t = this;
|
|
100
|
+
var nextList = nextProps.list || [];
|
|
101
|
+
var prevList = this.props.list || [];
|
|
102
|
+
var listChanged = nextList !== prevList || nextList.length !== prevList.length || nextList[0] && prevList[0] && nextList[0].id !== prevList[0].id;
|
|
103
|
+
var caChanged = nextProps.caFirm !== this.props.caFirm || nextProps.caESignatureName !== this.props.caESignatureName || nextProps.caFormSign !== this.props.caFormSign;
|
|
104
|
+
if (listChanged) {
|
|
105
|
+
t.setState({
|
|
106
|
+
commentList: nextList,
|
|
107
|
+
caSignatureMap: Object.assign({}, t.state.caSignatureMap, t.buildCaSignatureMap(nextList))
|
|
108
|
+
}, function () {
|
|
109
|
+
t.casigin(nextProps);
|
|
110
|
+
});
|
|
111
|
+
} else if (caChanged) {
|
|
112
|
+
t.casigin(nextProps);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
74
115
|
|
|
75
|
-
|
|
116
|
+
/** 去掉 dataURL 前缀,并只保留第一张 PNG(兼容库内多段 base64 粘连) */
|
|
117
|
+
|
|
118
|
+
}, {
|
|
119
|
+
key: 'normalizeBase64',
|
|
120
|
+
value: function normalizeBase64(signatureImg) {
|
|
121
|
+
if (!signatureImg) {
|
|
122
|
+
return '';
|
|
123
|
+
}
|
|
124
|
+
var imgData = String(signatureImg);
|
|
125
|
+
var base64Mark = 'base64,';
|
|
126
|
+
var markIdx = imgData.indexOf(base64Mark);
|
|
127
|
+
if (markIdx > -1) {
|
|
128
|
+
imgData = imgData.substring(markIdx + base64Mark.length);
|
|
129
|
+
}
|
|
130
|
+
imgData = imgData.replace(/\s+/g, '');
|
|
131
|
+
var pngStart = imgData.indexOf('iVBORw0KGgo');
|
|
132
|
+
if (pngStart > 0) {
|
|
133
|
+
imgData = imgData.substring(pngStart);
|
|
134
|
+
}
|
|
135
|
+
if (pngStart >= 0) {
|
|
136
|
+
var endMark = 'ASUVORK5CYII';
|
|
137
|
+
var endIdx = imgData.indexOf(endMark);
|
|
138
|
+
if (endIdx >= 0) {
|
|
139
|
+
endIdx = endIdx + endMark.length;
|
|
140
|
+
while (endIdx < imgData.length && imgData.charAt(endIdx) === '=') {
|
|
141
|
+
endIdx++;
|
|
142
|
+
}
|
|
143
|
+
imgData = imgData.substring(0, endIdx);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
return imgData;
|
|
147
|
+
}
|
|
148
|
+
}, {
|
|
149
|
+
key: 'applyCaSignatureImg',
|
|
150
|
+
value: function applyCaSignatureImg(commentId, signatureImg) {
|
|
151
|
+
var t = this;
|
|
152
|
+
if (!commentId || !signatureImg) {
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
var imgData = t.normalizeBase64(signatureImg);
|
|
156
|
+
if (!imgData) {
|
|
157
|
+
return;
|
|
158
|
+
}
|
|
159
|
+
t.setState(function (prev) {
|
|
160
|
+
var map = Object.assign({}, prev.caSignatureMap || {});
|
|
161
|
+
if (map[commentId] === imgData) {
|
|
162
|
+
return null;
|
|
163
|
+
}
|
|
164
|
+
map[commentId] = imgData;
|
|
165
|
+
return { caSignatureMap: map };
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
/** 按意见 id 补拉 ca_signature_img(仅补列表里还没有的) */
|
|
170
|
+
|
|
171
|
+
}, {
|
|
172
|
+
key: 'loadCaSignatureImgs',
|
|
173
|
+
value: function loadCaSignatureImgs(commentList) {
|
|
174
|
+
var t = this;
|
|
175
|
+
if (!commentList || !commentList.length) {
|
|
176
|
+
return;
|
|
177
|
+
}
|
|
178
|
+
commentList.forEach(function (item) {
|
|
179
|
+
if (!item || !item.id) {
|
|
180
|
+
return;
|
|
181
|
+
}
|
|
182
|
+
if (t.state.caSignatureMap && t.state.caSignatureMap[item.id]) {
|
|
183
|
+
return;
|
|
184
|
+
}
|
|
185
|
+
_db2.default.FlowApproval.getXinjiangCaImage({ commentId: item.id }).then(function (content) {
|
|
186
|
+
var signatureImg = content && content.image;
|
|
187
|
+
if (signatureImg) {
|
|
188
|
+
t.applyCaSignatureImg(item.id, signatureImg);
|
|
189
|
+
}
|
|
190
|
+
}).catch(function () {});
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
//批示意见验签 / 本地签名快照落款
|
|
76
195
|
|
|
77
196
|
}, {
|
|
78
197
|
key: 'casigin',
|
|
79
|
-
value: function casigin() {
|
|
198
|
+
value: function casigin(props) {
|
|
80
199
|
console.log("批示意见验签");
|
|
81
|
-
|
|
82
|
-
var
|
|
83
|
-
var
|
|
84
|
-
var
|
|
85
|
-
var
|
|
200
|
+
props = props || this.props;
|
|
201
|
+
var commentList = props.list;
|
|
202
|
+
var isCaUser = props.isCaUser;
|
|
203
|
+
var caFirm = props.caFirm;
|
|
204
|
+
var caESignatureName = props.caESignatureName;
|
|
205
|
+
var caFormSign = props.caFormSign;
|
|
206
|
+
var t = this;
|
|
207
|
+
|
|
208
|
+
// 有 ca_signature_img 一律按该图渲染:先用列表字段,缺的再按 id 补拉
|
|
209
|
+
t.loadCaSignatureImgs(commentList);
|
|
210
|
+
|
|
86
211
|
if (commentList && caFirm && caFirm != '' && caFormSign == '1') {
|
|
87
212
|
commentList.map(function (item) {
|
|
88
213
|
var param = {};
|
|
@@ -90,20 +215,11 @@ var PageHome = function (_React$Component) {
|
|
|
90
215
|
param.relationId = getLoginUserInfo().mobile;
|
|
91
216
|
param.msg = item.fullMessage;
|
|
92
217
|
param.commentId = item.id;
|
|
93
|
-
// setTimeout(function(){
|
|
94
|
-
// $("#"+item.id+"_sucess").show();
|
|
95
|
-
// },1000)
|
|
96
218
|
_db2.default.FlowApproval.verifySign(param).then(function (content) {
|
|
97
219
|
var result = content.verifySignRes;
|
|
98
220
|
var signatureImg = content.signatureImg;
|
|
99
221
|
if (signatureImg && signatureImg != null && signatureImg != '') {
|
|
100
|
-
|
|
101
|
-
$("#commentSign-" + item.id).find(".signPic").attr("src", 'data:image/png;base64,' + signatureImg);
|
|
102
|
-
} else {
|
|
103
|
-
var signPicHtml = '<img class="t-H64 t-PR5 signPic" src="data:image/png;base64,' + signatureImg + '"/>';
|
|
104
|
-
$("#commentSign-" + item.id).find('.comment-html').append(signPicHtml);
|
|
105
|
-
$("#commentSign-" + item.id).find(".userName").css("display", "none");
|
|
106
|
-
}
|
|
222
|
+
t.applyCaSignatureImg(item.id, signatureImg);
|
|
107
223
|
}
|
|
108
224
|
|
|
109
225
|
if (result == 'success') {
|
|
@@ -115,12 +231,6 @@ var PageHome = function (_React$Component) {
|
|
|
115
231
|
$("#commentSign-" + item.id).removeClass('t-PR16');
|
|
116
232
|
$("#" + item.id + "_fail").show();
|
|
117
233
|
}
|
|
118
|
-
// else{
|
|
119
|
-
// Toast.show({
|
|
120
|
-
// type: 'error',
|
|
121
|
-
// content: error.errorMsg,
|
|
122
|
-
// });
|
|
123
|
-
// }
|
|
124
234
|
});
|
|
125
235
|
});
|
|
126
236
|
} else if (caESignatureName == '1' && isCaUser == '1' && caFirm == 'bjca') {
|
|
@@ -130,36 +240,10 @@ var PageHome = function (_React$Component) {
|
|
|
130
240
|
param.relationId = getLoginUserInfo().mobile;
|
|
131
241
|
param.msg = item.fullMessage;
|
|
132
242
|
param.commentId = item.id;
|
|
133
|
-
// setTimeout(function(){
|
|
134
|
-
// $("#"+item.id+"_sucess").show();
|
|
135
|
-
// },1000)
|
|
136
243
|
_db2.default.FlowApproval.getBeiJingCaImage(param).then(function (content) {
|
|
137
244
|
var signatureImg = content.image;
|
|
138
245
|
if (signatureImg && signatureImg != null && signatureImg != '') {
|
|
139
|
-
|
|
140
|
-
$("#commentSign-" + item.id).find(".signPic").attr("src", 'data:image/png;base64,' + signatureImg);
|
|
141
|
-
} else {
|
|
142
|
-
var signPicHtml = '<img class="t-H64 t-PR5 signPic" src="data:image/png;base64,' + signatureImg + '"/>';
|
|
143
|
-
$("#commentSign-" + item.id).find('.comment-html').append(signPicHtml);
|
|
144
|
-
$("#commentSign-" + item.id).find(".userName").css("display", "none");
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
}).catch(function (error) {});
|
|
148
|
-
});
|
|
149
|
-
} else if (caESignatureName == '1' && caFirm == 'xjca') {
|
|
150
|
-
commentList.map(function (item) {
|
|
151
|
-
var param = {};
|
|
152
|
-
param.commentId = item.id;
|
|
153
|
-
_db2.default.FlowApproval.getXinjiangCaImage(param).then(function (content) {
|
|
154
|
-
var signatureImg = content.image;
|
|
155
|
-
if (signatureImg && signatureImg != null && signatureImg != '') {
|
|
156
|
-
if ($("#commentSign-" + item.id).find(".signPic").length > 0) {
|
|
157
|
-
$("#commentSign-" + item.id).find(".signPic").attr("src", 'data:image/png;base64,' + signatureImg);
|
|
158
|
-
} else {
|
|
159
|
-
var signPicHtml = '<img class="t-H64 t-PR5 signPic" src="data:image/png;base64,' + signatureImg + '"/>';
|
|
160
|
-
$("#commentSign-" + item.id).find('.comment-html').append(signPicHtml);
|
|
161
|
-
$("#commentSign-" + item.id).find(".userName").css("display", "none");
|
|
162
|
-
}
|
|
246
|
+
t.applyCaSignatureImg(item.id, signatureImg);
|
|
163
247
|
}
|
|
164
248
|
}).catch(function (error) {});
|
|
165
249
|
});
|
|
@@ -210,7 +294,9 @@ var PageHome = function (_React$Component) {
|
|
|
210
294
|
{ className: 't-PR5' },
|
|
211
295
|
item.orgShowName
|
|
212
296
|
);
|
|
213
|
-
var
|
|
297
|
+
var caImg = t.state.caSignatureMap && t.state.caSignatureMap[item.id] || t.normalizeBase64(item.caSignatureImg);
|
|
298
|
+
var hasSignImg = !!(caImg || item.signPic != null && item.signPic !== '');
|
|
299
|
+
var signPicHtml = caImg ? _react2.default.createElement('img', { className: 't-H64 t-PR5 signPic', src: 'data:image/png;base64,' + caImg }) : item.signPic ? _react2.default.createElement('img', { className: 't-H64 t-PR5 signPic', src: t.state.loadImg + item.signPic }) : "";
|
|
214
300
|
var taskNameHtml = _react2.default.createElement(
|
|
215
301
|
'span',
|
|
216
302
|
{ className: 't-PR5' },
|
|
@@ -220,7 +306,7 @@ var PageHome = function (_React$Component) {
|
|
|
220
306
|
var inscriptionShowArray = item.inscriptionShow.split(",");
|
|
221
307
|
var _returnHtml = inscriptionShowArray.map(function (inscriptionItem) {
|
|
222
308
|
if (inscriptionItem) {
|
|
223
|
-
if (inscriptionItem == "userName" && (item.inscriptionShow.indexOf("signImg") < 0 || item.inscriptionShow.indexOf("signImg") >= 0 &&
|
|
309
|
+
if (inscriptionItem == "userName" && (item.inscriptionShow.indexOf("signImg") < 0 || item.inscriptionShow.indexOf("signImg") >= 0 && !hasSignImg)) {
|
|
224
310
|
return userNameHtml;
|
|
225
311
|
} else if (inscriptionItem == "date") {
|
|
226
312
|
return dateHtml;
|
package/lib/db/db.js
CHANGED
|
@@ -280,14 +280,8 @@ context.create('FlowApproval', {
|
|
|
280
280
|
header: {
|
|
281
281
|
Authorization: 'Bearer ' + getLoginUserInfo().token
|
|
282
282
|
},
|
|
283
|
-
method: 'POST'
|
|
284
|
-
|
|
285
|
-
_Toast2.default.show({
|
|
286
|
-
content: _react2.default.createElement(_loading2.default, null),
|
|
287
|
-
hasMask: true,
|
|
288
|
-
duration: 800
|
|
289
|
-
});
|
|
290
|
-
}
|
|
283
|
+
method: 'POST'
|
|
284
|
+
// 静默读取本地快照,避免每条意见都弹出 Loading 遮罩
|
|
291
285
|
},
|
|
292
286
|
|
|
293
287
|
getPreTaskInfo: {
|
|
@@ -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;
|
|
@@ -4910,7 +4916,7 @@ var PageHome = function (_React$Component) {
|
|
|
4910
4916
|
_react2.default.createElement(
|
|
4911
4917
|
'div',
|
|
4912
4918
|
{ className: 't-PT10 t-FB1' },
|
|
4913
|
-
_react2.default.createElement(_List2.default, { list: t.state.itemParam.value, isCaUser: t.state.isCaUser, caFirm: t.state.caFirm, caESignatureName: t.state.caESignatureName }),
|
|
4919
|
+
_react2.default.createElement(_List2.default, { list: t.state.itemParam.value, isCaUser: t.state.isCaUser, caFirm: t.state.caFirm, caESignatureName: t.state.caESignatureName, caFormSign: t.state.caFormSign }),
|
|
4914
4920
|
_react2.default.createElement(
|
|
4915
4921
|
'div',
|
|
4916
4922
|
{ className: t.state.commentField == this.state.itemParam.uniqueName ? 't-PL10 t-PR10' : 't-DN' },
|
package/lib/form/subForm.js
CHANGED
|
@@ -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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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:
|
|
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(
|
|
3788
|
+
allEditIds: t.getAllEditIds(submitEditFormData),
|
|
3786
3789
|
editType: t.state.editType,
|
|
3787
|
-
formData: JSON.stringify(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
5991
|
-
formData: JSON.stringify(
|
|
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(
|
|
6625
|
-
formData: JSON.stringify(
|
|
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,
|
|
@@ -387,11 +387,33 @@ var Page = function (_React$Component) {
|
|
|
387
387
|
|
|
388
388
|
}, {
|
|
389
389
|
key: 'componentWillReceiveProps',
|
|
390
|
-
value: function componentWillReceiveProps() {
|
|
391
|
-
|
|
392
|
-
showSecret:
|
|
393
|
-
secretlevel:
|
|
394
|
-
}
|
|
390
|
+
value: function componentWillReceiveProps(nextProps) {
|
|
391
|
+
var nextState = {
|
|
392
|
+
showSecret: nextProps.showSecret, //是否开启定密 true/false
|
|
393
|
+
secretlevel: nextProps.secretlevel == null ? "" : nextProps.secretlevel //密级 绝密-1/机密-2/秘密-3/非密-4
|
|
394
|
+
};
|
|
395
|
+
// 字段关联动态改必填/只读时,需同步到 state,否则红星标识不刷新
|
|
396
|
+
if (typeof nextProps.required !== 'undefined' && nextProps.required !== this.state.required) {
|
|
397
|
+
nextState.required = nextProps.required;
|
|
398
|
+
}
|
|
399
|
+
if (typeof nextProps.readOnly !== 'undefined' && nextProps.readOnly !== this.state.readOnly) {
|
|
400
|
+
nextState.readOnly = nextProps.readOnly;
|
|
401
|
+
}
|
|
402
|
+
// 显式传 isDelete 时以 props 为准;未传时随 readOnly 推导(表单选人常用)
|
|
403
|
+
if (typeof nextProps.isDelete !== 'undefined') {
|
|
404
|
+
if (nextProps.isDelete !== this.state.isDelete) {
|
|
405
|
+
nextState.isDelete = nextProps.isDelete;
|
|
406
|
+
}
|
|
407
|
+
} else if (typeof nextProps.readOnly !== 'undefined' && nextProps.readOnly !== this.state.readOnly) {
|
|
408
|
+
nextState.isDelete = !nextProps.readOnly;
|
|
409
|
+
}
|
|
410
|
+
if (typeof nextProps.label !== 'undefined' && nextProps.label !== this.state.label) {
|
|
411
|
+
nextState.label = nextProps.label;
|
|
412
|
+
}
|
|
413
|
+
if (typeof nextProps.placeholder !== 'undefined' && nextProps.placeholder !== this.state.placeholder) {
|
|
414
|
+
nextState.placeholder = nextProps.placeholder;
|
|
415
|
+
}
|
|
416
|
+
this.setState(nextState);
|
|
395
417
|
}
|
|
396
418
|
|
|
397
419
|
//检查是否有额外tab
|
|
@@ -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
|
-
|
|
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
|
-
|
|
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(
|
|
105
|
+
allEditIds: getAllEditIds(runtimeData),
|
|
103
106
|
existDataId: existDataId || '',
|
|
104
107
|
formType: opts.formType != null ? opts.formType : '4',
|
|
105
108
|
logField: opts.logField || '',
|