@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.
|
|
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: '
|
|
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 === '
|
|
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 === '
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
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) {
|