fmui-base 2.3.4 → 2.3.6

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.6:待办表单支持切换组织
7
+ - 2.3.5:联动字段保存后被清空
6
8
  - 2.3.4:移动端表单下拉单选和按钮按钮组件样式更换
7
9
  - 2.3.3:移动端表单下拉单选和按钮按钮组件样式更换
8
10
  - 2.3.2:流程设置支持配置流程转交是否填写批示意见
package/lib/db/db.js CHANGED
@@ -1111,6 +1111,35 @@ context.create('FlowModuleAPI', {
1111
1111
  // content: <Loading />
1112
1112
  // });
1113
1113
  }
1114
+ },
1115
+ getUserSetInfo: {
1116
+ mockUrl: 'query/getUserSetInfo.json',
1117
+ url: _variables2.default.URLS.getUserSetInfo,
1118
+ method: 'GET',
1119
+ header: {
1120
+ Authorization: 'Bearer ' + getLoginUserInfo().token
1121
+ },
1122
+ willFetch: function willFetch() {}
1123
+ },
1124
+ orgSwitch: {
1125
+ mockUrl: 'query/orgSwitch.json',
1126
+ url: _variables2.default.URLS.orgSwitch,
1127
+ method: 'POST',
1128
+ postDataFomat: 'FORM',
1129
+ header: {
1130
+ Authorization: 'Bearer ' + getLoginUserInfo().token
1131
+ },
1132
+ willFetch: function willFetch() {}
1133
+ },
1134
+ updateStartUserOrg: {
1135
+ mockUrl: 'query/updateStartUserOrg.json',
1136
+ url: _variables2.default.URLS.updateStartUserOrg,
1137
+ method: 'POST',
1138
+ postDataFomat: 'FORM',
1139
+ header: {
1140
+ Authorization: 'Bearer ' + getLoginUserInfo().token
1141
+ },
1142
+ willFetch: function willFetch() {}
1114
1143
  }
1115
1144
 
1116
1145
  });
@@ -140,7 +140,10 @@ exports.default = {
140
140
  getProcessListByCodes: approveUrlPrefix + "getProcessListByCodes" + '?', //获取可发起的子流程
141
141
  getRelaObjByRelaId: approveUrlPrefix + "getRelaObjByRelaId" + '?', //获取相关对象
142
142
  getUrgencyEnum: approveUrlPrefix + "getUrgencyEnum" + '?', //获取枚举
143
- getSysSettingByMark: approveUrlPrefix + "getSysSettingByMark" + '?' //获取系统设置
143
+ getSysSettingByMark: approveUrlPrefix + "getSysSettingByMark" + '?', //获取系统设置
144
+ getUserSetInfo: urlBasicPrefix + 'setting/userinfo/getUserSetInfo' + '?', //获取用户组织信息
145
+ orgSwitch: urlBasicPrefix + 'front/personal/orgSwitch' + '?', //切换组织
146
+ updateStartUserOrg: approveUrlPrefix + 'updateStartUserOrg' + '?' //更新发起人组织
144
147
  },
145
148
  nodataIcon: context + "/mobile/fmui/images/noData.png",
146
149
  loadingIcon: context + "/mobile/fmui/images/loading.gif",
package/lib/form/table.js CHANGED
@@ -165,6 +165,72 @@ function buildFormRelaFieldMapsByRelaField(triggerFieldsMap) {
165
165
  return relaFieldsMap;
166
166
  }
167
167
 
168
+ // 构建联动下拉选项(对齐 PC:从联动结果 + 已保存 multiItemsLinkField 取显示文本)
169
+ function buildLinkageSelectOptions(contentValue, relateItemParam, fieldDataItem) {
170
+ var selectOptions = [];
171
+ var lookupSources = [];
172
+ if (relateItemParam) {
173
+ if (relateItemParam.selectOptions) {
174
+ lookupSources.push(relateItemParam.selectOptions);
175
+ }
176
+ if (relateItemParam.selectItem) {
177
+ lookupSources.push(relateItemParam.selectItem);
178
+ }
179
+ }
180
+ if (fieldDataItem && fieldDataItem.multiItemsLinkField) {
181
+ lookupSources.push(fieldDataItem.multiItemsLinkField);
182
+ }
183
+ for (var c = 0; c < contentValue.length; c++) {
184
+ var val = contentValue[c];
185
+ var option = { value: val, text: val };
186
+ for (var s = 0; s < lookupSources.length; s++) {
187
+ var src = lookupSources[s];
188
+ if (!src) {
189
+ continue;
190
+ }
191
+ for (var i = 0; i < src.length; i++) {
192
+ var item = src[i];
193
+ if (item && item.value == val) {
194
+ option.text = item.text || item.name || val;
195
+ break;
196
+ }
197
+ }
198
+ }
199
+ selectOptions.push(option);
200
+ }
201
+ return selectOptions;
202
+ }
203
+
204
+ // 联动下拉赋值:编辑打开时优先保留已保存值(对齐 PC real-value 逻辑)
205
+ function resolveLinkageSelectValue(containUniqueFlag, savedValue, candidateValue, formItem, fieldKey) {
206
+ var tva = candidateValue || '';
207
+ if (containUniqueFlag === true) {
208
+ return tva;
209
+ }
210
+ if (savedValue != null && savedValue !== '') {
211
+ var available = tva ? String(tva).split(',') : [];
212
+ var savedArr = String(savedValue).split(',');
213
+ var matched = savedArr.filter(function (v) {
214
+ return available.indexOf(v) > -1;
215
+ });
216
+ if (matched.length > 0) {
217
+ return matched.join(',');
218
+ }
219
+ if (available.length === 1) {
220
+ return available[0];
221
+ }
222
+ return savedValue;
223
+ }
224
+ if (formItem && fieldKey) {
225
+ for (var f = 0; f < formItem.length; f++) {
226
+ if (formItem[f].itemCode == fieldKey && formItem[f].value == tva) {
227
+ return tva;
228
+ }
229
+ }
230
+ }
231
+ return '';
232
+ }
233
+
168
234
  var PageHome = function (_React$Component) {
169
235
  _inherits(PageHome, _React$Component);
170
236
 
@@ -350,6 +416,7 @@ var PageHome = function (_React$Component) {
350
416
  // "relaTblName" : "cs_test"
351
417
  // } ]
352
418
  // }
419
+ _this._isFormInitialLoading = true;
353
420
  return _this;
354
421
  }
355
422
 
@@ -357,17 +424,53 @@ var PageHome = function (_React$Component) {
357
424
  key: 'componentDidMount',
358
425
  value: function componentDidMount() {
359
426
  var t = this;
427
+ // 等子字段 loadComponet 完成后再统一刷新关联/联动,避免打开编辑页时清空已保存值
428
+ setTimeout(function () {
429
+ t.initFormLinkageAndRelaFields();
430
+ }, 500);
431
+ }
360
432
 
361
- // let formItem = this.props.form;
362
- // let commentList = this.props.commentList;
363
- // let formData = this.props.formData;
433
+ // 编辑/查看打开后:刷新字段关联规则,并按触发条件回填联动字段(保留已保存值)
364
434
 
365
- // t.setState({
366
- // formItem:formItem,
367
- // commentFieldList:commentFieldList,
368
- // commentDefaultList:commentDefaultList,
369
- // formData:formData
370
- // });
435
+ }, {
436
+ key: 'initFormLinkageAndRelaFields',
437
+ value: function initFormLinkageAndRelaFields() {
438
+ var t = this;
439
+ var data = t.props.data;
440
+ if (!data) {
441
+ t._isFormInitialLoading = false;
442
+ return;
443
+ }
444
+ t._isRelaFieldRefreshing = true;
445
+ try {
446
+ t.reloadFormRelaField({ initFlag: true });
447
+ } finally {
448
+ t._isRelaFieldRefreshing = false;
449
+ }
450
+ var linkFields = data.linkFields;
451
+ if (linkFields && linkFields.length > 0) {
452
+ var processed = {};
453
+ var formItem = data.formItem || [];
454
+ for (var i = 0; i < linkFields.length; i++) {
455
+ var formField = linkFields[i].formField;
456
+ if (!formField || processed[formField]) {
457
+ continue;
458
+ }
459
+ processed[formField] = true;
460
+ for (var j = 0; j < formItem.length; j++) {
461
+ if (formField.indexOf(formItem[j].fieldId) > -1) {
462
+ t.processLinkFieldsUpdate(data, {
463
+ fieldId: formItem[j].fieldId,
464
+ key: formItem[j].itemCode,
465
+ uniqueName: data.mainTblName + '_' + formItem[j].itemCode,
466
+ itemType: formItem[j].itemType
467
+ }, undefined, { initFlag: true });
468
+ break;
469
+ }
470
+ }
471
+ }
472
+ }
473
+ t._isFormInitialLoading = false;
371
474
  }
372
475
  }, {
373
476
  key: 'reloadItemParam',
@@ -529,308 +632,20 @@ var PageHome = function (_React$Component) {
529
632
 
530
633
  var fieldId = itemParam.fieldId;
531
634
  var linkFields = data.linkFields;
532
- var formItem = data.formItem;
533
- if (linkFields && linkFields != null) {
534
- for (var i = 0; i < linkFields.length; i++) {
535
- var formField = linkFields[i].formField;
536
- if (formField != null && formField != '') {
537
- var ffid = formField.split(",");
538
- var conditionArrayJSON = [];
539
- if (formField.indexOf(fieldId) != -1) {
540
- for (var j = 0; j < ffid.length; j++) {
541
- var linkFormKey = "";
542
- var linkFormTableKey = "";
543
- var isSub = false;
544
- for (var f = 0; f < formItem.length; f++) {
545
- if (ffid[j] == formItem[f].fieldId) {
546
- linkFormKey = formItem[f].itemCode;
547
- linkFormTableKey = mainTblName;
548
- continue;
549
- } else if (formItem[f].itemType == 'detail') {
550
- for (var g = 0; g < formItem[f].children.length; g++) {
551
- if (ffid[j] == formItem[f].children[g].fieldId) {
552
- linkFormKey = formItem[f].children[g].itemCode;
553
- linkFormTableKey = formItem[f].itemCode;
554
- isSub = true;
555
- continue;
556
- }
557
- }
558
- }
559
- }
560
- if (linkFormKey) {
561
- var selectValue = "";
562
- var isSelect = false;
563
- if (isSub) {
564
- for (var l = 0; l < subTbl.length; l++) {
565
- if (subTbl[l].subTblName == linkFormTableKey) {
566
- for (var g = 0; g < subTbl[l].subTblData[subTblNo].length; g++) {
567
- if (subTbl[l].subTblData[subTblNo][g].key == linkFormKey) {
568
- var option = {};
569
- option.value = subTbl[l].subTblData[subTblNo][g].value;
570
- option.formField = ffid[j];
571
- conditionArrayJSON.push(option);
572
- continue;
573
- }
574
- }
575
- }
576
- }
577
- } else {
578
- for (var k = 0; k < mainTblData.length; k++) {
579
- if (linkFormTableKey + "_" + linkFormKey == mainTblName + "_" + mainTblData[k].key) {
580
- var option = {};
581
- selectValue = mainTblData[k].value;
582
- option.value = mainTblData[k].value;
583
- option.formField = ffid[j];
584
- conditionArrayJSON.push(option);
585
- isSelect = true;
586
- continue;
587
- }
588
- }
589
- }
590
- }
591
- }
592
- }
593
- if (conditionArrayJSON.length > 0) {
594
- _db2.default.FlowModuleAPI.getLinkFieldValueMap({
595
- triggerFormFields: formField,
596
- formId: data.formId,
597
- conditionArrayJSON: JSON.stringify(conditionArrayJSON)
598
- }).then(function (content) {
599
- if (content) {
600
- var containUniqueFlag = content['containUniqueFlag'];
601
- var content = content['map'];
602
- for (var key in content) {
603
- var contentValue = content[key];
604
-
605
- var tolinkFormKey = "";
606
- var tolinkFormType = "";
607
- var tolinkFormTableKey = "";
608
- var toisSub = false;
609
- for (var f = 0; f < formItem.length; f++) {
610
- if (key == formItem[f].fieldId) {
611
- tolinkFormKey = formItem[f].itemCode;
612
- tolinkFormType = formItem[f].itemType;
613
- tolinkFormTableKey = mainTblName;
614
- } else if (formItem[f].itemType == 'detail') {
615
- for (var g = 0; g < formItem[f].children.length; g++) {
616
- if (key == formItem[f].children[g].fieldId) {
617
- tolinkFormKey = formItem[f].children[g].itemCode;
618
- tolinkFormType = formItem[f].children[g].itemType;
619
- tolinkFormTableKey = formItem[f].itemCode;
620
- toisSub = true;
621
- continue;
622
- }
623
- }
624
- }
625
- }
626
- if (tolinkFormKey) {
627
- if (!toisSub) {
628
- for (var m = 0; m < mainTblData.length; m++) {
629
- if (tolinkFormKey == mainTblData[m].key) {
630
- var relateItemParam = t.refs[mainTblName + "_" + mainTblData[m].key].getItemParam();
631
- if (",text,textarea,datetime,datetimeStep,".indexOf("," + tolinkFormType + ",") != -1) {
632
- var textValue = '';
633
- var valueMap = {};
634
- valueMap.key = 'value';
635
- for (var c = 0; c < contentValue.length; c++) {
636
- textValue = textValue + "," + contentValue[c];
637
- }
638
- valueMap.value = textValue.substring(1);
639
-
640
- t.refs[mainTblName + "_" + mainTblData[m].key].reloadItemParam([valueMap]);
641
- mainTblData[m].value = textValue.substring(1);
642
- } else if (",radio,checkbox,select,".indexOf("," + tolinkFormType + ",") != -1) {
643
- var textValue = '';
644
- var resultMap = {};
645
- resultMap.key = 'selectOptions';
646
-
647
- var selectOptions = [];
648
- for (var c = 0; c < contentValue.length; c++) {
649
- textValue = textValue + "," + contentValue[c];
650
- var option = {};
651
- relateItemParam.selectItem.map(function (selectItemObj) {
652
- if (selectItemObj.value == contentValue[c]) {
653
- option.value = contentValue[c];
654
- option.text = selectItemObj.text;
655
- selectOptions.push(option);
656
- }
657
- });
658
- }
659
- resultMap.value = selectOptions;
660
-
661
- var valueMap1 = {};
662
- valueMap1.key = 'value';
663
- valueMap1.value = "";
664
- mainTblData[m].value = "";
665
- var tva = textValue.substring(1);
666
- if (containUniqueFlag == true) {
667
- valueMap1.value = tva;
668
- mainTblData[m].value = tva;
669
- } else {
670
- for (var f = 0; f < formItem.length; f++) {
671
- if (formItem[f].itemCode == mainTblData[m].key && formItem[f].value == tva) {
672
- valueMap1.value = tva;
673
- mainTblData[m].value = tva;
674
- break;
675
- }
676
- }
677
- }
678
- t.refs[mainTblName + "_" + mainTblData[m].key].reloadItemParam([resultMap, valueMap1]);
679
- }
680
- }
681
- }
682
- } else {
683
- if (isSub) {
684
- for (var l = 0; l < subTbl.length; l++) {
685
- if (subTbl[l].subTblName == tolinkFormTableKey) {
686
- for (var g = 0; g < subTbl[l].subTblData[subTblNo].length; g++) {
687
- if (subTbl[l].subTblData[subTblNo][g].key == tolinkFormKey) {
688
- var relateItemParam = t.refs["sub_" + tolinkFormTableKey].refs[tolinkFormTableKey + "_" + subTbl[l].subTblData[subTblNo][g].key + "_" + subTblNo].getItemParam();
689
- if (",text,textarea,datetime,datetimeStep,".indexOf("," + tolinkFormType + ",") != -1) {
690
- var textValue = '';
691
- var valueMap = {};
692
- valueMap.key = 'value';
693
- for (var c = 0; c < contentValue.length; c++) {
694
- textValue = textValue + "," + contentValue[c];
695
- }
696
- valueMap.value = textValue.substring(1);
697
-
698
- t.refs["sub_" + tolinkFormTableKey].refs[tolinkFormTableKey + "_" + subTbl[l].subTblData[subTblNo][g].key + "_" + subTblNo].reloadItemParam([valueMap]);
699
- subTbl[l].subTblData[subTblNo][g].value = textValue.substring(1);
700
- } else if (",radio,checkbox,select,".indexOf("," + tolinkFormType + ",") != -1) {
701
- var textValue = '';
702
- var resultMap = {};
703
- resultMap.key = 'selectOptions';
704
-
705
- var selectOptions = [];
706
- for (var c = 0; c < contentValue.length; c++) {
707
- textValue = textValue + "," + contentValue[c];
708
- var option = {};
709
- relateItemParam.selectItem.map(function (selectItemObj) {
710
- if (selectItemObj.value == contentValue[c]) {
711
- option.value = contentValue[c];
712
- option.text = selectItemObj.text;
713
- selectOptions.push(option);
714
- }
715
- });
716
- }
717
- resultMap.value = selectOptions;
718
-
719
- var valueMap1 = {};
720
- valueMap1.key = 'value';
721
- valueMap1.value = "";
722
- subTbl[l].subTblData[subTblNo][g].value = "";
723
- var tva = textValue.substring(1);
724
- if (containUniqueFlag == true) {
725
- valueMap1.value = tva;
726
- subTbl[l].subTblData[subTblNo][g].value = tva;
727
- } else {
728
- for (var f = 0; f < formItem.length; f++) {
729
- if (formItem[f].itemType == 'detail' && formItem[f].itemCode == tolinkFormTableKey) {
730
- for (var h = 0; h < formItem[f].children.length; h++) {
731
- if (formItem[f].children[h].itemCode == subTbl[l].subTblData[subTblNo][g].key && formItem[f].children[h].value == tva) {
732
- valueMap1.value = tva;
733
- subTbl[l].subTblData[subTblNo][g].value = tva;
734
- break;
735
- }
736
- }
737
- }
738
- }
739
- }
740
- t.refs["sub_" + tolinkFormTableKey].refs[tolinkFormTableKey + "_" + subTbl[l].subTblData[subTblNo][g].key + "_" + subTblNo].reloadItemParam([resultMap, valueMap1]);
741
- }
742
- }
743
- }
744
- }
745
- }
746
- } else {
747
- for (var l = 0; l < subTbl.length; l++) {
748
- if (subTbl[l].subTblName == tolinkFormTableKey) {
749
- for (var o = 0; o < subTbl[l].subTblData.length; o++) {
750
- for (var g = 0; g < subTbl[l].subTblData[o].length; g++) {
751
- if (tolinkFormKey == subTbl[l].subTblData[o][g].key) {
752
- var relateItemParam = t.refs["sub_" + tolinkFormTableKey].refs[tolinkFormTableKey + "_" + subTbl[l].subTblData[o][g].key + "_" + o].getItemParam();
753
- if (",text,textarea,datetime,datetimeStep,".indexOf("," + tolinkFormType + ",") != -1) {
754
- var textValue = '';
755
- var valueMap = {};
756
- valueMap.key = 'value';
757
- for (var c = 0; c < contentValue.length; c++) {
758
- textValue = textValue + "," + contentValue[c];
759
- }
760
- valueMap.value = textValue.substring(1);
761
-
762
- t.refs["sub_" + tolinkFormTableKey].refs[tolinkFormTableKey + "_" + subTbl[l].subTblData[o][g].key + "_" + o].reloadItemParam([valueMap]);
763
- subTbl[l].subTblData[o][g].value = textValue.substring(1);
764
- } else if (",radio,checkbox,select,".indexOf("," + tolinkFormType + ",") != -1) {
765
- var textValue = '';
766
- var resultMap = {};
767
- resultMap.key = 'selectOptions';
768
-
769
- var selectOptions = [];
770
- for (var c = 0; c < contentValue.length; c++) {
771
- textValue = textValue + "," + contentValue[c];
772
- var option = {};
773
- relateItemParam.selectItem.map(function (selectItemObj) {
774
- if (selectItemObj.value == contentValue[c]) {
775
- option.value = contentValue[c];
776
- option.text = selectItemObj.text;
777
- selectOptions.push(option);
778
- }
779
- });
780
- }
781
- resultMap.value = selectOptions;
782
-
783
- var valueMap1 = {};
784
- valueMap1.key = 'value';
785
- valueMap1.value = "";
786
- subTbl[l].subTblData[o][g].value = "";
787
- var tva = textValue.substring(1);
788
- if (containUniqueFlag == true) {
789
- valueMap1.value = tva;
790
- subTbl[l].subTblData[o][g].value = tva;
791
- } else {
792
- for (var f = 0; f < formItem.length; f++) {
793
- if (formItem[f].itemType == 'detail' && formItem[f].itemCode == tolinkFormTableKey) {
794
- for (var h = 0; h < formItem[f].children.length; h++) {
795
- if (formItem[f].children[h].itemCode == subTbl[l].subTblData[o][g].key && formItem[f].children[h].value == tva) {
796
- valueMap1.value = tva;
797
- subTbl[l].subTblData[o][g].value = tva;
798
- break;
799
- }
800
- }
801
- }
802
- }
803
- }
804
- t.refs["sub_" + tolinkFormTableKey].refs[tolinkFormTableKey + "_" + subTbl[l].subTblData[o][g].key + "_" + o].reloadItemParam([resultMap, valueMap1]);
805
- }
806
- }
807
- }
808
- }
809
- }
810
- }
811
- }
812
- }
813
- }
814
- }
815
- }
816
- }).catch(function (error) {
817
- console.error(error);
818
- });
819
- }
820
- }
821
- }
635
+ if (!t._isFormInitialLoading && linkFields && linkFields != null) {
636
+ t.processLinkFieldsUpdate(data, itemParam, subTblNo, { initFlag: false });
822
637
  }
823
638
 
824
639
  //关联字段刷新(silent 模式,不向上触发 onChange)
825
640
  var hasRelaFieldsMap = t.state.formRelaFieldMaps && Object.keys(t.state.formRelaFieldMaps).length > 0;
826
- if (hasRelaFieldsMap) {
641
+ if (!t._isFormInitialLoading && hasRelaFieldsMap) {
827
642
  t._isRelaFieldRefreshing = true;
828
643
  try {
829
644
  t.refreshAllRelaFieldsByRelaMap(data, itemParam.uniqueName, subTblNo);
830
645
  } finally {
831
646
  t._isRelaFieldRefreshing = false;
832
647
  }
833
- } else if (formRelaFieldMaps) {
648
+ } else if (!t._isFormInitialLoading && formRelaFieldMaps) {
834
649
  var formRelaFieldMapsObj = formRelaFieldMaps[itemParam.uniqueName];
835
650
  if (formRelaFieldMapsObj && formRelaFieldMapsObj.length > 0) {
836
651
  t._isRelaFieldRefreshing = true;
@@ -898,17 +713,206 @@ var PageHome = function (_React$Component) {
898
713
  }
899
714
  }
900
715
 
716
+ // 字段联动:触发字段变更或编辑页打开时回填联动目标(initFlag=true 时保留已保存文本/下拉值)
717
+
718
+ }, {
719
+ key: 'processLinkFieldsUpdate',
720
+ value: function processLinkFieldsUpdate(data, itemParam, subTblNo, options) {
721
+ var t = this;
722
+ var initFlag = options && options.initFlag === true;
723
+ var linkFields = data.linkFields;
724
+ var formItem = data.formItem;
725
+ var mainTblData = data.mainTblData;
726
+ var mainTblName = data.mainTblName;
727
+ var subTbl = data.subTbl;
728
+ var fieldId = itemParam.fieldId;
729
+ if (!linkFields || !fieldId) {
730
+ return;
731
+ }
732
+ for (var i = 0; i < linkFields.length; i++) {
733
+ var formField = linkFields[i].formField;
734
+ if (!formField || formField.indexOf(fieldId) == -1) {
735
+ continue;
736
+ }
737
+ var ffid = formField.split(",");
738
+ var conditionArrayJSON = [];
739
+ for (var j = 0; j < ffid.length; j++) {
740
+ var linkFormKey = "";
741
+ var linkFormTableKey = "";
742
+ var isSubTrigger = false;
743
+ for (var f = 0; f < formItem.length; f++) {
744
+ if (ffid[j] == formItem[f].fieldId) {
745
+ linkFormKey = formItem[f].itemCode;
746
+ linkFormTableKey = mainTblName;
747
+ } else if (formItem[f].itemType == 'detail') {
748
+ for (var g = 0; g < formItem[f].children.length; g++) {
749
+ if (ffid[j] == formItem[f].children[g].fieldId) {
750
+ linkFormKey = formItem[f].children[g].itemCode;
751
+ linkFormTableKey = formItem[f].itemCode;
752
+ isSubTrigger = true;
753
+ }
754
+ }
755
+ }
756
+ }
757
+ if (!linkFormKey) {
758
+ continue;
759
+ }
760
+ if (isSubTrigger && typeof subTblNo != 'undefined') {
761
+ for (var l = 0; l < subTbl.length; l++) {
762
+ if (subTbl[l].subTblName == linkFormTableKey && subTbl[l].subTblData[subTblNo]) {
763
+ for (var g = 0; g < subTbl[l].subTblData[subTblNo].length; g++) {
764
+ if (subTbl[l].subTblData[subTblNo][g].key == linkFormKey) {
765
+ conditionArrayJSON.push({
766
+ value: subTbl[l].subTblData[subTblNo][g].value,
767
+ formField: ffid[j]
768
+ });
769
+ }
770
+ }
771
+ }
772
+ }
773
+ } else {
774
+ for (var k = 0; k < mainTblData.length; k++) {
775
+ if (linkFormTableKey + "_" + linkFormKey == mainTblName + "_" + mainTblData[k].key) {
776
+ conditionArrayJSON.push({
777
+ value: mainTblData[k].value,
778
+ formField: ffid[j]
779
+ });
780
+ }
781
+ }
782
+ }
783
+ }
784
+ if (conditionArrayJSON.length === 0) {
785
+ continue;
786
+ }
787
+ _db2.default.FlowModuleAPI.getLinkFieldValueMap({
788
+ triggerFormFields: formField,
789
+ formId: data.formId,
790
+ conditionArrayJSON: JSON.stringify(conditionArrayJSON)
791
+ }).then(function (content) {
792
+ if (!content) {
793
+ return;
794
+ }
795
+ var containUniqueFlag = content['containUniqueFlag'];
796
+ var resultMap = content['map'] || {};
797
+ for (var key in resultMap) {
798
+ var contentValue = resultMap[key];
799
+ t.applyLinkageFieldResult(data, key, contentValue, containUniqueFlag, formItem, mainTblData, mainTblName, subTbl, subTblNo, initFlag);
800
+ }
801
+ }).catch(function (error) {
802
+ console.error(error);
803
+ });
804
+ }
805
+ }
806
+ }, {
807
+ key: 'applyLinkageFieldResult',
808
+ value: function applyLinkageFieldResult(data, targetFieldId, contentValue, containUniqueFlag, formItem, mainTblData, mainTblName, subTbl, subTblNo, initFlag) {
809
+ var t = this;
810
+ var tolinkFormKey = "";
811
+ var tolinkFormType = "";
812
+ var tolinkFormTableKey = "";
813
+ var toisSub = false;
814
+ for (var f = 0; f < formItem.length; f++) {
815
+ if (targetFieldId == formItem[f].fieldId) {
816
+ tolinkFormKey = formItem[f].itemCode;
817
+ tolinkFormType = formItem[f].itemType;
818
+ tolinkFormTableKey = mainTblName;
819
+ } else if (formItem[f].itemType == 'detail') {
820
+ for (var g = 0; g < formItem[f].children.length; g++) {
821
+ if (targetFieldId == formItem[f].children[g].fieldId) {
822
+ tolinkFormKey = formItem[f].children[g].itemCode;
823
+ tolinkFormType = formItem[f].children[g].itemType;
824
+ tolinkFormTableKey = formItem[f].itemCode;
825
+ toisSub = true;
826
+ }
827
+ }
828
+ }
829
+ }
830
+ if (!tolinkFormKey) {
831
+ return;
832
+ }
833
+ var applyToField = function applyToField(fieldDataItem, fieldRef) {
834
+ if (!fieldRef || !fieldDataItem) {
835
+ return;
836
+ }
837
+ var relateItemParam = fieldRef.getItemParam ? fieldRef.getItemParam() : {};
838
+ if (",text,textarea,datetime,datetimeStep,".indexOf("," + tolinkFormType + ",") != -1) {
839
+ if (initFlag && fieldDataItem.value != null && fieldDataItem.value !== '') {
840
+ return;
841
+ }
842
+ var textValue = '';
843
+ for (var c = 0; c < contentValue.length; c++) {
844
+ textValue = textValue + "," + contentValue[c];
845
+ }
846
+ var valueMap = { key: 'value', value: textValue.substring(1) };
847
+ fieldRef.reloadItemParam([valueMap]);
848
+ fieldDataItem.value = valueMap.value;
849
+ } else if (",radio,checkbox,select,".indexOf("," + tolinkFormType + ",") != -1) {
850
+ var textValue = '';
851
+ for (var c2 = 0; c2 < contentValue.length; c2++) {
852
+ textValue = textValue + "," + contentValue[c2];
853
+ }
854
+ var tva = textValue.substring(1);
855
+ var selectOptions = buildLinkageSelectOptions(contentValue, relateItemParam, fieldDataItem);
856
+ var resolvedValue = resolveLinkageSelectValue(containUniqueFlag, fieldDataItem.value, tva, formItem, fieldDataItem.key);
857
+ fieldRef.reloadItemParam([{ key: 'selectOptions', value: selectOptions }, { key: 'value', value: resolvedValue }]);
858
+ fieldDataItem.value = resolvedValue;
859
+ if (fieldDataItem.multiItemsLinkField == null && selectOptions.length > 0) {
860
+ fieldDataItem.multiItemsLinkField = selectOptions.map(function (opt) {
861
+ return { value: opt.value, name: opt.text };
862
+ });
863
+ }
864
+ }
865
+ };
866
+ if (!toisSub) {
867
+ for (var m = 0; m < mainTblData.length; m++) {
868
+ if (tolinkFormKey == mainTblData[m].key) {
869
+ applyToField(mainTblData[m], t.refs[mainTblName + "_" + mainTblData[m].key]);
870
+ }
871
+ }
872
+ } else if (typeof subTblNo != 'undefined') {
873
+ for (var l = 0; l < subTbl.length; l++) {
874
+ if (subTbl[l].subTblName == tolinkFormTableKey && subTbl[l].subTblData[subTblNo]) {
875
+ for (var g = 0; g < subTbl[l].subTblData[subTblNo].length; g++) {
876
+ if (subTbl[l].subTblData[subTblNo][g].key == tolinkFormKey) {
877
+ var subRef = t.refs["sub_" + tolinkFormTableKey];
878
+ if (subRef && subRef.refs) {
879
+ applyToField(subTbl[l].subTblData[subTblNo][g], subRef.refs[tolinkFormTableKey + "_" + subTbl[l].subTblData[subTblNo][g].key + "_" + subTblNo]);
880
+ }
881
+ }
882
+ }
883
+ }
884
+ }
885
+ } else {
886
+ for (var l2 = 0; l2 < subTbl.length; l2++) {
887
+ if (subTbl[l2].subTblName != tolinkFormTableKey) {
888
+ continue;
889
+ }
890
+ for (var o = 0; o < subTbl[l2].subTblData.length; o++) {
891
+ for (var g2 = 0; g2 < subTbl[l2].subTblData[o].length; g2++) {
892
+ if (tolinkFormKey == subTbl[l2].subTblData[o][g2].key) {
893
+ var subRef2 = t.refs["sub_" + tolinkFormTableKey];
894
+ if (subRef2 && subRef2.refs) {
895
+ applyToField(subTbl[l2].subTblData[o][g2], subRef2.refs[tolinkFormTableKey + "_" + subTbl[l2].subTblData[o][g2].key + "_" + o]);
896
+ }
897
+ }
898
+ }
899
+ }
900
+ }
901
+ }
902
+ }
903
+
901
904
  //重新加载关联字段
902
905
 
903
906
  }, {
904
907
  key: 'reloadFormRelaField',
905
- value: function reloadFormRelaField() {
908
+ value: function reloadFormRelaField(options) {
906
909
  var t = this;
907
910
  var data = t.props.data;
911
+ var initFlag = options && options.initFlag === true;
908
912
  t._isRelaFieldRefreshing = true;
909
913
  try {
910
914
  if (t.state.formRelaFieldMaps && Object.keys(t.state.formRelaFieldMaps).length > 0) {
911
- t.refreshAllRelaFieldsByRelaMap(data);
915
+ t.refreshAllRelaFieldsByRelaMap(data, null, undefined, { initFlag: initFlag });
912
916
  } else if (formRelaFieldMaps) {
913
917
  var _iteratorNormalCompletion2 = true;
914
918
  var _didIteratorError2 = false;
@@ -1250,8 +1254,9 @@ var PageHome = function (_React$Component) {
1250
1254
 
1251
1255
  }, {
1252
1256
  key: 'applyRelaRulesToTarget',
1253
- value: function applyRelaRulesToTarget(targetUniqueName, rules, data, contextRowIndex, changedUniqueName, changedSubTblNo, fieldControll, defaulthideFields, defaultmustFields, defaultshowFields) {
1257
+ value: function applyRelaRulesToTarget(targetUniqueName, rules, data, contextRowIndex, changedUniqueName, changedSubTblNo, fieldControll, defaulthideFields, defaultmustFields, defaultshowFields, options) {
1254
1258
  var t = this;
1259
+ var initFlag = options && options.initFlag === true;
1255
1260
  if (changedUniqueName && targetUniqueName === changedUniqueName) {
1256
1261
  if (typeof changedSubTblNo === 'undefined' || changedSubTblNo === contextRowIndex) {
1257
1262
  return;
@@ -1318,14 +1323,14 @@ var PageHome = function (_React$Component) {
1318
1323
  }
1319
1324
  }
1320
1325
  }
1321
- if (isHidden) {
1326
+ if (isHidden && !initFlag) {
1322
1327
  t.clearFieldDataValue(data, targetUniqueName, contextRowIndex);
1323
1328
  }
1324
1329
  var finalRequired = isHidden ? false : skipEditMust ? baseline.required : required;
1325
1330
  var finalReadOnly = skipEditMust ? baseline.readOnly : readOnly;
1326
1331
  t.syncRelaFieldMetaToData(data, targetUniqueName, { required: finalRequired }, contextRowIndex);
1327
1332
  var paramList = [];
1328
- if (isHidden) {
1333
+ if (isHidden && !initFlag) {
1329
1334
  paramList.push({ key: "value", value: "" });
1330
1335
  paramList.push({ key: "required", value: false });
1331
1336
  } else if (required !== baseline.required || !isHidden) {
@@ -1341,7 +1346,7 @@ var PageHome = function (_React$Component) {
1341
1346
 
1342
1347
  }, {
1343
1348
  key: 'refreshAllRelaFieldsByRelaMap',
1344
- value: function refreshAllRelaFieldsByRelaMap(data, changedUniqueName, changedSubTblNo) {
1349
+ value: function refreshAllRelaFieldsByRelaMap(data, changedUniqueName, changedSubTblNo, options) {
1345
1350
  var t = this;
1346
1351
  var relaFieldsMap = t.state.formRelaFieldMaps;
1347
1352
  if (!relaFieldsMap) {
@@ -1390,12 +1395,12 @@ var PageHome = function (_React$Component) {
1390
1395
  // 子表触发只刷新当前行;主表触发刷新子表所有行
1391
1396
  var subRowIndexes = t.getSubRelaRefreshRowIndexes(targetSubTblName, data, typeof changedSubTblNo !== 'undefined' ? changedSubTblNo : undefined);
1392
1397
  for (var sri = 0; sri < subRowIndexes.length; sri++) {
1393
- t.applyRelaRulesToTarget(targetUniqueName, rules, data, subRowIndexes[sri], changedUniqueName, changedSubTblNo, fieldControll, defaulthideFields, defaultmustFields, defaultshowFields);
1398
+ t.applyRelaRulesToTarget(targetUniqueName, rules, data, subRowIndexes[sri], changedUniqueName, changedSubTblNo, fieldControll, defaulthideFields, defaultmustFields, defaultshowFields, options);
1394
1399
  }
1395
1400
  } else {
1396
1401
  // 主表字段:子表触发时用触发行号读取子表触发值
1397
1402
  var mainContextRow = typeof changedSubTblNo !== 'undefined' ? changedSubTblNo : undefined;
1398
- t.applyRelaRulesToTarget(targetUniqueName, rules, data, mainContextRow, changedUniqueName, changedSubTblNo, fieldControll, defaulthideFields, defaultmustFields, defaultshowFields);
1403
+ t.applyRelaRulesToTarget(targetUniqueName, rules, data, mainContextRow, changedUniqueName, changedSubTblNo, fieldControll, defaulthideFields, defaultmustFields, defaultshowFields, options);
1399
1404
  }
1400
1405
  }
1401
1406
  } catch (err) {
@@ -137,6 +137,33 @@ function isSysTransferCommentRequired() {
137
137
  return getSysSettingByMark('approveTransferComment') == '1';
138
138
  }
139
139
 
140
+ /** 组织切换相关接口不可用(如后台未部署、404) */
141
+ function isApproveOrgApiUnavailableError(err) {
142
+ if (!err) {
143
+ return false;
144
+ }
145
+ var code = err.status || err.statusCode || err.code;
146
+ if (code == 404 || code == '404') {
147
+ return true;
148
+ }
149
+ if (err.error) {
150
+ code = err.error.errorCode || err.error.code || err.error.status;
151
+ if (code == 404 || code == '404') {
152
+ return true;
153
+ }
154
+ }
155
+ var msg = '';
156
+ if (err.error && err.error.errorMsg) {
157
+ msg = err.error.errorMsg;
158
+ } else if (err.message) {
159
+ msg = err.message;
160
+ } else if (typeof err === 'string') {
161
+ msg = err;
162
+ }
163
+ msg = (msg || '').toLowerCase();
164
+ return msg.indexOf('404') >= 0 || msg.indexOf('not found') >= 0;
165
+ }
166
+
140
167
  var isCaReload = false;
141
168
  window.addEventListener('pageshow', function () {
142
169
  console.log("isCaReload===" + isCaReload);
@@ -487,7 +514,7 @@ var PageHome = function (_React$Component) {
487
514
  selectProcessCode: '', //选中的子流程
488
515
  subProcessType: '', //子流程类型 0串行 1并行
489
516
  urgencyList: [], //紧急程度列表
490
- urgency: '' }, _defineProperty(_param, 'urgent', ''), _defineProperty(_param, 'backInitiatorEndFlow', '0'), _defineProperty(_param, 'oauthWindowURL', ''), _defineProperty(_param, 'signDataId', ''), _defineProperty(_param, 'isCaUser', '0'), _defineProperty(_param, 'caFirm', ''), _defineProperty(_param, 'caESignatureName', ''), _defineProperty(_param, 'caFormSign', ''), _defineProperty(_param, 'addlotsReturn', ''), _defineProperty(_param, 'inscriptionShow', ''), _param);
517
+ urgency: '' }, _defineProperty(_param, 'urgent', ''), _defineProperty(_param, 'backInitiatorEndFlow', '0'), _defineProperty(_param, 'oauthWindowURL', ''), _defineProperty(_param, 'signDataId', ''), _defineProperty(_param, 'isCaUser', '0'), _defineProperty(_param, 'caFirm', ''), _defineProperty(_param, 'caESignatureName', ''), _defineProperty(_param, 'caFormSign', ''), _defineProperty(_param, 'addlotsReturn', ''), _defineProperty(_param, 'inscriptionShow', ''), _defineProperty(_param, 'showOrgSwitcher', false), _defineProperty(_param, 'approveOrgOptions', []), _defineProperty(_param, 'approveOrgSelectValue', {}), _defineProperty(_param, 'approveCurOrgId', ''), _defineProperty(_param, 'startUserOrgId', ''), _defineProperty(_param, 'taskAssignOrgId', ''), _defineProperty(_param, 'approveOrgApiUnavailable', false), _param);
491
518
  FlowCommon = require('pages/flow_common/' + module).default ? require('pages/flow_common/' + module).default : require('pages/flow_common/' + module);
492
519
 
493
520
  //处理特有参数
@@ -1517,8 +1544,11 @@ var PageHome = function (_React$Component) {
1517
1544
  caESignatureName: caESignatureName,
1518
1545
  caFormSign: caFormSign,
1519
1546
  addlotsReturn: addlotsReturn,
1520
- inscriptionShow: inscriptionShow
1547
+ inscriptionShow: inscriptionShow,
1548
+ startUserOrgId: content.startUserOrgId || content.startUserGroupId || '',
1549
+ taskAssignOrgId: content.taskAssignOrgId || ''
1521
1550
  }, function () {
1551
+ t.initApproveOrgSwitcher();
1522
1552
  t.refs["selectMember_circulate"].initSelectData();
1523
1553
  t.refs["selectMember_circulate1"].initSelectData();
1524
1554
 
@@ -7538,6 +7568,256 @@ var PageHome = function (_React$Component) {
7538
7568
  sendShortMessage: newremindStyle
7539
7569
  });
7540
7570
  }
7571
+ }, {
7572
+ key: 'hideApproveOrgSwitcherSilently',
7573
+ value: function hideApproveOrgSwitcherSilently() {
7574
+ this.setState({
7575
+ showOrgSwitcher: false,
7576
+ approveOrgOptions: [],
7577
+ approveOrgSelectValue: {},
7578
+ approveCurOrgId: '',
7579
+ approveOrgApiUnavailable: true
7580
+ });
7581
+ }
7582
+ }, {
7583
+ key: 'isApproveOrgSwitcherScene',
7584
+ value: function isApproveOrgSwitcherScene() {
7585
+ var permissionCode = this.state.permissionCode;
7586
+ return permissionCode == 'pending' || permissionCode == 'start' || permissionCode == 'draft';
7587
+ }
7588
+ }, {
7589
+ key: 'isApproveStartOrgUpdateScene',
7590
+ value: function isApproveStartOrgUpdateScene() {
7591
+ var permissionCode = this.state.permissionCode;
7592
+ return permissionCode == 'start' || permissionCode == 'draft' || this.state.isStart == true;
7593
+ }
7594
+ }, {
7595
+ key: 'resolveApproveOrgTargetId',
7596
+ value: function resolveApproveOrgTargetId(orgList, curOrgId, preferredOrgId, fallbackOrgId) {
7597
+ if (preferredOrgId) {
7598
+ for (var i = 0; i < orgList.length; i++) {
7599
+ if (orgList[i].id == preferredOrgId) {
7600
+ return preferredOrgId;
7601
+ }
7602
+ }
7603
+ }
7604
+ if (fallbackOrgId) {
7605
+ for (var i = 0; i < orgList.length; i++) {
7606
+ if (orgList[i].id == fallbackOrgId) {
7607
+ return fallbackOrgId;
7608
+ }
7609
+ }
7610
+ }
7611
+ return curOrgId;
7612
+ }
7613
+ }, {
7614
+ key: 'buildApproveOrgOption',
7615
+ value: function buildApproveOrgOption(org) {
7616
+ var orgName = org.name || org.orgNamePath || org.orgName || '';
7617
+ return {
7618
+ text: orgName,
7619
+ value: org.id
7620
+ };
7621
+ }
7622
+ }, {
7623
+ key: 'renderApproveOrgSwitcher',
7624
+ value: function renderApproveOrgSwitcher(orgList, selectedOrgId) {
7625
+ if (!orgList || orgList.length <= 1) {
7626
+ this.setState({
7627
+ showOrgSwitcher: false,
7628
+ approveOrgOptions: [],
7629
+ approveOrgSelectValue: {},
7630
+ approveCurOrgId: ''
7631
+ });
7632
+ return;
7633
+ }
7634
+ var options = [];
7635
+ var selectValue = {};
7636
+ for (var i = 0; i < orgList.length; i++) {
7637
+ var option = this.buildApproveOrgOption(orgList[i]);
7638
+ options.push(option);
7639
+ if (orgList[i].id == selectedOrgId) {
7640
+ selectValue = option;
7641
+ }
7642
+ }
7643
+ if (!selectValue.value && options.length > 0) {
7644
+ selectValue = options[0];
7645
+ selectedOrgId = selectValue.value;
7646
+ }
7647
+ this.setState({
7648
+ showOrgSwitcher: true,
7649
+ approveOrgOptions: options,
7650
+ approveOrgSelectValue: selectValue,
7651
+ approveCurOrgId: selectedOrgId || ''
7652
+ });
7653
+ }
7654
+ }, {
7655
+ key: 'initApproveOrgSwitcher',
7656
+ value: function initApproveOrgSwitcher() {
7657
+ var t = this;
7658
+ if (!t.isApproveOrgSwitcherScene() || t.state.approveOrgApiUnavailable) {
7659
+ return;
7660
+ }
7661
+ if (!window.approveOrgSwitcherSeq) {
7662
+ window.approveOrgSwitcherSeq = 0;
7663
+ }
7664
+ window.approveOrgSwitcherSeq++;
7665
+ var currentSeq = window.approveOrgSwitcherSeq;
7666
+ var autoSwitchKey = t.state.taskId || t.state.processInstanceId || '';
7667
+ if (!window.approveOrgAutoSwitchedMap) {
7668
+ window.approveOrgAutoSwitchedMap = {};
7669
+ }
7670
+ _db2.default.FlowModuleAPI.getUserSetInfo({}).then(function (userInfo) {
7671
+ if (currentSeq != window.approveOrgSwitcherSeq || t.state.approveOrgApiUnavailable) {
7672
+ return;
7673
+ }
7674
+ if (!userInfo) {
7675
+ t.hideApproveOrgSwitcherSilently();
7676
+ return;
7677
+ }
7678
+ if (userInfo.content && !userInfo.orgList) {
7679
+ userInfo = userInfo.content;
7680
+ }
7681
+ var orgList = userInfo.orgList || [];
7682
+ if (!orgList || orgList.length <= 1) {
7683
+ t.setState({ showOrgSwitcher: false });
7684
+ return;
7685
+ }
7686
+ var curOrgId = userInfo.curOrgId || '';
7687
+ var targetOrgId = t.resolveApproveOrgTargetId(orgList, curOrgId, t.state.taskAssignOrgId, t.state.startUserOrgId);
7688
+ if (targetOrgId && targetOrgId != curOrgId && !window.approveOrgAutoSwitchedMap[autoSwitchKey]) {
7689
+ t.switchApproveOrg(targetOrgId, function () {
7690
+ if (currentSeq != window.approveOrgSwitcherSeq) {
7691
+ return;
7692
+ }
7693
+ window.approveOrgAutoSwitchedMap[autoSwitchKey] = true;
7694
+ t.renderApproveOrgSwitcher(orgList, targetOrgId);
7695
+ }, function () {
7696
+ if (currentSeq != window.approveOrgSwitcherSeq) {
7697
+ return;
7698
+ }
7699
+ t.hideApproveOrgSwitcherSilently();
7700
+ }, { silent: true });
7701
+ return;
7702
+ }
7703
+ t.renderApproveOrgSwitcher(orgList, targetOrgId || curOrgId);
7704
+ }).catch(function (err) {
7705
+ if (currentSeq == window.approveOrgSwitcherSeq) {
7706
+ t.hideApproveOrgSwitcherSilently();
7707
+ }
7708
+ });
7709
+ }
7710
+ }, {
7711
+ key: 'handleApproveOrgSelect',
7712
+ value: function handleApproveOrgSelect(value) {
7713
+ var t = this;
7714
+ if (t.state.approveOrgApiUnavailable) {
7715
+ return;
7716
+ }
7717
+ if (!value || !value.value) {
7718
+ return;
7719
+ }
7720
+ var newOrgId = value.value;
7721
+ if (newOrgId == t.state.approveCurOrgId) {
7722
+ return;
7723
+ }
7724
+ var prevOrgId = t.state.approveCurOrgId;
7725
+ var prevSelectValue = t.state.approveOrgSelectValue;
7726
+ t.switchApproveOrg(newOrgId, function () {
7727
+ t.setState({
7728
+ approveCurOrgId: newOrgId,
7729
+ approveOrgSelectValue: value,
7730
+ startUserOrgId: t.isApproveStartOrgUpdateScene() ? newOrgId : t.state.startUserOrgId
7731
+ });
7732
+ }, function () {
7733
+ t.setState({
7734
+ approveCurOrgId: prevOrgId,
7735
+ approveOrgSelectValue: prevSelectValue
7736
+ });
7737
+ });
7738
+ }
7739
+ }, {
7740
+ key: 'switchApproveOrg',
7741
+ value: function switchApproveOrg(orgId, callback, failCallback, options) {
7742
+ var t = this;
7743
+ options = options || {};
7744
+ var silent = options.silent === true;
7745
+ var handleOrgApiError = function handleOrgApiError(err) {
7746
+ if (silent || isApproveOrgApiUnavailableError(err)) {
7747
+ t.hideApproveOrgSwitcherSilently();
7748
+ if (typeof failCallback === 'function') {
7749
+ failCallback();
7750
+ }
7751
+ return;
7752
+ }
7753
+ var errMsg = '组织切换失败';
7754
+ if (err && err.error && err.error.errorMsg) {
7755
+ errMsg = err.error.errorMsg;
7756
+ } else if (err && err.message) {
7757
+ errMsg = err.message;
7758
+ }
7759
+ _Toast2.default.show({
7760
+ type: 'error',
7761
+ content: errMsg
7762
+ });
7763
+ if (typeof failCallback === 'function') {
7764
+ failCallback();
7765
+ }
7766
+ };
7767
+ var afterOrgSwitchSuccess = function afterOrgSwitchSuccess() {
7768
+ if (t.isApproveStartOrgUpdateScene()) {
7769
+ var processInstanceId = t.state.processInstanceId || '';
7770
+ if (!processInstanceId) {
7771
+ if (typeof callback === 'function') {
7772
+ callback();
7773
+ }
7774
+ return;
7775
+ }
7776
+ _db2.default.FlowModuleAPI.updateStartUserOrg({
7777
+ processInstanceId: processInstanceId,
7778
+ orgId: orgId,
7779
+ userId: getLoginUserInfo().userId
7780
+ }).then(function () {
7781
+ if (typeof callback === 'function') {
7782
+ callback();
7783
+ }
7784
+ }).catch(function (err) {
7785
+ if (silent || isApproveOrgApiUnavailableError(err)) {
7786
+ t.hideApproveOrgSwitcherSilently();
7787
+ if (typeof callback === 'function') {
7788
+ callback();
7789
+ }
7790
+ return;
7791
+ }
7792
+ var errMsg = '更新发起人组织失败';
7793
+ if (err && err.error && err.error.errorMsg) {
7794
+ errMsg = err.error.errorMsg;
7795
+ } else if (err && err.message) {
7796
+ errMsg = err.message;
7797
+ }
7798
+ _Toast2.default.show({
7799
+ type: 'error',
7800
+ content: errMsg
7801
+ });
7802
+ if (typeof failCallback === 'function') {
7803
+ failCallback();
7804
+ }
7805
+ });
7806
+ return;
7807
+ }
7808
+ if (typeof callback === 'function') {
7809
+ callback();
7810
+ }
7811
+ };
7812
+ _db2.default.FlowModuleAPI.orgSwitch({
7813
+ curOrgIdRadios: orgId,
7814
+ curOrgId: orgId
7815
+ }).then(function () {
7816
+ afterOrgSwitchSuccess();
7817
+ }).catch(function (err) {
7818
+ handleOrgApiError(err);
7819
+ });
7820
+ }
7541
7821
  }, {
7542
7822
  key: 'changeUrgencyList',
7543
7823
  value: function changeUrgencyList(value) {
@@ -7842,6 +8122,23 @@ var PageHome = function (_React$Component) {
7842
8122
  )
7843
8123
  )
7844
8124
  ),
8125
+ _react2.default.createElement(
8126
+ 'div',
8127
+ { className: this.state.showOrgSwitcher ? 'approve-org-switch-wrap' : 't-DN' },
8128
+ _react2.default.createElement(
8129
+ _Group2.default.List,
8130
+ null,
8131
+ _react2.default.createElement(_SelectField2.default, {
8132
+ label: '\u5F53\u524D\u7EC4\u7EC7',
8133
+ readOnly: false,
8134
+ options: this.state.approveOrgOptions,
8135
+ placeholder: '\u8BF7\u9009\u62E9',
8136
+ onSelect: this.handleApproveOrgSelect.bind(this),
8137
+ value: this.state.approveOrgSelectValue,
8138
+ multiLine: true
8139
+ })
8140
+ )
8141
+ ),
7845
8142
  _react2.default.createElement(
7846
8143
  _Tab2.default,
7847
8144
  { activeKey: this.state.activeItemIndex == null ? '0' : this.state.activeItemIndex, onChange: this.handleChange.bind(this) },
@@ -1,4 +1,7 @@
1
1
  .approval-details{
2
2
  padding-bottom: calc(62px + constant(safe-area-inset-bottom)) !important; /* 兼容旧版 iOS */
3
3
  padding-bottom: calc(62px + env(safe-area-inset-bottom)) !important; /* 兼容新版 iOS */
4
+ }
5
+ .approve-org-switch-wrap{
6
+ background: #fff;
4
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fmui-base",
3
- "version": "2.3.4",
3
+ "version": "2.3.6",
4
4
  "title": "fmui-base",
5
5
  "description": "fmui移动端组件",
6
6
  "main": "lib/index.js",