fmui-base 2.3.41 → 2.3.43

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,8 @@
3
3
  ---npm publish
4
4
 
5
5
  ## 更新日志
6
+ - 2.3.43:表单字段关联时,空值影响
7
+ - 2.3.42:表单字段关联时,为空行隐藏后,切换值显示不了问题处理
6
8
  - 2.3.41:移动端支持表单字段校验属性
7
9
  - 2.3.40:表单html字段增加className="ueditor-content"
8
10
  - 2.3.39:表单说明组件附件允许下载
package/lib/form/form.js CHANGED
@@ -1988,19 +1988,7 @@ var PageHome = function (_React$Component) {
1988
1988
  }
1989
1989
  });
1990
1990
  }
1991
- return this.normalizeRelaTriggerValue(nowValue);
1992
- }
1993
- }, {
1994
- key: 'isRelaRuleMatched',
1995
- value: function isRelaRuleMatched(rule, nowValue) {
1996
- var triggerFieldVal = rule.triggerFieldVal;
1997
- if (triggerFieldVal == " ") {
1998
- triggerFieldVal = "";
1999
- }
2000
- if (triggerFieldVal === '') {
2001
- return true;
2002
- }
2003
- return triggerFieldVal == nowValue || nowValue.split(',').indexOf(triggerFieldVal) != -1;
1991
+ return (0, _formExtHelper.normalizeRelaMatchValue)(nowValue);
2004
1992
  }
2005
1993
 
2006
1994
  //处理关联字段初始化(按 relaFieldsMap 全局顺序,后写入覆盖先写入,与配置页优先级一致)
@@ -2059,7 +2047,7 @@ var PageHome = function (_React$Component) {
2059
2047
  for (var ri = sortedRules.length - 1; ri >= 0; ri--) {
2060
2048
  var rule = sortedRules[ri];
2061
2049
  var nowValue = this.getRelaTriggerFieldValue(rule, data, allForm);
2062
- var matched = this.isRelaRuleMatched(rule, nowValue);
2050
+ var matched = (0, _formExtHelper.isRelaRuleMatched)(rule, nowValue);
2063
2051
  var editType = rule.editType;
2064
2052
  if (editType == 'hide' || editType == 'rowhide') {
2065
2053
  if (matched) {
@@ -2080,7 +2068,7 @@ var PageHome = function (_React$Component) {
2080
2068
  if (!skipEditMust && matched && defaultshowFields.indexOf(itemParam.uniqueName) != -1) {
2081
2069
  itemParam.readOnly = false;
2082
2070
  editFlag = true;
2083
- } else if (!skipEditMust && !editFlag && defaultshowFields.indexOf(itemParam.uniqueName) != -1 && nowValue != '') {
2071
+ } else if (!skipEditMust && !editFlag && defaultshowFields.indexOf(itemParam.uniqueName) != -1 && nowValue != '' && nowValue != ' ') {
2084
2072
  itemParam.readOnly = true;
2085
2073
  } else if (!editFlag && defaultshowFields.indexOf(itemParam.uniqueName) != -1) {
2086
2074
  itemParam.readOnly = baseline.readOnly;
@@ -10,6 +10,7 @@ exports.buildDetailItemParam = buildDetailItemParam;
10
10
  exports.applyDealwithFormParamExt = applyDealwithFormParamExt;
11
11
  exports.resolveSubColumnCountFromConfig = resolveSubColumnCountFromConfig;
12
12
  exports.normalizeRelaTriggerValue = normalizeRelaTriggerValue;
13
+ exports.normalizeRelaMatchValue = normalizeRelaMatchValue;
13
14
  exports.isRelaRuleMatched = isRelaRuleMatched;
14
15
  exports.getRelaTriggerFieldValueForLayout = getRelaTriggerFieldValueForLayout;
15
16
  exports.resolveFieldRelaHidden = resolveFieldRelaHidden;
@@ -264,17 +265,27 @@ function normalizeRelaTriggerValue(nowValue) {
264
265
  return nowValue;
265
266
  }
266
267
 
267
- /** 关联规则是否命中(与 form.jsx isRelaRuleMatched 一致) */
268
+ /** 关联匹配用触发值:空值与 PC getRelaTriggerValFromDom 一致转为空格(单选未选/请选择) */
269
+ function normalizeRelaMatchValue(nowValue) {
270
+ var normalized = normalizeRelaTriggerValue(nowValue);
271
+ if (normalized === '' || normalized == null) {
272
+ return ' ';
273
+ }
274
+ return normalized;
275
+ }
276
+
277
+ /** 关联规则是否命中(与 PC linkageUtils.isRelaRuleMatchedPc 一致) */
268
278
  function isRelaRuleMatched(rule, nowValue) {
269
279
  var triggerFieldVal = rule.triggerFieldVal;
270
- if (triggerFieldVal == ' ') {
271
- triggerFieldVal = '';
280
+ if (nowValue == null || nowValue === '') {
281
+ nowValue = ' ';
282
+ } else {
283
+ nowValue = String(nowValue);
272
284
  }
273
- if (triggerFieldVal === '') {
274
- return true;
285
+ if (triggerFieldVal == null) {
286
+ triggerFieldVal = '';
275
287
  }
276
- nowValue = nowValue == null ? '' : String(nowValue);
277
- return triggerFieldVal == nowValue || nowValue.split(',').indexOf(triggerFieldVal) !== -1;
288
+ return triggerFieldVal == nowValue || nowValue.split(',').indexOf(String(triggerFieldVal)) !== -1;
278
289
  }
279
290
 
280
291
  /** 读取关联触发字段当前值(布局预判,与 form.jsx 子表场景一致) */
@@ -306,7 +317,7 @@ function getRelaTriggerFieldValueForLayout(rule, fullFormData, rowIndex) {
306
317
  }
307
318
  }
308
319
  }
309
- return normalizeRelaTriggerValue(nowValue);
320
+ return normalizeRelaMatchValue(nowValue);
310
321
  }
311
322
 
312
323
  /**
package/lib/form/table.js CHANGED
@@ -1132,7 +1132,7 @@ var PageHome = function (_React$Component) {
1132
1132
  triggerRef = this.refs[triggerUnique];
1133
1133
  }
1134
1134
  if (triggerRef && triggerRef.state && triggerRef.state.itemParam.isHidden) {
1135
- return '';
1135
+ return ' ';
1136
1136
  }
1137
1137
  var mainTblData = data.mainTblData || [];
1138
1138
  if (rule.triggerTblName == mainTblName) {
@@ -1155,19 +1155,7 @@ var PageHome = function (_React$Component) {
1155
1155
  }
1156
1156
  }
1157
1157
  }
1158
- return this.normalizeRelaTriggerValue(nowValue);
1159
- }
1160
- }, {
1161
- key: 'isRelaRuleMatched',
1162
- value: function isRelaRuleMatched(rule, nowValue) {
1163
- var triggerFieldVal = rule.triggerFieldVal;
1164
- if (triggerFieldVal == " ") {
1165
- triggerFieldVal = "";
1166
- }
1167
- if (triggerFieldVal === '') {
1168
- return true;
1169
- }
1170
- return triggerFieldVal == nowValue || nowValue.split(',').indexOf(triggerFieldVal) != -1;
1158
+ return (0, _formExtHelper.normalizeRelaMatchValue)(nowValue);
1171
1159
  }
1172
1160
 
1173
1161
  // 获取关联字段还原基线(流程权限/表单设计后的初始状态)
@@ -1291,7 +1279,7 @@ var PageHome = function (_React$Component) {
1291
1279
  continue;
1292
1280
  }
1293
1281
  }
1294
- var matched = t.isRelaRuleMatched(rule, nowValue);
1282
+ var matched = (0, _formExtHelper.isRelaRuleMatched)(rule, nowValue);
1295
1283
  var editType = rule.editType;
1296
1284
  if (editType == 'hide' || editType == 'rowhide') {
1297
1285
  if (matched) {
@@ -1316,7 +1304,7 @@ var PageHome = function (_React$Component) {
1316
1304
  if (!skipEditMust && matched && defaultshowFields.indexOf(targetUniqueName) != -1) {
1317
1305
  readOnly = false;
1318
1306
  editFlag = true;
1319
- } else if (!skipEditMust && !editFlag && defaultshowFields.indexOf(targetUniqueName) != -1 && nowValue != '') {
1307
+ } else if (!skipEditMust && !editFlag && defaultshowFields.indexOf(targetUniqueName) != -1 && nowValue != '' && nowValue != ' ') {
1320
1308
  readOnly = true;
1321
1309
  } else if (!editFlag && defaultshowFields.indexOf(targetUniqueName) != -1) {
1322
1310
  readOnly = baseline.readOnly;
@@ -1475,9 +1463,6 @@ var PageHome = function (_React$Component) {
1475
1463
  var formRelaFieldMapsObjItem = formRelaFieldMapsObj[formIndex];
1476
1464
  mustFlag = false;
1477
1465
  var triggerFieldVal = formRelaFieldMapsObjItem.triggerFieldVal;
1478
- if (triggerFieldVal == " ") {
1479
- triggerFieldVal = "";
1480
- }
1481
1466
  var relaFieldTblName = formRelaFieldMapsObjItem.relaFieldTblName;
1482
1467
  var editType = formRelaFieldMapsObjItem.editType;
1483
1468
  if (relaFieldTblName) {
@@ -1544,14 +1529,15 @@ var PageHome = function (_React$Component) {
1544
1529
  }
1545
1530
  }
1546
1531
  var relaFieldMap = {};
1532
+ if (nowValue === '' || nowValue == null) {
1533
+ nowValue = ' ';
1534
+ }
1547
1535
  if (editType == 'hide' || editType == 'rowhide') {
1548
1536
  relaFieldMap["key"] = "isHidden";
1549
- if (triggerFieldVal == nowValue || nowValue.split(',').indexOf(triggerFieldVal) != -1) {
1537
+ if ((0, _formExtHelper.isRelaRuleMatched)({ triggerFieldVal: triggerFieldVal }, nowValue)) {
1550
1538
  relaFieldMap["value"] = true;
1551
1539
  hideFlag = true;
1552
1540
  hideFields.push(relaFieldTblNameArrayItem);
1553
- } else if (triggerFieldVal == '') {
1554
- relaFieldMap["value"] = true;
1555
1541
  } else if (!hideFlag && defaulthideFields.indexOf(relaFieldTblNameArrayItem) != -1) {
1556
1542
  relaFieldMap["value"] = true;
1557
1543
  } else if (!hideFlag && hideFields.indexOf(relaFieldTblNameArrayItem) == -1) {
@@ -1595,7 +1581,7 @@ var PageHome = function (_React$Component) {
1595
1581
  } else if (editType == 'must') {
1596
1582
  relaFieldMap["key"] = "required";
1597
1583
  var triggerFieldValBoolean = mustFlag;
1598
- if (triggerFieldVal == nowValue || nowValue.split(',').indexOf(triggerFieldVal) != -1) {
1584
+ if ((0, _formExtHelper.isRelaRuleMatched)({ triggerFieldVal: triggerFieldVal }, nowValue)) {
1599
1585
  relaFieldMap["value"] = true;
1600
1586
  triggerFieldValBoolean = true;
1601
1587
  mustFlag = true;
@@ -1642,7 +1628,7 @@ var PageHome = function (_React$Component) {
1642
1628
  }
1643
1629
  } else if (editType == 'edit') {
1644
1630
  relaFieldMap["key"] = "readOnly";
1645
- if ((triggerFieldVal == nowValue || nowValue.split(',').indexOf(triggerFieldVal) != -1) && defaultshowFields.indexOf(relaFieldTblNameArrayItem) != -1) {
1631
+ if ((0, _formExtHelper.isRelaRuleMatched)({ triggerFieldVal: triggerFieldVal }, nowValue) && defaultshowFields.indexOf(relaFieldTblNameArrayItem) != -1) {
1646
1632
  relaFieldMap["value"] = false;
1647
1633
  editFlag = true;
1648
1634
  } else if (!editFlag && defaultshowFields.indexOf(relaFieldTblNameArrayItem) != -1) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fmui-base",
3
- "version": "2.3.41",
3
+ "version": "2.3.43",
4
4
  "title": "fmui-base",
5
5
  "description": "fmui移动端组件",
6
6
  "main": "lib/index.js",