fmui-base 2.2.30 → 2.2.31

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.2.31: 移动端结束流程修改,下拉字段支持计算,下拉多选支持联动
6
7
  - 2.2.30: 加签自动返回
7
8
  - 2.2.29: 关联表批示意见渲染
8
9
  - 2.2.28: 表单组件支持单独渲染
package/lib/form/form.js CHANGED
@@ -1413,6 +1413,7 @@ var PageHome = function (_React$Component) {
1413
1413
  }
1414
1414
  itemParam = t.dealwithLinkField(itemParam, data, status);
1415
1415
  itemParam = t.dealwithRelaField(itemParam, allForm);
1416
+
1416
1417
  if (itemType != 'weboffice') {
1417
1418
  itemParam.value = value;
1418
1419
  //处理特有按钮事件
@@ -1704,11 +1705,20 @@ var PageHome = function (_React$Component) {
1704
1705
  if (item.triggerTblName == mainTblName) {
1705
1706
  mainTblData.map(function (mainTblDataItem) {
1706
1707
  if (item.triggerFieldName == mainTblDataItem.key) {
1708
+ var nowValue = mainTblDataItem.value;
1709
+ if (nowValue && nowValue.indexOf("[") >= 0 && nowValue.indexOf("]") >= 0) {
1710
+ var nowValueArray = JSON.parse(nowValue);
1711
+ if (nowValueArray.length == 1) {
1712
+ nowValue = nowValueArray[0];
1713
+ } else {
1714
+ nowValue = nowValueArray.join(",");
1715
+ }
1716
+ }
1707
1717
  // if(item.triggerFieldVal == mainTblDataItem.value){
1708
1718
  var editType = item.editType;
1709
1719
  if (editType == 'hide' || editType == 'rowhide') {
1710
1720
  // relaFieldMap["key"]="isHidden";
1711
- if (item.triggerFieldVal == mainTblDataItem.value) {
1721
+ if (item.triggerFieldVal == nowValue || nowValue.split(',').indexOf(item.triggerFieldVal) != -1) {
1712
1722
  itemParam.isHidden = true;
1713
1723
  defaulthideFields.push(itemParam.uniqueName);
1714
1724
  console.log("true====" + itemParam.uniqueName);
@@ -1721,7 +1731,7 @@ var PageHome = function (_React$Component) {
1721
1731
  } else if (editType == 'must') {
1722
1732
  // relaFieldMap["key"]="required";
1723
1733
  var triggerFieldValBoolean = false;
1724
- if (item.triggerFieldVal == mainTblDataItem.value) {
1734
+ if (item.triggerFieldVal == nowValue || nowValue.split(',').indexOf(item.triggerFieldVal) != -1) {
1725
1735
  itemParam.required = true;
1726
1736
  triggerFieldValBoolean = true;
1727
1737
  } else {
@@ -1738,7 +1748,7 @@ var PageHome = function (_React$Component) {
1738
1748
  mainTblDataItem.required = triggerFieldValBoolean;
1739
1749
  }
1740
1750
  } else if (editType == 'edit') {
1741
- if (item.triggerFieldVal == mainTblDataItem.value) {
1751
+ if (item.triggerFieldVal == nowValue || nowValue.split(',').indexOf(item.triggerFieldVal) != -1) {
1742
1752
  itemParam.readOnly = false;
1743
1753
  } else {
1744
1754
  itemParam.readOnly = true;
@@ -1755,10 +1765,20 @@ var PageHome = function (_React$Component) {
1755
1765
  subTblData.map(function (mainTblDataItem) {
1756
1766
  if (item.triggerFieldName == mainTblDataItem.itemCode) {
1757
1767
  // if(item.triggerFieldVal == mainTblDataItem.value){
1768
+ var nowValue = mainTblDataItem.value;
1769
+ if (nowValue && nowValue.indexOf("[") >= 0 && nowValue.indexOf("]") >= 0) {
1770
+ var nowValueArray = JSON.parse(nowValue);
1771
+ if (nowValueArray.length == 1) {
1772
+ nowValue = nowValueArray[0];
1773
+ } else {
1774
+ nowValue = nowValueArray.join(",");
1775
+ }
1776
+ }
1777
+
1758
1778
  var editType = item.editType;
1759
1779
  if (editType == 'hide' || editType == 'rowhide') {
1760
1780
  // relaFieldMap["key"]="isHidden";
1761
- if (item.triggerFieldVal == mainTblDataItem.value) {
1781
+ if (item.triggerFieldVal == nowValue || nowValue.split(',').indexOf(item.triggerFieldVal) != -1) {
1762
1782
  itemParam.isHidden = true;
1763
1783
  } else {
1764
1784
  itemParam.isHidden = false;
@@ -1766,7 +1786,7 @@ var PageHome = function (_React$Component) {
1766
1786
  } else if (editType == 'must') {
1767
1787
  // relaFieldMap["key"]="required";
1768
1788
  var triggerFieldValBoolean = false;
1769
- if (item.triggerFieldVal == mainTblDataItem.value) {
1789
+ if (item.triggerFieldVal == nowValue || nowValue.split(',').indexOf(item.triggerFieldVal) != -1) {
1770
1790
  itemParam.required = true;
1771
1791
  triggerFieldValBoolean = true;
1772
1792
  } else {
@@ -1783,7 +1803,7 @@ var PageHome = function (_React$Component) {
1783
1803
  mainTblDataItem.required = triggerFieldValBoolean;
1784
1804
  }
1785
1805
  } else if (editType == 'edit') {
1786
- if (item.triggerFieldVal == mainTblDataItem.value) {
1806
+ if (item.triggerFieldVal == nowValue || nowValue.split(',').indexOf(item.triggerFieldVal) != -1) {
1787
1807
  itemParam.readOnly = false;
1788
1808
  } else {
1789
1809
  itemParam.readOnly = true;
@@ -1878,6 +1898,10 @@ var PageHome = function (_React$Component) {
1878
1898
  }
1879
1899
  } else {
1880
1900
  itemParam[key] = itemNew[i].value;
1901
+ //隐藏时取消必填
1902
+ if (key == 'isHidden' && itemNew[i].value) {
1903
+ itemParam.required = false;
1904
+ }
1881
1905
  }
1882
1906
  }
1883
1907
  this.setState({
package/lib/form/table.js CHANGED
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = undefined;
7
7
 
8
+ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
9
+
8
10
  var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
9
11
 
10
12
  var _react = require('react');
@@ -445,7 +447,7 @@ var PageHome = function (_React$Component) {
445
447
  });
446
448
  }
447
449
  var uniqueName = itemParam.uniqueName;
448
- if (itemParam.itemType == 'text' || itemParam.itemType == 'datetime' || itemParam.itemType == 'detail') {
450
+ if (itemParam.itemType == 'text' || itemParam.itemType == 'datetime' || itemParam.itemType == 'detail' || itemParam.itemType == 'select' || itemParam.itemType == 'radio') {
449
451
  //当等于单行文本或者时间时
450
452
  this.forCalculateExpList(data, itemParam, uniqueName);
451
453
  if (data.subCalculateExpList) {
@@ -943,12 +945,14 @@ var PageHome = function (_React$Component) {
943
945
  var nowValueArray = JSON.parse(nowValue);
944
946
  if (nowValueArray.length == 1) {
945
947
  nowValue = nowValueArray[0];
948
+ } else {
949
+ nowValue = nowValueArray.join(",");
946
950
  }
947
951
  }
948
952
  var relaFieldMap = {};
949
953
  if (editType == 'hide' || editType == 'rowhide') {
950
954
  relaFieldMap["key"] = "isHidden";
951
- if (triggerFieldVal == nowValue) {
955
+ if (triggerFieldVal == nowValue || nowValue.split(',').indexOf(triggerFieldVal) != -1) {
952
956
  relaFieldMap["value"] = true;
953
957
  hideFlag = true;
954
958
  hideFields.push(relaFieldTblNameArrayItem);
@@ -961,10 +965,41 @@ var PageHome = function (_React$Component) {
961
965
  } else {
962
966
  relaFieldMap["value"] = false;
963
967
  }
968
+
969
+ if (relaFieldMap["value"]) {
970
+ //如果隐藏 则不必填
971
+ var relaFieldNameArray = formRelaFieldMapsObjItem.relaFieldTblName.split(",");
972
+ for (var i = 0; i < mainTblData.length; i++) {
973
+ var item = mainTblData[i];
974
+ if (mainTblName + "_" + item.key == relaFieldNameArray[index]) {
975
+ item.required = false;
976
+ }
977
+ }
978
+ for (var i = 0; i < subTbl.length; i++) {
979
+ var subTblData = subTbl[i].subTblData;
980
+ if (isNowSub) {
981
+ var subTblDataItem = subTblData[thisSubTblNo];
982
+ for (var b = 0; b < subTblDataItem.length; b++) {
983
+ if (subTblDataItem[b].uniqueName == relaFieldNameArray[index]) {
984
+ subTbl[i].subTblData[thisSubTblNo][b].required = false;
985
+ }
986
+ }
987
+ } else {
988
+ for (var a = 0; a < subTblData.length; a++) {
989
+ var subTblDataItem = subTblData[a];
990
+ for (var b = 0; b < subTblDataItem.length; b++) {
991
+ if (subTblDataItem[b].uniqueName == relaFieldNameArray[index]) {
992
+ subTbl[i].subTblData[a][b].required = false;
993
+ }
994
+ }
995
+ }
996
+ }
997
+ }
998
+ }
964
999
  } else if (editType == 'must') {
965
1000
  relaFieldMap["key"] = "required";
966
1001
  var triggerFieldValBoolean = mustFlag;
967
- if (triggerFieldVal == nowValue) {
1002
+ if (triggerFieldVal == nowValue || nowValue.split(',').indexOf(triggerFieldVal) != -1) {
968
1003
  relaFieldMap["value"] = true;
969
1004
  triggerFieldValBoolean = true;
970
1005
  mustFlag = true;
@@ -976,6 +1011,9 @@ var PageHome = function (_React$Component) {
976
1011
  } else {
977
1012
  relaFieldMap["value"] = true;
978
1013
  }
1014
+ if (hideFlag) {
1015
+ relaFieldMap["value"] = false;
1016
+ }
979
1017
  var relaFieldNameArray = formRelaFieldMapsObjItem.relaFieldTblName.split(",");
980
1018
  for (var i = 0; i < mainTblData.length; i++) {
981
1019
  var item = mainTblData[i];
@@ -1005,7 +1043,7 @@ var PageHome = function (_React$Component) {
1005
1043
  }
1006
1044
  } else if (editType == 'edit') {
1007
1045
  relaFieldMap["key"] = "readOnly";
1008
- if (triggerFieldVal == nowValue && defaultshowFields.indexOf(relaFieldTblNameArrayItem) != -1) {
1046
+ if ((triggerFieldVal == nowValue || nowValue.split(',').indexOf(triggerFieldVal) != -1) && defaultshowFields.indexOf(relaFieldTblNameArrayItem) != -1) {
1009
1047
  relaFieldMap["value"] = false;
1010
1048
  editFlag = true;
1011
1049
  } else if (!editFlag && defaultshowFields.indexOf(relaFieldTblNameArrayItem) != -1) {
@@ -1053,6 +1091,7 @@ var PageHome = function (_React$Component) {
1053
1091
  }
1054
1092
  }
1055
1093
  if (isSubField) {} else {
1094
+
1056
1095
  t.refs[relaFieldTblNameArrayItem].reloadItemParam([relaFieldMap]);
1057
1096
  }
1058
1097
  }
@@ -1105,7 +1144,11 @@ var PageHome = function (_React$Component) {
1105
1144
  }
1106
1145
  } else {
1107
1146
  fieldItemArray.push(fieldItem);
1108
- filedItemValue = fieldItem.value;
1147
+ if (_typeof(fieldItem.value) == 'object' && fieldItem.value != null) {
1148
+ filedItemValue = fieldItem.value.value;
1149
+ } else {
1150
+ filedItemValue = fieldItem.value;
1151
+ }
1109
1152
  }
1110
1153
 
1111
1154
  if (itemParam.itemType == 'datetime') {
@@ -1271,7 +1314,11 @@ var PageHome = function (_React$Component) {
1271
1314
  }
1272
1315
  } else {
1273
1316
  fieldItemArray.push(fieldItem);
1274
- filedItemValue = fieldItem.value;
1317
+ if (_typeof(fieldItem.value) == 'object' && fieldItem.value != null) {
1318
+ filedItemValue = fieldItem.value.value;
1319
+ } else {
1320
+ filedItemValue = fieldItem.value;
1321
+ }
1275
1322
  }
1276
1323
 
1277
1324
  if (itemParam.itemType == 'datetime') {
@@ -437,6 +437,7 @@ var PageHome = function (_React$Component) {
437
437
  backShortMessage: '0',
438
438
  addlotsShortMessage: '0',
439
439
  handleInvalidShortMessage: '0',
440
+ endShortMessage: '0',
440
441
  sysSMSsetting: '0',
441
442
  newspyj: {},
442
443
  spyj: newComment,
@@ -478,6 +479,8 @@ var PageHome = function (_React$Component) {
478
479
  param.backAttachId = ""; //退回增加附件
479
480
  param.backInitList = [];
480
481
  param.allActivity = [];
482
+ param.designActivityEnd = '';
483
+ param.allActivityEnd = [];
481
484
  param.designActivity = '';
482
485
  param.processData = '1';
483
486
  param.processDataList = [];
@@ -960,7 +963,8 @@ var PageHome = function (_React$Component) {
960
963
  transferShortMessage: '1,2',
961
964
  jumpShortMessage: '1,2',
962
965
  backShortMessage: '1,2',
963
- handleInvalidShortMessage: '1,2'
966
+ handleInvalidShortMessage: '1,2',
967
+ endShortMessage: '1,2'
964
968
  });
965
969
  } else if (sysSMSsetting && sysSMSsetting == '2') {
966
970
  t.setState({
@@ -969,7 +973,8 @@ var PageHome = function (_React$Component) {
969
973
  transferShortMessage: '1',
970
974
  jumpShortMessage: '1',
971
975
  backShortMessage: '1',
972
- handleInvalidShortMessage: '1'
976
+ handleInvalidShortMessage: '1',
977
+ endShortMessage: '1'
973
978
  });
974
979
  } else if (evoRemind && evoRemind == '2') {
975
980
  t.setState({
@@ -978,7 +983,8 @@ var PageHome = function (_React$Component) {
978
983
  transferShortMessage: '2',
979
984
  jumpShortMessage: '2',
980
985
  backShortMessage: '2',
981
- handleInvalidShortMessage: '2'
986
+ handleInvalidShortMessage: '2',
987
+ endShortMessage: '2'
982
988
  });
983
989
  } else {
984
990
  t.setState({
@@ -987,7 +993,8 @@ var PageHome = function (_React$Component) {
987
993
  transferShortMessage: '0',
988
994
  jumpShortMessage: '0',
989
995
  backShortMessage: '0',
990
- handleInvalidShortMessage: '0'
996
+ handleInvalidShortMessage: '0',
997
+ endShortMessage: '0'
991
998
  });
992
999
  }
993
1000
 
@@ -3030,7 +3037,42 @@ var PageHome = function (_React$Component) {
3030
3037
  this.recallClick();
3031
3038
  } else if (operate == 8) {
3032
3039
  //结束
3033
- this.handleEnd();
3040
+
3041
+ _db2.default.FlowModuleAPI.getAllActivity({
3042
+ processInstanceId: t.state.processInstanceId
3043
+ }).then(function (content) {
3044
+ var allActivity = content;
3045
+ if (allActivity != null && allActivity != '' && allActivity.length > 0) {
3046
+ var selectOptions = [];
3047
+ allActivity.map(function (item, index) {
3048
+ var option = {};
3049
+ option.value = item.id;
3050
+ option.text = item.name;
3051
+ option.disable = false;
3052
+ if (index == 0) {
3053
+ option.checked = true;
3054
+ } else {
3055
+ option.checked = false;
3056
+ }
3057
+ option.name = item.name;
3058
+
3059
+ selectOptions.push(option);
3060
+ });
3061
+ t.setState({
3062
+ allActivityEnd: selectOptions, //所有环节名称
3063
+ designActivityEnd: selectOptions[0].value, //选择的提醒环节id
3064
+ operate: operate,
3065
+ endReason: '',
3066
+ pageStatus: '1'
3067
+ }, function () {
3068
+ $(window).scrollTop(0);
3069
+ });
3070
+ }
3071
+ }).catch(function (error) {
3072
+ console.error(error);
3073
+ });
3074
+
3075
+ // this.handleEnd();
3034
3076
  } else if (operate == 9) {
3035
3077
  //作废
3036
3078
 
@@ -3951,6 +3993,9 @@ var PageHome = function (_React$Component) {
3951
3993
  } else if (operate == 5) {
3952
3994
  //跳转
3953
3995
  this.jump();
3996
+ } else if (operate == 8) {
3997
+ //结束
3998
+ this.handleEnd();
3954
3999
  } else if (operate == 9) {
3955
4000
  //作废
3956
4001
  this.handleInvalid();
@@ -5119,22 +5164,23 @@ var PageHome = function (_React$Component) {
5119
5164
  var isPush = t.state.isPush;
5120
5165
  var db = _db2.default;
5121
5166
 
5122
- // Dialog.confirm({
5123
- // locale: 'zh_CN',
5124
- // title: '提示',
5125
- // content: '是否要'+t.state.finalButtons.get("BASE_END")+'审批?',
5126
- // onConfirm() {
5127
-
5128
- // },
5129
- // onCancel() {
5130
- // console.log('confirm cancel');
5131
- // },
5132
- // });
5167
+ if (t.state.endReason == null || t.state.endReason.trim() == '') {
5168
+ _Toast2.default.show({
5169
+ type: 'error',
5170
+ content: '结束原因不能为空'
5171
+ });
5172
+ return false;
5173
+ }
5133
5174
  db.FlowModuleAPI.forceEnd({
5134
5175
  taskId: t.state.taskId,
5176
+ dataId: t.state.dataId,
5177
+ formId: t.state.formId,
5135
5178
  processInstanceId: t.state.processInstanceId,
5136
5179
  module: t.state.module,
5137
- permissionCode: t.state.permissionCode
5180
+ permissionCode: t.state.permissionCode,
5181
+ designActivity: t.state.designActivityEnd,
5182
+ reminders: t.state.endShortMessage,
5183
+ endReason: t.state.endReason
5138
5184
  }).then(function (content) {
5139
5185
  _Toast2.default.show({
5140
5186
  type: 'success',
@@ -5227,6 +5273,33 @@ var PageHome = function (_React$Component) {
5227
5273
  t.sendFlow(param);
5228
5274
  }
5229
5275
  }
5276
+ }, {
5277
+ key: 'selectEndActivityChange',
5278
+ value: function selectEndActivityChange(data) {
5279
+ var designActivity = '';
5280
+ for (var i = 0; i < data.length; i++) {
5281
+ if (data[i].value != '') {
5282
+ designActivity += ',' + data[i].value;
5283
+ }
5284
+ }
5285
+ if (designActivity != '') {
5286
+ designActivity = designActivity.substring(1);
5287
+ }
5288
+ this.setState({
5289
+ designActivityEnd: designActivity
5290
+ });
5291
+ }
5292
+ }, {
5293
+ key: 'changEndShortMessage',
5294
+ value: function changEndShortMessage(data) {
5295
+ var newremindStyle = "";
5296
+ for (var i = 0; i < data.length; i++) {
5297
+ if (i == data.length - 1) newremindStyle += data[i].value;else newremindStyle += data[i].value + ',';
5298
+ }
5299
+ this.setState({
5300
+ endShortMessage: newremindStyle
5301
+ });
5302
+ }
5230
5303
  }, {
5231
5304
  key: 'selectProcessDataListChange',
5232
5305
  value: function selectProcessDataListChange(value) {
@@ -6886,6 +6959,27 @@ var PageHome = function (_React$Component) {
6886
6959
  });
6887
6960
  }
6888
6961
 
6962
+ //结束
6963
+
6964
+ }, {
6965
+ key: 'changeEndReasonText',
6966
+ value: function changeEndReasonText(newValue) {
6967
+ var regRule = /(\ud83c[\udf00-\udfff])|(\ud83d[\udc00-\ude4f\ude80-\udeff])|[\u2600-\u2B55]/g;
6968
+ if (newValue.match(regRule)) {
6969
+ _Toast2.default.show({
6970
+ type: 'error',
6971
+ content: '请输入非表情字符'
6972
+ });
6973
+ return false;
6974
+ }
6975
+ if (newValue.length > 50) {
6976
+ newValue = newValue.substring(0, 50);
6977
+ }
6978
+ this.setState({
6979
+ endReason: newValue
6980
+ });
6981
+ }
6982
+
6889
6983
  /**
6890
6984
  * 取消操作
6891
6985
  **/
@@ -8302,6 +8396,42 @@ var PageHome = function (_React$Component) {
8302
8396
  value: this.state.sendMailText,
8303
8397
  onChange: this.changeSendMailText.bind(this) })
8304
8398
  ),
8399
+ _react2.default.createElement(
8400
+ _Group2.default.List,
8401
+ { className: this.state.operate == 8 ? '' : 't-DN' },
8402
+ _react2.default.createElement(
8403
+ 'div',
8404
+ { style: { background: '#f2f3f5', padding: '10px 5px' } },
8405
+ _react2.default.createElement(
8406
+ 'span',
8407
+ { className: 'theme-color' },
8408
+ _react2.default.createElement('i', { className: 'iconfont icon-back t-rotate-180 t-FS14 t-FR' }),
8409
+ '\u4F5C\u5E9F\u73AF\u8282'
8410
+ )
8411
+ ),
8412
+ _react2.default.createElement(_TextareaField2.default, {
8413
+ readOnly: false,
8414
+ label: '结束原因',
8415
+ required: true,
8416
+ minRows: 3, maxRows: 6,
8417
+ placeholder: '请输入结束原因',
8418
+ value: this.state.endReason,
8419
+ onChange: this.changeEndReasonText.bind(this) }),
8420
+ _react2.default.createElement(_CheckboxField2.default, {
8421
+ className: 't-W100',
8422
+ required: false,
8423
+ label: "提醒对象",
8424
+ readOnly: false,
8425
+ data: this.state.allActivityEnd,
8426
+ onChange: this.selectEndActivityChange.bind(this)
8427
+ }),
8428
+ _react2.default.createElement(_CheckboxField2.default, {
8429
+ data: this.state.shortMessageList,
8430
+ className: '',
8431
+ mode: 'list',
8432
+ onChange: this.changEndShortMessage.bind(this),
8433
+ required: false })
8434
+ ),
8305
8435
  _react2.default.createElement(
8306
8436
  _Group2.default.List,
8307
8437
  { className: this.state.operate == 9 ? '' : 't-DN' },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fmui-base",
3
- "version": "2.2.30",
3
+ "version": "2.2.31",
4
4
  "title": "fmui-base",
5
5
  "description": "fmui移动端组件",
6
6
  "main": "lib/index.js",