@lambo-design/workflow-approve 1.0.0-beta.86 → 1.0.0-beta.88

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.86",
3
+ "version": "1.0.0-beta.88",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "author": "lambo",
@@ -18,6 +18,7 @@
18
18
  "dependencies": {
19
19
  "bpmn-js": "^7.3.1",
20
20
  "bpmn-js-properties-panel": "^0.37.2",
21
+ "vue-draggable-resizable": "^2.3.0",
21
22
  "docx-preview": "0.1.20"
22
23
  },
23
24
  "scripts": {
@@ -89,7 +89,7 @@ export default {
89
89
  data() {
90
90
  return {
91
91
  id: '',
92
- helpBoxType: 'transferCurTask',
92
+ helpBoxType: 'auditTo82',
93
93
  ucAdapterType: 'x1',
94
94
  useTransferRangeUsers: false,
95
95
  useTransferRangeOrgan: false,
@@ -278,6 +278,10 @@ export default {
278
278
  onOk(){
279
279
  let self = this
280
280
  let idSelectedArr = self.idSelectedArr
281
+ if (self.idSelectedArr.length === 0) {
282
+ self.onCancel()
283
+ return
284
+ }
281
285
  self.loading = true
282
286
  if (self.helpBoxType ==='addMultitaskInstance'){
283
287
  idSelectedArr = [...new Set(idSelectedArr)]
@@ -290,7 +294,7 @@ export default {
290
294
  this.$emit('update-selected', ''); // 触发事件并传递 userId
291
295
  } else {
292
296
  let idSelectedArr = self.idSelectedArr[0].split(',')
293
- if (self.helpBoxType === 'transferCurTask'){
297
+ if (self.helpBoxType === 'auditTo82'){
294
298
  let auditResult = {
295
299
  code: self.data.auditResult,
296
300
  name: self.data.auditResultName,
@@ -714,7 +718,7 @@ export default {
714
718
  self.dataUrl =self.smartFlowServerContext+ '/manage/user/getAssigneeList?orgTreeType=' + self.organTreeType + "&permScopeList=" + permScopeList
715
719
 
716
720
  if (this.useTransferRangeOrgan){
717
- self.dataUrl = self.upmsServerContext+ '/manage/user/list'
721
+ self.dataUrl = self.upmsServerContext+ '/manage/user/list?orgTreeType=' + self.organTreeType
718
722
  }
719
723
  self.doSearch()
720
724
 
@@ -732,7 +736,7 @@ export default {
732
736
  },
733
737
 
734
738
  onCancel () {
735
- if (this.helpBoxType === 'transferCurTask'){
739
+ if (this.helpBoxType === 'auditTo82'){
736
740
  this.$emit('update-selected', ''); // 触发事件并传递 userId
737
741
  }
738
742
  this.modalBoxShow = false;
@@ -59,6 +59,11 @@ export default {
59
59
  UploadFile
60
60
  },
61
61
  props: {
62
+ value: {
63
+ type: String,
64
+ required: false,
65
+ default: ''
66
+ },
62
67
  attachmentFile:{
63
68
  type: Boolean,
64
69
  default: false,
@@ -289,7 +294,7 @@ export default {
289
294
  },
290
295
  },
291
296
  mounted() {
292
- this.auditOpinion = this.defaultAuditOpinion
297
+ this.auditOpinion = this.defaultAuditOpinion || this.value
293
298
  },
294
299
  watch: {
295
300
  auditOpinionText(label) {
@@ -298,6 +303,9 @@ export default {
298
303
  auditOpinion(val) {
299
304
  this.$emit('input', val)
300
305
  },
306
+ value(newVal) {
307
+ this.auditOpinion = newVal;
308
+ },
301
309
  defaultAuditOpinion(val) {
302
310
  this.auditOpinion = this.defaultAuditOpinion
303
311
  this.$emit('input', val)
@@ -198,6 +198,11 @@ export default {
198
198
  LamboPagingTable,
199
199
  },
200
200
  props: {
201
+ value: {
202
+ type: String,
203
+ required: false,
204
+ default: ''
205
+ },
201
206
  isDetail: {
202
207
  type: Boolean,
203
208
  required: false,
@@ -515,11 +520,15 @@ export default {
515
520
  mounted() {
516
521
  this.getAttachList(this.taskId)
517
522
  this.processInfoWidth = this.inHorizontal ? 1000 : this.portraitWidth
523
+ this.form.auditOpinion = this.value;
518
524
  },
519
525
  watch: {
520
526
  'form.auditOpinion'(val) {
521
527
  this.$emit('input', val)
522
528
  },
529
+ value(newVal) {
530
+ this.form.auditOpinion = newVal;
531
+ },
523
532
  defaultAuditOpinion(val) {
524
533
  this.auditOpinion = this.defaultAuditOpinion
525
534
  this.$emit('input', val)
package/src/portrait.vue CHANGED
@@ -165,9 +165,7 @@
165
165
  </Table>
166
166
  </Modal>
167
167
  <!-- 下一环节设置弹框 -->
168
- <Modal v-model="appointBoxShow" title="下一环节设置"
169
- @on-cancel="appointBoxShow = false" width="600"
170
- @on-ok="appointOk">
168
+ <Modal v-model="appointBoxShow" title="下一环节设置" width="600">
171
169
  <Card v-for="(item,index) of nextNodesFormList" :key="index" style="margin-bottom: 10px"
172
170
  v-if="handleButtons && (handleButtons.includes('appointHandler') || handleButtons.includes('appointTimeoutTime'))">
173
171
  <Form ref="appointBox" justify="center" :label-width="100" :model="item"
@@ -250,6 +248,10 @@
250
248
  </div>
251
249
  </Form>
252
250
  </Card>
251
+ <template slot="footer">
252
+ <Button @click="appointBoxShow = false">取消</Button>
253
+ <Button type="primary" @click="appointOk">确定</Button>
254
+ </template>
253
255
  </Modal>
254
256
  <Modal v-model="rejectAttributesBoxShow" title="驳回的节点通过后"
255
257
  @on-cancel="rejectAttributesCancel"
@@ -1301,6 +1303,7 @@ export default {
1301
1303
  }
1302
1304
  if (self.form.auditOpinion == '' || self.form.auditOpinion == null) {
1303
1305
  if (self.auditResult === '30') {
1306
+ self.form.auditOpinion = '通过'
1304
1307
  self.auditParams.auditOpinion = '通过'
1305
1308
  self.businessFormSave ? self.businessFormSave(self.handleSaveResult, auditResult) : self.handleSaveResult(true)
1306
1309
  return
@@ -1336,24 +1339,10 @@ export default {
1336
1339
  self.assigneeBoxData = self.auditParams
1337
1340
  self.assigneeBoxData.auditResultName = self.handleButtonsNames[self.auditResult]
1338
1341
  self.assigneeBoxData.instanceId = self.instanceId
1339
- const params = {
1340
- procType: self.procType,
1341
- procId: self.procId,
1342
- taskNode: self.taskNode
1343
- }
1344
- const url = self.smartFlowServerContext + '/manage/nodeConfig/getTransferRange';
1345
- ajax.post(url, params).then(resp => {
1346
- if (resp.data.code === '200'){
1347
- const data = resp.data.data
1348
- self.$refs.assigneeHelpBox.toggleShowHelpBox(self.organTreeType, '', 'transferCurTask', '', data)
1349
- }
1350
- }).catch(error => {
1351
- self.$Message.error('获取交接人员范围失败');
1352
- console.log(error)
1353
- })
1342
+ self.getTransferRangeAndOpenModal(self.organTreeType, '', 'auditTo82')
1354
1343
  } else if (self.auditResult === '84') {
1355
1344
  //委派任务
1356
- self.$refs.assigneeHelpBox.toggleShowHelpBox(self.organTreeType, '', 'delegateTask')
1345
+ this.getTransferRangeAndOpenModal(self.organTreeType, '', 'delegateTask', '')
1357
1346
  } else if (self.auditResult === '62') {
1358
1347
  //撤回委派任务
1359
1348
  ajax.post(self.smartFlowServerContext + '/manage/processTodo/audit', self.auditParams).then(resp => {
@@ -1545,7 +1534,7 @@ export default {
1545
1534
  showUpdateMultitaskInstanceModal(updateType) {
1546
1535
  const self = this
1547
1536
  if (updateType === '81') {
1548
- this.$refs.assigneeHelpBox.toggleShowHelpBox(this.organTreeType, '', 'addMultitaskInstance')
1537
+ this.getTransferRangeAndOpenModal(this.organTreeType, '', 'addMultitaskInstance', '')
1549
1538
  } else if (updateType === '83') {
1550
1539
  ajax.get(self.smartFlowServerContext + '/manage/processTodo/getUnapprovedListOfMultiNode?taskId=' + self.curTaskId).then(function (resp) {
1551
1540
  if (resp.data.code === '200') {
@@ -1779,6 +1768,7 @@ export default {
1779
1768
  appointOk() {
1780
1769
  const self = this
1781
1770
  let oldSettings
1771
+ let illegalNodes = []
1782
1772
  let params = this.nextNodesFormList.reduce((acc, item) => {
1783
1773
  acc[item.id] = {
1784
1774
  needUpdate: 'false',
@@ -1793,17 +1783,25 @@ export default {
1793
1783
  acc[item.id].timeLimit = ''
1794
1784
  }
1795
1785
  oldSettings = self.nextNodesOldSettings.filter(oldSetting => oldSetting.id === item.id)[0]
1786
+ if ((!item.assignee && !oldSettings.assignee && !item.candidateGroups && !oldSettings.candidates) || (item.isMultiInstance && !item.candidateGroups && !oldSettings.candidates)){
1787
+ illegalNodes = [...illegalNodes, item.name]
1788
+ }
1796
1789
  if (oldSettings.assignee !== item.assignee || self.checkGroupsUpdate(oldSettings.candidates, item.candidateGroups, item.isMultiInstance) || self.checkTimeLimitUpdate(oldSettings.timeLimit, timeLimit)) {
1797
1790
  acc[item.id].needUpdate = 'true'
1798
1791
  }
1799
1792
  return acc
1800
1793
  }, {})
1794
+ if (illegalNodes.length > 0){
1795
+ self.$Message.error(`请选择节点${illegalNodes.join(',')}的审批人!`);
1796
+ return
1797
+ }
1801
1798
  self.auditParams.nodeConfigMaps = JSON.stringify(params)
1802
1799
  self.doPass((execResult, instanceId, taskIds, auditResult, curTaskId) => {
1803
1800
  if (this.executionCompleted) {
1804
1801
  this.executionCompleted(execResult, instanceId, taskIds, auditResult, curTaskId)
1805
1802
  }
1806
1803
  })
1804
+ self.appointBoxShow = false
1807
1805
  },
1808
1806
  checkGroupsUpdate(oldSetting, newSetting, isMultiInstance) {
1809
1807
  if (oldSetting && newSetting) {
@@ -1851,7 +1849,7 @@ export default {
1851
1849
  readingRangeClick(item) {
1852
1850
  let permScope = item.orgTreeType === this.defaultOrganTreeType ? this.permScope : 'all'
1853
1851
  let orgTreeType = item.orgTreeType ? item.orgTreeType : this.defaultOrganTreeType
1854
- this.$refs.assigneeHelpBox.toggleShowHelpBox(orgTreeType, permScope, 'transferNextTask', item.id)
1852
+ this.getTransferRangeAndOpenModal(orgTreeType, permScope, 'appointHandler', item.id)
1855
1853
  },
1856
1854
  candidateGroupsReadingRangeClick(item) {
1857
1855
  let permScope = item.orgTreeType === this.defaultOrganTreeType ? this.permScope : 'all'
@@ -1965,6 +1963,29 @@ export default {
1965
1963
  }
1966
1964
  this.currentTab = name
1967
1965
  },
1966
+ getTransferRangeAndOpenModal(organTreeType, permScope, actionType, id){
1967
+ const self = this
1968
+ const params = {
1969
+ procType: self.procType,
1970
+ procId: self.procId,
1971
+ taskNode: self.taskNode,
1972
+ applyId: self.applyId,
1973
+ taskId: self.curTaskId,
1974
+ processInstanceId: self.instanceId,
1975
+ auditGroup: self.auditGroup,
1976
+ actionType: actionType,
1977
+ }
1978
+ const url = self.smartFlowServerContext + '/manage/nodeConfig/getTransferRange';
1979
+ ajax.post(url, params).then(resp => {
1980
+ if (resp.data.code === '200'){
1981
+ const data = resp.data.data
1982
+ self.$refs.assigneeHelpBox.toggleShowHelpBox(organTreeType, permScope, actionType, id, data)
1983
+ }
1984
+ }).catch(error => {
1985
+ self.$Message.error('获取交接人员范围失败');
1986
+ console.log(error)
1987
+ })
1988
+ },
1968
1989
  },
1969
1990
  watch: {
1970
1991
  auditOpinionText(label) {