fmui-base 2.0.90 → 2.0.91

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.0.91:表单组件关联字段支持绑定子表字段,子表change事件回调时增加子表的index
6
7
  - 2.0.90:表单组件子表处理
7
8
  - 2.0.89:表单组件子表处理
8
9
  - 2.0.88:表单组件支持关联表子表功能
package/lib/form/form.js CHANGED
@@ -1293,9 +1293,8 @@ var PageHome = function (_React$Component) {
1293
1293
  t.props.onChange(data, t.state.itemParam);
1294
1294
  }
1295
1295
  }
1296
-
1297
1296
  itemParam = t.dealwithLinkField(itemParam, data, status);
1298
- itemParam = t.dealwithRelaField(itemParam);
1297
+ itemParam = t.dealwithRelaField(itemParam, allForm);
1299
1298
  if (itemType != 'weboffice') {
1300
1299
  itemParam.value = value;
1301
1300
  //处理特有按钮事件
@@ -1551,14 +1550,15 @@ var PageHome = function (_React$Component) {
1551
1550
 
1552
1551
  }, {
1553
1552
  key: 'dealwithRelaField',
1554
- value: function dealwithRelaField(itemParam) {
1553
+ value: function dealwithRelaField(itemParam, allForm) {
1555
1554
  var formRelaFieldMaps = this.props.formRelaFieldMaps;
1556
1555
  if (formRelaFieldMaps) {
1557
1556
  if (formRelaFieldMaps[itemParam.uniqueName]) {
1558
1557
  var data = this.props.data;
1559
1558
  var mainTblData = data.mainTblData;
1560
1559
  var mainTblName = data.mainTblName;
1561
- var subTbl = data.subTbl;
1560
+ // var subTbl = data.subTbl;
1561
+ var subTbl = allForm;
1562
1562
  var formRelaFieldMapsArray = formRelaFieldMaps[itemParam.uniqueName];
1563
1563
  formRelaFieldMapsArray.map(function (item) {
1564
1564
  if (item.triggerTblName == mainTblName) {
@@ -1603,11 +1603,12 @@ var PageHome = function (_React$Component) {
1603
1603
  }
1604
1604
  });
1605
1605
  } else {
1606
- subTbl.map(function (subTblItem) {
1607
- if (subTblItem.subTblName == item.triggerTblName) {
1608
- var subTblData = subTblItem.subTblData;
1606
+ var subTbls = subTbl.item;
1607
+ subTbls.map(function (subTblItem) {
1608
+ if (subTbl.tblName == item.triggerTblName) {
1609
+ var subTblData = subTblItem;
1609
1610
  subTblData.map(function (mainTblDataItem) {
1610
- if (item.triggerFieldName == mainTblDataItem.key) {
1611
+ if (item.triggerFieldName == mainTblDataItem.itemCode) {
1611
1612
  // if(item.triggerFieldVal == mainTblDataItem.value){
1612
1613
  var editType = item.editType;
1613
1614
  if (editType == 'hide') {
@@ -1633,7 +1634,7 @@ var PageHome = function (_React$Component) {
1633
1634
  // item.required = triggerFieldValBoolean;
1634
1635
  // }
1635
1636
  // });
1636
- if (item.relaFieldName == mainTblDataItem.key) {
1637
+ if (item.relaFieldName == mainTblDataItem.itemCode) {
1637
1638
  mainTblDataItem.required = triggerFieldValBoolean;
1638
1639
  }
1639
1640
  } else if (editType == 'edit') {
package/lib/form/table.js CHANGED
@@ -306,6 +306,9 @@ var PageHome = function (_React$Component) {
306
306
  var module = t.props.module;
307
307
  var formKey = t.props.allForm ? t.props.allForm.formcode : "";
308
308
  var formTblId = t.props.allForm ? t.props.allForm.formTblId : "";
309
+ if (typeof subTblNo != 'undefined') {
310
+ itemParam.subTblNo = subTblNo;
311
+ }
309
312
  if (itemParam && itemParam.key) {
310
313
  //修改事件的时候
311
314
 
@@ -830,6 +833,8 @@ var PageHome = function (_React$Component) {
830
833
  key: 'dealwithRelaField',
831
834
  value: function dealwithRelaField(formRelaFieldMapsObj, data, itemKey) {
832
835
  var t = this;
836
+ var isSubField = false;
837
+ var subTblName = '';
833
838
  if (formRelaFieldMapsObj && formRelaFieldMapsObj.length > 0) {
834
839
  //解决同一字段 关联字段 编辑方式相同时冲突
835
840
  var hideFlag = false;
@@ -899,7 +904,33 @@ var PageHome = function (_React$Component) {
899
904
  relaFieldMap["value"] = false;
900
905
  }
901
906
  }
902
- t.refs[relaFieldTblNameArrayItem].reloadItemParam([relaFieldMap]);
907
+ if (relaFieldTblNameArrayItem) {
908
+ var subTbl = data.subTbl;
909
+ if (subTbl && subTbl.length > 0) {
910
+ for (var j = 0; j < subTbl.length; j++) {
911
+ var subTblData = subTbl[j].subTblData;
912
+ subTblName = subTbl[j].subTblName;
913
+ if (subTblData && subTblData.length > 0) {
914
+ for (var b = 0; b < subTblData.length; b++) {
915
+ var subTblDataItem = subTblData[b];
916
+ if (subTblDataItem && subTblDataItem.length > 0) {
917
+ for (var a = 0; a < subTblDataItem.length; a++) {
918
+ if (relaFieldTblNameArrayItem == subTblDataItem[a].uniqueName) {
919
+ isSubField = true;
920
+ var subTblNameItem = "sub_" + subTblName;
921
+ var subItem = relaFieldTblNameArrayItem + '_' + a;
922
+ t.refs[subTblNameItem].refs[subItem].reloadItemParam([relaFieldMap]);
923
+ }
924
+ }
925
+ }
926
+ }
927
+ }
928
+ }
929
+ }
930
+ }
931
+ if (isSubField) {} else {
932
+ t.refs[relaFieldTblNameArrayItem].reloadItemParam([relaFieldMap]);
933
+ }
903
934
  });
904
935
  }
905
936
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fmui-base",
3
- "version": "2.0.90",
3
+ "version": "2.0.91",
4
4
  "title": "fmui-base",
5
5
  "description": "fmui移动端组件",
6
6
  "main": "lib/index.js",