sasp-flow-render 1.1.13 → 1.1.15

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sasp-flow-render",
3
- "version": "1.1.13",
3
+ "version": "1.1.15",
4
4
  "description": "业务应用支撑平台-智慧流程渲染组件",
5
5
  "scripts": {
6
6
  "build": "vue-cli-service build"
@@ -155,6 +155,7 @@ let objResult = {
155
155
  reStartFlow:"/plFlowInstController/reStartFlow", //重启办结状态下的流程
156
156
  batchUpdateFlowStatus:"/plFlowInstController/batchUpdateFlowStatus", //新版流程批量处理的批量修改流程状态
157
157
  batchExecuteNextStep:"/plFlowInstController/batchExecuteNextStep", //新版流程批量处理的批量执行下一步
158
+ recoverNode:"/plFlowInstController/recoverNode", //恢复指定节点
158
159
  },
159
160
 
160
161
  plFlowSetting:{
@@ -1915,18 +1915,33 @@
1915
1915
  nextStep() {
1916
1916
  // let type = this.flowBatchPendingDialog ? "batch" : "";
1917
1917
  let afterClickResult;
1918
+ let result;
1918
1919
  let currentNodeObj = this.flowNodeIdToInfo[this.currentInst.currentNode || this.draftNodeId] ||{};
1919
1920
  afterClickResult=this.exeFlowEvent("nextStep","afterClick", this.currentInst.currentNode || this.draftNodeId);
1920
- //
1921
+
1922
+ if(typeof afterClickResult == "boolean" && afterClickResult === false){
1923
+ return;
1924
+ }
1925
+
1921
1926
  if(currentNodeObj.openEvent === '1'){
1922
1927
  afterClickResult = this.exeNewFlowEvent("nextClick",currentNodeObj.nodeLinkId);
1923
1928
  }
1924
1929
 
1930
+ if(typeof afterClickResult == "boolean" && afterClickResult === false){
1931
+ return;
1932
+ }
1933
+
1925
1934
  // let afterValidateResult;
1926
1935
  // let currentNodeObj = this.flowNodeIdToInfo[this.currentInst.currentNode || this.draftNodeId] ||{};
1927
- this.exeFlowEvent("nextStep","afterValidate", this.currentInst.currentNode || this.draftNodeId);
1936
+ result = this.exeFlowEvent("nextStep","afterValidate", this.currentInst.currentNode || this.draftNodeId);
1937
+ if(typeof result == "boolean" && result === false){
1938
+ return;
1939
+ }
1928
1940
  if(currentNodeObj.openEvent === '1'){
1929
- this.exeNewFlowEvent("nextCheck",currentNodeObj.nodeLinkId);
1941
+ result = this.exeNewFlowEvent("nextCheck",currentNodeObj.nodeLinkId);
1942
+ if(typeof result == "boolean" && result === false){
1943
+ return;
1944
+ }
1930
1945
  }
1931
1946
 
1932
1947
  this.isDisabled['nextStep'] = false;
@@ -344,7 +344,7 @@ export default {
344
344
  if (operateMap && operateMap.isPassCondition === 0 && !operateObj.nextNodeName) {
345
345
  Object.assign(operateMap, {nextNodeName: "会签中...等待其他人处理完毕"});
346
346
  }else {
347
- if (operateMap && operateMap.hasOwnProperty('isPassCondition')) {
347
+ if (operateMap && operateMap.hasOwnProperty('isPassCondition') && operateMap['isPassCondition'] === "1") {
348
348
  delete operateMap.isPassCondition;
349
349
  }
350
350
  }
@@ -446,11 +446,18 @@ export default {
446
446
  },
447
447
 
448
448
  newBatchDealSelectable(row, index) {
449
- // console.log('是否禁用勾选', row, index);
450
449
  let flag = true;
451
450
  flag = (row.nextDealUsers.userArr || []).length > 0;
452
- return !row.isLoading;
453
- // return (!row.isLoading && flag) || row.isEndNode;
451
+ // 当isPassCondition为0时,此时下一步没有处理人也没有处理节点,所以即使没有处理人也可以直接下一步
452
+ // 当isPassCondition为1时,此时会签通过,下一步需要处理人,与正常节点条件一致
453
+ if(row.nextDealUsers.isPassCondition === "0"){
454
+ flag = true;
455
+ }
456
+ // 结束节点也不需要处理人
457
+ if(row.isEndNode){
458
+ flag = true;
459
+ }
460
+ return !row.isLoading && flag; // 当此行加载完之后,同时满足初会签和结束节点下一步处理人不为空时,可执行下一步
454
461
  },
455
462
 
456
463
  taskNodeChange(val) {
@@ -265,13 +265,26 @@
265
265
  ],
266
266
 
267
267
  appendSignNodeArr: [],
268
- flowNodeAppendSignDatas: []
268
+ flowNodeAppendSignDatas: [],
269
+ linkProcId: '',
270
+ isPrevious: false
269
271
  };
270
272
  },
271
273
  created() {
274
+ this.initData();
272
275
  this.init();
273
276
  },
274
277
  methods: {
278
+ initData() {
279
+ this.saspFlowAxios.post(this.api.plFlowInst.getById,{"id":this.instId}).then(res => {
280
+ let flowInst = res.data;
281
+ this.linkProcId = flowInst["linkProcId"] || '';
282
+ if(flowInst["previousInstId"]) {
283
+ this.isPrevious = true;
284
+ }
285
+ })
286
+ },
287
+
275
288
  init() {
276
289
  this.flowInstNodeArr = [];
277
290
  this.loading = true;
@@ -396,7 +409,10 @@
396
409
  item.actorUserName = "系统处理";
397
410
  }
398
411
  if(item.canceled){
399
- item.nodeInstStatusName = "多人处理他人通过后自动完成";
412
+ item.nodeInstStatusName = "系统自动完成";
413
+ if(item.activityId.indexOf("Activity_draft") > -1){ // 恢复流程
414
+ item.nodeInstStatusName = "流程恢复自动完成";
415
+ }
400
416
  }
401
417
  }else{
402
418
  item.nodeInstStatus = "0";
@@ -459,6 +475,9 @@
459
475
  }
460
476
  if(item.activityType == "startEvent"){
461
477
  item.actorUserName = "";
478
+ if(this.isPrevious && this.linkProcId !== '' && item.rootProcessInstanceId === this.linkProcId) {
479
+ item.activityName = "恢复";
480
+ }
462
481
  }else if(variables["resolve_" + item.taskId]){ // 代理
463
482
  item.actorUserName += "(由用户‘"+ userIdsMap[variables["resolve_" + item.taskId]] + "’代理完成)";
464
483
  }else if(variables["getBack_" + item.taskId]){ // 取回
@@ -560,6 +579,9 @@
560
579
  },
561
580
 
562
581
  sortInst(a,b){
582
+ if(this.isPrevious) {
583
+ return a.endTime - b.endTime;
584
+ }
563
585
  if(a.endTime && b.endTime){
564
586
  if(a.activityType == "startEvent"){
565
587
  return -1;
@@ -617,6 +639,9 @@
617
639
  */
618
640
  nodeInstIcon(nodeInst) {
619
641
  if (nodeInst.activityType == "startEvent") {
642
+ if(this.isPrevious && this.linkProcId !== '' && nodeInst.rootProcessInstanceId === this.linkProcId) {
643
+ return "el-icon-refresh";
644
+ }
620
645
  return "el-icon-caret-right";
621
646
  } else if (nodeInst.activityType == "userTask") {
622
647
  return "el-icon-user-solid";