fmui-base 2.3.52 → 2.3.54

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.
@@ -100,6 +100,10 @@ var _RelationProcess = require('./RelationProcess');
100
100
 
101
101
  var _RelationProcess2 = _interopRequireDefault(_RelationProcess);
102
102
 
103
+ var _MessageBoard = require('./MessageBoard');
104
+
105
+ var _MessageBoard2 = _interopRequireDefault(_MessageBoard);
106
+
103
107
  var _select = require('../selectMember/select');
104
108
 
105
109
  var _select2 = _interopRequireDefault(_select);
@@ -259,7 +263,20 @@ var PageHome = function (_React$Component) {
259
263
  var status = '0';
260
264
  var dataId = props.dataId;
261
265
  var editType = '';
262
- isSub = props.isSub ? props.isSub : '';
266
+ // 再次发起路由末段为 isSub=2;兼容 props 未透传时从 hash 解析
267
+ isSub = props.isSub != null && props.isSub !== '' && props.isSub !== 'undefined' && props.isSub !== 'null' ? String(props.isSub) : '';
268
+ if (isSub === '') {
269
+ try {
270
+ var hashParts = (window.location.hash || '').replace(/^#\/?/, '').split('/');
271
+ // process/processDetails/.../module/userId/search/isSub → isSub 在下标 11
272
+ if (hashParts.length >= 12 && hashParts[1] === 'processDetails') {
273
+ var lastSeg = hashParts[11];
274
+ if (lastSeg === '1' || lastSeg === '2') {
275
+ isSub = lastSeg;
276
+ }
277
+ }
278
+ } catch (e) {}
279
+ }
263
280
  // if(isSub!=''){
264
281
  // window.location.reload();
265
282
  // }
@@ -514,6 +531,8 @@ var PageHome = function (_React$Component) {
514
531
  endSelect: false,
515
532
  mobileFlowChar: '0', //是否开启流程图 1开启 0禁用
516
533
  mobileSubTblDefault: '1', //移动端子表默认 1展开 0收起;未设置按展开
534
+ enableMessageBoard: '0', //流程启用留言板
535
+ enableAttachmentArea: '0', //流程启用附件区
517
536
  readScopeId: '',
518
537
  readScopeList: [],
519
538
  readRangeType: '', //传阅范围 0全部 2本组织及下属组织 4自定义
@@ -996,6 +1015,8 @@ var PageHome = function (_React$Component) {
996
1015
  var mobileFlowChar = content.mobileFlowChar;
997
1016
  // 移动端子表默认:1展开 0收起;缺省按展开
998
1017
  var mobileSubTblDefault = content.mobileSubTblDefault != null && content.mobileSubTblDefault !== '' ? String(content.mobileSubTblDefault) : '1';
1018
+ var enableMessageBoard = content.enableMessageBoard != null && content.enableMessageBoard !== '' ? String(content.enableMessageBoard) : '0';
1019
+ var enableAttachmentArea = content.enableAttachmentArea != null && content.enableAttachmentArea !== '' ? String(content.enableAttachmentArea) : '0';
999
1020
 
1000
1021
  //项目开发模块统一扩展
1001
1022
  var mobileModuleExt;
@@ -1149,8 +1170,6 @@ var PageHome = function (_React$Component) {
1149
1170
  commentAttitude: commentAttitude
1150
1171
  });
1151
1172
  if (t.state.listType == '4') {
1152
- var details = content['details'];
1153
- if (details != null && details['showType'] == '1' && details['operationDetails'] != null) {}
1154
1173
  t.setState({
1155
1174
  taskId: content.taskId
1156
1175
  });
@@ -1171,6 +1190,7 @@ var PageHome = function (_React$Component) {
1171
1190
  'jump': '此文件已跳转',
1172
1191
  'zf': '此文件已作废',
1173
1192
  'end': '此文件已结束',
1193
+ 'notPass': '此文件不通过',
1174
1194
  'withdraw': '此文件已撤回',
1175
1195
  'back': '此文件已退回',
1176
1196
  'view': '此文件已办理'
@@ -1391,6 +1411,12 @@ var PageHome = function (_React$Component) {
1391
1411
  details.userName = details.dealName;
1392
1412
  details.time = details.dealTime;
1393
1413
  details.fullMessage = details.operationDetails;
1414
+ // 我的流程不通过:与 PC 一致弹「不通过原因」
1415
+ var processStatus = String(content.processStatus != null ? content.processStatus : content.status != null ? content.status : '');
1416
+ if (details.dealaction == 'notPass' || processStatus == '6') {
1417
+ var npName = t.state.finalButtons && t.state.finalButtons.get("BASE_NOTPASS") || '不通过';
1418
+ titleCommentBackAlert = npName + '原因';
1419
+ }
1394
1420
  commentBackAlert.push(content.details);
1395
1421
  } else if (content.details && content.details != null && content.details.showType == '3') {
1396
1422
  titleCommentBackAlert = '加签意见';
@@ -1630,6 +1656,8 @@ var PageHome = function (_React$Component) {
1630
1656
  dealReminderContent: dealReminderContent,
1631
1657
  mobileFlowChar: mobileFlowChar,
1632
1658
  mobileSubTblDefault: mobileSubTblDefault,
1659
+ enableMessageBoard: enableMessageBoard,
1660
+ enableAttachmentArea: enableAttachmentArea,
1633
1661
  readScopeId: readScopeId,
1634
1662
  readScopeList: readScopeList,
1635
1663
  readRangeType: readRangeType,
@@ -1822,6 +1850,11 @@ var PageHome = function (_React$Component) {
1822
1850
  // }
1823
1851
  for (var b = 0; b < buttonArray.length; b++) {
1824
1852
  var buttonCode = buttonArray[b];
1853
+ // 再次发起(isSub=2):无论 start/pending,都不展示作废
1854
+ var againStart = String(t.state.isSub != null && t.state.isSub !== '' ? t.state.isSub : isSub || '') === '2';
1855
+ if (againStart && buttonCode == 'BASE_INVALID') {
1856
+ continue;
1857
+ }
1825
1858
  //PAGE_SAVE保存按钮只有当新建时才有,HELP_ADDLOTS加签只有在会签和串签才有,RADOM_FINISH随机流程完成按钮去掉
1826
1859
  if (buttonCode == 'OTHER_RELATION' || buttonCode == 'FLOW_REVOKE' || buttonCode == 'RADOM_FINISH' || buttonCode == 'FLOW_CANCEL' || buttonCode == 'FLOW_RECOVER' || buttonCode == 'PAGE_PRINT' || buttonCode == 'PAGE_URGE' || buttonCode == 'PAGE_REDSET' || buttonCode == 'PAGE_FEEDBACK' || buttonCode == 'RECORD' || buttonCode == 'HELP_ADDLOTS' && participantMode == '0') {
1827
1860
  continue;
@@ -1884,8 +1917,21 @@ var PageHome = function (_React$Component) {
1884
1917
  //发起人撤销按钮
1885
1918
  buttonList.push({ name: t.state.finalButtons.get("FLOW_REVOKE"), type: 'secondary', display: 'inline', no: 7 });
1886
1919
  }
1887
- // 发起人配置了作废,且流程在发起人节点时(退回/撤回后)可作废
1888
- if (startButtons.indexOf('BASE_INVALID') >= 0 && (isStart == true || isStart == 'true')) {
1920
+ // 与 PC 一致:发起人配置作废 + 进行中 + 当前待办在发起节点
1921
+ var processStatusNow = String(content.processStatus != null ? content.processStatus : content.status != null ? content.status : '');
1922
+ var backToInitiator = isStart == true || isStart == 'true';
1923
+ if (!backToInitiator && content.processLogList && content.processLogList.length > 0 && content.doingUserList && content.doingUserList.length > 0) {
1924
+ var startActId = content.processLogList[0].curactivityid;
1925
+ if (startActId) {
1926
+ for (var di = 0; di < content.doingUserList.length; di++) {
1927
+ if (content.doingUserList[di].activityId == startActId) {
1928
+ backToInitiator = true;
1929
+ break;
1930
+ }
1931
+ }
1932
+ }
1933
+ }
1934
+ if (startButtons.indexOf('BASE_INVALID') >= 0 && processStatusNow == '1' && backToInitiator) {
1889
1935
  buttonList.push({ name: t.state.finalButtons.get("BASE_INVALID"), type: 'danger', display: 'inline', no: 9 });
1890
1936
  }
1891
1937
  }
@@ -1912,7 +1958,8 @@ var PageHome = function (_React$Component) {
1912
1958
  if (buttonCode == 'PAGE_SAVE' || buttonCode == 'BASE_SUMBIT') {
1913
1959
  buttonArrayNew.push(buttonCode);
1914
1960
  }
1915
- if (buttonCode == 'BASE_INVALID' && dataId) {
1961
+ // 再次发起(isSub=2)不显示作废
1962
+ if (buttonCode == 'BASE_INVALID' && dataId && String(t.state.isSub || isSub || '') != '2') {
1916
1963
  buttonArrayNew.push(buttonCode);
1917
1964
  }
1918
1965
  }
@@ -2564,6 +2611,9 @@ var PageHome = function (_React$Component) {
2564
2611
  case 'BASE_END':
2565
2612
  t.handleSubmit(8);
2566
2613
  break;
2614
+ case 'BASE_NOTPASS':
2615
+ t.handleSubmit(21);
2616
+ break;
2567
2617
  case 'BASE_INVALID':
2568
2618
  t.handleSubmit(9);
2569
2619
  break;
@@ -3352,6 +3402,40 @@ var PageHome = function (_React$Component) {
3352
3402
  });
3353
3403
 
3354
3404
  // this.handleEnd();
3405
+ } else if (operate == 21) {
3406
+ //不通过
3407
+ _db2.default.FlowModuleAPI.getAllActivity({
3408
+ processInstanceId: t.state.processInstanceId
3409
+ }).then(function (content) {
3410
+ var allActivity = content;
3411
+ if (allActivity != null && allActivity != '' && allActivity.length > 0) {
3412
+ var selectOptions = [];
3413
+ allActivity.map(function (item, index) {
3414
+ var option = {};
3415
+ option.value = item.id;
3416
+ option.text = item.name;
3417
+ option.disable = false;
3418
+ if (index == 0) {
3419
+ option.checked = true;
3420
+ } else {
3421
+ option.checked = false;
3422
+ }
3423
+ option.name = item.name;
3424
+ selectOptions.push(option);
3425
+ });
3426
+ t.setState({
3427
+ allActivityEnd: selectOptions,
3428
+ designActivityEnd: selectOptions[0].value,
3429
+ operate: operate,
3430
+ endReason: '',
3431
+ pageStatus: '1'
3432
+ }, function () {
3433
+ $(window).scrollTop(0);
3434
+ });
3435
+ }
3436
+ }).catch(function (error) {
3437
+ console.error(error);
3438
+ });
3355
3439
  } else if (operate == 9) {
3356
3440
  //作废
3357
3441
 
@@ -3376,13 +3460,13 @@ var PageHome = function (_React$Component) {
3376
3460
  selectOptions.push(option);
3377
3461
  });
3378
3462
 
3379
- var processDataList = [{ value: '1', name: '保留', disable: false, checked: true, text: '保留' }, { value: '2', name: '清除', disable: false, checked: false, text: '清除(已办人的已办记录)' }];
3463
+ var processDataList = [{ value: '1', name: '保留', disable: false, checked: true, text: '保留' }, { value: '2', name: '删除流程数据', disable: false, checked: false, text: '删除流程数据' }];
3380
3464
  t.setState({
3381
3465
  allActivity: selectOptions, //所有环节名称
3382
3466
  designActivity: selectOptions[0].value, //选择的提醒环节id
3383
3467
  processDataList: processDataList,
3384
3468
  processDataListDefault: processDataList[0],
3385
- processData: '1', //1 保留流程数据,2清除已办数据
3469
+ processData: '1', //1 保留流程数据,2删除流程数据
3386
3470
  operate: operate,
3387
3471
  pageStatus: '1'
3388
3472
  }, function () {
@@ -4471,6 +4555,9 @@ var PageHome = function (_React$Component) {
4471
4555
  } else if (operate == 8) {
4472
4556
  //结束
4473
4557
  this.handleEnd();
4558
+ } else if (operate == 21) {
4559
+ //不通过
4560
+ this.handleNotPass();
4474
4561
  } else if (operate == 9) {
4475
4562
  //作废
4476
4563
  this.handleInvalid();
@@ -5930,6 +6017,70 @@ var PageHome = function (_React$Component) {
5930
6017
  });
5931
6018
  }
5932
6019
 
6020
+ //不通过
6021
+
6022
+ }, {
6023
+ key: 'handleNotPass',
6024
+ value: function handleNotPass() {
6025
+ var t = this;
6026
+ var isPush = t.state.isPush;
6027
+ var db = _db2.default;
6028
+ var btnName = t.state.finalButtons.get("BASE_NOTPASS") || '不通过';
6029
+ if (t.state.endReason == null || t.state.endReason.trim() == '') {
6030
+ _Toast2.default.show({
6031
+ type: 'error',
6032
+ content: btnName + '原因不能为空'
6033
+ });
6034
+ return false;
6035
+ }
6036
+ db.FlowModuleAPI.notPass({
6037
+ taskId: t.state.taskId,
6038
+ dataId: t.state.dataId,
6039
+ formId: t.state.formId,
6040
+ processInstanceId: t.state.processInstanceId,
6041
+ module: t.state.module,
6042
+ permissionCode: t.state.permissionCode,
6043
+ designActivity: t.state.designActivityEnd,
6044
+ reminders: t.state.endShortMessage,
6045
+ notPassReason: t.state.endReason,
6046
+ actionName: btnName
6047
+ }).then(function (content) {
6048
+ _Toast2.default.show({
6049
+ type: 'success',
6050
+ content: btnName + '成功'
6051
+ });
6052
+ var dataId = t.state.dataId;
6053
+ if (typeof FlowCommon.operateCallBack === "function") {
6054
+ FlowCommon.operateCallBack({ type: 2, dataId: dataId, isBatch: 0 }, t.state);
6055
+ }
6056
+ var mobileExt;
6057
+ try {
6058
+ if (t.state.formKey) {
6059
+ mobileExt = typeof eval(t.state.module + "_" + t.state.formKey + "_mobileExt") !== 'undefined' ? eval(t.state.module + "_" + t.state.formKey + "_mobileExt") : null;
6060
+ }
6061
+ } catch (e) {}
6062
+ if (typeof mobileExt !== 'undefined' && typeof mobileExt["operateCallBack"] === "function") {
6063
+ mobileExt["operateCallBack"]({ type: 2, dataId: dataId, isBatch: 0 }, t.state);
6064
+ }
6065
+ if (isPush == '0') {
6066
+ setTimeout(function () {
6067
+ history.back();
6068
+ }, 1500);
6069
+ } else if (isPush == '1') {
6070
+ closePage();
6071
+ } else {
6072
+ backPage();
6073
+ }
6074
+ }).catch(function (error) {
6075
+ setTimeout(function () {
6076
+ _Toast2.default.show({
6077
+ type: 'error',
6078
+ content: error.errorMsg || btnName + '失败'
6079
+ });
6080
+ }, 800);
6081
+ });
6082
+ }
6083
+
5933
6084
  //完成
5934
6085
 
5935
6086
  }, {
@@ -7088,6 +7239,13 @@ var PageHome = function (_React$Component) {
7088
7239
  buttonCodeList.push({ 'buttonCode': 'subprocess', 'buttonName': '发起子流程' });
7089
7240
  }
7090
7241
  buttonCodeList = buttonCodeList.concat();
7242
+ // 再次发起不展示作废(后端可能仍返回 BASE_INVALID)
7243
+ var againStartBtn = String(_this4.state.isSub != null && _this4.state.isSub !== '' ? _this4.state.isSub : isSub || '') === '2';
7244
+ if (againStartBtn) {
7245
+ buttonCodeList = buttonCodeList.filter(function (item) {
7246
+ return item && item.buttonCode != 'BASE_INVALID';
7247
+ });
7248
+ }
7091
7249
  var alllength = buttonCodeList.length + extensionButtonList.length;
7092
7250
  if (alllength > 3) {
7093
7251
  buttonList.push({ name: '更多', type: 'secondary', display: 'inline', no: -1 });
@@ -7125,6 +7283,8 @@ var PageHome = function (_React$Component) {
7125
7283
  buttonCodeListNew.push({ name: buttonName, type: 'secondary', display: 'inline', no: 6 });
7126
7284
  } else if (buttonCode == 'BASE_END') {
7127
7285
  buttonCodeListNew.push({ name: buttonName, type: 'secondary', display: 'inline', no: 8 });
7286
+ } else if (buttonCode == 'BASE_NOTPASS') {
7287
+ buttonCodeListNew.push({ name: buttonName, type: 'danger', display: 'inline', no: 21 });
7128
7288
  } else if (buttonCode == 'BASE_INVALID') {
7129
7289
  buttonCodeListNew.push({ name: buttonName, type: 'danger', display: 'inline', no: 9 });
7130
7290
  } else if (buttonCode == 'HELP_DISTRIBUTE') {
@@ -7178,6 +7338,8 @@ var PageHome = function (_React$Component) {
7178
7338
  buttonList.push({ name: buttonName, type: 'secondary', display: 'inline', no: 6 });
7179
7339
  } else if (buttonCode == 'BASE_END') {
7180
7340
  buttonList.push({ name: buttonName, type: 'secondary', display: 'inline', no: 8 });
7341
+ } else if (buttonCode == 'BASE_NOTPASS') {
7342
+ buttonList.push({ name: buttonName, type: 'danger', display: 'inline', no: 21 });
7181
7343
  } else if (buttonCode == 'BASE_INVALID') {
7182
7344
  buttonList.push({ name: buttonName, type: 'danger', display: 'inline', no: 9 });
7183
7345
  } else if (buttonCode == 'HELP_DISTRIBUTE') {
@@ -8973,7 +9135,20 @@ var PageHome = function (_React$Component) {
8973
9135
  _react2.default.createElement(_RelationProcess2.default, { ref: "relationProcess_list", taskId: this.state.taskId, processInstanceId: this.state.processInstanceId, listType: this.state.listType })
8974
9136
  )
8975
9137
  )
8976
- )
9138
+ ),
9139
+ this.state.enableMessageBoard === '1' || this.state.enableAttachmentArea === '1' ? _react2.default.createElement(
9140
+ _Tab2.default.Item,
9141
+ { key: '4', title: '\u7559\u8A00' },
9142
+ _react2.default.createElement(
9143
+ 'div',
9144
+ { className: this.state.activeItemIndex == 4 ? '' : 't-DN' },
9145
+ _react2.default.createElement(_MessageBoard2.default, {
9146
+ processInstanceId: this.state.processInstanceId,
9147
+ enableMessageBoard: this.state.enableMessageBoard,
9148
+ enableAttachmentArea: this.state.enableAttachmentArea
9149
+ })
9150
+ )
9151
+ ) : ''
8977
9152
  )
8978
9153
  )
8979
9154
  ),
@@ -9735,6 +9910,42 @@ var PageHome = function (_React$Component) {
9735
9910
  onChange: this.changEndShortMessage.bind(this),
9736
9911
  required: false })
9737
9912
  ),
9913
+ _react2.default.createElement(
9914
+ _Group2.default.List,
9915
+ { className: this.state.operate == 21 ? '' : 't-DN' },
9916
+ _react2.default.createElement(
9917
+ 'div',
9918
+ { style: { background: '#f2f3f5', padding: '10px 5px' } },
9919
+ _react2.default.createElement(
9920
+ 'span',
9921
+ { className: 'theme-color' },
9922
+ _react2.default.createElement('i', { className: 'iconfont icon-back t-rotate-180 t-FS14 t-FR' }),
9923
+ this.state.finalButtons.get("BASE_NOTPASS") || '不通过'
9924
+ )
9925
+ ),
9926
+ _react2.default.createElement(_TextareaField2.default, {
9927
+ readOnly: false,
9928
+ label: (this.state.finalButtons.get("BASE_NOTPASS") || '不通过') + '原因',
9929
+ required: true,
9930
+ minRows: 3, maxRows: 6,
9931
+ placeholder: '请输入' + (this.state.finalButtons.get("BASE_NOTPASS") || '不通过') + '原因',
9932
+ value: this.state.endReason,
9933
+ onChange: this.changeEndReasonText.bind(this) }),
9934
+ _react2.default.createElement(_CheckboxField2.default, {
9935
+ className: 't-W100',
9936
+ required: false,
9937
+ label: "提醒对象",
9938
+ readOnly: false,
9939
+ data: this.state.allActivityEnd,
9940
+ onChange: this.selectEndActivityChange.bind(this)
9941
+ }),
9942
+ _react2.default.createElement(_CheckboxField2.default, {
9943
+ data: this.state.shortMessageList,
9944
+ className: '',
9945
+ mode: 'list',
9946
+ onChange: this.changEndShortMessage.bind(this),
9947
+ required: false })
9948
+ ),
9738
9949
  _react2.default.createElement(
9739
9950
  _Group2.default.List,
9740
9951
  { className: this.state.operate == 9 ? '' : 't-DN' },