@lambo-design/workflow-approve 1.0.0-beta.43 → 1.0.0-beta.45
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 +3 -3
- package/src/components/assignee-box.vue +201 -40
- package/src/components/candidate-groups-box.vue +168 -330
- package/src/components/countersigners-box.vue +118 -122
|
@@ -260,13 +260,13 @@ export default {
|
|
|
260
260
|
let organTree = []
|
|
261
261
|
if (self.ucAdapterType == 'x1') {
|
|
262
262
|
let parentId = organTreeType == '00' ? 'rootId' : '0'
|
|
263
|
-
ajax.get(self.
|
|
263
|
+
ajax.get(self.smartFlowServerContext + '/manage/organ/getOrgSubNodes', {
|
|
264
264
|
params: {
|
|
265
|
-
|
|
265
|
+
code: parentId,
|
|
266
266
|
orgTreeType: organTreeType
|
|
267
267
|
}
|
|
268
268
|
}).then(resp => {
|
|
269
|
-
if (resp.data.code ===
|
|
269
|
+
if (resp.data.code === 200) {
|
|
270
270
|
let data = resp.data.data
|
|
271
271
|
if (data.length > 0) {
|
|
272
272
|
data.forEach(item => {
|
|
@@ -301,24 +301,24 @@ export default {
|
|
|
301
301
|
}
|
|
302
302
|
})
|
|
303
303
|
} else {
|
|
304
|
-
ajax.get(self.
|
|
304
|
+
ajax.get(self.smartFlowServerContext + '/manage/bizorgan/getOrgRootTree', {
|
|
305
305
|
params: {
|
|
306
|
-
|
|
306
|
+
bizOrganTreeType: organTreeType
|
|
307
307
|
}
|
|
308
308
|
}).then(resp => {
|
|
309
|
-
if (resp.data.code ===
|
|
309
|
+
if (resp.data.code === 200) {
|
|
310
310
|
let data = resp.data.data
|
|
311
311
|
if (data.length > 0) {
|
|
312
312
|
data.forEach(item => {
|
|
313
313
|
let obj = {}
|
|
314
|
-
obj.type = item.
|
|
314
|
+
obj.type = item.bizOrganType
|
|
315
315
|
obj.id = item.id
|
|
316
|
-
obj.organId = item.
|
|
316
|
+
obj.organId = item.bizOrganId
|
|
317
317
|
obj.orders = item.orders
|
|
318
|
-
obj.title = item.
|
|
319
|
-
obj.name = item.
|
|
320
|
-
obj.com = item.
|
|
321
|
-
obj.code = item.
|
|
318
|
+
obj.title = item.bizOrganName
|
|
319
|
+
obj.name = item.bizOrganName
|
|
320
|
+
obj.com = item.bizOrganId
|
|
321
|
+
obj.code = item.bizOrganCode
|
|
322
322
|
obj.loading = false
|
|
323
323
|
obj.children = []
|
|
324
324
|
obj.hasChild = true
|
|
@@ -337,111 +337,103 @@ export default {
|
|
|
337
337
|
}, [])
|
|
338
338
|
self.readingRangeBM = JSON.parse(JSON.stringify(organTree))
|
|
339
339
|
self.readingRange = JSON.parse(JSON.stringify(organTree))
|
|
340
|
-
self.readingRangePost = JSON.parse(JSON.stringify(organTree))
|
|
341
340
|
}
|
|
342
341
|
})
|
|
343
342
|
}
|
|
344
343
|
},
|
|
345
344
|
|
|
345
|
+
getOrganTreeByProType(row, permScope, organTreeType) {
|
|
346
|
+
const self = this
|
|
347
|
+
return new Promise((resolve, reject) => {
|
|
348
|
+
let organTree = [];
|
|
349
|
+
let childsTree = [];
|
|
350
|
+
if (permScope && permScope.length > 0) {
|
|
351
|
+
let params = {
|
|
352
|
+
orgTreeType: organTreeType,
|
|
353
|
+
};
|
|
354
|
+
permScope = permScope.split(';');
|
|
355
|
+
|
|
356
|
+
const requests = permScope.map(perm => {
|
|
357
|
+
return ajax.get(self.smartFlowServerContext + '/manage/organ/get/' + perm, { params: params })
|
|
358
|
+
.then(resp => {
|
|
359
|
+
if (resp.data.code === 200) {
|
|
360
|
+
return resp.data.data;
|
|
361
|
+
} else {
|
|
362
|
+
return [];
|
|
363
|
+
}
|
|
364
|
+
})
|
|
365
|
+
.catch(err => {
|
|
366
|
+
console.error(err);
|
|
367
|
+
return [];
|
|
368
|
+
});
|
|
369
|
+
});
|
|
370
|
+
|
|
371
|
+
Promise.all(requests)
|
|
372
|
+
.then(results => {
|
|
373
|
+
results.forEach(data => {
|
|
374
|
+
if (data) {
|
|
375
|
+
let obj = {
|
|
376
|
+
type: data.organType,
|
|
377
|
+
id: data.id,
|
|
378
|
+
organId: data.organId,
|
|
379
|
+
orders: data.orders,
|
|
380
|
+
title: data.organName,
|
|
381
|
+
name: data.organName,
|
|
382
|
+
com: data.organId,
|
|
383
|
+
code: data.organCode,
|
|
384
|
+
loading: false,
|
|
385
|
+
checked: false,
|
|
386
|
+
children: [],
|
|
387
|
+
hasChild: true,
|
|
388
|
+
};
|
|
389
|
+
childsTree.push(obj);
|
|
390
|
+
}
|
|
391
|
+
});
|
|
392
|
+
|
|
393
|
+
organTree.push(childsTree);
|
|
394
|
+
const codesSeen = new Map();
|
|
395
|
+
organTree = organTree.reduce((acc, item, index) => {
|
|
396
|
+
if (!codesSeen.has(item.code)) {
|
|
397
|
+
codesSeen.set(item.code, index);
|
|
398
|
+
acc.push(item);
|
|
399
|
+
}
|
|
400
|
+
return acc;
|
|
401
|
+
}, []);
|
|
402
|
+
resolve(organTree);
|
|
403
|
+
})
|
|
404
|
+
.catch(err => {
|
|
405
|
+
reject(err);
|
|
406
|
+
});
|
|
407
|
+
} else {
|
|
408
|
+
resolve([]);
|
|
409
|
+
}
|
|
410
|
+
});
|
|
411
|
+
},
|
|
346
412
|
//获取人员树信息(数据初始化)
|
|
347
|
-
getReadingRange(row, organTreeType) {
|
|
413
|
+
async getReadingRange(row, organTreeType) {
|
|
348
414
|
let self = this
|
|
349
|
-
let childsTree = []
|
|
350
|
-
let treeValue = []
|
|
351
415
|
var permScope = row.substring(row.indexOf('U:'))
|
|
352
416
|
permScope = permScope.substring(2, permScope.indexOf(','))
|
|
353
417
|
let permScopeTwo = permScope.split(';')
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
obj.title = item.organName
|
|
374
|
-
obj.name = item.organName
|
|
375
|
-
obj.com = item.organId
|
|
376
|
-
obj.organId = item.organId
|
|
377
|
-
obj.code = item.organCode
|
|
378
|
-
obj.loading = false
|
|
379
|
-
obj.checked = false
|
|
380
|
-
obj.children = []
|
|
381
|
-
obj.hasChild = true
|
|
382
|
-
childsTree.push(obj)
|
|
383
|
-
}
|
|
384
|
-
})
|
|
385
|
-
}
|
|
386
|
-
const map = new Map()
|
|
387
|
-
treeValue = childsTree.filter((item) => {
|
|
388
|
-
return !map.has(item.code) && map.set(item.code, true)
|
|
389
|
-
})
|
|
390
|
-
if (i === permScopeTwo.length - 1) {
|
|
391
|
-
self.readingRange.push(treeValue)
|
|
392
|
-
const codesSeen = new Map()
|
|
393
|
-
self.readingRange = self.readingRange.reduce((acc, item, index) => {
|
|
394
|
-
if (!codesSeen.has(item.code)) {
|
|
395
|
-
codesSeen.set(item.code, index)
|
|
396
|
-
acc.push(item)
|
|
397
|
-
}
|
|
398
|
-
return acc
|
|
399
|
-
}, [])
|
|
400
|
-
}
|
|
401
|
-
}
|
|
402
|
-
})
|
|
403
|
-
} else if (resp.data.data === 11006) {
|
|
404
|
-
//当前组织无父节点
|
|
405
|
-
let params = {
|
|
406
|
-
orgTreeType: organTreeType,
|
|
407
|
-
}
|
|
408
|
-
ajax.post(self.upmsServerContext + '/manage/org/get/' + organCode, params)
|
|
409
|
-
.then(resp => {
|
|
410
|
-
let data = resp.data.data
|
|
411
|
-
let obj = {}
|
|
412
|
-
obj.type = data.organType
|
|
413
|
-
obj.id = data.organId
|
|
414
|
-
obj.orders = data.orders
|
|
415
|
-
obj.title = data.organName
|
|
416
|
-
obj.name = data.organName
|
|
417
|
-
obj.com = data.organId
|
|
418
|
-
obj.code = data.organCode
|
|
419
|
-
obj.loading = false
|
|
420
|
-
obj.checked = false
|
|
421
|
-
obj.children = []
|
|
422
|
-
obj.hasChild = true
|
|
423
|
-
childsTree.push(obj)
|
|
424
|
-
|
|
425
|
-
const map = new Map()
|
|
426
|
-
treeValue = childsTree.filter((item) => {
|
|
427
|
-
return !map.has(item.code) && map.set(item.code, true)
|
|
428
|
-
})
|
|
429
|
-
if (i === permScopeTwo.length - 1) {
|
|
430
|
-
self.readingRange.push(treeValue)
|
|
431
|
-
const codesSeen = new Map()
|
|
432
|
-
self.readingRange = self.readingRange.reduce((acc, item, index) => {
|
|
433
|
-
if (!codesSeen.has(item.code)) {
|
|
434
|
-
codesSeen.set(item.code, index)
|
|
435
|
-
acc.push(item)
|
|
436
|
-
}
|
|
437
|
-
return acc
|
|
438
|
-
}, [])
|
|
439
|
-
}
|
|
440
|
-
})
|
|
441
|
-
}
|
|
442
|
-
})
|
|
443
|
-
}
|
|
444
|
-
})
|
|
418
|
+
if (permScopeTwo.length > 0 && permScopeTwo[0]){
|
|
419
|
+
let promises = []
|
|
420
|
+
for (let i = 0; i < permScopeTwo.length; i++) {
|
|
421
|
+
let promise = ajax.get(self.smartFlowServerContext + "/manage/user/get/" + permScopeTwo[i] + '?treeType=' + organTreeType)
|
|
422
|
+
.then(resp => {
|
|
423
|
+
if (resp.data.code === 200) {
|
|
424
|
+
return resp.data.data.organCode
|
|
425
|
+
}
|
|
426
|
+
})
|
|
427
|
+
promises.push(promise)
|
|
428
|
+
}
|
|
429
|
+
Promise.all(promises).then(async (result) => {
|
|
430
|
+
const uniqueResults = [...new Set(result.filter(Boolean))];
|
|
431
|
+
permScope = uniqueResults.join(';');
|
|
432
|
+
self.readingRange = await this.getOrganTreeByProType(row, permScope, organTreeType);
|
|
433
|
+
})
|
|
434
|
+
} else {
|
|
435
|
+
//对于流程类型中没有规定人员范围但规定组织范围的情况
|
|
436
|
+
self.readingRange = await this.getOrganTreeByProType(row, row.substring(2, row.indexOf(",")), organTreeType);
|
|
445
437
|
}
|
|
446
438
|
|
|
447
439
|
},
|
|
@@ -454,7 +446,7 @@ export default {
|
|
|
454
446
|
|
|
455
447
|
//权限范围人员单条删除
|
|
456
448
|
readingRangeScPerDel(res, info) {
|
|
457
|
-
|
|
449
|
+
let index = this.treeUserValue.findIndex(item => {
|
|
458
450
|
return item.replace(',', ':') === info
|
|
459
451
|
})
|
|
460
452
|
if (index !== -1) {
|
|
@@ -504,14 +496,14 @@ export default {
|
|
|
504
496
|
},
|
|
505
497
|
getReadingRangeData(node, callback) {
|
|
506
498
|
let self = this
|
|
507
|
-
ajax.get(self.
|
|
499
|
+
ajax.get(self.smartFlowServerContext + '/manage/organ/getOrgSubNodes', {
|
|
508
500
|
params: {
|
|
509
|
-
|
|
501
|
+
code: node.code,
|
|
510
502
|
orgTreeType: self.organTreeType
|
|
511
503
|
}
|
|
512
504
|
}).then(function (resp) {
|
|
513
505
|
const childs = []
|
|
514
|
-
if (resp.data.code ===
|
|
506
|
+
if (resp.data.code === 200) {
|
|
515
507
|
let nodeDatas = resp.data.data
|
|
516
508
|
if (nodeDatas.length > 0) {
|
|
517
509
|
nodeDatas.forEach(item => {
|
|
@@ -568,7 +560,7 @@ export default {
|
|
|
568
560
|
let userIdSet = new Set()
|
|
569
561
|
data.forEach(itemCom => {
|
|
570
562
|
|
|
571
|
-
ajax.get(self.
|
|
563
|
+
ajax.get(self.smartFlowServerContext + '/manage/user/getList', {
|
|
572
564
|
params: {
|
|
573
565
|
organId: itemCom.organId,
|
|
574
566
|
orgTreeType: self.organTreeType,
|
|
@@ -576,7 +568,7 @@ export default {
|
|
|
576
568
|
directChild: true,
|
|
577
569
|
}
|
|
578
570
|
}).then(function (resp) {
|
|
579
|
-
if (resp.data.
|
|
571
|
+
if (resp.data.code === 200) {
|
|
580
572
|
let nodeUser = resp.data.data.rows ? resp.data.data.rows : resp.data.data;
|
|
581
573
|
nodeUser.forEach(item => {
|
|
582
574
|
if (!userIdSet.has(item.userId)) {
|
|
@@ -596,7 +588,7 @@ export default {
|
|
|
596
588
|
} else {
|
|
597
589
|
let userIdSet = new Set()
|
|
598
590
|
data.forEach(itemCom => {
|
|
599
|
-
ajax.get(self.
|
|
591
|
+
ajax.get(self.smartFlowServerContext + '/manage/user/getList', {
|
|
600
592
|
params: {
|
|
601
593
|
organId: itemCom.organId,
|
|
602
594
|
orgTreeType: self.organTreeType,
|
|
@@ -604,10 +596,10 @@ export default {
|
|
|
604
596
|
directChild: true,
|
|
605
597
|
}
|
|
606
598
|
}).then(function (resp) {
|
|
607
|
-
if (resp.data.
|
|
599
|
+
if (resp.data.code === 200) {
|
|
608
600
|
let nodeUser = resp.data.data.rows ? resp.data.data.rows : resp.data.data;
|
|
609
601
|
nodeUser.forEach(item => {
|
|
610
|
-
if (!userIdSet.has(item.userId) && userPermScope.includes(item.userId)) {
|
|
602
|
+
if ((!userIdSet.has(item.userId) && userPermScope.includes(item.userId)) || userPermScope.length <= 0 || !userPermScope[0]) {
|
|
611
603
|
userIdSet.add(item.userId)
|
|
612
604
|
treeUserCenters.push({
|
|
613
605
|
userId: item.userId,
|
|
@@ -631,12 +623,14 @@ export default {
|
|
|
631
623
|
//人员选中
|
|
632
624
|
getReadingRangeUser(row) {
|
|
633
625
|
let self = this
|
|
626
|
+
debugger
|
|
634
627
|
self.userNum = '2'
|
|
635
628
|
if (row.length > self.selectedKeys.length) {
|
|
636
629
|
self.treeUserValue = row
|
|
637
630
|
self.selectedKeys = row
|
|
638
|
-
row = row.reverse()
|
|
639
|
-
let
|
|
631
|
+
// row = row.reverse()
|
|
632
|
+
let index = row.length - 1
|
|
633
|
+
let organName = row[index].replace(',', ':') + ',2'
|
|
640
634
|
self.countersignersTagsData.push(organName)
|
|
641
635
|
} else if (row.length < self.selectedKeys.length) {
|
|
642
636
|
let diff = ''
|
|
@@ -793,7 +787,10 @@ export default {
|
|
|
793
787
|
if (item.organName) {
|
|
794
788
|
return `(${item.organName} )`
|
|
795
789
|
}
|
|
796
|
-
}
|
|
790
|
+
},
|
|
791
|
+
dataNameClick(data) {
|
|
792
|
+
this.dataName = data
|
|
793
|
+
},
|
|
797
794
|
},
|
|
798
795
|
|
|
799
796
|
watch: {
|
|
@@ -810,13 +807,12 @@ export default {
|
|
|
810
807
|
let nameValue = []
|
|
811
808
|
let users = []
|
|
812
809
|
//倒着从treeUserValue遍历,保证顺序和显示的一样
|
|
813
|
-
this.treeUserValue.
|
|
810
|
+
this.treeUserValue.forEach(item => {
|
|
814
811
|
const parts = item.split(',');
|
|
815
812
|
nameValue.push(parts[0]);
|
|
816
813
|
names.push(parts[1]);
|
|
817
814
|
users.push(parts[0] + ':' + parts[1]);
|
|
818
|
-
|
|
819
|
-
}, []);
|
|
815
|
+
});
|
|
820
816
|
let roleList = []
|
|
821
817
|
let roles = []
|
|
822
818
|
this.noticeRoleList.forEach(item => {
|