@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
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.45",
|
|
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/
|
|
16
|
-
"@lambo-design/
|
|
15
|
+
"@lambo-design/shared": "^1.0.0-beta.246",
|
|
16
|
+
"@lambo-design/core": "^4.7.1-beta.154"
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
19
|
"bpmn-js": "^7.3.1",
|
|
@@ -4,7 +4,10 @@
|
|
|
4
4
|
<div class="org-info">
|
|
5
5
|
<div class="org-tree">
|
|
6
6
|
<div class="tree-content">
|
|
7
|
-
<
|
|
7
|
+
<div v-if="treeData.length === 0">暂无数据</div>
|
|
8
|
+
<Tree v-else v-for="(item,index) in treeData" :key="index" :data="item" ref="treeBM"
|
|
9
|
+
:load-data="loadData" @on-select-change="selectChange"></Tree>
|
|
10
|
+
<!-- <Tree :data="treeData" :load-data="loadData" @on-select-change="selectChange"></Tree>-->
|
|
8
11
|
</div>
|
|
9
12
|
</div>
|
|
10
13
|
<div class="org-detil">
|
|
@@ -74,6 +77,7 @@ export default {
|
|
|
74
77
|
return {
|
|
75
78
|
id: '',
|
|
76
79
|
helpBoxType: 'transferCurTask',
|
|
80
|
+
ucAdapterType: 'x1',
|
|
77
81
|
loading: false,
|
|
78
82
|
organTreeType: '00',
|
|
79
83
|
permScope: 'all',
|
|
@@ -110,9 +114,9 @@ export default {
|
|
|
110
114
|
tableSearchParams: {},
|
|
111
115
|
};
|
|
112
116
|
},
|
|
113
|
-
|
|
114
|
-
this.
|
|
115
|
-
}
|
|
117
|
+
created () {
|
|
118
|
+
this.getSystemConfig()
|
|
119
|
+
},
|
|
116
120
|
computed: {
|
|
117
121
|
|
|
118
122
|
tableColumn () {
|
|
@@ -174,15 +178,13 @@ export default {
|
|
|
174
178
|
this.id = id
|
|
175
179
|
this.helpBoxType = helpBoxType
|
|
176
180
|
this.organTreeType = organTreeType
|
|
181
|
+
this.permScope = permScope
|
|
177
182
|
if (permScope && permScope !== 'all'){
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
this.permScope = userPermScope
|
|
183
|
-
}
|
|
183
|
+
this.getOrgTreeByProType(this.permScope, this.organTreeType)
|
|
184
|
+
} else {
|
|
185
|
+
this.permScopeList = 'all'
|
|
186
|
+
this.getRootData(organTreeType)
|
|
184
187
|
}
|
|
185
|
-
this.getRootData(organTreeType)
|
|
186
188
|
this.modalBoxShow = !this.modalBoxShow;
|
|
187
189
|
},
|
|
188
190
|
|
|
@@ -202,7 +204,6 @@ export default {
|
|
|
202
204
|
name: self.data.auditResultName,
|
|
203
205
|
}
|
|
204
206
|
self.data.selectedUserId=idSelectedArr[0];
|
|
205
|
-
console.log("self.data:",self.data);
|
|
206
207
|
let url = this.smartFlowServerContext + '/manage/processTodo/audit'
|
|
207
208
|
ajax.post(url, self.data).then(function (resp) {
|
|
208
209
|
let result = resp.data
|
|
@@ -251,36 +252,181 @@ export default {
|
|
|
251
252
|
},
|
|
252
253
|
getRootData (organTreeType) {
|
|
253
254
|
let self = this
|
|
254
|
-
let
|
|
255
|
-
|
|
256
|
-
|
|
255
|
+
let hostChilds = []
|
|
256
|
+
if (self.ucAdapterType === 'x1'){
|
|
257
|
+
let parentId = organTreeType == '00' ? 'rootId' : '0'
|
|
258
|
+
ajax.get(self.smartFlowServerContext + '/manage/organ/getOrgSubNodes', {
|
|
259
|
+
params: {
|
|
260
|
+
code: parentId,
|
|
261
|
+
orgTreeType: organTreeType
|
|
262
|
+
}
|
|
263
|
+
}).then(resp => {
|
|
264
|
+
if (resp.data.code === 200) {
|
|
265
|
+
let data = resp.data.data
|
|
266
|
+
if (data.length > 0) {
|
|
267
|
+
data.forEach(item => {
|
|
268
|
+
let obj = {}
|
|
269
|
+
obj.type = item.organType
|
|
270
|
+
obj.id = item.id
|
|
271
|
+
obj.organId = item.organId
|
|
272
|
+
obj.orders = item.orders
|
|
273
|
+
obj.title = item.organName
|
|
274
|
+
obj.name = item.organName
|
|
275
|
+
obj.com = item.com
|
|
276
|
+
obj.code = item.organCode
|
|
277
|
+
obj.loading = false
|
|
278
|
+
obj.children = []
|
|
279
|
+
obj.hasChild = true
|
|
280
|
+
hostChilds.push(obj)
|
|
281
|
+
})
|
|
282
|
+
self.treeData.push(hostChilds)
|
|
283
|
+
const codesSeen = new Map();
|
|
284
|
+
self.treeData = self.treeData.reduce((acc, item, index) => {
|
|
285
|
+
if (!codesSeen.has(item.code)) {
|
|
286
|
+
codesSeen.set(item.code, index);
|
|
287
|
+
acc.push(item);
|
|
288
|
+
}
|
|
289
|
+
return acc;
|
|
290
|
+
}, []);
|
|
291
|
+
self.selectChange(self.treeData[0])
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
}).catch(err => {
|
|
295
|
+
console.log(err);
|
|
296
|
+
})
|
|
297
|
+
} else {
|
|
298
|
+
ajax.get(self.smartFlowServerContext + '/manage/bizorgan/getOrgRootTree?bizOrganTreeType=' + organTreeType).then(resp => {
|
|
299
|
+
if (resp.data.code === 200) {
|
|
300
|
+
let data = resp.data.data
|
|
301
|
+
if (data.length > 0) {
|
|
302
|
+
for (let i = 0; i < data.length; i++) {
|
|
303
|
+
{
|
|
304
|
+
let obj = {}
|
|
305
|
+
obj.type = data[i].bizOrganType
|
|
306
|
+
obj.id = data[i].id
|
|
307
|
+
obj.organId = data[i].bizOrganId
|
|
308
|
+
obj.orders = data[i].orders
|
|
309
|
+
obj.title = data[i].bizOrganName
|
|
310
|
+
obj.name = data[i].bizOrganName
|
|
311
|
+
obj.com = data[i].bizOrganId
|
|
312
|
+
obj.code = data[i].bizOrganCode
|
|
313
|
+
obj.loading = false
|
|
314
|
+
obj.children = []
|
|
315
|
+
obj.hasChild = true
|
|
316
|
+
hostChilds.push(obj)
|
|
317
|
+
self.treeData.push(hostChilds);
|
|
318
|
+
const codesSeen = new Map();
|
|
319
|
+
self.treeData = self.treeData.reduce((acc, item, index) => {
|
|
320
|
+
if (!codesSeen.has(item.code)) {
|
|
321
|
+
codesSeen.set(item.code, index);
|
|
322
|
+
acc.push(item);
|
|
323
|
+
}
|
|
324
|
+
return acc;
|
|
325
|
+
}, []);
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
self.selectChange(self.treeData[0])
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
}).catch(err => {
|
|
332
|
+
console.log(err);
|
|
333
|
+
})
|
|
257
334
|
}
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
obj.children = []
|
|
274
|
-
obj.hasChild = true
|
|
275
|
-
childs.push(obj)
|
|
335
|
+
},
|
|
336
|
+
async getOrgTreeByProType(permScope, organTreeType){
|
|
337
|
+
let self = this
|
|
338
|
+
let userPermScope = permScope.substring(permScope.indexOf("U:"))
|
|
339
|
+
userPermScope = userPermScope.substring(2, userPermScope.indexOf(","))
|
|
340
|
+
let permScopeTwo = userPermScope.split(';')
|
|
341
|
+
if (permScopeTwo.length > 0 && permScopeTwo[0]){
|
|
342
|
+
self.permScopeList = 'U:' + userPermScope + ','
|
|
343
|
+
let promises = []
|
|
344
|
+
for (let i = 0; i < permScopeTwo.length; i++) {
|
|
345
|
+
let promise = ajax.get(self.smartFlowServerContext + "/manage/user/get/" + permScopeTwo[i] + '?treeType=' + organTreeType)
|
|
346
|
+
.then(resp => {
|
|
347
|
+
if (resp.data.code === 200) {
|
|
348
|
+
return resp.data.data.organCode
|
|
349
|
+
}
|
|
276
350
|
})
|
|
351
|
+
promises.push(promise)
|
|
352
|
+
}
|
|
353
|
+
Promise.all(promises).then(async (result) => {
|
|
354
|
+
const uniqueResults = [...new Set(result.filter(Boolean))];
|
|
355
|
+
permScope = uniqueResults.join(';');
|
|
356
|
+
self.treeData = await this.getOrganTreeByProType(permScope, permScope, organTreeType);
|
|
357
|
+
self.selectChange(self.treeData[0])
|
|
358
|
+
})
|
|
359
|
+
} else {
|
|
360
|
+
//对于流程类型中没有规定人员范围但规定组织范围的情况
|
|
361
|
+
self.treeData = await this.getOrganTreeByProType(permScope, permScope.substring(2, permScope.indexOf(",")), organTreeType);
|
|
362
|
+
self.selectChange(self.treeData[0])
|
|
363
|
+
}
|
|
364
|
+
},
|
|
365
|
+
getOrganTreeByProType(row, permScope, organTreeType) {
|
|
366
|
+
return new Promise((resolve, reject) => {
|
|
367
|
+
let organTree = [];
|
|
368
|
+
let childsTree = [];
|
|
369
|
+
if (permScope && permScope.length > 0) {
|
|
370
|
+
let params = {
|
|
371
|
+
orgTreeType: organTreeType,
|
|
372
|
+
};
|
|
373
|
+
permScope = permScope.split(';');
|
|
277
374
|
|
|
278
|
-
|
|
279
|
-
self.
|
|
280
|
-
|
|
281
|
-
|
|
375
|
+
const requests = permScope.map(perm => {
|
|
376
|
+
return ajax.get(self.smartFlowServerContext + '/manage/organ/get/' + perm, { params: params })
|
|
377
|
+
.then(resp => {
|
|
378
|
+
if (resp.data.code === 200) {
|
|
379
|
+
return resp.data.data;
|
|
380
|
+
} else {
|
|
381
|
+
return [];
|
|
382
|
+
}
|
|
383
|
+
})
|
|
384
|
+
.catch(err => {
|
|
385
|
+
console.error(err);
|
|
386
|
+
return [];
|
|
387
|
+
});
|
|
388
|
+
});
|
|
389
|
+
|
|
390
|
+
Promise.all(requests)
|
|
391
|
+
.then(results => {
|
|
392
|
+
results.forEach(data => {
|
|
393
|
+
if (data && data.organCode) {
|
|
394
|
+
let obj = {
|
|
395
|
+
type: data.organType,
|
|
396
|
+
id: data.id,
|
|
397
|
+
organId: data.organId,
|
|
398
|
+
orders: data.orders,
|
|
399
|
+
title: data.organName,
|
|
400
|
+
name: data.organName,
|
|
401
|
+
com: data.organId,
|
|
402
|
+
code: data.organCode,
|
|
403
|
+
loading: false,
|
|
404
|
+
checked: false,
|
|
405
|
+
children: [],
|
|
406
|
+
hasChild: true,
|
|
407
|
+
};
|
|
408
|
+
childsTree.push(obj);
|
|
409
|
+
}
|
|
410
|
+
});
|
|
411
|
+
|
|
412
|
+
organTree.push(childsTree);
|
|
413
|
+
const codesSeen = new Map();
|
|
414
|
+
organTree = organTree.reduce((acc, item, index) => {
|
|
415
|
+
if (!codesSeen.has(item.code)) {
|
|
416
|
+
codesSeen.set(item.code, index);
|
|
417
|
+
acc.push(item);
|
|
418
|
+
}
|
|
419
|
+
return acc;
|
|
420
|
+
}, []);
|
|
421
|
+
resolve(organTree);
|
|
422
|
+
})
|
|
423
|
+
.catch(err => {
|
|
424
|
+
reject(err);
|
|
425
|
+
});
|
|
426
|
+
} else {
|
|
427
|
+
resolve([]);
|
|
282
428
|
}
|
|
283
|
-
})
|
|
429
|
+
});
|
|
284
430
|
},
|
|
285
431
|
getData (node, callback) {
|
|
286
432
|
let self = this
|
|
@@ -335,8 +481,11 @@ export default {
|
|
|
335
481
|
self.form.organId = self.currentNode.organId
|
|
336
482
|
self.form.organTitle = self.currentNode.title
|
|
337
483
|
|
|
338
|
-
let
|
|
339
|
-
|
|
484
|
+
let permScopeList = self.permScopeList
|
|
485
|
+
if (permScopeList !== 'all'){
|
|
486
|
+
permScopeList += 'O:' + self.currentNode.code
|
|
487
|
+
}
|
|
488
|
+
self.dataUrl =self.smartFlowServerContext+ '/manage/user/getAssigneeList?orgTreeType=' + self.organTreeType + "&permScopeList=" + permScopeList
|
|
340
489
|
self.doSearch()
|
|
341
490
|
|
|
342
491
|
if (node[0].children.length <= 0) {
|
|
@@ -360,6 +509,17 @@ export default {
|
|
|
360
509
|
|
|
361
510
|
},
|
|
362
511
|
|
|
512
|
+
getSystemConfig(){
|
|
513
|
+
const self = this
|
|
514
|
+
ajax.get(self.smartFlowServerContext + '/anon/systemConfig/getSystemConfig').then(function (resp) {
|
|
515
|
+
const result = resp.data;
|
|
516
|
+
if (result && result.code === '200') {
|
|
517
|
+
self.ucAdapterType = result.data.ucAdapterType
|
|
518
|
+
}
|
|
519
|
+
}).catch(err => {
|
|
520
|
+
console.log(err);
|
|
521
|
+
})
|
|
522
|
+
},
|
|
363
523
|
|
|
364
524
|
},
|
|
365
525
|
};
|
|
@@ -368,6 +528,7 @@ export default {
|
|
|
368
528
|
<style lang="less" scope>
|
|
369
529
|
.org-info{
|
|
370
530
|
display: flex;
|
|
531
|
+
max-height: 700px;
|
|
371
532
|
.org-tree {
|
|
372
533
|
width: 265px;
|
|
373
534
|
min-height: 450px;
|