@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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lambo-design/workflow-approve",
3
- "version": "1.0.0-beta.43",
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/core": "^4.7.1-beta.149",
16
- "@lambo-design/shared": "^1.0.0-beta.237"
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
- <Tree :data="treeData" :load-data="loadData" @on-select-change="selectChange"></Tree>
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
- /* created () {
114
- this.init()
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
- let userPermScope = permScope.substring(permScope.indexOf("U:"))
179
- userPermScope = userPermScope.substring(2, userPermScope.indexOf(","))
180
- if (userPermScope.length > 0) {
181
- userPermScope = userPermScope.split(';')
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 childs = []
255
- let params = {
256
- treeTypeId: organTreeType
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
- ajax.get(this.upmsServerContext + '/manage/ucOrgan/getOrgRootTree', {params: params}).then(function (resp) {
259
- if (resp.data.code === 1) {
260
- let data = resp.data.data
261
- if (data.length > 0) {
262
- data.forEach(item => {
263
- let obj = {}
264
- obj.type = item.organType
265
- obj.id = item.id
266
- obj.organId = item.organId
267
- obj.orders = item.orders
268
- obj.title = item.organName
269
- obj.name = item.organName
270
- obj.com = item.com
271
- obj.code = item.organCode
272
- obj.loading = false
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
- childs[0].selected = true
279
- self.selectChange(childs)
280
- }
281
- self.treeData = childs
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 permScope = self.permScope ? self.permScope : 'all'
339
- self.dataUrl =self.smartFlowServerContext+ '/manage/processDesign/getAssigneeList?orgTreeType=' + self.organTreeType + "&permScopeList=" + permScope
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;