@lambo-design/workflow-approve 1.0.0-beta.69 → 1.0.0-beta.70

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": "@lambo-design/workflow-approve",
3
- "version": "1.0.0-beta.69",
3
+ "version": "1.0.0-beta.70",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "author": "lambo",
@@ -12,8 +12,8 @@
12
12
  "devDependencies": {
13
13
  "axios": "^0.24.0",
14
14
  "axios-cache-plugin": "^0.1.0",
15
- "@lambo-design/shared": "^1.0.0-beta.253",
16
- "@lambo-design/core": "^4.7.1-beta.158"
15
+ "@lambo-design/core": "^4.7.1-beta.159",
16
+ "@lambo-design/shared": "^1.0.0-beta.255"
17
17
  },
18
18
  "dependencies": {
19
19
  "bpmn-js": "^7.3.1",
@@ -69,9 +69,9 @@
69
69
  <span style="color: #005aff;; font-size: 13px;"
70
70
  v-else-if="item.auditResult === '30'">通过</span>
71
71
  <span style="color: #ed4014; font-size: 13px;"
72
- v-else-if="item.auditResult === '40'">驳回上一节点</span>
72
+ v-else-if="item.auditResult === '40'">{{item.rejectName ? item.rejectName : '驳回'}}上一节点</span>
73
73
  <span style="color: #ed4014; font-size: 13px;"
74
- v-else-if="item.auditResult === '50'">驳回到原点</span>
74
+ v-else-if="item.auditResult === '50'">{{item.rejectName ? item.rejectName : '驳回'}}到原点</span>
75
75
  <span style="color: #ed4014; font-size: 13px;"
76
76
  v-else-if="item.auditResult === '51'">流程终止</span>
77
77
  <span style="color: #ed4014; font-size: 13px;"
@@ -87,7 +87,7 @@
87
87
  <span style="color: #ed4014; font-size: 13px;"
88
88
  v-else-if="item.auditResult === '83'">会签减签</span>
89
89
  <span style="color: #19be6b; font-size: 13px;"
90
- v-else-if="item.auditResult === '90'">驳回指定节点</span>
90
+ v-else-if="item.auditResult === '90'">{{item.rejectName ? item.rejectName : '驳回'}}指定节点</span>
91
91
  <span style="color: #ff9900; font-size: 13px;" v-else>{{ '待' + handleName }}</span>
92
92
  </Col>
93
93
  <Col span="12" style="text-align: right">
package/src/portrait.vue CHANGED
@@ -206,7 +206,7 @@
206
206
  @on-current-change="selectNode">
207
207
  </Table>
208
208
  <Card v-if="showProcessControl && auditResult == '90'">
209
- <p slot="title">选择驳回后流程流转方式:</p>
209
+ <p slot="title">驳回的节点通过后:</p>
210
210
  <RadioGroup v-model="rejectAttribute">
211
211
  <Radio v-for="(item, index) in rejectAttributeList" :key="index" :label="item.type">{{item.name}}</Radio>
212
212
  </RadioGroup>
@@ -320,7 +320,7 @@
320
320
  </Form>
321
321
  </Card>
322
322
  </Modal>
323
- <Modal v-model="rejectAttributesBoxShow" title="选择被驳回任务通过后流程流转方式"
323
+ <Modal v-model="rejectAttributesBoxShow" title="驳回的节点通过后"
324
324
  @on-cancel="rejectAttributesCancel"
325
325
  @on-ok="rejectProcessWithRejectAttributes">
326
326
  <RadioGroup v-model="rejectAttribute">
@@ -335,13 +335,13 @@
335
335
  <div>
336
336
  <slot name="footer-button"></slot>
337
337
  <Button style="margin-left: 10px;" v-if="handleButtons && handleButtons.includes('auditTo70') && !isDetail && !appointTask && !rejectedTask"
338
- :disabled="disable" :loading="loading" @click="audit('70')">驳回到原点
338
+ :disabled="disable" :loading="loading" @click="audit('70')">{{rejectName}}到原点
339
339
  </Button>
340
340
  <Button style="margin-left: 10px;" v-if="handleButtons && handleButtons.includes('auditTo40') && !isDetail && !appointTask && !rejectedTask"
341
- :disabled="disable" :loading="loading" @click="audit('40')">驳回上一节点
341
+ :disabled="disable" :loading="loading" @click="audit('40')">{{rejectName}}上一节点
342
342
  </Button>
343
343
  <Button style="margin-left: 10px;" v-if="handleButtons && handleButtons.includes('auditTo90') && !isDetail && !appointTask && !rejectedTask"
344
- :disabled="disable" :loading="loading" @click="audit('90')">驳回指定节点
344
+ :disabled="disable" :loading="loading" @click="audit('90')">{{rejectName}}指定节点
345
345
  </Button>
346
346
  <Button style="margin-left: 10px;" v-if="handleButtons && handleButtons.includes('auditTo80') && !isDetail && !appointTask && !rejectedTask"
347
347
  :disabled="disable" :loading="loading" @click="audit('80')">跳转指定节点
@@ -457,12 +457,6 @@ export default {
457
457
  required: false,
458
458
  default: 'click',
459
459
  },
460
- //驳回后是否可控制流程流转
461
- showProcessControl: {
462
- type: Boolean,
463
- required: false,
464
- default: false,
465
- },
466
460
  //业务表单保存方法
467
461
  businessFormSave: {
468
462
  type: Function,
@@ -517,6 +511,7 @@ export default {
517
511
  assigneeBoxData: {},
518
512
  selectedUserId: '',
519
513
  targetTaskNode: '',
514
+ targetTaskNodeProcessControl: '',
520
515
  allNode: [],
521
516
  auditParams: {},
522
517
  scrollElement: null,
@@ -527,6 +522,7 @@ export default {
527
522
  appointBoxShow: false,
528
523
  rejectAttributesBoxShow: false,
529
524
  rejectAttributes: {},
525
+ showProcessControl: false,
530
526
  autoOpenNode: '0',
531
527
  unapprovedAssigneeList: [],
532
528
  rejectAttribute: 'inSequence',
@@ -557,6 +553,7 @@ export default {
557
553
  curNodeType: 'userTask',
558
554
  handleButtons: [],
559
555
  handleName: '',
556
+ rejectName: '',
560
557
  auditOpinionTitle: '',
561
558
  auditResult: '',
562
559
  curAuditGroup: '',
@@ -587,9 +584,9 @@ export default {
587
584
  },
588
585
  handleButtonsNames: {
589
586
  '30': '通过',
590
- '70': '驳回到原点',
591
- '40': '驳回上一节点',
592
- '90': '驳回指定节点',
587
+ '70': `${this.rejectName}到原点`,
588
+ '40': `${this.rejectName}上一节点`,
589
+ '90': `${this.rejectName}指定节点`,
593
590
  '80': '跳转指定节点',
594
591
  '82': '指定他人处理',
595
592
  '50': '直接结束流程',
@@ -728,7 +725,7 @@ export default {
728
725
  props: {
729
726
  color: '#ed4014'
730
727
  }
731
- }, '已驳回到上一节点')
728
+ }, `已${params.row.rejectName ? params.row.rejectName : '驳回'}到上一节点`)
732
729
  ])
733
730
  } else if (params.row.auditResult == '60' && params.row.taskNode != this.taskNode) {
734
731
  return h('div', [
@@ -768,7 +765,7 @@ export default {
768
765
  props: {
769
766
  color: '#19be6b'
770
767
  }
771
- }, '已驳回到指定节点')
768
+ }, `已${params.row.rejectName ? params.row.rejectName : '驳回'}到指定节点`)
772
769
  ])
773
770
  }
774
771
  }
@@ -836,10 +833,10 @@ export default {
836
833
  label = '通过'
837
834
  tagColor = 'green' // 绿色
838
835
  } else if (row.auditResult == '40') {
839
- label = '驳回到上一级'
836
+ label = `${row.rejectName ? row.rejectName : '驳回'}到上一级`
840
837
  tagColor = 'volcano' // 火红色
841
838
  } else if (row.auditResult == '50') {
842
- label = '驳回到原点'
839
+ label = `${row.rejectName ? row.rejectName : '驳回'}到原点`
843
840
  tagColor = 'red' // 红色
844
841
  } else if (row.auditResult == '51') {
845
842
  label = '流程终止'
@@ -863,7 +860,7 @@ export default {
863
860
  label = '会签减签'
864
861
  tagColor = 'red' // 红色
865
862
  } else if (row.auditResult == '90') {
866
- label = '驳回到指定节点'
863
+ label = `${row.rejectName ? row.rejectName : '驳回'}到指定节点`
867
864
  tagColor = 'magenta' // 品红色
868
865
  } else {
869
866
  label = '待审核'
@@ -1077,6 +1074,7 @@ export default {
1077
1074
  self.curNodeType = resp.data.data[0].isSequential ? 'sequentialMultiNode' : 'multiNode'
1078
1075
  }
1079
1076
  self.handleName = resp.data.data[0].handleName ? resp.data.data[0].handleName : '审批'
1077
+ self.rejectName = resp.data.data[0].rejectName ? resp.data.data[0].rejectName : '驳回'
1080
1078
  self.auditOpinionTitle = resp.data.data[0].handleName ? resp.data.data[0].handleName + '意见' : '审批意见'
1081
1079
  if (!self.handleButtons || (!self.handleButtons.includes('auditOpinion') && !self.handleButtons.includes('attachmentFile') && !self.handleButtons.includes('auditHistory'))) {
1082
1080
  self.showProcessInfo = false
@@ -1325,7 +1323,6 @@ export default {
1325
1323
  self.getNodesBehind()
1326
1324
  } else if (self.auditResult === '90') {
1327
1325
  //驳回到前序指定节点
1328
- self.showProcessControl ? self.getProcessAttributes() : ''
1329
1326
  self.getAllPreNodes()
1330
1327
  } else if (self.auditResult === '40') {
1331
1328
  //驳回到上一级
@@ -1336,24 +1333,27 @@ export default {
1336
1333
  let result = resp.data
1337
1334
  if (result.code == '30013' || result.code == '30014') {
1338
1335
  //前序节点为子流程或当前节点为子流程第一个节点不可驳回上一级节点
1339
- self.$Message.warning(result.message)
1336
+ const message = self.rejectName ? self.replaceName(result.message, '驳回', self.rejectName) : result.message
1337
+ self.$Message.warning(message)
1340
1338
  //避免未提示消息直接回调
1341
1339
  setTimeout(() => {
1342
1340
  self.executionCompleted(false, null, null, auditResult, self.curTaskId)
1343
1341
  }, 1000)
1344
1342
  } else if (result.code == '30010') {
1343
+ const message = self.rejectName ? self.replaceName(result.message, '驳回', self.rejectName) : result.message
1345
1344
  self.$Modal.confirm({
1346
1345
  title: '提示',
1347
- content: result.message,
1346
+ content: message,
1348
1347
  onOk: () => {
1349
1348
  self.auditParams.auditResult = '70'
1350
1349
  let url = self.smartFlowServerContext + '/manage/processTodo/audit'
1351
1350
  ajax.post(url, self.auditParams).then(function (resp) {
1352
1351
  let result = resp.data
1352
+ const auditMessage = self.rejectName ? self.replaceName(result.message, '驳回', self.rejectName) : result.message
1353
1353
  if (result.code == '200') {
1354
1354
  self.loading = false
1355
1355
  self.disable = false
1356
- self.$Message.success(result.message)
1356
+ self.$Message.success(auditMessage)
1357
1357
  //后端没有返回数据
1358
1358
  setTimeout(() => {
1359
1359
  self.executionCompleted(true, null, null, auditResult, self.curTaskId)
@@ -1362,7 +1362,7 @@ export default {
1362
1362
  } else {
1363
1363
  self.loading = false
1364
1364
  self.disable = false
1365
- self.$Message.error(result.message)
1365
+ self.$Message.error(auditMessage)
1366
1366
  setTimeout(() => {
1367
1367
  self.executionCompleted(false, null, null, auditResult, self.curTaskId)
1368
1368
  }, 1000)
@@ -1384,14 +1384,14 @@ export default {
1384
1384
  self.executionCompleted(true, null, null, auditResult, self.curTaskId)
1385
1385
  }, 1000)
1386
1386
  } else {
1387
- self.showProcessControl ? self.getProcessAttributes() : self.doPass()
1387
+ self.handleButtons && self.handleButtons.includes('rejectProcessControl') ? self.getProcessAttributes() : self.doPass()
1388
1388
  }
1389
1389
  })
1390
1390
  } else {
1391
1391
  if (self.auditResult === '30' && !self.rejectedTask && (!self.handleButtons || self.handleButtons.includes('appointHandler') || self.handleButtons.includes('appointTimeoutTime'))) {
1392
1392
  self.getNextNodes()
1393
1393
  self.appointBoxShow = true
1394
- } else if (self.showProcessControl && self.auditResult === '70'){
1394
+ } else if (self.handleButtons && self.handleButtons.includes('rejectProcessControl') && self.auditResult === '70'){
1395
1395
  self.getProcessAttributes()
1396
1396
  } else {
1397
1397
  self.doPass()
@@ -1418,7 +1418,11 @@ export default {
1418
1418
  if (result.code == '200') {
1419
1419
  self.loading = false
1420
1420
  self.disable = false
1421
- self.$Message.success(result.message ? result.message : `${self.handleName}成功`)
1421
+ let message = result.message ? result.message : `${self.handleName}成功`
1422
+ if (self.auditResult === '40' || self.auditResult === '70' || self.auditResult === '90'){
1423
+ message = result.message ? self.replaceName(result.message, '驳回', self.rejectName) : `${self.rejectName}成功`
1424
+ }
1425
+ self.$Message.success(message)
1422
1426
  if (result.data) {
1423
1427
  let taskIds = result.data.id ? result.data.id : result.data.map(item => item.id).join(',')
1424
1428
  setTimeout(() => {
@@ -1448,7 +1452,11 @@ export default {
1448
1452
  } else {
1449
1453
  self.loading = false
1450
1454
  self.disable = false
1451
- self.$Message.error(result.message ? result.message : `${self.handleName}失败`)
1455
+ let failedMessage = result.message ? result.message : `${self.handleName}失败`
1456
+ if (self.auditResult === '40' || self.auditResult === '70' || self.auditResult === '90'){
1457
+ failedMessage = result.message ? self.replaceName(result.message, '驳回', self.rejectName) : `${self.rejectName}失败`
1458
+ }
1459
+ self.$Message.error(failedMessage)
1452
1460
  setTimeout(() => {
1453
1461
  self.executionCompleted(false, null, null, auditResult, self.curTaskId)
1454
1462
  }, 1000)
@@ -1644,6 +1652,7 @@ export default {
1644
1652
  this.modal = false
1645
1653
  this.auditResult = ''
1646
1654
  this.rejectAttribute = 'inSequence'
1655
+ this.targetTaskNodeProcessControl = ''
1647
1656
  },
1648
1657
  reductionModalCancel() {
1649
1658
  this.reductionMultitaskInstanceModal = false
@@ -1661,6 +1670,7 @@ export default {
1661
1670
  selectNode(currentRow, oldCurrentRow) {
1662
1671
  let self = this
1663
1672
  self.targetTaskNode = currentRow.taskNode
1673
+ self.targetTaskNodeProcessControl = currentRow.processControl
1664
1674
  },
1665
1675
  getAllPreNodes() {
1666
1676
  let self = this
@@ -1858,18 +1868,20 @@ export default {
1858
1868
  this.$forceUpdate()
1859
1869
  }
1860
1870
  },
1861
- getProcessAttributes(){
1871
+ getProcessAttributes(targetTaskNodeProcessControl){
1862
1872
  const self = this
1863
1873
  let params = {
1864
1874
  procId: self.procId,
1865
1875
  taskNode: self.taskNode
1866
1876
  }
1867
- self.rejectAttributeList = [{
1877
+ self.rejectAttributeList = []
1878
+ if (!targetTaskNodeProcessControl || targetTaskNodeProcessControl != 'jump'){
1879
+ self.rejectAttributeList.push({
1868
1880
  _checked: true,
1869
1881
  type: 'inSequence',
1870
1882
  name: '按顺序流转'
1871
- }]
1872
-
1883
+ })
1884
+ }
1873
1885
  ajax.get(self.smartFlowServerContext + '/manage/processTodo/getProcessAttributes', { params: params }).then(function (resp) {
1874
1886
  if (resp.data.code === '200') {
1875
1887
  if ((self.auditParams.auditResult == '70' && !resp.data.data.jumpFirstNode) || (self.auditParams.auditResult == '40' && (resp.data.data.multiNode || resp.data.data.preNodeGateway))){
@@ -1899,7 +1911,11 @@ export default {
1899
1911
  )
1900
1912
  }
1901
1913
  }
1902
- if (self.auditParams.auditResult != '90') self.rejectAttributesBoxShow = true
1914
+ if (self.auditParams.auditResult == '90'){
1915
+ self.showProcessControl = self.rejectAttributeList.length > 0 && self.handleButtons && self.handleButtons.includes('rejectProcessControl')
1916
+ } else {
1917
+ self.rejectAttributesBoxShow = self.handleButtons && self.handleButtons.includes('rejectProcessControl')
1918
+ }
1903
1919
  }
1904
1920
  } else {
1905
1921
  self.$Message.error(resp.data.message)
@@ -1907,6 +1923,15 @@ export default {
1907
1923
  }).catch((err) => {
1908
1924
  console.log(err)
1909
1925
  })
1926
+ },
1927
+ replaceName(originalString, replacedString, replaceString){
1928
+ const index = originalString.indexOf(replacedString)
1929
+ if (index != -1){
1930
+ const regex = new RegExp(replacedString, 'g')
1931
+ // 替换所有匹配的子字符串
1932
+ return originalString.replace(regex, replaceString)
1933
+ }
1934
+ return originalString
1910
1935
  }
1911
1936
  },
1912
1937
  watch: {
@@ -1917,6 +1942,16 @@ export default {
1917
1942
  this.procId = val
1918
1943
  this.initData()
1919
1944
  },
1945
+ targetTaskNodeProcessControl(val){
1946
+ const self = this
1947
+ if (self.handleButtons && self.handleButtons.includes('rejectProcessControl')) {
1948
+ if (val == 'inSequence'){
1949
+ self.showProcessControl = false
1950
+ return
1951
+ }
1952
+ self.getProcessAttributes(val)
1953
+ }
1954
+ }
1920
1955
  }
1921
1956
  }
1922
1957
  </script>
@@ -60,8 +60,8 @@
60
60
  <Tag color="green" v-else-if="item.auditResult == '13'">办理人为空自动跳过</Tag>
61
61
  <Tag color="green" v-else-if="item.auditResult == '14'">符合流程变量条件自动跳过</Tag>
62
62
  <Tag color="green" v-else-if="item.auditResult == '30'">通过</Tag>
63
- <Tag color="volcano" v-else-if="item.auditResult == '40'">驳回上一节点</Tag>
64
- <Tag color="red" v-else-if="item.auditResult=='50'">驳回到原点</Tag>
63
+ <Tag color="volcano" v-else-if="item.auditResult == '40'">{{item.rejectName ? item.rejectName : '驳回'}}上一节点</Tag>
64
+ <Tag color="red" v-else-if="item.auditResult=='50'">{{item.rejectName ? item.rejectName : '驳回'}}到原点</Tag>
65
65
  <Tag color="purple" v-else-if="item.auditResult=='51'">流程终止</Tag>
66
66
  <Tag color="blue" v-else-if="item.auditResult == '60'">撤回</Tag>
67
67
  <Tag color="green" v-else-if="item.auditResult == '61'">交回委派任务</Tag>
@@ -69,7 +69,7 @@
69
69
  <Tag color="cyan" v-else-if="item.auditResult == '80'">跳转指定节点</Tag>
70
70
  <Tag color="cyan" v-else-if="item.auditResult == '82'">指定他人处理</Tag>
71
71
  <Tag color="cyan" v-else-if="item.auditResult == '83'">会签减签</Tag>
72
- <Tag color="magenta" v-else-if="item.auditResult == '90'">驳回指定节点</Tag>
72
+ <Tag color="magenta" v-else-if="item.auditResult == '90'">{{item.rejectName ? item.rejectName : '驳回'}}指定节点</Tag>
73
73
  <Tag color="orange" v-else>待审核</Tag>
74
74
  </FormItem>
75
75
  </i-col>
@@ -187,11 +187,11 @@ export default {
187
187
  tagColor = 'green'; // 绿色
188
188
  }
189
189
  else if (row.auditResult == '40'){
190
- label = '驳回到上一级';
190
+ label = `${row.rejectName ? row.rejectName : '驳回'}到上一级`;
191
191
  tagColor = 'volcano'; // 火红色
192
192
  }
193
193
  else if (row.auditResult == '50'){
194
- label = '驳回到原点';
194
+ label = `${row.rejectName ? row.rejectName : '驳回'}到原点`;
195
195
  tagColor = 'red'; // 红色
196
196
  }
197
197
  else if (row.auditResult == '51'){
@@ -223,7 +223,7 @@ export default {
223
223
  tagColor = 'red'; // 青色
224
224
  }
225
225
  else if (row.auditResult == '90'){
226
- label = '驳回到指定节点';
226
+ label = `${row.rejectName ? row.rejectName : '驳回'}到指定节点`;
227
227
  tagColor = 'magenta'; // 品红色
228
228
  }
229
229
  else{