fmui-base 1.0.40 → 1.0.41

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
  ---
4
4
 
5
5
  ## 更新日志
6
+ - 1.0.41:上传附件敏感词拦截;
6
7
  - 1.0.40:修复审批验签重复问题;
7
8
  - 1.0.39:移动审批扩展;选人组件问题修复
8
9
  - 1.0.38:移动审批自动通过;选人组件增加政治面貌和职务
package/lib/form/form.js CHANGED
@@ -1074,7 +1074,7 @@ var PageHome = function (_React$Component) {
1074
1074
  }
1075
1075
  }
1076
1076
 
1077
- itemParam = t.dealwithLinkField(itemParam);
1077
+ itemParam = t.dealwithLinkField(itemParam, data, status);
1078
1078
  itemParam = t.dealwithRelaField(itemParam);
1079
1079
  if (itemType != 'weboffice') {
1080
1080
  itemParam.value = value;
@@ -1217,19 +1217,40 @@ var PageHome = function (_React$Component) {
1217
1217
 
1218
1218
  }, {
1219
1219
  key: 'dealwithLinkField',
1220
- value: function dealwithLinkField(itemParam) {
1221
-
1222
- var form = this.props.form;
1223
- if (form.multiItemsLinkField) {
1224
- var selectOptions = [];
1225
- form.multiItemsLinkField.map(function (item) {
1226
- var option = {};
1227
- option.value = item.value;
1228
- option.text = item.name;
1229
- selectOptions.push(option);
1230
- });
1231
- itemParam.selectOptions = selectOptions;
1220
+ value: function dealwithLinkField(itemParam, data, status) {
1221
+ if (",radio,checkbox,select,".indexOf("," + itemParam.itemType + ",") != -1) {
1222
+ if (status == '0') {
1223
+ var form = this.props.form;
1224
+ if (form.multiItemsLinkField) {
1225
+ var selectOptions = [];
1226
+ form.multiItemsLinkField.map(function (item) {
1227
+ var option = {};
1228
+ option.value = item.value;
1229
+ option.text = item.name;
1230
+ selectOptions.push(option);
1231
+ });
1232
+ itemParam.selectOptions = selectOptions;
1233
+ }
1234
+ } else if (status == '1') {
1235
+ if (data.mainTblData && data.mainTblData.length > 0) {
1236
+ var selectOptions = [];
1237
+ for (var i = 0; i < data.mainTblData.length; i++) {
1238
+ var item = data.mainTblData[i];
1239
+ if (item.key == itemParam.key && item.multiItemsLinkField) {
1240
+ var selectOptions = [];
1241
+ item.multiItemsLinkField.map(function (multiItems) {
1242
+ var option = {};
1243
+ option.value = multiItems.value;
1244
+ option.text = multiItems.name;
1245
+ selectOptions.push(option);
1246
+ });
1247
+ itemParam.selectOptions = selectOptions;
1248
+ }
1249
+ }
1250
+ }
1251
+ }
1232
1252
  }
1253
+
1233
1254
  // var linkFieldArray = linkFields[itemParam.fieldId];
1234
1255
  // if(linkFieldArray && linkFieldArray.length>0){
1235
1256
  // var triggerFormFields = "";
@@ -1798,15 +1819,17 @@ var PageHome = function (_React$Component) {
1798
1819
  }, {
1799
1820
  key: 'selectChange',
1800
1821
  value: function selectChange(code, value) {
1801
- var data = this.props.data;
1802
- var selectValue = value.value;
1803
- data = this.editData(code, selectValue, data);
1804
- var itemParam = this.state.itemParam;
1805
- itemParam.value = value;
1806
- this.setState({
1807
- itemParam: itemParam
1808
- });
1809
- this.props.onChange(data, itemParam);
1822
+ if (value) {
1823
+ var data = this.props.data;
1824
+ var selectValue = value.value;
1825
+ data = this.editData(code, selectValue, data);
1826
+ var itemParam = this.state.itemParam;
1827
+ itemParam.value = value;
1828
+ this.setState({
1829
+ itemParam: itemParam
1830
+ });
1831
+ this.props.onChange(data, itemParam);
1832
+ }
1810
1833
  }
1811
1834
 
1812
1835
  //时间
package/lib/form/table.js CHANGED
@@ -308,6 +308,7 @@ var PageHome = function (_React$Component) {
308
308
  var mainTblData = data.mainTblData;
309
309
  var mainTblName = data.mainTblName;
310
310
  var subTbl = data.subTbl;
311
+ var subTblNo = data.subTblNo;
311
312
  //处理特有参数
312
313
  if (typeof FlowCommon.dealwithFormItemChange === "function") {
313
314
  FlowCommon.dealwithFormItemChange(itemParam, this);
@@ -441,18 +442,52 @@ var PageHome = function (_React$Component) {
441
442
  if (formField.indexOf(fieldId) != -1) {
442
443
  for (var j = 0; j < ffid.length; j++) {
443
444
  var linkFormKey = "";
445
+ var linkFormTableKey = "";
446
+ var isSub = false;
444
447
  for (var f = 0; f < formItem.length; f++) {
445
448
  if (ffid[j] == formItem[f].fieldId) {
446
449
  linkFormKey = formItem[f].itemCode;
450
+ linkFormTableKey = mainTblName;
451
+ continue;
452
+ } else if (formItem[f].itemType == 'detail') {
453
+ for (var g = 0; g < formItem[f].children.length; g++) {
454
+ if (ffid[j] == formItem[f].children[g].fieldId) {
455
+ linkFormKey = formItem[f].children[g].itemCode;
456
+ linkFormTableKey = formItem[f].itemCode;
457
+ isSub = true;
458
+ continue;
459
+ }
460
+ }
447
461
  }
448
462
  }
449
463
  if (linkFormKey) {
450
- for (var k = 0; k < mainTblData.length; k++) {
451
- if (linkFormKey == mainTblData[k].key) {
452
- var option = {};
453
- option.value = mainTblData[k].value;
454
- option.formField = ffid[j];
455
- conditionArrayJSON.push(option);
464
+ var selectValue = "";
465
+ var isSelect = false;
466
+ if (isSub) {
467
+ for (var l = 0; l < subTbl.length; l++) {
468
+ if (subTbl[l].subTblName == linkFormTableKey) {
469
+ for (var g = 0; g < subTbl[l].subTblData[subTblNo].length; g++) {
470
+ if (subTbl[l].subTblData[subTblNo][g].key == linkFormKey) {
471
+ var option = {};
472
+ option.value = subTbl[l].subTblData[subTblNo][g].value;
473
+ option.formField = ffid[j];
474
+ conditionArrayJSON.push(option);
475
+ continue;
476
+ }
477
+ }
478
+ }
479
+ }
480
+ } else {
481
+ for (var k = 0; k < mainTblData.length; k++) {
482
+ if (linkFormTableKey + "_" + linkFormKey == mainTblName + "_" + mainTblData[k].key) {
483
+ var option = {};
484
+ selectValue = mainTblData[k].value;
485
+ option.value = mainTblData[k].value;
486
+ option.formField = ffid[j];
487
+ conditionArrayJSON.push(option);
488
+ isSelect = true;
489
+ continue;
490
+ }
456
491
  }
457
492
  }
458
493
  }
@@ -470,66 +505,211 @@ var PageHome = function (_React$Component) {
470
505
  for (var key in content) {
471
506
  var contentValue = content[key];
472
507
 
473
- var linkFormKey = "";
474
- var linkFormType = "";
508
+ var tolinkFormKey = "";
509
+ var tolinkFormType = "";
510
+ var tolinkFormTableKey = "";
511
+ var toisSub = false;
475
512
  for (var f = 0; f < formItem.length; f++) {
476
513
  if (key == formItem[f].fieldId) {
477
- linkFormKey = formItem[f].itemCode;
478
- linkFormType = formItem[f].itemType;
514
+ tolinkFormKey = formItem[f].itemCode;
515
+ tolinkFormType = formItem[f].itemType;
516
+ tolinkFormTableKey = mainTblName;
517
+ } else if (formItem[f].itemType == 'detail') {
518
+ for (var g = 0; g < formItem[f].children.length; g++) {
519
+ if (key == formItem[f].children[g].fieldId) {
520
+ tolinkFormKey = formItem[f].children[g].itemCode;
521
+ tolinkFormType = formItem[f].children[g].itemType;
522
+ tolinkFormTableKey = formItem[f].itemCode;
523
+ toisSub = true;
524
+ continue;
525
+ }
526
+ }
479
527
  }
480
528
  }
481
- if (linkFormKey) {
482
- for (var m = 0; m < mainTblData.length; m++) {
483
- if (linkFormKey == mainTblData[m].key) {
484
- var relateItemParam = t.refs[mainTblName + "_" + mainTblData[m].key].getItemParam();
485
- if (",text,textarea,datetime,datetimeStep,".indexOf("," + linkFormType + ",") != -1) {
486
- var textValue = '';
487
- var valueMap = {};
488
- valueMap.key = 'value';
489
- for (var c = 0; c < contentValue.length; c++) {
490
- textValue = textValue + "," + contentValue[c];
529
+ if (tolinkFormKey) {
530
+ if (!toisSub) {
531
+ for (var m = 0; m < mainTblData.length; m++) {
532
+ if (tolinkFormKey == mainTblData[m].key) {
533
+ var relateItemParam = t.refs[mainTblName + "_" + mainTblData[m].key].getItemParam();
534
+ if (",text,textarea,datetime,datetimeStep,".indexOf("," + tolinkFormType + ",") != -1) {
535
+ var textValue = '';
536
+ var valueMap = {};
537
+ valueMap.key = 'value';
538
+ for (var c = 0; c < contentValue.length; c++) {
539
+ textValue = textValue + "," + contentValue[c];
540
+ }
541
+ valueMap.value = textValue.substring(1);
542
+
543
+ t.refs[mainTblName + "_" + mainTblData[m].key].reloadItemParam([valueMap]);
544
+ mainTblData[m].value = textValue.substring(1);
545
+ } else if (",radio,checkbox,select,".indexOf("," + tolinkFormType + ",") != -1) {
546
+ var textValue = '';
547
+ var resultMap = {};
548
+ resultMap.key = 'selectOptions';
549
+
550
+ var selectOptions = [];
551
+ for (var c = 0; c < contentValue.length; c++) {
552
+ textValue = textValue + "," + contentValue[c];
553
+ var option = {};
554
+ relateItemParam.selectItem.map(function (selectItemObj) {
555
+ if (selectItemObj.value == contentValue[c]) {
556
+ option.value = contentValue[c];
557
+ option.text = selectItemObj.text;
558
+ selectOptions.push(option);
559
+ }
560
+ });
561
+ }
562
+ resultMap.value = selectOptions;
563
+
564
+ var valueMap1 = {};
565
+ valueMap1.key = 'value';
566
+ valueMap1.value = "";
567
+ mainTblData[m].value = "";
568
+ var tva = textValue.substring(1);
569
+ if (containUniqueFlag == true) {
570
+ valueMap1.value = tva;
571
+ mainTblData[m].value = tva;
572
+ } else {
573
+ for (var f = 0; f < formItem.length; f++) {
574
+ if (formItem[f].itemCode == mainTblData[m].key && formItem[f].value == tva) {
575
+ valueMap1.value = tva;
576
+ mainTblData[m].value = tva;
577
+ break;
578
+ }
579
+ }
580
+ }
581
+ t.refs[mainTblName + "_" + mainTblData[m].key].reloadItemParam([resultMap, valueMap1]);
491
582
  }
492
- valueMap.value = textValue.substring(1);
493
-
494
- t.refs[mainTblName + "_" + mainTblData[m].key].reloadItemParam([valueMap]);
495
- mainTblData[m].value = textValue.substring(1);
496
- } else if (",radio,checkbox,select,".indexOf("," + linkFormType + ",") != -1) {
497
- var textValue = '';
498
- var resultMap = {};
499
- resultMap.key = 'selectOptions';
500
-
501
- var selectOptions = [];
502
- for (var c = 0; c < contentValue.length; c++) {
503
- textValue = textValue + "," + contentValue[c];
504
- var option = {};
505
- relateItemParam.selectItem.map(function (selectItemObj) {
506
- if (selectItemObj.value == contentValue[c]) {
507
- option.value = contentValue[c];
508
- option.text = selectItemObj.text;
509
- selectOptions.push(option);
583
+ }
584
+ }
585
+ } else {
586
+ if (isSub) {
587
+ for (var l = 0; l < subTbl.length; l++) {
588
+ if (subTbl[l].subTblName == tolinkFormTableKey) {
589
+ for (var g = 0; g < subTbl[l].subTblData[subTblNo].length; g++) {
590
+ if (subTbl[l].subTblData[subTblNo][g].key == tolinkFormKey) {
591
+ var relateItemParam = t.refs["sub_" + tolinkFormTableKey].refs[tolinkFormTableKey + "_" + subTbl[l].subTblData[subTblNo][g].key + "_" + subTblNo].getItemParam();
592
+ if (",text,textarea,datetime,datetimeStep,".indexOf("," + tolinkFormType + ",") != -1) {
593
+ var textValue = '';
594
+ var valueMap = {};
595
+ valueMap.key = 'value';
596
+ for (var c = 0; c < contentValue.length; c++) {
597
+ textValue = textValue + "," + contentValue[c];
598
+ }
599
+ valueMap.value = textValue.substring(1);
600
+
601
+ t.refs["sub_" + tolinkFormTableKey].refs[tolinkFormTableKey + "_" + subTbl[l].subTblData[subTblNo][g].key + "_" + subTblNo].reloadItemParam([valueMap]);
602
+ subTbl[l].subTblData[subTblNo][g].value = textValue.substring(1);
603
+ } else if (",radio,checkbox,select,".indexOf("," + tolinkFormType + ",") != -1) {
604
+ var textValue = '';
605
+ var resultMap = {};
606
+ resultMap.key = 'selectOptions';
607
+
608
+ var selectOptions = [];
609
+ for (var c = 0; c < contentValue.length; c++) {
610
+ textValue = textValue + "," + contentValue[c];
611
+ var option = {};
612
+ relateItemParam.selectItem.map(function (selectItemObj) {
613
+ if (selectItemObj.value == contentValue[c]) {
614
+ option.value = contentValue[c];
615
+ option.text = selectItemObj.text;
616
+ selectOptions.push(option);
617
+ }
618
+ });
619
+ }
620
+ resultMap.value = selectOptions;
621
+
622
+ var valueMap1 = {};
623
+ valueMap1.key = 'value';
624
+ valueMap1.value = "";
625
+ subTbl[l].subTblData[subTblNo][g].value = "";
626
+ var tva = textValue.substring(1);
627
+ if (containUniqueFlag == true) {
628
+ valueMap1.value = tva;
629
+ subTbl[l].subTblData[subTblNo][g].value = tva;
630
+ } else {
631
+ for (var f = 0; f < formItem.length; f++) {
632
+ if (formItem[f].itemType == 'detail' && formItem[f].itemCode == tolinkFormTableKey) {
633
+ for (var h = 0; h < formItem[f].children.length; h++) {
634
+ if (formItem[f].children[h].itemCode == subTbl[l].subTblData[subTblNo][g].key && formItem[f].children[h].value == tva) {
635
+ valueMap1.value = tva;
636
+ subTbl[l].subTblData[subTblNo][g].value = tva;
637
+ break;
638
+ }
639
+ }
640
+ }
641
+ }
642
+ }
643
+ t.refs["sub_" + tolinkFormTableKey].refs[tolinkFormTableKey + "_" + subTbl[l].subTblData[subTblNo][g].key + "_" + subTblNo].reloadItemParam([resultMap, valueMap1]);
644
+ }
510
645
  }
511
- });
646
+ }
512
647
  }
513
- resultMap.value = selectOptions;
514
-
515
- var valueMap1 = {};
516
- valueMap1.key = 'value';
517
- valueMap1.value = "";
518
- mainTblData[m].value = "";
519
- var tva = textValue.substring(1);
520
- if (containUniqueFlag == true) {
521
- valueMap1.value = tva;
522
- mainTblData[m].value = tva;
523
- } else {
524
- for (var f = 0; f < formItem.length; f++) {
525
- if (formItem[f].itemCode == mainTblData[m].key && formItem[f].value == tva) {
526
- valueMap1.value = tva;
527
- mainTblData[m].value = tva;
528
- break;
648
+ }
649
+ } else {
650
+ for (var l = 0; l < subTbl.length; l++) {
651
+ if (subTbl[l].subTblName == tolinkFormTableKey) {
652
+ for (var o = 0; o < subTbl[l].subTblData.length; o++) {
653
+ for (var g = 0; g < subTbl[l].subTblData[o].length; g++) {
654
+ if (tolinkFormKey == subTbl[l].subTblData[o][g].key) {
655
+ var relateItemParam = t.refs["sub_" + tolinkFormTableKey].refs[tolinkFormTableKey + "_" + subTbl[l].subTblData[o][g].key + "_" + o].getItemParam();
656
+ if (",text,textarea,datetime,datetimeStep,".indexOf("," + tolinkFormType + ",") != -1) {
657
+ var textValue = '';
658
+ var valueMap = {};
659
+ valueMap.key = 'value';
660
+ for (var c = 0; c < contentValue.length; c++) {
661
+ textValue = textValue + "," + contentValue[c];
662
+ }
663
+ valueMap.value = textValue.substring(1);
664
+
665
+ t.refs["sub_" + tolinkFormTableKey].refs[tolinkFormTableKey + "_" + subTbl[l].subTblData[o][g].key + "_" + o].reloadItemParam([valueMap]);
666
+ subTbl[l].subTblData[o][g].value = textValue.substring(1);
667
+ } else if (",radio,checkbox,select,".indexOf("," + tolinkFormType + ",") != -1) {
668
+ var textValue = '';
669
+ var resultMap = {};
670
+ resultMap.key = 'selectOptions';
671
+
672
+ var selectOptions = [];
673
+ for (var c = 0; c < contentValue.length; c++) {
674
+ textValue = textValue + "," + contentValue[c];
675
+ var option = {};
676
+ relateItemParam.selectItem.map(function (selectItemObj) {
677
+ if (selectItemObj.value == contentValue[c]) {
678
+ option.value = contentValue[c];
679
+ option.text = selectItemObj.text;
680
+ selectOptions.push(option);
681
+ }
682
+ });
683
+ }
684
+ resultMap.value = selectOptions;
685
+
686
+ var valueMap1 = {};
687
+ valueMap1.key = 'value';
688
+ valueMap1.value = "";
689
+ subTbl[l].subTblData[o][g].value = "";
690
+ var tva = textValue.substring(1);
691
+ if (containUniqueFlag == true) {
692
+ valueMap1.value = tva;
693
+ subTbl[l].subTblData[o][g].value = tva;
694
+ } else {
695
+ for (var f = 0; f < formItem.length; f++) {
696
+ if (formItem[f].itemType == 'detail' && formItem[f].itemCode == tolinkFormTableKey) {
697
+ for (var h = 0; h < formItem[f].children.length; h++) {
698
+ if (formItem[f].children[h].itemCode == subTbl[l].subTblData[o][g].key && formItem[f].children[h].value == tva) {
699
+ valueMap1.value = tva;
700
+ subTbl[l].subTblData[o][g].value = tva;
701
+ break;
702
+ }
703
+ }
704
+ }
705
+ }
706
+ }
707
+ t.refs["sub_" + tolinkFormTableKey].refs[tolinkFormTableKey + "_" + subTbl[l].subTblData[o][g].key + "_" + o].reloadItemParam([resultMap, valueMap1]);
708
+ }
709
+ }
529
710
  }
530
711
  }
531
712
  }
532
- t.refs[mainTblName + "_" + mainTblData[m].key].reloadItemParam([resultMap, valueMap1]);
533
713
  }
534
714
  }
535
715
  }
@@ -59,11 +59,17 @@ var PageHome = function (_React$Component) {
59
59
  //如果组件没有设置则取后台默认
60
60
  extensions = setting.sysAttachmentCate;
61
61
  }
62
+ //累加
62
63
  // 可上传
63
64
  var canAdd = props.canAdd;
64
65
  // 可删除
65
66
  var canDel = props.canDel;
66
67
 
68
+ //单次返回,默认返回所有
69
+ var returnOnce = props.returnOnce;
70
+ if (!returnOnce) {
71
+ returnOnce = false;
72
+ }
67
73
  //预览类型,view:永中预览,download:下载
68
74
  var viewType = props.viewType;
69
75
  if (typeof viewType == 'undefined' || viewType == null || viewType == '') {
@@ -149,7 +155,8 @@ var PageHome = function (_React$Component) {
149
155
  isInit: false,
150
156
  addQueNum: 0,
151
157
  viewType: viewType,
152
- initList: initList
158
+ initList: initList,
159
+ returnOnce: returnOnce
153
160
  };
154
161
  return _this;
155
162
  }
@@ -310,11 +317,26 @@ var PageHome = function (_React$Component) {
310
317
  } else {
311
318
  var json = file.response.getJson().data;
312
319
 
320
+ if (typeof getSensitive === "function") {
321
+
322
+ var returnMsg = getSensitive(json[0].fileDisplayName);
323
+ if (returnMsg) {
324
+ _Toast2.default.show({
325
+ type: 'error',
326
+ content: '附件名称包含' + returnMsg + '敏感词!'
327
+ });
328
+ return false;
329
+ }
330
+ }
313
331
  //var checksum = json[0].checksum;
314
332
  var initList = t.state.initList;
315
333
  if (initList.length < _this2.state.limitNo) {
316
334
  initList = initList.concat(json);
317
- t.props.onChange(initList);
335
+ if (t.state.returnOnce) {
336
+ t.props.onChange(json);
337
+ } else {
338
+ t.props.onChange(initList);
339
+ }
318
340
  t.setState({
319
341
  initList: initList
320
342
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fmui-base",
3
- "version": "1.0.40",
3
+ "version": "1.0.41",
4
4
  "title": "fmui-base",
5
5
  "description": "fmui移动端组件",
6
6
  "main": "lib/index.js",