fmui-base 2.2.93 → 2.2.95
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/form/form.js +33 -8
- package/lib/form/table.js +43 -5
- package/lib/process_info/processInfo.js +38 -9
- package/package.json +1 -1
package/README.md
CHANGED
package/lib/form/form.js
CHANGED
|
@@ -1856,6 +1856,8 @@ var PageHome = function (_React$Component) {
|
|
|
1856
1856
|
var formRelaFieldMapsArray = formRelaFieldMaps[itemParam.uniqueName];
|
|
1857
1857
|
var fieldControll = this.props.fieldControll || {};
|
|
1858
1858
|
var defaulthideFields = [];
|
|
1859
|
+
var defaultshowFields = [];
|
|
1860
|
+
var defaultmustFields = [];
|
|
1859
1861
|
if (fieldControll.hiddenFields) {
|
|
1860
1862
|
fieldControll.hiddenFields.split(',').forEach(function (f) {
|
|
1861
1863
|
if (f) {
|
|
@@ -1863,9 +1865,25 @@ var PageHome = function (_React$Component) {
|
|
|
1863
1865
|
}
|
|
1864
1866
|
});
|
|
1865
1867
|
}
|
|
1868
|
+
if (fieldControll.showFields) {
|
|
1869
|
+
fieldControll.showFields.split(',').forEach(function (f) {
|
|
1870
|
+
if (f) {
|
|
1871
|
+
defaultshowFields.push(f);
|
|
1872
|
+
}
|
|
1873
|
+
});
|
|
1874
|
+
}
|
|
1875
|
+
if (fieldControll.mustFields) {
|
|
1876
|
+
fieldControll.mustFields.split(',').forEach(function (f) {
|
|
1877
|
+
if (f) {
|
|
1878
|
+
defaultmustFields.push(f);
|
|
1879
|
+
}
|
|
1880
|
+
});
|
|
1881
|
+
}
|
|
1866
1882
|
if (defaulthideFields.indexOf(itemParam.uniqueName) != -1) {
|
|
1867
1883
|
itemParam.isHidden = true;
|
|
1868
1884
|
}
|
|
1885
|
+
// 流程只读/必填或表单设计只读时,关联编辑/必填不生效
|
|
1886
|
+
var skipEditMust = defaultshowFields.indexOf(itemParam.uniqueName) != -1 || defaultmustFields.indexOf(itemParam.uniqueName) != -1 || itemParam.readOnly === true || this.props.form && this.props.form.readOnly === true;
|
|
1869
1887
|
|
|
1870
1888
|
formRelaFieldMapsArray.forEach(function (rule) {
|
|
1871
1889
|
var nowValue = this.getRelaTriggerFieldValue(rule, data, allForm);
|
|
@@ -1878,16 +1896,20 @@ var PageHome = function (_React$Component) {
|
|
|
1878
1896
|
itemParam.isHidden = false;
|
|
1879
1897
|
}
|
|
1880
1898
|
} else if (editType == 'must') {
|
|
1881
|
-
if (
|
|
1882
|
-
|
|
1883
|
-
|
|
1884
|
-
|
|
1899
|
+
if (!skipEditMust) {
|
|
1900
|
+
if (matched) {
|
|
1901
|
+
itemParam.required = true;
|
|
1902
|
+
} else {
|
|
1903
|
+
itemParam.required = false;
|
|
1904
|
+
}
|
|
1885
1905
|
}
|
|
1886
1906
|
} else if (editType == 'edit') {
|
|
1887
|
-
if (
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
|
|
1907
|
+
if (!skipEditMust) {
|
|
1908
|
+
if (matched) {
|
|
1909
|
+
itemParam.readOnly = false;
|
|
1910
|
+
} else if (nowValue != '') {
|
|
1911
|
+
itemParam.readOnly = true;
|
|
1912
|
+
}
|
|
1891
1913
|
}
|
|
1892
1914
|
}
|
|
1893
1915
|
}.bind(this));
|
|
@@ -1895,6 +1917,9 @@ var PageHome = function (_React$Component) {
|
|
|
1895
1917
|
if (itemParam.isHidden) {
|
|
1896
1918
|
itemParam.required = false;
|
|
1897
1919
|
}
|
|
1920
|
+
if (skipEditMust) {
|
|
1921
|
+
itemParam.required = false;
|
|
1922
|
+
}
|
|
1898
1923
|
return itemParam;
|
|
1899
1924
|
}
|
|
1900
1925
|
|
package/lib/form/table.js
CHANGED
|
@@ -1098,6 +1098,42 @@ var PageHome = function (_React$Component) {
|
|
|
1098
1098
|
return triggerFieldVal == nowValue || nowValue.split(',').indexOf(triggerFieldVal) != -1;
|
|
1099
1099
|
}
|
|
1100
1100
|
|
|
1101
|
+
// 流程只读/必填或表单设计只读时,关联的编辑/必填不生效(与PC init-readonly-flag / init-notnull-flag 一致)
|
|
1102
|
+
|
|
1103
|
+
}, {
|
|
1104
|
+
key: 'isRelaFieldSkipEditMust',
|
|
1105
|
+
value: function isRelaFieldSkipEditMust(targetUniqueName, fieldControll, fieldRef) {
|
|
1106
|
+
fieldControll = fieldControll || {};
|
|
1107
|
+
var defaultshowFields = [];
|
|
1108
|
+
var defaultmustFields = [];
|
|
1109
|
+
if (fieldControll.showFields) {
|
|
1110
|
+
fieldControll.showFields.split(',').forEach(function (f) {
|
|
1111
|
+
if (f) {
|
|
1112
|
+
defaultshowFields.push(f);
|
|
1113
|
+
}
|
|
1114
|
+
});
|
|
1115
|
+
}
|
|
1116
|
+
if (fieldControll.mustFields) {
|
|
1117
|
+
fieldControll.mustFields.split(',').forEach(function (f) {
|
|
1118
|
+
if (f) {
|
|
1119
|
+
defaultmustFields.push(f);
|
|
1120
|
+
}
|
|
1121
|
+
});
|
|
1122
|
+
}
|
|
1123
|
+
if (defaultshowFields.indexOf(targetUniqueName) != -1 || defaultmustFields.indexOf(targetUniqueName) != -1) {
|
|
1124
|
+
return true;
|
|
1125
|
+
}
|
|
1126
|
+
if (fieldRef) {
|
|
1127
|
+
if (fieldRef.props && fieldRef.props.form && fieldRef.props.form.readOnly === true) {
|
|
1128
|
+
return true;
|
|
1129
|
+
}
|
|
1130
|
+
if (fieldRef.state && fieldRef.state.itemParam && fieldRef.state.itemParam.readOnly === true) {
|
|
1131
|
+
return true;
|
|
1132
|
+
}
|
|
1133
|
+
}
|
|
1134
|
+
return false;
|
|
1135
|
+
}
|
|
1136
|
+
|
|
1101
1137
|
// 静默刷新关联字段 UI,不触发 change 死循环
|
|
1102
1138
|
|
|
1103
1139
|
}, {
|
|
@@ -1156,6 +1192,8 @@ var PageHome = function (_React$Component) {
|
|
|
1156
1192
|
if (!rules || !rules.length || !t.refs[targetUniqueName]) {
|
|
1157
1193
|
continue;
|
|
1158
1194
|
}
|
|
1195
|
+
var fieldRef = t.refs[targetUniqueName];
|
|
1196
|
+
var skipEditMust = t.isRelaFieldSkipEditMust(targetUniqueName, fieldControll, fieldRef);
|
|
1159
1197
|
var hideFlag = defaulthideFields.indexOf(targetUniqueName) != -1;
|
|
1160
1198
|
var mustFlag = defaultmustFields.indexOf(targetUniqueName) != -1;
|
|
1161
1199
|
var editFlag = false;
|
|
@@ -1187,7 +1225,7 @@ var PageHome = function (_React$Component) {
|
|
|
1187
1225
|
isHidden = false;
|
|
1188
1226
|
}
|
|
1189
1227
|
} else if (editType == 'must') {
|
|
1190
|
-
if (matched && !hideFlag) {
|
|
1228
|
+
if (!skipEditMust && matched && !hideFlag) {
|
|
1191
1229
|
required = true;
|
|
1192
1230
|
mustFlag = true;
|
|
1193
1231
|
isHidden = false;
|
|
@@ -1195,10 +1233,10 @@ var PageHome = function (_React$Component) {
|
|
|
1195
1233
|
required = false;
|
|
1196
1234
|
}
|
|
1197
1235
|
} else if (editType == 'edit') {
|
|
1198
|
-
if (matched && defaultshowFields.indexOf(targetUniqueName) != -1) {
|
|
1236
|
+
if (!skipEditMust && matched && defaultshowFields.indexOf(targetUniqueName) != -1) {
|
|
1199
1237
|
readOnly = false;
|
|
1200
1238
|
editFlag = true;
|
|
1201
|
-
} else if (!editFlag && defaultshowFields.indexOf(targetUniqueName) != -1 && nowValue != '') {
|
|
1239
|
+
} else if (!skipEditMust && !editFlag && defaultshowFields.indexOf(targetUniqueName) != -1 && nowValue != '') {
|
|
1202
1240
|
readOnly = true;
|
|
1203
1241
|
}
|
|
1204
1242
|
}
|
|
@@ -1206,7 +1244,7 @@ var PageHome = function (_React$Component) {
|
|
|
1206
1244
|
if (isHidden) {
|
|
1207
1245
|
t.clearFieldDataValue(data, targetUniqueName);
|
|
1208
1246
|
}
|
|
1209
|
-
var finalRequired = isHidden ? false : required;
|
|
1247
|
+
var finalRequired = isHidden ? false : skipEditMust ? false : required;
|
|
1210
1248
|
t.syncRelaFieldMetaToData(data, targetUniqueName, { required: finalRequired });
|
|
1211
1249
|
var paramList = [];
|
|
1212
1250
|
if (isHidden) {
|
|
@@ -1429,7 +1467,7 @@ var PageHome = function (_React$Component) {
|
|
|
1429
1467
|
if (hideFlag) {
|
|
1430
1468
|
relaFieldMap["value"] = false;
|
|
1431
1469
|
}
|
|
1432
|
-
if (defaultshowFields.indexOf(relaFieldTblNameArrayItem) != -1 || defaulthideFields.indexOf(relaFieldTblNameArrayItem) != -1) {
|
|
1470
|
+
if (defaultshowFields.indexOf(relaFieldTblNameArrayItem) != -1 || defaulthideFields.indexOf(relaFieldTblNameArrayItem) != -1 || defaultmustFields.indexOf(relaFieldTblNameArrayItem) != -1) {
|
|
1433
1471
|
relaFieldMap["value"] = false;
|
|
1434
1472
|
}
|
|
1435
1473
|
var relaFieldNameArray = formRelaFieldMapsObjItem.relaFieldTblName.split(",");
|
|
@@ -2803,9 +2803,6 @@ var PageHome = function (_React$Component) {
|
|
|
2803
2803
|
checkedItem.end = item.end;
|
|
2804
2804
|
checkedItem.must = item.must;
|
|
2805
2805
|
checkedItem.participants = participants;
|
|
2806
|
-
if (item.end == true) {
|
|
2807
|
-
isEnd = true;
|
|
2808
|
-
}
|
|
2809
2806
|
checkedItem.level = item.level;
|
|
2810
2807
|
checkedItem.maxOutgoing = maxOutgoing;
|
|
2811
2808
|
if (item.must == true && (maxOutgoing == 1 && checkActi == 0 || maxOutgoing == 0)) {
|
|
@@ -2849,6 +2846,7 @@ var PageHome = function (_React$Component) {
|
|
|
2849
2846
|
//nextSelectType = 'radom';
|
|
2850
2847
|
}
|
|
2851
2848
|
}
|
|
2849
|
+
isEnd = t.getSelectedIsEnd(nextActivityList, nextRadomList);
|
|
2852
2850
|
|
|
2853
2851
|
//紧急
|
|
2854
2852
|
var _urgent = t.state.urgent;
|
|
@@ -4874,6 +4872,33 @@ var PageHome = function (_React$Component) {
|
|
|
4874
4872
|
t.saveForm(1);
|
|
4875
4873
|
}, saveTime * 60 * 1000);
|
|
4876
4874
|
}
|
|
4875
|
+
//根据当前选中的后继/随机节点判断是否结束
|
|
4876
|
+
|
|
4877
|
+
}, {
|
|
4878
|
+
key: 'getSelectedIsEnd',
|
|
4879
|
+
value: function getSelectedIsEnd(nextActivityList, nextRadomList) {
|
|
4880
|
+
var t = this;
|
|
4881
|
+
var activityList = nextActivityList != null ? nextActivityList : t.state.nextActivityList || [];
|
|
4882
|
+
var radomList = nextRadomList != null ? nextRadomList : t.state.nextRadomList || [];
|
|
4883
|
+
for (var i = 0; i < activityList.length; i++) {
|
|
4884
|
+
if (activityList[i].checked && activityList[i].end === true) {
|
|
4885
|
+
return true;
|
|
4886
|
+
}
|
|
4887
|
+
}
|
|
4888
|
+
for (var j = 0; j < radomList.length; j++) {
|
|
4889
|
+
var subList = radomList[j].subRandomList || [];
|
|
4890
|
+
for (var k = 0; k < subList.length; k++) {
|
|
4891
|
+
if (subList[k].checked && subList[k].end === true) {
|
|
4892
|
+
return true;
|
|
4893
|
+
}
|
|
4894
|
+
}
|
|
4895
|
+
}
|
|
4896
|
+
if (activityList.length === 0 && radomList.length === 0) {
|
|
4897
|
+
return t.state.isEnd;
|
|
4898
|
+
}
|
|
4899
|
+
return false;
|
|
4900
|
+
}
|
|
4901
|
+
|
|
4877
4902
|
//提交发送流程
|
|
4878
4903
|
|
|
4879
4904
|
}, {
|
|
@@ -5017,8 +5042,8 @@ var PageHome = function (_React$Component) {
|
|
|
5017
5042
|
//是不是起始节点 或再次发起
|
|
5018
5043
|
type = 4;
|
|
5019
5044
|
}
|
|
5020
|
-
if (t.
|
|
5021
|
-
|
|
5045
|
+
if (t.getSelectedIsEnd()) {
|
|
5046
|
+
//是不是结束节点(以实际选中节点为准)
|
|
5022
5047
|
type = 1;
|
|
5023
5048
|
}
|
|
5024
5049
|
var dataId = t.state.dataId;
|
|
@@ -7312,7 +7337,8 @@ var PageHome = function (_React$Component) {
|
|
|
7312
7337
|
|
|
7313
7338
|
this.setState({
|
|
7314
7339
|
nextActivityList: nextActivityList,
|
|
7315
|
-
nextRadomList: nextRadomListMain
|
|
7340
|
+
nextRadomList: nextRadomListMain,
|
|
7341
|
+
isEnd: this.getSelectedIsEnd(nextActivityList, nextRadomListMain)
|
|
7316
7342
|
//nextSelectType:type
|
|
7317
7343
|
});
|
|
7318
7344
|
} else {
|
|
@@ -7337,7 +7363,8 @@ var PageHome = function (_React$Component) {
|
|
|
7337
7363
|
}
|
|
7338
7364
|
this.setState({
|
|
7339
7365
|
nextActivityList: nextActivity,
|
|
7340
|
-
nextRadomList: nextRadomListMain
|
|
7366
|
+
nextRadomList: nextRadomListMain,
|
|
7367
|
+
isEnd: this.getSelectedIsEnd(nextActivity, nextRadomListMain)
|
|
7341
7368
|
//nextSelectType:type
|
|
7342
7369
|
});
|
|
7343
7370
|
}
|
|
@@ -7345,7 +7372,8 @@ var PageHome = function (_React$Component) {
|
|
|
7345
7372
|
if (type == 'next') {
|
|
7346
7373
|
//选的是后继节点
|
|
7347
7374
|
this.setState({
|
|
7348
|
-
nextActivityList: nextActivityList
|
|
7375
|
+
nextActivityList: nextActivityList,
|
|
7376
|
+
isEnd: this.getSelectedIsEnd(nextActivityList, this.state.nextRadomList)
|
|
7349
7377
|
//nextSelectType:type
|
|
7350
7378
|
});
|
|
7351
7379
|
} else {
|
|
@@ -7353,7 +7381,8 @@ var PageHome = function (_React$Component) {
|
|
|
7353
7381
|
var nextRadomListMain = this.state.nextRadomList;
|
|
7354
7382
|
nextRadomListMain[n].subRandomList = nextActivityList;
|
|
7355
7383
|
this.setState({
|
|
7356
|
-
nextRadomList: nextRadomListMain
|
|
7384
|
+
nextRadomList: nextRadomListMain,
|
|
7385
|
+
isEnd: this.getSelectedIsEnd(this.state.nextActivityList, nextRadomListMain)
|
|
7357
7386
|
//nextSelectType:type
|
|
7358
7387
|
});
|
|
7359
7388
|
}
|