fmui-base 2.2.86 → 2.2.88
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/db/db.js +31 -0
- package/lib/db/variables.js +2 -0
- package/lib/form/form.js +145 -158
- package/lib/form/formExtHelper.js +152 -0
- package/lib/form/form_common/.placeholder.js +5 -0
- package/lib/form/subForm.js +11 -6
- package/lib/form/table.js +449 -88
- package/lib/selectMember/README.md +420 -0
- package/lib/selectMember/select.js +51 -3
- package/lib/tblform/FlowCommentPane.js +252 -0
- package/lib/tblform/README.md +483 -0
- package/lib/tblform/TblForm.js +427 -0
- package/lib/tblform/formCommon.js +128 -0
- package/lib/tblform/formFieldProps.js +44 -0
- package/lib/tblform/formSaveUtils.js +117 -0
- package/lib/tblform/index.js +109 -0
- package/lib/tblform/pureFormAdapter.js +159 -0
- package/package.json +1 -1
package/README.md
CHANGED
package/lib/db/db.js
CHANGED
|
@@ -1116,6 +1116,37 @@ context.create('FlowModuleAPI', {
|
|
|
1116
1116
|
});
|
|
1117
1117
|
|
|
1118
1118
|
context.create('form', {
|
|
1119
|
+
getPureMobileForm: {
|
|
1120
|
+
mockUrl: 'query/getPureMobileForm.json',
|
|
1121
|
+
url: _variables2.default.URLS.getPureMobileForm,
|
|
1122
|
+
method: 'GET',
|
|
1123
|
+
header: {
|
|
1124
|
+
Authorization: 'Bearer ' + getLoginUserInfo().token
|
|
1125
|
+
},
|
|
1126
|
+
willFetch: function willFetch() {
|
|
1127
|
+
_Toast2.default.show({
|
|
1128
|
+
content: _react2.default.createElement(_loading2.default, null),
|
|
1129
|
+
hasMask: true,
|
|
1130
|
+
duration: 800
|
|
1131
|
+
});
|
|
1132
|
+
}
|
|
1133
|
+
},
|
|
1134
|
+
runtimeDataSave: {
|
|
1135
|
+
mockUrl: 'query/runtimeDataSave.json',
|
|
1136
|
+
url: _variables2.default.URLS.runtimeDataSave,
|
|
1137
|
+
method: 'POST',
|
|
1138
|
+
postDataFomat: 'FORM',
|
|
1139
|
+
header: {
|
|
1140
|
+
Authorization: 'Bearer ' + getLoginUserInfo().token
|
|
1141
|
+
},
|
|
1142
|
+
willFetch: function willFetch() {
|
|
1143
|
+
_Toast2.default.show({
|
|
1144
|
+
content: _react2.default.createElement(_loading2.default, null),
|
|
1145
|
+
hasMask: true,
|
|
1146
|
+
duration: 800
|
|
1147
|
+
});
|
|
1148
|
+
}
|
|
1149
|
+
},
|
|
1119
1150
|
getFormContent: {
|
|
1120
1151
|
mockUrl: 'query/getFormContent.json',
|
|
1121
1152
|
url: _variables2.default.URLS.getFormContent,
|
package/lib/db/variables.js
CHANGED
|
@@ -65,7 +65,9 @@ exports.default = {
|
|
|
65
65
|
batchFavoriteProcess: urlPrefix + 'batchFavoriteProcess' + '?', //批量添加常用流程的接口
|
|
66
66
|
getRemindBadgeCount: urlPrefix + 'getRemindBadgeCount' + '?', //分类统计小红点
|
|
67
67
|
queryProcessForm: urlPrefix + 'getMobileForm' + '?', //获取流程表单
|
|
68
|
+
getPureMobileForm: urlPrefix + 'getPureMobileForm' + '?', //获取纯表单(无流程)
|
|
68
69
|
getRelaFieldsMap: formUrlPrefix + 'relafield/getRelaFieldsMap' + '?', //获取关联表单字段
|
|
70
|
+
runtimeDataSave: formUrlPrefix + 'runtime/runtimeDataSave' + '?', //纯表单运行时保存
|
|
69
71
|
getNoInvoiceList: formUrlPrefix + 'form/invoice/getNoInvoiceList' + '?', //获取未开票列表
|
|
70
72
|
getComponentInfoList: urlBasicPrefix + 'mobilehall/mobileoffice/getComponentInfoList' + '?', //获取关联表单字段
|
|
71
73
|
|
package/lib/form/form.js
CHANGED
|
@@ -115,6 +115,8 @@ var _db = require('../db/db');
|
|
|
115
115
|
|
|
116
116
|
var _db2 = _interopRequireDefault(_db);
|
|
117
117
|
|
|
118
|
+
var _formExtHelper = require('./formExtHelper');
|
|
119
|
+
|
|
118
120
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
119
121
|
|
|
120
122
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
@@ -169,11 +171,13 @@ var PageHome = function (_React$Component) {
|
|
|
169
171
|
/* alert(commentField);*/
|
|
170
172
|
var context = document.getElementById("context").value;
|
|
171
173
|
//alert(props.defaultValue);
|
|
172
|
-
var
|
|
174
|
+
var extLoaded = (0, _formExtHelper.loadFlowOrFormCommon)(props);
|
|
175
|
+
var module = extLoaded.module;
|
|
176
|
+
FlowCommon = extLoaded.FlowCommon;
|
|
173
177
|
var isRemoveCommentFormHtml = props.isRemoveCommentFormHtml && props.isRemoveCommentFormHtml != "undefined" ? props.isRemoveCommentFormHtml : "0";
|
|
174
|
-
FlowCommon = require('pages/flow_common/' + module).default ? require('pages/flow_common/' + module).default : require('pages/flow_common/' + module);
|
|
175
178
|
_this.state = {
|
|
176
179
|
module: module,
|
|
180
|
+
formCode: extLoaded.formCode,
|
|
177
181
|
fold: true,
|
|
178
182
|
atfold: true,
|
|
179
183
|
status: status,
|
|
@@ -1342,12 +1346,12 @@ var PageHome = function (_React$Component) {
|
|
|
1342
1346
|
//在线编辑
|
|
1343
1347
|
var formDataAttr = form.dataAttr;
|
|
1344
1348
|
itemParam.webofficeDownload = formDataAttr && formDataAttr.webofficeDownload == '0' ? false : true;
|
|
1345
|
-
if (typeof FlowCommon.dealwithWeboffice === "function" && value != null && value != "") {
|
|
1349
|
+
if (FlowCommon && typeof FlowCommon.dealwithWeboffice === "function" && value != null && value != "") {
|
|
1346
1350
|
FlowCommon.dealwithWeboffice(value, function (content) {
|
|
1347
1351
|
itemParam.initIds = content;
|
|
1348
1352
|
itemParam.value = value;
|
|
1349
1353
|
//处理特有按钮事件
|
|
1350
|
-
if (typeof FlowCommon.dealwithCommonFormParam === "function") {
|
|
1354
|
+
if (FlowCommon && typeof FlowCommon.dealwithCommonFormParam === "function") {
|
|
1351
1355
|
itemParam = FlowCommon.dealwithCommonFormParam(itemParam, this);
|
|
1352
1356
|
itemType = itemParam.itemType;
|
|
1353
1357
|
}
|
|
@@ -1355,12 +1359,12 @@ var PageHome = function (_React$Component) {
|
|
|
1355
1359
|
var mobileExt;
|
|
1356
1360
|
try {
|
|
1357
1361
|
if (formKey) {
|
|
1358
|
-
mobileExt =
|
|
1362
|
+
mobileExt = (0, _formExtHelper.resolveMobileFormExt)(this.props.formCode, module, formKey);
|
|
1359
1363
|
}
|
|
1360
1364
|
} catch (e) {
|
|
1361
1365
|
// alert("exception: "+e.message);
|
|
1362
1366
|
}
|
|
1363
|
-
if (
|
|
1367
|
+
if (mobileExt && typeof mobileExt["dealwithFormParamExt"] === "function") {
|
|
1364
1368
|
itemParam = mobileExt["dealwithFormParamExt"](itemParam, this);
|
|
1365
1369
|
itemType = itemParam.itemType;
|
|
1366
1370
|
}
|
|
@@ -1400,7 +1404,7 @@ var PageHome = function (_React$Component) {
|
|
|
1400
1404
|
itemParam.value = value;
|
|
1401
1405
|
|
|
1402
1406
|
//处理特有按钮事件
|
|
1403
|
-
if (typeof FlowCommon.dealwithCommonFormParam === "function") {
|
|
1407
|
+
if (FlowCommon && typeof FlowCommon.dealwithCommonFormParam === "function") {
|
|
1404
1408
|
itemParam = FlowCommon.dealwithCommonFormParam(itemParam, this);
|
|
1405
1409
|
itemType = itemParam.itemType;
|
|
1406
1410
|
}
|
|
@@ -1408,12 +1412,12 @@ var PageHome = function (_React$Component) {
|
|
|
1408
1412
|
var mobileExt;
|
|
1409
1413
|
try {
|
|
1410
1414
|
if (formKey) {
|
|
1411
|
-
mobileExt =
|
|
1415
|
+
mobileExt = (0, _formExtHelper.resolveMobileFormExt)(this.props.formCode, module, formKey);
|
|
1412
1416
|
}
|
|
1413
1417
|
} catch (e) {
|
|
1414
1418
|
// alert("exception: "+e.message);
|
|
1415
1419
|
}
|
|
1416
|
-
if (
|
|
1420
|
+
if (mobileExt && typeof mobileExt[module + "_dealwithFormParamExt"] === "function") {
|
|
1417
1421
|
itemParam = mobileExt[module + "_dealwithFormParamExt"](itemParam, this);
|
|
1418
1422
|
itemType = itemParam.itemType;
|
|
1419
1423
|
}
|
|
@@ -1495,7 +1499,7 @@ var PageHome = function (_React$Component) {
|
|
|
1495
1499
|
itemParam.value = value;
|
|
1496
1500
|
|
|
1497
1501
|
//处理特有按钮事件
|
|
1498
|
-
if (typeof FlowCommon.dealwithCommonFormParam === "function") {
|
|
1502
|
+
if (FlowCommon && typeof FlowCommon.dealwithCommonFormParam === "function") {
|
|
1499
1503
|
itemParam = FlowCommon.dealwithCommonFormParam(itemParam, this);
|
|
1500
1504
|
itemType = itemParam.itemType;
|
|
1501
1505
|
}
|
|
@@ -1511,12 +1515,12 @@ var PageHome = function (_React$Component) {
|
|
|
1511
1515
|
var mobileExt;
|
|
1512
1516
|
try {
|
|
1513
1517
|
if (formKey) {
|
|
1514
|
-
mobileExt =
|
|
1518
|
+
mobileExt = (0, _formExtHelper.resolveMobileFormExt)(this.props.formCode, module, formKey);
|
|
1515
1519
|
}
|
|
1516
1520
|
} catch (e) {
|
|
1517
1521
|
// alert("exception: "+e.message);
|
|
1518
1522
|
}
|
|
1519
|
-
if (
|
|
1523
|
+
if (mobileExt && typeof mobileExt["dealwithFormParamExt"] === "function") {
|
|
1520
1524
|
itemParam = mobileExt["dealwithFormParamExt"](itemParam, this);
|
|
1521
1525
|
itemType = itemParam.itemType;
|
|
1522
1526
|
}
|
|
@@ -1600,12 +1604,12 @@ var PageHome = function (_React$Component) {
|
|
|
1600
1604
|
var mobileExt;
|
|
1601
1605
|
try {
|
|
1602
1606
|
if (formKey) {
|
|
1603
|
-
mobileExt =
|
|
1607
|
+
mobileExt = (0, _formExtHelper.resolveMobileFormExt)(this.props.formCode, module, formKey);
|
|
1604
1608
|
}
|
|
1605
1609
|
} catch (e) {
|
|
1606
1610
|
// alert("exception: "+e.message);
|
|
1607
1611
|
}
|
|
1608
|
-
if (
|
|
1612
|
+
if (mobileExt && typeof mobileExt["casigin"] === "function") {
|
|
1609
1613
|
var isVerifySing = mobileExt["casigin"](itemParam, data, uniqueName, isVerifySingValue);
|
|
1610
1614
|
itemParam.isVerifySing = isVerifySing;
|
|
1611
1615
|
this.setState(itemParam);
|
|
@@ -1753,157 +1757,132 @@ var PageHome = function (_React$Component) {
|
|
|
1753
1757
|
return '' + (num < 10 ? '0' : '') + num;
|
|
1754
1758
|
}
|
|
1755
1759
|
|
|
1756
|
-
|
|
1760
|
+
// 规范化触发字段取值(与 table.jsx 保持一致)
|
|
1757
1761
|
|
|
1758
1762
|
}, {
|
|
1759
|
-
key: '
|
|
1760
|
-
value: function
|
|
1761
|
-
|
|
1762
|
-
|
|
1763
|
-
|
|
1764
|
-
|
|
1765
|
-
|
|
1766
|
-
|
|
1767
|
-
|
|
1768
|
-
|
|
1769
|
-
for (var i = 0; i < hiddenFields.split(',').length; i++) {
|
|
1770
|
-
if (hiddenFields.split(',')[i] && hiddenFields.split(',')[i] != '') {
|
|
1771
|
-
defaulthideFields.push(hiddenFields.split(',')[i]);
|
|
1763
|
+
key: 'normalizeRelaTriggerValue',
|
|
1764
|
+
value: function normalizeRelaTriggerValue(nowValue) {
|
|
1765
|
+
if (nowValue == null || typeof nowValue == 'undefined') {
|
|
1766
|
+
return "";
|
|
1767
|
+
}
|
|
1768
|
+
if (nowValue && nowValue.indexOf("[") >= 0 && nowValue.indexOf("]") >= 0) {
|
|
1769
|
+
try {
|
|
1770
|
+
var nowValueArray = JSON.parse(nowValue);
|
|
1771
|
+
if (nowValueArray.length == 1) {
|
|
1772
|
+
return nowValueArray[0];
|
|
1772
1773
|
}
|
|
1774
|
+
return nowValueArray.join(",");
|
|
1775
|
+
} catch (e) {
|
|
1776
|
+
return nowValue;
|
|
1773
1777
|
}
|
|
1774
1778
|
}
|
|
1775
|
-
if (
|
|
1776
|
-
|
|
1777
|
-
|
|
1778
|
-
|
|
1779
|
+
if (nowValue != '' && (nowValue.indexOf("$#$#") >= 0 || nowValue.indexOf("#$#$") >= 0)) {
|
|
1780
|
+
if (nowValue.indexOf("#$#$") >= 0) {
|
|
1781
|
+
var nowValueList = nowValue.split("#$#$");
|
|
1782
|
+
if (nowValueList.length == 1) {
|
|
1783
|
+
return nowValueList[0].replace("$#$#", "");
|
|
1779
1784
|
}
|
|
1785
|
+
return nowValueList.map(function (item) {
|
|
1786
|
+
return item.replace("$#$#", "");
|
|
1787
|
+
}).join(",");
|
|
1780
1788
|
}
|
|
1789
|
+
return nowValue.replace("$#$#", "");
|
|
1781
1790
|
}
|
|
1791
|
+
return nowValue;
|
|
1792
|
+
}
|
|
1782
1793
|
|
|
1783
|
-
|
|
1784
|
-
if (formRelaFieldMaps[itemParam.uniqueName]) {
|
|
1785
|
-
var data = this.props.data;
|
|
1786
|
-
var mainTblData = data.mainTblData;
|
|
1787
|
-
var mainTblName = data.mainTblName;
|
|
1788
|
-
// var subTbl = data.subTbl;
|
|
1789
|
-
var subTbl = allForm;
|
|
1790
|
-
var formRelaFieldMapsArray = formRelaFieldMaps[itemParam.uniqueName];
|
|
1791
|
-
formRelaFieldMapsArray.map(function (item) {
|
|
1792
|
-
if (item.triggerTblName == mainTblName) {
|
|
1793
|
-
mainTblData.map(function (mainTblDataItem) {
|
|
1794
|
-
if (item.triggerFieldName == mainTblDataItem.key) {
|
|
1795
|
-
var nowValue = mainTblDataItem.value ? mainTblDataItem.value : "";
|
|
1796
|
-
if (nowValue && nowValue.indexOf("[") >= 0 && nowValue.indexOf("]") >= 0) {
|
|
1797
|
-
var nowValueArray = JSON.parse(nowValue);
|
|
1798
|
-
if (nowValueArray.length == 1) {
|
|
1799
|
-
nowValue = nowValueArray[0];
|
|
1800
|
-
} else {
|
|
1801
|
-
nowValue = nowValueArray.join(",");
|
|
1802
|
-
}
|
|
1803
|
-
}
|
|
1804
|
-
// if(item.triggerFieldVal == mainTblDataItem.value){
|
|
1805
|
-
var editType = item.editType;
|
|
1806
|
-
if (editType == 'hide' || editType == 'rowhide') {
|
|
1807
|
-
// relaFieldMap["key"]="isHidden";
|
|
1808
|
-
if (item.triggerFieldVal == nowValue || nowValue.split(',').indexOf(item.triggerFieldVal) != -1) {
|
|
1809
|
-
itemParam.isHidden = true;
|
|
1810
|
-
defaulthideFields.push(itemParam.uniqueName);
|
|
1811
|
-
console.log("true====" + itemParam.uniqueName);
|
|
1812
|
-
} else if (defaulthideFields.indexOf(itemParam.uniqueName) != -1) {
|
|
1813
|
-
itemParam.isHidden = true;
|
|
1814
|
-
} else {
|
|
1815
|
-
console.log("false====" + itemParam.uniqueName);
|
|
1816
|
-
itemParam.isHidden = false;
|
|
1817
|
-
}
|
|
1818
|
-
} else if (editType == 'must') {
|
|
1819
|
-
// relaFieldMap["key"]="required";
|
|
1820
|
-
var triggerFieldValBoolean = false;
|
|
1821
|
-
if (item.triggerFieldVal == nowValue || nowValue.split(',').indexOf(item.triggerFieldVal) != -1) {
|
|
1822
|
-
itemParam.required = true;
|
|
1823
|
-
triggerFieldValBoolean = true;
|
|
1824
|
-
} else {
|
|
1825
|
-
itemParam.required = false;
|
|
1826
|
-
triggerFieldValBoolean = false;
|
|
1827
|
-
}
|
|
1828
|
-
// var relaFieldNameArray = formRelaFieldMapsObjItem.relaFieldName.split(",");
|
|
1829
|
-
// mainTblData.map(function(item){
|
|
1830
|
-
// if(item.key==relaFieldNameArray[index]){
|
|
1831
|
-
// item.required = triggerFieldValBoolean;
|
|
1832
|
-
// }
|
|
1833
|
-
// });
|
|
1834
|
-
if (item.relaFieldName == mainTblDataItem.key) {
|
|
1835
|
-
mainTblDataItem.required = triggerFieldValBoolean;
|
|
1836
|
-
}
|
|
1837
|
-
} else if (editType == 'edit') {
|
|
1838
|
-
if (item.triggerFieldVal == nowValue || nowValue.split(',').indexOf(item.triggerFieldVal) != -1) {
|
|
1839
|
-
itemParam.readOnly = false;
|
|
1840
|
-
} else {
|
|
1841
|
-
itemParam.readOnly = true;
|
|
1842
|
-
}
|
|
1843
|
-
}
|
|
1844
|
-
// }
|
|
1845
|
-
}
|
|
1846
|
-
});
|
|
1847
|
-
} else {
|
|
1848
|
-
var subTbls = subTbl.item;
|
|
1849
|
-
subTbls.map(function (subTblItem) {
|
|
1850
|
-
if (subTbl.tblName == item.triggerTblName) {
|
|
1851
|
-
var subTblData = subTblItem;
|
|
1852
|
-
subTblData.map(function (mainTblDataItem) {
|
|
1853
|
-
if (item.triggerFieldName == mainTblDataItem.itemCode) {
|
|
1854
|
-
// if(item.triggerFieldVal == mainTblDataItem.value){
|
|
1855
|
-
var nowValue = mainTblDataItem.value ? mainTblDataItem.value : "";
|
|
1856
|
-
if (nowValue && nowValue.indexOf("[") >= 0 && nowValue.indexOf("]") >= 0) {
|
|
1857
|
-
var nowValueArray = JSON.parse(nowValue);
|
|
1858
|
-
if (nowValueArray.length == 1) {
|
|
1859
|
-
nowValue = nowValueArray[0];
|
|
1860
|
-
} else {
|
|
1861
|
-
nowValue = nowValueArray.join(",");
|
|
1862
|
-
}
|
|
1863
|
-
}
|
|
1794
|
+
// 读取触发字段当前值
|
|
1864
1795
|
|
|
1865
|
-
|
|
1866
|
-
|
|
1867
|
-
|
|
1868
|
-
|
|
1869
|
-
|
|
1870
|
-
|
|
1871
|
-
|
|
1872
|
-
|
|
1873
|
-
|
|
1874
|
-
|
|
1875
|
-
|
|
1876
|
-
|
|
1877
|
-
itemParam.required = true;
|
|
1878
|
-
triggerFieldValBoolean = true;
|
|
1879
|
-
} else {
|
|
1880
|
-
itemParam.required = false;
|
|
1881
|
-
triggerFieldValBoolean = false;
|
|
1882
|
-
}
|
|
1883
|
-
// var relaFieldNameArray = formRelaFieldMapsObjItem.relaFieldName.split(",");
|
|
1884
|
-
// mainTblData.map(function(item){
|
|
1885
|
-
// if(item.key==relaFieldNameArray[index]){
|
|
1886
|
-
// item.required = triggerFieldValBoolean;
|
|
1887
|
-
// }
|
|
1888
|
-
// });
|
|
1889
|
-
if (item.relaFieldName == mainTblDataItem.itemCode) {
|
|
1890
|
-
mainTblDataItem.required = triggerFieldValBoolean;
|
|
1891
|
-
}
|
|
1892
|
-
} else if (editType == 'edit') {
|
|
1893
|
-
if (item.triggerFieldVal == nowValue || nowValue.split(',').indexOf(item.triggerFieldVal) != -1) {
|
|
1894
|
-
itemParam.readOnly = false;
|
|
1895
|
-
} else {
|
|
1896
|
-
itemParam.readOnly = true;
|
|
1897
|
-
}
|
|
1898
|
-
}
|
|
1899
|
-
// }
|
|
1900
|
-
}
|
|
1901
|
-
});
|
|
1902
|
-
}
|
|
1903
|
-
});
|
|
1904
|
-
}
|
|
1905
|
-
});
|
|
1796
|
+
}, {
|
|
1797
|
+
key: 'getRelaTriggerFieldValue',
|
|
1798
|
+
value: function getRelaTriggerFieldValue(rule, data, allForm) {
|
|
1799
|
+
var nowValue = "";
|
|
1800
|
+
var mainTblData = data.mainTblData || [];
|
|
1801
|
+
var mainTblName = data.mainTblName;
|
|
1802
|
+
if (rule.triggerTblName == mainTblName) {
|
|
1803
|
+
for (var i = 0; i < mainTblData.length; i++) {
|
|
1804
|
+
if (mainTblData[i].key == rule.triggerFieldName) {
|
|
1805
|
+
nowValue = mainTblData[i].value ? mainTblData[i].value : "";
|
|
1806
|
+
break;
|
|
1807
|
+
}
|
|
1906
1808
|
}
|
|
1809
|
+
} else if (allForm && allForm.item) {
|
|
1810
|
+
allForm.item.map(function (subTblItem) {
|
|
1811
|
+
if (allForm.tblName == rule.triggerTblName && subTblItem) {
|
|
1812
|
+
subTblItem.map(function (subField) {
|
|
1813
|
+
if (subField.itemCode == rule.triggerFieldName) {
|
|
1814
|
+
nowValue = subField.value ? subField.value : "";
|
|
1815
|
+
}
|
|
1816
|
+
});
|
|
1817
|
+
}
|
|
1818
|
+
});
|
|
1819
|
+
}
|
|
1820
|
+
return this.normalizeRelaTriggerValue(nowValue);
|
|
1821
|
+
}
|
|
1822
|
+
}, {
|
|
1823
|
+
key: 'isRelaRuleMatched',
|
|
1824
|
+
value: function isRelaRuleMatched(rule, nowValue) {
|
|
1825
|
+
var triggerFieldVal = rule.triggerFieldVal;
|
|
1826
|
+
if (triggerFieldVal == " ") {
|
|
1827
|
+
triggerFieldVal = "";
|
|
1828
|
+
}
|
|
1829
|
+
if (triggerFieldVal === '') {
|
|
1830
|
+
return true;
|
|
1831
|
+
}
|
|
1832
|
+
return triggerFieldVal == nowValue || nowValue.split(',').indexOf(triggerFieldVal) != -1;
|
|
1833
|
+
}
|
|
1834
|
+
|
|
1835
|
+
//处理关联字段初始化(按 relaFieldsMap 全局顺序,后写入覆盖先写入,与配置页优先级一致)
|
|
1836
|
+
|
|
1837
|
+
}, {
|
|
1838
|
+
key: 'dealwithRelaField',
|
|
1839
|
+
value: function dealwithRelaField(itemParam, allForm) {
|
|
1840
|
+
var formRelaFieldMaps = this.props.formRelaFieldMaps;
|
|
1841
|
+
if (!formRelaFieldMaps || !formRelaFieldMaps[itemParam.uniqueName]) {
|
|
1842
|
+
return itemParam;
|
|
1843
|
+
}
|
|
1844
|
+
var data = this.props.data;
|
|
1845
|
+
var formRelaFieldMapsArray = formRelaFieldMaps[itemParam.uniqueName];
|
|
1846
|
+
var fieldControll = this.props.fieldControll || {};
|
|
1847
|
+
var defaulthideFields = [];
|
|
1848
|
+
if (fieldControll.hiddenFields) {
|
|
1849
|
+
fieldControll.hiddenFields.split(',').forEach(function (f) {
|
|
1850
|
+
if (f) {
|
|
1851
|
+
defaulthideFields.push(f);
|
|
1852
|
+
}
|
|
1853
|
+
});
|
|
1854
|
+
}
|
|
1855
|
+
if (defaulthideFields.indexOf(itemParam.uniqueName) != -1) {
|
|
1856
|
+
itemParam.isHidden = true;
|
|
1857
|
+
}
|
|
1858
|
+
|
|
1859
|
+
formRelaFieldMapsArray.forEach(function (rule) {
|
|
1860
|
+
var nowValue = this.getRelaTriggerFieldValue(rule, data, allForm);
|
|
1861
|
+
var matched = this.isRelaRuleMatched(rule, nowValue);
|
|
1862
|
+
var editType = rule.editType;
|
|
1863
|
+
if (editType == 'hide' || editType == 'rowhide') {
|
|
1864
|
+
if (matched) {
|
|
1865
|
+
itemParam.isHidden = true;
|
|
1866
|
+
} else if (defaulthideFields.indexOf(itemParam.uniqueName) == -1) {
|
|
1867
|
+
itemParam.isHidden = false;
|
|
1868
|
+
}
|
|
1869
|
+
} else if (editType == 'must') {
|
|
1870
|
+
if (matched) {
|
|
1871
|
+
itemParam.required = true;
|
|
1872
|
+
} else {
|
|
1873
|
+
itemParam.required = false;
|
|
1874
|
+
}
|
|
1875
|
+
} else if (editType == 'edit') {
|
|
1876
|
+
if (matched) {
|
|
1877
|
+
itemParam.readOnly = false;
|
|
1878
|
+
} else if (nowValue != '') {
|
|
1879
|
+
itemParam.readOnly = true;
|
|
1880
|
+
}
|
|
1881
|
+
}
|
|
1882
|
+
}.bind(this));
|
|
1883
|
+
|
|
1884
|
+
if (itemParam.isHidden) {
|
|
1885
|
+
itemParam.required = false;
|
|
1907
1886
|
}
|
|
1908
1887
|
return itemParam;
|
|
1909
1888
|
}
|
|
@@ -1932,12 +1911,13 @@ var PageHome = function (_React$Component) {
|
|
|
1932
1911
|
this.loadComponet();
|
|
1933
1912
|
}
|
|
1934
1913
|
|
|
1935
|
-
|
|
1914
|
+
//重新加载组件;options.silent=true 时不向上触发 onChange(用于字段关联批量刷新,避免死循环)
|
|
1936
1915
|
|
|
1937
1916
|
}, {
|
|
1938
1917
|
key: 'reloadItemParam',
|
|
1939
|
-
value: function reloadItemParam(itemNew) {
|
|
1918
|
+
value: function reloadItemParam(itemNew, options) {
|
|
1940
1919
|
var dataType = this.state.dataType;
|
|
1920
|
+
var silent = options && options.silent === true;
|
|
1941
1921
|
|
|
1942
1922
|
if (itemNew != null && itemNew != undefined && Array.isArray(itemNew)) {
|
|
1943
1923
|
var itemParam = this.state.itemParam;
|
|
@@ -2005,7 +1985,14 @@ var PageHome = function (_React$Component) {
|
|
|
2005
1985
|
if (itemParam.itemType == 'popuser') {
|
|
2006
1986
|
this.refs['selectMember_' + itemParam.key].initSelectData();
|
|
2007
1987
|
}
|
|
2008
|
-
|
|
1988
|
+
// 静默刷新时仍需同步 mainTblData.required,否则提交校验不生效
|
|
1989
|
+
if (silent && this.props.data) {
|
|
1990
|
+
var formData = this.props.data;
|
|
1991
|
+
this.dealwithData(itemParam, formData.mainTblData || [], formData.relatedTbl || []);
|
|
1992
|
+
}
|
|
1993
|
+
if (!silent && this.props.onChange) {
|
|
1994
|
+
this.props.onChange(this.props.data, itemParam);
|
|
1995
|
+
}
|
|
2009
1996
|
});
|
|
2010
1997
|
}
|
|
2011
1998
|
}
|
|
@@ -2166,7 +2153,7 @@ var PageHome = function (_React$Component) {
|
|
|
2166
2153
|
var fieldTblId = itemParam.tblId;
|
|
2167
2154
|
var fieldTblName = itemParam.tblName;
|
|
2168
2155
|
//处理操作返回数据
|
|
2169
|
-
if (typeof FlowCommon.dealwithReturnData === "function") {
|
|
2156
|
+
if (FlowCommon && typeof FlowCommon.dealwithReturnData === "function") {
|
|
2170
2157
|
FlowCommon.dealwithReturnData(itemCode, value, function (itemCode1, value1) {
|
|
2171
2158
|
itemCode = itemCode1;
|
|
2172
2159
|
value = value1;
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.loadFlowOrFormCommon = loadFlowOrFormCommon;
|
|
7
|
+
exports.resolveMobileFormExt = resolveMobileFormExt;
|
|
8
|
+
/**
|
|
9
|
+
* 表单扩展加载:流程 flow_common / 纯表单 form_common
|
|
10
|
+
*
|
|
11
|
+
* form_common 使用包内 require.context('./form_common'),避免宿主无 pages/form_common 时 webpack 告警。
|
|
12
|
+
* 宿主扩展目录请通过 webpack alias 映射到 fmui-base/lib/form/form_common(见 tblform/README)。
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
var formCommonContext = require.context('./form_common', false, /\.js$/);
|
|
16
|
+
|
|
17
|
+
function loadFormCommonModule(formCode) {
|
|
18
|
+
|
|
19
|
+
if (!formCode) {
|
|
20
|
+
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
var keys = ['./' + formCode + '.js', './' + formCode];
|
|
25
|
+
|
|
26
|
+
for (var i = 0; i < keys.length; i++) {
|
|
27
|
+
|
|
28
|
+
if (!formCommonContext.keys().includes(keys[i])) {
|
|
29
|
+
|
|
30
|
+
continue;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
try {
|
|
34
|
+
|
|
35
|
+
var mod = formCommonContext(keys[i]);
|
|
36
|
+
|
|
37
|
+
return mod.default ? mod.default : mod;
|
|
38
|
+
} catch (e) {
|
|
39
|
+
|
|
40
|
+
// try next key
|
|
41
|
+
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
return loadFormCommonFromGlobal(formCode);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/** 宿主可在 window 挂载 {formCode}_formCommon,无需改 node_modules */
|
|
49
|
+
|
|
50
|
+
function loadFormCommonFromGlobal(formCode) {
|
|
51
|
+
|
|
52
|
+
if (!formCode) {
|
|
53
|
+
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
try {
|
|
58
|
+
|
|
59
|
+
var globalName = formCode + '_formCommon';
|
|
60
|
+
|
|
61
|
+
if (typeof window !== 'undefined' && window[globalName]) {
|
|
62
|
+
|
|
63
|
+
return window[globalName];
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
if (typeof global !== 'undefined' && global[globalName]) {
|
|
67
|
+
|
|
68
|
+
return global[globalName];
|
|
69
|
+
}
|
|
70
|
+
} catch (e) {
|
|
71
|
+
|
|
72
|
+
// ignore
|
|
73
|
+
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
return null;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
function loadFlowOrFormCommon(props) {
|
|
80
|
+
|
|
81
|
+
var formCode = props && props.formCode || '';
|
|
82
|
+
|
|
83
|
+
var module = props && props.module;
|
|
84
|
+
|
|
85
|
+
if (module === undefined || module === null || module === 'undefined') {
|
|
86
|
+
|
|
87
|
+
module = formCode ? '' : 'approve';
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
var FlowCommon = null;
|
|
91
|
+
|
|
92
|
+
try {
|
|
93
|
+
|
|
94
|
+
if (formCode) {
|
|
95
|
+
|
|
96
|
+
FlowCommon = loadFormCommonModule(formCode);
|
|
97
|
+
} else if (module) {
|
|
98
|
+
|
|
99
|
+
var mod = require('pages/flow_common/' + module);
|
|
100
|
+
|
|
101
|
+
FlowCommon = mod.default ? mod.default : mod;
|
|
102
|
+
}
|
|
103
|
+
} catch (e) {
|
|
104
|
+
|
|
105
|
+
FlowCommon = null;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
return { FlowCommon: FlowCommon, module: module, formCode: formCode };
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/** form_common: {formCode}_mobileExt;流程: {module}_{formKey}_mobileExt */
|
|
112
|
+
|
|
113
|
+
function resolveMobileFormExt(formCode, module, formKey) {
|
|
114
|
+
|
|
115
|
+
if (formCode) {
|
|
116
|
+
|
|
117
|
+
try {
|
|
118
|
+
|
|
119
|
+
var extName = formCode + '_mobileExt';
|
|
120
|
+
|
|
121
|
+
if (typeof eval(extName) !== 'undefined') {
|
|
122
|
+
|
|
123
|
+
return eval(extName);
|
|
124
|
+
}
|
|
125
|
+
} catch (e) {
|
|
126
|
+
|
|
127
|
+
// ignore
|
|
128
|
+
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
return null;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
if (module && formKey) {
|
|
135
|
+
|
|
136
|
+
try {
|
|
137
|
+
|
|
138
|
+
var _extName = module + '_' + formKey + '_mobileExt';
|
|
139
|
+
|
|
140
|
+
if (typeof eval(_extName) !== 'undefined') {
|
|
141
|
+
|
|
142
|
+
return eval(_extName);
|
|
143
|
+
}
|
|
144
|
+
} catch (e) {
|
|
145
|
+
|
|
146
|
+
// ignore
|
|
147
|
+
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
return null;
|
|
152
|
+
}
|