fmui-base 2.3.72 → 2.3.74

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.74:移动端流程办理支持流程办理人增加由所选活动指定办理人员
7
+ - 2.3.73:移动端流程表单增加退回后重新提交前的批示意见在表单下方显示
6
8
  - 2.3.72:移动端表单设置自定义样式时图标乱码问题
7
9
  - 2.3.71:移动端办理列表缓急标签样式
8
10
  - 2.3.70:移动端支持表单的规则设置校验
@@ -310,15 +310,29 @@ var PageHome = function (_React$Component) {
310
310
  { className: 't-PR5' },
311
311
  item.orgShowName
312
312
  );
313
- var caImg = t.state.caSignatureMap && t.state.caSignatureMap[item.id] || t.normalizeBase64(item.caSignatureImg);
314
- var hasSignImg = !!(caImg || item.signPic != null && item.signPic !== '');
315
- var signPicHtml = caImg ? _react2.default.createElement('img', { className: 't-H64 t-PR5 signPic', src: 'data:image/png;base64,' + caImg }) : item.signPic ? _react2.default.createElement('img', { className: 't-H64 t-PR5 signPic', src: t.state.loadImg + item.signPic }) : "";
313
+ // 优先 base64 / dataURI,避免 viewImage?token= 拼在链接上
314
+ var signSrc = '';
315
+ if (item.imgSrc && String(item.imgSrc).indexOf('data:') === 0) {
316
+ signSrc = String(item.imgSrc);
317
+ } else {
318
+ var caImg = t.state.caSignatureMap && t.state.caSignatureMap[item.id] || t.normalizeBase64(item.caSignatureImg);
319
+ if (caImg) {
320
+ var mime = String(caImg).indexOf('/9j/') === 0 ? 'image/jpeg' : 'image/png';
321
+ signSrc = 'data:' + mime + ';base64,' + caImg;
322
+ } else if (item.signPic) {
323
+ // 兜底:后端未转 base64 时仍走附件预览(不推荐)
324
+ signSrc = t.state.loadImg + item.signPic;
325
+ }
326
+ }
327
+ var hasSignImg = !!signSrc;
328
+ var signPicHtml = signSrc ? _react2.default.createElement('img', { className: 't-H64 t-PR5 signPic', src: signSrc }) : "";
316
329
  var taskNameHtml = _react2.default.createElement(
317
330
  'span',
318
331
  { className: 't-PR5' },
319
332
  item.taskName
320
333
  );
321
- var sealHtml = item.sealFileId && item.sealFileId !== "" ? _react2.default.createElement('img', { className: 't-PR5', src: t.state.loadImg + item.sealFileId, style: { 'position': 'absolute', 'top': '-35px', 'right': '10px', 'height': '64px', 'opacity': 0.8 } }) : "";
334
+ var sealSrc = item.sealSrc && String(item.sealSrc).indexOf('data:') === 0 ? String(item.sealSrc) : item.sealFileId && item.sealFileId !== "" ? t.state.loadImg + item.sealFileId : '';
335
+ var sealHtml = sealSrc ? _react2.default.createElement('img', { className: 't-PR5', src: sealSrc, style: { 'position': 'absolute', 'top': '-35px', 'right': '10px', 'height': '64px', 'opacity': 0.8 } }) : "";
322
336
  var inscriptionShowArray = item.inscriptionShow.split(",");
323
337
  var showUserName = inscriptionShowArray.indexOf("userName") >= 0 && (item.inscriptionShow.indexOf("signImg") < 0 || item.inscriptionShow.indexOf("signImg") >= 0 && !hasSignImg);
324
338
  var _returnHtml = inscriptionShowArray.map(function (inscriptionItem) {
@@ -342,6 +342,35 @@ var PageHome = function (_React$Component) {
342
342
  if (typeof radomList == 'undefined' || radomList == null || radomList == '') {
343
343
  radomList = [];
344
344
  }
345
+ // 跨跳预指定并入(与单条 processInfo 一致)
346
+ var preAssignTargets = content.preAssignTargets || [];
347
+ if (preAssignTargets && preAssignTargets.length > 0) {
348
+ for (var pti = 0; pti < preAssignTargets.length; pti++) {
349
+ var pt = preAssignTargets[pti];
350
+ var exists = false;
351
+ for (var ptj = 0; ptj < nextList.length; ptj++) {
352
+ if (nextList[ptj].id == pt.id) {
353
+ nextList[ptj].preAssign = true;
354
+ nextList[ptj].preAssignAlsoNext = true;
355
+ nextList[ptj].must = true;
356
+ var curType = nextList[ptj].type;
357
+ var curPids = nextList[ptj].pids;
358
+ if (curType == 3 && (curPids == null || curPids === '')) {
359
+ nextList[ptj].type = 1;
360
+ }
361
+ exists = true;
362
+ break;
363
+ }
364
+ }
365
+ if (!exists) {
366
+ pt.preAssign = true;
367
+ pt.preAssignAlsoNext = false;
368
+ pt.type = 1;
369
+ pt.must = true;
370
+ nextList.push(pt);
371
+ }
372
+ }
373
+ }
345
374
 
346
375
  var param = {
347
376
  taskIds: t.state.taskIds,
@@ -672,8 +701,10 @@ var PageHome = function (_React$Component) {
672
701
  checkedItem.participants = participants;
673
702
  checkedItem.parallelGatewayId = item.parallelGatewayId;
674
703
  checkedItem.noPar = item.noPar;
675
- if (item.must == true && (maxOutgoing == 1 && checkActi == 0 || maxOutgoing == 0)) {
676
- //必须
704
+ checkedItem.preAssign = item.preAssign;
705
+ checkedItem.preAssignAlsoNext = item.preAssignAlsoNext;
706
+ if (item.must == true && (maxOutgoing == 1 && checkActi == 0 || maxOutgoing == 0 || item.preAssign)) {
707
+ //必须(含预指定)
677
708
  checkedItem.disable = false;
678
709
  checkedItem.checked = true;
679
710
  //nextSelectType = 'next';
@@ -1032,10 +1063,12 @@ var PageHome = function (_React$Component) {
1032
1063
  var nextActivityListSelect = this.state.nextActivityList;
1033
1064
  var nextSelectType = this.state.nextSelectType; //选择随机还是普通
1034
1065
  var selectedActivity = '';
1066
+ var preAssignActivity = '';
1035
1067
  if (nextRadomListSelect.length > 0 || nextActivityListSelect.length > 0) {
1036
1068
  //下一个节点不为空时
1037
1069
 
1038
1070
  selectedActivity = '';
1071
+ preAssignActivity = '';
1039
1072
  var nextActivityList = [];
1040
1073
  if (nextSelectType == 'radom') {
1041
1074
  nextActivityList = nextRadomListSelect;
@@ -1051,6 +1084,13 @@ var PageHome = function (_React$Component) {
1051
1084
  var isEnd = nextActivityList[i].end;
1052
1085
 
1053
1086
  if (personValue.length <= 0 && !isEnd) {
1087
+ if (nextActivityList[i].preAssign) {
1088
+ _Toast2.default.show({
1089
+ type: 'error',
1090
+ content: '请选择预指定环节【' + (nextActivityList[i].name || '') + '】的办理人'
1091
+ });
1092
+ return false;
1093
+ }
1054
1094
  var noParVal = nextActivityList[i].noPar;
1055
1095
  var noParPass = noParVal == '1' || noParVal == 1 || noParVal == '2' || noParVal == 2;
1056
1096
  if (!(nextActivityList[i].type == 3 && noParPass)) {
@@ -1062,7 +1102,10 @@ var PageHome = function (_React$Component) {
1062
1102
  }
1063
1103
  }
1064
1104
  var participantMode = nextActivityList[i].participantMode;
1065
- if (participantMode == 0) {
1105
+ if (participantMode == null || participantMode === '' || typeof participantMode === 'undefined' || participantMode === 'undefined') {
1106
+ participantMode = '1';
1107
+ }
1108
+ if (participantMode == 0 || participantMode === '0') {
1066
1109
  if (personValue.length > 1) {
1067
1110
  _Toast2.default.show({
1068
1111
  type: 'error',
@@ -1073,6 +1116,7 @@ var PageHome = function (_React$Component) {
1073
1116
  }
1074
1117
  if (!isEnd) {
1075
1118
  var level;
1119
+ var actJsonItem;
1076
1120
 
1077
1121
  (function () {
1078
1122
  var selectUserIds = '';
@@ -1092,7 +1136,16 @@ var PageHome = function (_React$Component) {
1092
1136
  if (level == null) {
1093
1137
  level = "";
1094
1138
  }
1095
- selectedActivity += '{"id":"' + nextActivityList[i].value + '","name":"' + nextActivityList[i].name + '","participants":"' + auditorUserIds + '","participantNames":"' + auditorUserNames + '","level":"' + level + '"},';
1139
+ actJsonItem = '{"id":"' + nextActivityList[i].value + '","name":"' + nextActivityList[i].name + '","participants":"' + auditorUserIds + '","participantNames":"' + auditorUserNames + '","level":"' + level + '"},';
1140
+
1141
+ if (nextActivityList[i].preAssign) {
1142
+ preAssignActivity += actJsonItem;
1143
+ if (nextActivityList[i].preAssignAlsoNext && checked) {
1144
+ selectedActivity += actJsonItem;
1145
+ }
1146
+ } else {
1147
+ selectedActivity += actJsonItem;
1148
+ }
1096
1149
  })();
1097
1150
  } else {
1098
1151
  var level = nextActivityList[i].level;
@@ -1103,10 +1156,14 @@ var PageHome = function (_React$Component) {
1103
1156
  }
1104
1157
  }
1105
1158
  }
1159
+ if (preAssignActivity != '') {
1160
+ preAssignActivity = preAssignActivity.substring(0, preAssignActivity.length - 1);
1161
+ preAssignActivity = '[' + preAssignActivity + ']';
1162
+ }
1106
1163
  if (selectedActivity != '') {
1107
1164
  selectedActivity = selectedActivity.substring(0, selectedActivity.length - 1);
1108
1165
  selectedActivity = '[' + selectedActivity + ']';
1109
- } else {
1166
+ } else if (preAssignActivity == '') {
1110
1167
  _Toast2.default.show({
1111
1168
  type: 'error',
1112
1169
  content: '请选择节点'
@@ -1129,6 +1186,7 @@ var PageHome = function (_React$Component) {
1129
1186
  taskIds: t.state.taskIds,
1130
1187
  processInstanceIds: t.state.processInstanceIds,
1131
1188
  selectedActivity: selectedActivity,
1189
+ preAssignActivity: preAssignActivity,
1132
1190
  module: t.state.module,
1133
1191
  comment: t.state.spyj,
1134
1192
  hasCommentField: t.state.hasCommentField,
@@ -544,6 +544,8 @@ var PageHome = function (_React$Component) {
544
544
  mobileFlowChar: '0', //是否开启流程图 1开启 0禁用
545
545
  mobileSubTblDefault: '1', //移动端子表默认 1展开 0收起;未设置按展开
546
546
  enableMessageBoard: '0', //流程启用留言板
547
+ showPreResubmitComment: '0', //退回后重新提交前意见在表单下方显示
548
+ preResubmitCommentList: [], //重新发起前批示意见(历史轮)
547
549
  enableAttachmentArea: '0', //流程启用附件区
548
550
  relationCount: 0, //关联流程数量
549
551
  hasRelationBtn: false, //当前是否具备关联流程按钮权限
@@ -1730,6 +1732,8 @@ var PageHome = function (_React$Component) {
1730
1732
  mobileSubTblDefault: mobileSubTblDefault,
1731
1733
  enableMessageBoard: enableMessageBoard,
1732
1734
  enableAttachmentArea: enableAttachmentArea,
1735
+ showPreResubmitComment: content.showPreResubmitComment != null && content.showPreResubmitComment !== '' ? String(content.showPreResubmitComment) : '0',
1736
+ preResubmitCommentList: Array.isArray(content.preResubmitCommentList) ? content.preResubmitCommentList : [],
1733
1737
  readScopeId: readScopeId,
1734
1738
  readScopeList: readScopeList,
1735
1739
  readRangeType: readRangeType,
@@ -2873,6 +2877,35 @@ var PageHome = function (_React$Component) {
2873
2877
  if (typeof nextList == 'undefined' || nextList == null || nextList == '') {
2874
2878
  nextList = [];
2875
2879
  }
2880
+ // 跨跳预指定并入;重叠保留后继原 type,仅指定且无人时改 type=1
2881
+ var preAssignTargets = content.preAssignTargets || [];
2882
+ if (preAssignTargets && preAssignTargets.length > 0) {
2883
+ for (var pti = 0; pti < preAssignTargets.length; pti++) {
2884
+ var pt = preAssignTargets[pti];
2885
+ var exists = false;
2886
+ for (var ptj = 0; ptj < nextList.length; ptj++) {
2887
+ if (nextList[ptj].id == pt.id) {
2888
+ nextList[ptj].preAssign = true;
2889
+ nextList[ptj].preAssignAlsoNext = true;
2890
+ nextList[ptj].must = true;
2891
+ var curType = nextList[ptj].type;
2892
+ var curPids = nextList[ptj].pids;
2893
+ if (curType == 3 && (curPids == null || curPids === '')) {
2894
+ nextList[ptj].type = 1;
2895
+ }
2896
+ exists = true;
2897
+ break;
2898
+ }
2899
+ }
2900
+ if (!exists) {
2901
+ pt.preAssign = true;
2902
+ pt.preAssignAlsoNext = false;
2903
+ pt.type = 1;
2904
+ pt.must = true;
2905
+ nextList.push(pt);
2906
+ }
2907
+ }
2908
+ }
2876
2909
  radomList = content.radomList;
2877
2910
  if (typeof radomList == 'undefined' || radomList == null || radomList == '') {
2878
2911
  radomList = [];
@@ -3022,6 +3055,10 @@ var PageHome = function (_React$Component) {
3022
3055
  var personValue = []; //选中的人
3023
3056
  var personValues = []; //备选的人
3024
3057
  var participantMode = item.participantMode; //判断选人是单选还是多选
3058
+ // 预指定合成项后端未带 participantMode,默认多选(1)
3059
+ if (participantMode == null || participantMode === '' || typeof participantMode === 'undefined') {
3060
+ participantMode = item.preAssign ? '1' : participantMode;
3061
+ }
3025
3062
  var commonUsedData = []; //自定义选人的范围,常用
3026
3063
  var commonTreeData = [];
3027
3064
  var popCode = "";
@@ -3200,8 +3237,9 @@ var PageHome = function (_React$Component) {
3200
3237
  checkedItem.maxOutgoing = maxOutgoing;
3201
3238
  checkedItem.parallelGatewayId = item.parallelGatewayId;
3202
3239
  checkedItem.noPar = item.noPar;
3203
- if (item.must == true && (maxOutgoing == 1 && checkActi == 0 || maxOutgoing == 0)) {
3204
- //必须
3240
+ checkedItem.preAssign = item.preAssign;
3241
+ if (item.must == true && (maxOutgoing == 1 && checkActi == 0 || maxOutgoing == 0 || item.preAssign)) {
3242
+ //必须(含预指定)
3205
3243
  checkedItem.disable = false;
3206
3244
  checkedItem.checked = true;
3207
3245
  //nextSelectType = 'next';
@@ -4337,7 +4375,7 @@ var PageHome = function (_React$Component) {
4337
4375
  if (operate == 1) {
4338
4376
  //审批提交
4339
4377
  _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
4340
- var editFormData, nextRadomListSelect, nextActivityListSelect, selectedActivity, nextActivityList, i, auditorUserIds, auditorUserNames, checked, personValue, isEnd, noParVal, noParPass, participantMode, orgUserList, orgUserids, orgUsernames, j, groupUserList, gj, gid, gname, dutyUserList, dj, did, dname, level, urgentListSelect, urgent, sshortMessage, sendShortMessage, cshortMessage, circulateShortMessage, allEditIds, dataId, param, dealActionName;
4378
+ var editFormData, nextRadomListSelect, nextActivityListSelect, selectedActivity, preAssignActivity, nextActivityList, i, auditorUserIds, auditorUserNames, checked, personValue, isEnd, noParVal, noParPass, participantMode, orgUserList, orgUserids, orgUsernames, j, groupUserList, gj, gid, gname, dutyUserList, dj, did, dname, level, actJsonItem, urgentListSelect, urgent, sshortMessage, sendShortMessage, cshortMessage, circulateShortMessage, allEditIds, dataId, param, dealActionName;
4341
4379
  return regeneratorRuntime.wrap(function _callee2$(_context2) {
4342
4380
  while (1) {
4343
4381
  switch (_context2.prev = _context2.next) {
@@ -4346,9 +4384,10 @@ var PageHome = function (_React$Component) {
4346
4384
  nextRadomListSelect = _this3.state.nextRadomList;
4347
4385
  nextActivityListSelect = _this3.state.nextActivityList;
4348
4386
  selectedActivity = '';
4387
+ preAssignActivity = '';
4349
4388
 
4350
4389
  if (!(nextRadomListSelect.length > 0 || nextActivityListSelect.length > 0)) {
4351
- _context2.next = 57;
4390
+ _context2.next = 67;
4352
4391
  break;
4353
4392
  }
4354
4393
 
@@ -4356,15 +4395,16 @@ var PageHome = function (_React$Component) {
4356
4395
  nextActivityList = [];
4357
4396
 
4358
4397
  selectedActivity = '';
4398
+ preAssignActivity = '';
4359
4399
  nextRadomListSelect.map(function (item) {
4360
4400
  nextActivityList = nextActivityList.concat(item.subRandomList);
4361
4401
  });
4362
4402
  nextActivityList = nextActivityList.concat(nextActivityListSelect);
4363
4403
  i = 0;
4364
4404
 
4365
- case 10:
4405
+ case 12:
4366
4406
  if (!(i < nextActivityList.length)) {
4367
- _context2.next = 50;
4407
+ _context2.next = 58;
4368
4408
  break;
4369
4409
  }
4370
4410
 
@@ -4373,7 +4413,7 @@ var PageHome = function (_React$Component) {
4373
4413
  checked = nextActivityList[i].checked;
4374
4414
 
4375
4415
  if (!checked) {
4376
- _context2.next = 47;
4416
+ _context2.next = 55;
4377
4417
  break;
4378
4418
  }
4379
4419
 
@@ -4383,16 +4423,28 @@ var PageHome = function (_React$Component) {
4383
4423
  console.log("personValue:" + JSON.stringify(personValue));
4384
4424
 
4385
4425
  if (!(personValue.length <= 0 && !isEnd)) {
4386
- _context2.next = 29;
4426
+ _context2.next = 34;
4427
+ break;
4428
+ }
4429
+
4430
+ if (!nextActivityList[i].preAssign) {
4431
+ _context2.next = 24;
4387
4432
  break;
4388
4433
  }
4389
4434
 
4435
+ _Toast2.default.show({
4436
+ type: 'error',
4437
+ content: '请选择预指定环节【' + (nextActivityList[i].name || '') + '】的办理人'
4438
+ });
4439
+ return _context2.abrupt('return', false);
4440
+
4441
+ case 24:
4390
4442
  // 设计器 noPar=1=审批通过(兼容误写 2):指定办理人为空时放行
4391
4443
  noParVal = nextActivityList[i].noPar;
4392
4444
  noParPass = noParVal == '1' || noParVal == 1 || noParVal == '2' || noParVal == 2;
4393
4445
 
4394
4446
  if (!(nextActivityList[i].type == 3 && !noParPass)) {
4395
- _context2.next = 26;
4447
+ _context2.next = 31;
4396
4448
  break;
4397
4449
  }
4398
4450
 
@@ -4402,9 +4454,9 @@ var PageHome = function (_React$Component) {
4402
4454
  });
4403
4455
  return _context2.abrupt('return', false);
4404
4456
 
4405
- case 26:
4457
+ case 31:
4406
4458
  if (!(nextActivityList[i].type != 3)) {
4407
- _context2.next = 29;
4459
+ _context2.next = 34;
4408
4460
  break;
4409
4461
  }
4410
4462
 
@@ -4414,16 +4466,21 @@ var PageHome = function (_React$Component) {
4414
4466
  });
4415
4467
  return _context2.abrupt('return', false);
4416
4468
 
4417
- case 29:
4469
+ case 34:
4418
4470
  participantMode = nextActivityList[i].participantMode;
4471
+ // 预指定合成项可能无 participantMode,避免序列化成 "undefined"
4472
+
4473
+ if (participantMode == null || participantMode === '' || participantMode === undefined || participantMode === 'undefined') {
4474
+ participantMode = '1';
4475
+ }
4419
4476
 
4420
- if (!(participantMode == 0)) {
4421
- _context2.next = 36;
4477
+ if (!(participantMode == 0 || participantMode === '0')) {
4478
+ _context2.next = 43;
4422
4479
  break;
4423
4480
  }
4424
4481
 
4425
4482
  if (!(personValue.length > 1)) {
4426
- _context2.next = 34;
4483
+ _context2.next = 40;
4427
4484
  break;
4428
4485
  }
4429
4486
 
@@ -4433,11 +4490,12 @@ var PageHome = function (_React$Component) {
4433
4490
  });
4434
4491
  return _context2.abrupt('return', false);
4435
4492
 
4436
- case 34:
4437
- _context2.next = 40;
4493
+ case 40:
4494
+ participantMode = '0';
4495
+ _context2.next = 48;
4438
4496
  break;
4439
4497
 
4440
- case 36:
4498
+ case 43:
4441
4499
  participantMode = participantMode + "";
4442
4500
  if (participantMode.indexOf('1') > -1) {
4443
4501
  participantMode = '1';
@@ -4448,10 +4506,13 @@ var PageHome = function (_React$Component) {
4448
4506
  if (participantMode.indexOf('2') > -1) {
4449
4507
  participantMode = '2';
4450
4508
  }
4509
+ if (participantMode === 'undefined' || participantMode === 'null' || participantMode === '') {
4510
+ participantMode = '1';
4511
+ }
4451
4512
 
4452
- case 40:
4513
+ case 48:
4453
4514
  if (isEnd) {
4454
- _context2.next = 44;
4515
+ _context2.next = 52;
4455
4516
  break;
4456
4517
  }
4457
4518
 
@@ -4557,21 +4618,31 @@ var PageHome = function (_React$Component) {
4557
4618
  level = "";
4558
4619
  }
4559
4620
 
4560
- selectedActivity += '{"id":"' + nextActivityList[i].value + '","name":"' + nextActivityList[i].name + '","participants":"' + auditorUserIds + '","participantNames":"' + auditorUserNames + '","level":"' + level + '","participantType":"' + participantMode + '"},';
4621
+ actJsonItem = '{"id":"' + nextActivityList[i].value + '","name":"' + nextActivityList[i].name + '","participants":"' + auditorUserIds + '","participantNames":"' + auditorUserNames + '","level":"' + level + '","participantType":"' + participantMode + '"},';
4561
4622
 
4562
- case 22:
4623
+ if (nextActivityList[i].preAssign) {
4624
+ preAssignActivity += actJsonItem;
4625
+ // 同时是后继且勾选:双写 selectedActivity
4626
+ if (nextActivityList[i].preAssignAlsoNext && checked) {
4627
+ selectedActivity += actJsonItem;
4628
+ }
4629
+ } else {
4630
+ selectedActivity += actJsonItem;
4631
+ }
4632
+
4633
+ case 23:
4563
4634
  case 'end':
4564
4635
  return _context.stop();
4565
4636
  }
4566
4637
  }
4567
4638
  }, _callee, _this3);
4568
- })(), 't0', 42);
4639
+ })(), 't0', 50);
4569
4640
 
4570
- case 42:
4571
- _context2.next = 47;
4641
+ case 50:
4642
+ _context2.next = 55;
4572
4643
  break;
4573
4644
 
4574
- case 44:
4645
+ case 52:
4575
4646
  level = nextActivityList[i].level;
4576
4647
 
4577
4648
  if (level == null) {
@@ -4579,30 +4650,40 @@ var PageHome = function (_React$Component) {
4579
4650
  }
4580
4651
  selectedActivity += '{"id":"' + nextActivityList[i].value + '","name":"' + nextActivityList[i].name + '","level":"' + level + '","participantType":"' + participantMode + '"},';
4581
4652
 
4582
- case 47:
4653
+ case 55:
4583
4654
  i++;
4584
- _context2.next = 10;
4655
+ _context2.next = 12;
4585
4656
  break;
4586
4657
 
4587
- case 50:
4658
+ case 58:
4659
+ if (preAssignActivity != '') {
4660
+ preAssignActivity = preAssignActivity.substring(0, preAssignActivity.length - 1);
4661
+ preAssignActivity = '[' + preAssignActivity + ']';
4662
+ }
4663
+
4588
4664
  if (!(selectedActivity != '')) {
4589
- _context2.next = 55;
4665
+ _context2.next = 64;
4590
4666
  break;
4591
4667
  }
4592
4668
 
4593
4669
  selectedActivity = selectedActivity.substring(0, selectedActivity.length - 1);
4594
4670
  selectedActivity = '[' + selectedActivity + ']';
4595
- _context2.next = 57;
4671
+ _context2.next = 67;
4596
4672
  break;
4597
4673
 
4598
- case 55:
4674
+ case 64:
4675
+ if (!(preAssignActivity == '')) {
4676
+ _context2.next = 67;
4677
+ break;
4678
+ }
4679
+
4599
4680
  _Toast2.default.show({
4600
4681
  type: 'error',
4601
4682
  content: '请选择节点'
4602
4683
  });
4603
4684
  return _context2.abrupt('return', false);
4604
4685
 
4605
- case 57:
4686
+ case 67:
4606
4687
  urgentListSelect = t.state.urgentSelectList;
4607
4688
  urgent = '';
4608
4689
 
@@ -4634,6 +4715,7 @@ var PageHome = function (_React$Component) {
4634
4715
  param = {
4635
4716
  taskId: _this3.state.taskId,
4636
4717
  selectedActivity: selectedActivity,
4718
+ preAssignActivity: preAssignActivity,
4637
4719
  allEditIds: allEditIds,
4638
4720
  corpId: corpid,
4639
4721
  code: _this3.state.code,
@@ -4663,7 +4745,7 @@ var PageHome = function (_React$Component) {
4663
4745
  param.dealActionName = dealActionName;
4664
4746
  _this3.sendFlow(param);
4665
4747
 
4666
- case 73:
4748
+ case 83:
4667
4749
  case 'end':
4668
4750
  return _context2.stop();
4669
4751
  }
@@ -9627,10 +9709,215 @@ var PageHome = function (_React$Component) {
9627
9709
  }
9628
9710
  }, 100);
9629
9711
  }
9712
+
9713
+ /** 按批示意见落款设置拼装(与 PC 一致) */
9714
+
9715
+ }, {
9716
+ key: 'buildPreResubmitInscription',
9717
+ value: function buildPreResubmitInscription(c) {
9718
+ var show = (c.inscriptionShow || c.inscription_show || '').toString();
9719
+ if (!show) {
9720
+ show = 'userName,date,time';
9721
+ }
9722
+ var raw = c.signtime || c.time || c.createdDate || '';
9723
+ var s = raw == null ? '' : String(raw).replace('T', ' ');
9724
+ var date = s.length >= 10 ? s.substring(0, 10) : '';
9725
+ var time = '';
9726
+ if (s.length >= 19) {
9727
+ time = s.substring(11, 19);
9728
+ } else if (s.length >= 16) {
9729
+ time = s.substring(11, 16);
9730
+ }
9731
+ var parts = [];
9732
+ var hasSignImg = false;
9733
+ if (show.indexOf('signImg') !== -1) {
9734
+ // 与批示意见组件 List.jsx 一致:纯 base64 拼 dataURI。
9735
+ // 注意:JPEG base64 以 /9j/ 开头,绝不能用 startsWith('/') 当路径跳过前缀。
9736
+ var src = '';
9737
+ if (c.imgSrc && String(c.imgSrc).indexOf('data:') === 0) {
9738
+ src = String(c.imgSrc);
9739
+ } else {
9740
+ var caImg = c.caSignatureImg || c.ca_signature_img || '';
9741
+ if (caImg) {
9742
+ var imgData = String(caImg).replace(/\s+/g, '');
9743
+ var mark = 'base64,';
9744
+ var markIdx = imgData.indexOf(mark);
9745
+ if (markIdx > -1) {
9746
+ imgData = imgData.substring(markIdx + mark.length);
9747
+ }
9748
+ if (imgData.indexOf('data:') === 0 || imgData.indexOf('http') === 0) {
9749
+ src = imgData;
9750
+ } else if (imgData) {
9751
+ var mime = imgData.indexOf('/9j/') === 0 ? 'image/jpeg' : 'image/png';
9752
+ src = 'data:' + mime + ';base64,' + imgData;
9753
+ }
9754
+ } else if (c.signPic) {
9755
+ var fidRaw = String(c.signPic);
9756
+ if (fidRaw.indexOf('data:') === 0 || fidRaw.indexOf('http') === 0) {
9757
+ src = fidRaw;
9758
+ } else {
9759
+ var signFid = fidRaw;
9760
+ var sinIdx = signFid.indexOf('_sinPic');
9761
+ if (sinIdx > -1) {
9762
+ signFid = signFid.substring(0, sinIdx);
9763
+ }
9764
+ src = _variables2.default.loadImg + '&fid=' + signFid;
9765
+ }
9766
+ } else if (c.imgSrc) {
9767
+ src = String(c.imgSrc);
9768
+ }
9769
+ }
9770
+ if (src) {
9771
+ hasSignImg = true;
9772
+ parts.push(_react2.default.createElement('img', { key: 'sign', className: 'signPic', src: src, style: { maxHeight: 64, maxWidth: 120, verticalAlign: 'middle', marginRight: 6 } }));
9773
+ }
9774
+ }
9775
+ // 有签名图时与表单一致:不再重复显示姓名
9776
+ if (show.indexOf('userName') !== -1 && !hasSignImg) {
9777
+ var un = c.userName || '';
9778
+ if (c.replacename) {
9779
+ un = un ? un + '(' + c.replacename + ')' : c.replacename;
9780
+ }
9781
+ if (un) {
9782
+ parts.push(_react2.default.createElement(
9783
+ 'span',
9784
+ { key: 'un' },
9785
+ un,
9786
+ ' '
9787
+ ));
9788
+ }
9789
+ }
9790
+ if (show.indexOf('org') !== -1) {
9791
+ var orgName = c.orgShowName || c.orgName || '';
9792
+ if (orgName) {
9793
+ parts.push(_react2.default.createElement(
9794
+ 'span',
9795
+ { key: 'org' },
9796
+ orgName,
9797
+ ' '
9798
+ ));
9799
+ }
9800
+ }
9801
+ if (show.indexOf('date') !== -1 && date) {
9802
+ parts.push(_react2.default.createElement(
9803
+ 'span',
9804
+ { key: 'date' },
9805
+ date,
9806
+ ' '
9807
+ ));
9808
+ }
9809
+ if (show.indexOf('time') !== -1 && time) {
9810
+ parts.push(_react2.default.createElement(
9811
+ 'span',
9812
+ { key: 'time' },
9813
+ time,
9814
+ ' '
9815
+ ));
9816
+ }
9817
+ if (show.indexOf('taskName') !== -1 && c.taskName) {
9818
+ parts.push(_react2.default.createElement(
9819
+ 'span',
9820
+ { key: 'tn' },
9821
+ c.taskName
9822
+ ));
9823
+ }
9824
+ return parts;
9825
+ }
9826
+
9827
+ /** 按批示意见字段分组 */
9828
+
9829
+ }, {
9830
+ key: 'groupPreResubmitByField',
9831
+ value: function groupPreResubmitByField(list) {
9832
+ var order = [];
9833
+ var map = {};
9834
+ (list || []).forEach(function (c, i) {
9835
+ var item = c || {};
9836
+ var key = item.field != null && String(item.field) !== '' ? String(item.field) : '_idx_' + i;
9837
+ if (!map[key]) {
9838
+ map[key] = {
9839
+ key: key,
9840
+ label: item.taskName || item.field || '批示意见',
9841
+ items: []
9842
+ };
9843
+ order.push(key);
9844
+ }
9845
+ map[key].items.push(item);
9846
+ });
9847
+ return order.map(function (k) {
9848
+ return map[k];
9849
+ });
9850
+ }
9851
+
9852
+ /** 表单下方:外框表格(左字段名 / 右内容+落款,同字段合并) */
9853
+
9854
+ }, {
9855
+ key: 'renderPreResubmitCommentBlock',
9856
+ value: function renderPreResubmitCommentBlock() {
9857
+ var _this5 = this;
9858
+
9859
+ if (this.state.showPreResubmitComment !== '1') {
9860
+ return null;
9861
+ }
9862
+ var list = this.state.preResubmitCommentList || [];
9863
+ if (!list.length) {
9864
+ return null;
9865
+ }
9866
+ var groups = this.groupPreResubmitByField(list);
9867
+ return _react2.default.createElement(
9868
+ 'div',
9869
+ { className: 'pre-resubmit-comment-area t-ML16 t-MR16 t-MT8 t-MB8 t-BCf', style: { border: '1px solid #d9d9d9', borderRadius: 2, overflow: 'hidden' } },
9870
+ _react2.default.createElement(
9871
+ 'div',
9872
+ { className: 't-FS14 t-PL12 t-PR12 t-PT10 t-PB10', style: { fontWeight: 'bold', borderBottom: '1px solid #d9d9d9', background: '#fafafa' } },
9873
+ '\u9000\u56DE\u540E\u91CD\u65B0\u63D0\u4EA4\u524D\u7684\u6279\u793A\u610F\u89C1'
9874
+ ),
9875
+ _react2.default.createElement(
9876
+ 'table',
9877
+ { style: { width: '100%', borderCollapse: 'collapse', margin: 0 } },
9878
+ _react2.default.createElement(
9879
+ 'tbody',
9880
+ null,
9881
+ groups.map(function (group) {
9882
+ return _react2.default.createElement(
9883
+ 'tr',
9884
+ { key: group.key },
9885
+ _react2.default.createElement(
9886
+ 'td',
9887
+ { style: { width: 88, verticalAlign: 'middle', textAlign: 'center', padding: '10px 6px', border: '1px solid #d9d9d9', background: '#fafafa', fontSize: 14 } },
9888
+ group.label
9889
+ ),
9890
+ _react2.default.createElement(
9891
+ 'td',
9892
+ { style: { verticalAlign: 'top', padding: '10px 12px', border: '1px solid #d9d9d9', fontSize: 14 } },
9893
+ group.items.map(function (c, idx) {
9894
+ var content = c.fullMessage != null ? c.fullMessage : c.content || '';
9895
+ return _react2.default.createElement(
9896
+ 'div',
9897
+ { key: c.id || idx, style: idx > 0 ? { marginTop: 12, paddingTop: 12, borderTop: '1px dashed #e8e8e8' } : null },
9898
+ _react2.default.createElement(
9899
+ 'div',
9900
+ { style: { whiteSpace: 'pre-wrap', wordBreak: 'break-word', lineHeight: 1.6 } },
9901
+ content
9902
+ ),
9903
+ _react2.default.createElement(
9904
+ 'div',
9905
+ { style: { textAlign: 'right', marginTop: 4, lineHeight: 1.6 } },
9906
+ _this5.buildPreResubmitInscription(c)
9907
+ )
9908
+ );
9909
+ })
9910
+ )
9911
+ );
9912
+ })
9913
+ )
9914
+ )
9915
+ );
9916
+ }
9630
9917
  }, {
9631
9918
  key: 'render',
9632
9919
  value: function render() {
9633
- var _this5 = this;
9920
+ var _this6 = this;
9634
9921
 
9635
9922
  var isReadOnly = false;
9636
9923
  var t = this;
@@ -9674,7 +9961,7 @@ var PageHome = function (_React$Component) {
9674
9961
  title: this.state.titleCommentBackAlert,
9675
9962
  show: this.state.showCommentBackAlert,
9676
9963
  onConfirm: function onConfirm() {
9677
- _this5.setState({ showCommentBackAlert: false });
9964
+ _this6.setState({ showCommentBackAlert: false });
9678
9965
  }
9679
9966
  },
9680
9967
  _react2.default.createElement(
@@ -9732,7 +10019,8 @@ var PageHome = function (_React$Component) {
9732
10019
  _Group2.default.List,
9733
10020
  null,
9734
10021
  this.state.tableStatus == '0' ? "" : _react2.default.createElement(_table2.default, { key: 'approveFormTable_' + this.state.formTableKey, ref: 'approveFormTable', module: this.state.module, operate: this.state.operate, editType: this.state.editType, dataId: this.state.dataId, hasCommentField: t.state.hasCommentField, newspyj: t.state.newspyj, commentField: t.state.commentField, commentAttitude: t.state.commentAttitude, status: t.state.status, form: t.state.formItem, formStyleObj: t.state.formStyleObj, subColumnCount: t.state.subColumnCount, mobileSubTblDefault: t.state.mobileSubTblDefault, allForm: t.state.form, data: t.state.editFormData, commentFieldList: t.state.commentFieldList, defaultValue: t.state.defaultValue, commentDefaultList: t.state.commentDefaultList, commentBackList: t.state.commentBackList, fieldControll: t.state.fieldControll, caIsPrd: t.state.caIsPrd, preCaFields: t.state.preCaFields, formRelaField: t.state.formRelaField, isRemoveCommentFormHtml: t.state.isRemoveCommentFormHtml, commentUpload: t.state.commentUpload, isCaUser: t.state.isCaUser, caFirm: t.state.caFirm, caESignatureName: t.state.caESignatureName, caFormSign: t.state.caFormSign, inscriptionShow: t.state.inscriptionShow, finalButtons: t.state.finalButtons, onChange: this.change.bind(this) })
9735
- )
10022
+ ),
10023
+ this.renderPreResubmitCommentBlock()
9736
10024
  )
9737
10025
  )
9738
10026
  ),
@@ -10402,7 +10690,7 @@ var PageHome = function (_React$Component) {
10402
10690
  '(\u5DF2\u529E)'
10403
10691
  ) : _react2.default.createElement(
10404
10692
  'span',
10405
- { key: 'add-' + item.userid + '-' + idx, onClick: _this5.moveToReducePool.bind(_this5, item.userid), style: { margin: '0 8px 8px 0', padding: '4px 10px', background: '#e60012', color: '#fff', borderRadius: '4px', fontSize: '13px' } },
10693
+ { key: 'add-' + item.userid + '-' + idx, onClick: _this6.moveToReducePool.bind(_this6, item.userid), style: { margin: '0 8px 8px 0', padding: '4px 10px', background: '#e60012', color: '#fff', borderRadius: '4px', fontSize: '13px' } },
10406
10694
  item.username,
10407
10695
  ' \xD7'
10408
10696
  );
@@ -10423,7 +10711,7 @@ var PageHome = function (_React$Component) {
10423
10711
  (this.state.reduceSignReducePool || []).map(function (item, idx) {
10424
10712
  return _react2.default.createElement(
10425
10713
  'span',
10426
- { key: 'reduce-' + item.userid + '-' + idx, onClick: _this5.moveToAddPool.bind(_this5, item.userid), style: { margin: '0 8px 8px 0', padding: '4px 10px', background: '#e60012', color: '#fff', borderRadius: '4px', fontSize: '13px' } },
10714
+ { key: 'reduce-' + item.userid + '-' + idx, onClick: _this6.moveToAddPool.bind(_this6, item.userid), style: { margin: '0 8px 8px 0', padding: '4px 10px', background: '#e60012', color: '#fff', borderRadius: '4px', fontSize: '13px' } },
10427
10715
  item.username,
10428
10716
  ' \xD7'
10429
10717
  );
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fmui-base",
3
- "version": "2.3.72",
3
+ "version": "2.3.74",
4
4
  "title": "fmui-base",
5
5
  "description": "fmui移动端组件",
6
6
  "main": "lib/index.js",