@lambo-design/workflow-approve 1.0.0-beta.5 → 1.0.0-beta.50

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.
@@ -0,0 +1,1918 @@
1
+ <template>
2
+ <div>
3
+ <Modal v-model="modalBoxShow" :width="1550" title="选择候选人" :closable="false" @on-ok="onOk">
4
+ <div style="margin-top: 10px">
5
+ <Select v-model="organModel" prefix="md-search"
6
+ filterable multiple :max-tag-count="0"
7
+ @on-change="organChange($event)"
8
+ placeholder="输入关键字查询" style="width:60em;">
9
+ <OptionGroup label="组织">
10
+ <Option v-for="(value, key) in organTree.orgenMap" :key="key" :value="`${key}:${value},1`">
11
+ <span>{{ value }}</span>
12
+ </Option>
13
+ </OptionGroup>
14
+ <OptionGroup label="人员">
15
+ <Option v-for="(value, key) in organTree.userMap" :key="key" :value="`${key}:${value},2`">
16
+ <span>{{ value }}</span>
17
+ </Option>
18
+ </OptionGroup>
19
+ <OptionGroup label="角色">
20
+ <Option v-for="(value, key) in organTree.roleMap" :key="key" :value="`${key}:${value},3`">
21
+ <span>{{ value }}</span>
22
+ </Option>
23
+ </OptionGroup>
24
+ <OptionGroup label="岗位" v-if="ucAdapterType === 'x1'">
25
+ <Option v-for="(value, key) in organTree.postMap" :key="key" :value="`${key}:${value},4`">
26
+ <span>{{ value }}</span>
27
+ </Option>
28
+ </OptionGroup>
29
+ </Select>
30
+ <Button type="primary" :loading="loading" @click="organTreeRedisUpdate" style="float: right;">
31
+ <span v-if="!loading">更新查询数据</span>
32
+ <span v-else>更新中...</span>
33
+ </Button>
34
+ </div>
35
+ <div class="cont">
36
+ <div
37
+ :class="[this.dataName == '' || this.dataName == '0' || this.dataName == '2' || this.dataName == '4' || (this.dataName == '3' && ucAdapterType =='sc') ? 'contLeftTwo': 'contLeft']">
38
+
39
+ <Tabs :animated="false" @on-click="dataNameClick">
40
+ <TabPane label="选组织">
41
+ <div class="overflowAuto">
42
+ <div v-if="readingRangeBM.length === 0">暂无数据</div>
43
+ <Tree v-else v-for="(item,index) in readingRangeBM" :key="index" :data="item" ref="treeBM"
44
+ check-strictly show-checkbox expand-node
45
+ :load-data="loadDataBm" @on-check-change="selectReRaBMChange"
46
+ @on-select-change="selectOrgChange"></Tree>
47
+ </div>
48
+ </TabPane>
49
+
50
+
51
+ <TabPane label="选人员">
52
+ <div class="overflowAuto">
53
+ <div v-if="readingRange.length === 0">暂无数据</div>
54
+ <Tree v-else v-for="(item,index) in readingRange" :key="index" :data="item" ref="treeEY" check-strictly
55
+ show-checkbox expand-node
56
+ :load-data="loadReadingRangeData" :checkable="true" @on-check-change="selectReRaYHChange"
57
+ @on-select-change="selectReRaYHChange"></Tree>
58
+ </div>
59
+ </TabPane>
60
+
61
+
62
+ <TabPane label="选角色">
63
+ <div class="overflowAuto">
64
+ <CheckboxGroup v-model="noticeRoleList" class="checkbox-container" @on-change="getReadingRangeRole">
65
+ <Checkbox v-for="(item) in roleList" :key="item.roleId" :label="item.roleId+','+item.name">
66
+ {{ item.name }}
67
+ </Checkbox>
68
+ </CheckboxGroup>
69
+ <div v-show="roleList.length == 0">暂无数据</div>
70
+ </div>
71
+ </TabPane>
72
+ <TabPane label="选岗位" v-if="ucAdapterType === 'x1'">
73
+ <div class="overflowAuto">
74
+ <div v-if="readingRangePost.length === 0">暂无数据</div>
75
+ <Tree v-else v-for="(item,index) in readingRangePost" :key="index" :data="item" ref="treePost"
76
+ check-strictly show-checkbox expand-node
77
+ :load-data="loadReadingRangeDataPost" :checkable="true" @on-check-change="selectReRaYHChangePost"
78
+ @on-select-change="selectPostChange"></Tree>
79
+ </div>
80
+ </TabPane>
81
+ <TabPane label="选组织类型" v-if="ucAdapterType === 'sc'">
82
+ <div class="overflowAuto">
83
+ <div v-if="readingRangeOrgType.length === 0">暂无数据</div>
84
+ <Tree v-else v-for="(item,index) in readingRangeOrgType" :key="index" :data="item" ref="treeBM" check-strictly show-checkbox expand-node
85
+ :load-data="loadOrgType" @on-check-change="checkOrgTypeChange"></Tree>
86
+ </div>
87
+ </TabPane>
88
+
89
+ </Tabs>
90
+
91
+ </div>
92
+ <div class="contRight" v-if="this.dataName == '1' || (this.dataName == '3' && ucAdapterType === 'x1')">
93
+ <Card dis-hover>
94
+ <div class="overflowAuto" v-if="dataName === 1">
95
+ <CheckboxGroup v-model="treeUserValue" class="checkbox-container" @on-change="getReadingRangeUser">
96
+ <Checkbox v-for="(item) in treeUserCenterValue" :key="item.userId"
97
+ :label="item.userId+','+item.userName">
98
+ {{ item.userName }} {{ showUserDetail(item) }}
99
+ </Checkbox>
100
+ </CheckboxGroup>
101
+ <CheckboxGroup v-model="treeUserValue" class="checkbox-container" @on-change="getReadingRangeUser">
102
+ <Checkbox v-for="(item) in treeUserNameCenterValue" :key="item.userId"
103
+ :label="item.userId+','+item.userName">
104
+ {{ item.userName }}
105
+ </Checkbox>
106
+ </CheckboxGroup>
107
+ </div>
108
+ <div class="overflowAuto" v-else-if="dataName === 3 && ucAdapterType === 'x1'">
109
+ <CheckboxGroup v-model="treePostValue" class="checkbox-container" @on-change="getReadingRangePosts">
110
+ <Checkbox v-for="(item) in treePostCenterValue" :key="item.positionId"
111
+ :label="item.positionId+','+item.positionName">
112
+ {{ item.positionName }} ( {{ item.nameItem }} {{ item.orgName ? ',' + item.orgName : '' }} )
113
+ </Checkbox>
114
+ </CheckboxGroup>
115
+ <CheckboxGroup v-model="treePostValue" class="checkbox-container" @on-change="getReadingRangePosts">
116
+ <Checkbox v-for="(item) in treePostNameCenterValue" :key="item.positionId"
117
+ :label="item.positionId+','+item.positionName">
118
+ {{ item.positionName }}
119
+ </Checkbox>
120
+ </CheckboxGroup>
121
+ </div>
122
+ <div class="overflowAuto" v-else></div>
123
+ </Card>
124
+ </div>
125
+ <div
126
+ :class="[this.dataName == '' || this.dataName == '0' || this.dataName == '2' || this.dataName == '4' || (this.dataName == '3' && ucAdapterType =='sc') ? 'contRightTwo': 'contRight']">
127
+ <Card dis-hover>
128
+ <div class="overflowAuto">
129
+ <Title>已选择:{{ treeLength }}/100 <a type="text" style="float: right;color: #989898"
130
+ @click="readingRangeEmpty">清空已选</a></Title>
131
+ <Collapse v-model="value" style="margin-top: 10px">
132
+ <Panel name="1">
133
+ <span class="fontSize">组织</span>
134
+ <template #content>
135
+ <div v-for="(item,index) in treeValueBM" :key="item.key">
136
+ <div v-if="item.type !='user'" style="margin-bottom: 10px">
137
+ <span>{{ item.name }}</span>
138
+ <Icon type="md-close" style="float: right" @click="readingRangeDepDel(index,item)"/>
139
+ </div>
140
+ </div>
141
+ </template>
142
+ </Panel>
143
+ <Panel name="2">
144
+ <span class="fontSize">人员</span>
145
+ <template #content>
146
+ <div v-for="(item,index) in treeUserValue" :key="index">
147
+ <div style="margin-bottom: 10px">
148
+ <span>{{ item }}</span>
149
+ <Icon type="md-close" style="float: right" @click="readingRangeScPerDel(index,item)"/>
150
+ </div>
151
+ </div>
152
+ </template>
153
+ </Panel>
154
+ <Panel name="3">
155
+ <span class="fontSize">角色</span>
156
+ <template #content>
157
+ <div v-for="item in noticeRoleNameList" :key="item.key">
158
+ <div style="margin-bottom: 10px">
159
+ <span>{{ item }}</span>
160
+ <Icon type="md-close" style="float: right" @click="noticeRoleNameListDel(item)"/>
161
+ </div>
162
+ </div>
163
+ </template>
164
+ </Panel>
165
+ <Panel name="4" v-if="ucAdapterType === 'x1'">
166
+ <span class="fontSize">岗位</span>
167
+ <template #content>
168
+ <div v-for="item in treePostValue" :key="item.key">
169
+ <div style="margin-bottom: 10px">
170
+ <span>{{ item }}</span>
171
+ <Icon type="md-close" style="float: right" @click="processPostDel(item)"/>
172
+ </div>
173
+ </div>
174
+ </template>
175
+ </Panel>
176
+ <Panel name="5" v-if="ucAdapterType === 'sc'">
177
+ <span class="fontSize">组织类型</span>
178
+ <template #content>
179
+ <div v-for="(item, itemIndex) in treeOrgTypeValue" :key="itemIndex">
180
+ <span>{{ item.typeName }}</span>
181
+ <Icon type="md-close" style="float: right" @click="processOrgTypeDel(itemIndex,item)"/>
182
+ </div>
183
+ </template>
184
+ </Panel>
185
+ </Collapse>
186
+ </div>
187
+ </Card>
188
+ </div>
189
+ </div>
190
+ </Modal>
191
+ </div>
192
+ </template>
193
+
194
+ <script>
195
+ import ajax from "@lambo-design/shared/utils/ajax";
196
+ import Title from "./title";
197
+ import TreeSelect from '@lambo-design/tree-select'
198
+
199
+ export default {
200
+ name: "candidateGroupsHelpBox",
201
+ props: {
202
+ smartFlowServerContext: {
203
+ type: String,
204
+ default: '/api/smart-flow-server',
205
+ },
206
+ upmsServerContext: {
207
+ type: String,
208
+ default: '/api/upms-server',
209
+ },
210
+ },
211
+ components: {
212
+ Title,
213
+ TreeSelect
214
+ },
215
+ data() {
216
+ return {
217
+ id: "",
218
+ ucAdapterType: 'x1',
219
+ treePostNameCenterValue: [],
220
+ treeUserNameCenterValue: [],
221
+ selectedKeys: [],
222
+ postKeys: [],
223
+ postAllList: [],
224
+ noticeList: [],
225
+ orgList: [],
226
+ userNum: "0",
227
+ permScope: "",
228
+ organTreeType: '00',
229
+ organId: "",
230
+ organModel: [],
231
+ organTree: {
232
+ orgenMap: {},
233
+ userMap: {},
234
+ roleMap: {},
235
+ postMap: {},
236
+ },
237
+ readingRangePost: [],
238
+ treeUserValueCenter: [],
239
+ treeLength: 0,
240
+ treeValueBM: [],
241
+ treeOrgTypeValue:[],
242
+ dataName: "",
243
+ postList: [],//选中岗位集合(右侧显示)
244
+ processPostList: [],//岗位集合
245
+ noticeRoleNameList: [],//角色选择集合
246
+ roleList: [],//角色集合
247
+ noticeRoleList: [],//选中角色集合(右侧显示)
248
+ treeUserValue: [],//选中的人员(右侧显示)
249
+ treePostValue: [],
250
+ treeUserCenterValue: [],
251
+ treePostCenterValue: [],
252
+ readingRangeBM: [],//权限范围数据组织
253
+ readingRange: [],//权限范围数据人员
254
+ readingRangeOrgType:[],//权限范围数据部门
255
+ modalBoxShow: false,
256
+ placeholder: "自动同意",
257
+ loading: false,
258
+ form: {
259
+ userId: '',
260
+ userName: '',
261
+ organId: '',
262
+ organTitle: '',
263
+ directChild: false,
264
+ isAdmin: ''
265
+ },
266
+ value: ['1', '2', '3', '4', '5'],
267
+ currentNode: {},
268
+ currentNodeUser: {},
269
+ currentNodePost: {},
270
+ ruleValidate: {
271
+ organization: [
272
+ {required: true, message: '请选择指定相对岗位的组织', trigger: 'blur'}
273
+ ],
274
+ position: [
275
+ {required: true, message: '请选择指定岗位', trigger: 'blur'}
276
+ ],
277
+ },
278
+
279
+ };
280
+ },
281
+ created() {
282
+ this.getSystemConfig()
283
+ },
284
+ computed: {
285
+ },
286
+ mounted: function () {
287
+ },
288
+ methods: {
289
+ getOrgan(row) {
290
+ let self = this
291
+ self.organModel = []
292
+ let organs = row.organs
293
+ let organList = organs.split(",")
294
+ if (organs && organList.length > 0) {
295
+ organList.forEach(item => {
296
+ let organ = {
297
+ code: item.split(':')[0],
298
+ name: item.split(':')[1],
299
+ }
300
+ self.treeValueBM.push(organ)
301
+ self.orgList.push(organ)
302
+ self.organModel.push(item + ',1')
303
+ self.userNum = "1"
304
+ self.updateLength()
305
+ })
306
+ }
307
+ },
308
+ getUser(row) {
309
+ let self = this
310
+ self.selectedKeys = []
311
+ self.treeUserValue = []
312
+ self.treeUserNameCenterValue = []
313
+ let users = row.users
314
+ let userList = users.split(",")
315
+ if (users && userList.length > 0) {
316
+ userList.forEach(item => {
317
+ let userId = item.split(':')[0]
318
+ let userName = item.split(':')[1]
319
+ let user = {
320
+ userId: userId,
321
+ userName: userName,
322
+ }
323
+ let userStr = userId + "," + userName
324
+ self.treeUserValue.push(userStr)
325
+ self.treeUserNameCenterValue.push(user)
326
+ self.selectedKeys.push(userStr)
327
+ self.organModel.push(item + ",2")
328
+ self.userNum = "1"
329
+ self.updateLength()
330
+ })
331
+ }
332
+ },
333
+ getRole(row) {
334
+ let self = this
335
+ self.noticeRoleList = []
336
+ self.noticeList = []
337
+ self.noticeRoleNameList = []
338
+ let roles = row.roles
339
+ let roleList = roles.split(",")
340
+ if (roles && roleList.length > 0) {
341
+ roleList.forEach(item => {
342
+ let roleId = item.split(':')[0]
343
+ let roleName = item.split(':')[1]
344
+ self.noticeRoleNameList.push(roleName)
345
+ self.organModel.push(item + ',3')
346
+ let roles = roleId + "," + roleName
347
+ self.noticeRoleList.push(roles)
348
+ self.noticeList.push(roles)
349
+ self.updateLength()
350
+ })
351
+ }
352
+ },
353
+ getPost(row) {
354
+ let self = this
355
+ self.treePostValue = []
356
+ self.postKeys = []
357
+ self.treePostNameCenterValue = []
358
+ let positions = row.positions
359
+ let positionList = positions.split(",")
360
+ if (positions && positionList.length > 0) {
361
+ positionList.forEach(item => {
362
+ let positionId = item.split(':')[0]
363
+ let positionName = item.split(':')[1]
364
+ let position = {
365
+ positionId: positionId,
366
+ positionName: positionName,
367
+ }
368
+ let post = positionId + "," + positionName
369
+ self.treePostValue.push(post)
370
+ self.postKeys.push(post)
371
+ // resp.data.data.code = resp.data.data.orgCode
372
+ // self.treePostNameCenterValue.push(resp.data.data)
373
+ self.treePostNameCenterValue.push(position)
374
+ self.organModel.push(item + ',4')
375
+ self.updateLength()
376
+ })
377
+ }
378
+ },
379
+ getOrgType(row) {
380
+ let self = this
381
+ let types = row.types
382
+ let typeList = types.split(",")
383
+ if (types && typeList.length > 0) {
384
+ typeList.forEach(item => {
385
+ let type = {
386
+ bizTypeCode: item.split(':')[0],
387
+ typeName: item.split(':')[1],
388
+ }
389
+ self.treeOrgTypeValue.push(type)
390
+ self.updateLength()
391
+ })
392
+ }
393
+ },
394
+
395
+ getRootOrganTree(organTreeType){
396
+ let self = this
397
+ let organTreeList = []
398
+ let organTree = []
399
+ if (self.ucAdapterType == 'x1'){
400
+ let parentId = organTreeType == '00' ? 'rootId' : '0'
401
+ ajax.get(self.smartFlowServerContext + '/manage/organ/getOrgSubNodes', {
402
+ params: {
403
+ code: parentId,
404
+ orgTreeType: organTreeType
405
+ }
406
+ }).then(resp => {
407
+ if (resp.data.code === 200) {
408
+ let data = resp.data.data
409
+ if (data.length > 0) {
410
+ data.forEach(item => {
411
+ let obj = {}
412
+ obj.type = item.organType
413
+ obj.id = item.id
414
+ obj.organId = item.organId
415
+ obj.orders = item.orders
416
+ obj.title = item.organName
417
+ obj.name = item.organName
418
+ obj.com = item.com
419
+ obj.code = item.organCode
420
+ obj.loading = false
421
+ obj.children = []
422
+ obj.hasChild = true
423
+ organTreeList.push(obj)
424
+ })
425
+ }
426
+ organTree.push(organTreeList);
427
+ //去重
428
+ const codesSeen = new Map();
429
+ organTree = organTree.reduce((acc, item, index) => {
430
+ if (!codesSeen.has(item.code)) {
431
+ codesSeen.set(item.code, index);
432
+ acc.push(item);
433
+ }
434
+ return acc;
435
+ }, []);
436
+ self.readingRangeBM = JSON.parse(JSON.stringify(organTree))
437
+ self.readingRange = JSON.parse(JSON.stringify(organTree))
438
+ self.readingRangePost = JSON.parse(JSON.stringify(organTree))
439
+ }
440
+ })
441
+ } else {
442
+ ajax.get(self.smartFlowServerContext + '/manage/bizorgan/getOrgRootTree', {
443
+ params: {
444
+ bizOrganTreeType: organTreeType
445
+ }
446
+ }).then(resp => {
447
+ if (resp.data.code === 200) {
448
+ let data = resp.data.data
449
+ if (data.length > 0) {
450
+ data.forEach(item => {
451
+ let obj = {}
452
+ obj.type = item.bizOrganType
453
+ obj.id = item.id
454
+ obj.organId = item.bizOrganId
455
+ obj.orders = item.orders
456
+ obj.title = item.bizOrganName
457
+ obj.name = item.bizOrganName
458
+ obj.com = item.bizOrganId
459
+ obj.code = item.bizOrganCode
460
+ obj.loading = false
461
+ obj.children = []
462
+ obj.hasChild = true
463
+ organTreeList.push(obj)
464
+ })
465
+ }
466
+ organTree.push(organTreeList);
467
+ //去重
468
+ const codesSeen = new Map();
469
+ organTree = organTree.reduce((acc, item, index) => {
470
+ if (!codesSeen.has(item.code)) {
471
+ codesSeen.set(item.code, index);
472
+ acc.push(item);
473
+ }
474
+ return acc;
475
+ }, []);
476
+ self.readingRangeBM = JSON.parse(JSON.stringify(organTree))
477
+ self.readingRange = JSON.parse(JSON.stringify(organTree))
478
+ }
479
+ })
480
+ }
481
+ },
482
+ //获取组织
483
+ async getReadingRangeBM(row, info, organTreeType) {
484
+ let self = this
485
+ self.readingRangeBM = await self.getOrganTreeByProType(row, row.substring(2, row.indexOf(",")), organTreeType);
486
+ },
487
+ getOrganTreeByProType(row, permScope, organTreeType) {
488
+ const self = this;
489
+ return new Promise((resolve, reject) => {
490
+ let organTree = [];
491
+ let childsTree = [];
492
+ if (permScope && permScope.length > 0) {
493
+ let params = {
494
+ orgTreeType: organTreeType,
495
+ };
496
+ permScope = permScope.split(';');
497
+
498
+ const requests = permScope.map(perm => {
499
+ return ajax.get(self.smartFlowServerContext + '/manage/organ/get/' + perm, { params: params })
500
+ .then(resp => {
501
+ if (resp.data.code === 200) {
502
+ return resp.data.data;
503
+ } else {
504
+ return [];
505
+ }
506
+ })
507
+ .catch(err => {
508
+ console.error(err);
509
+ return [];
510
+ });
511
+ });
512
+
513
+ Promise.all(requests)
514
+ .then(results => {
515
+ results.forEach(data => {
516
+ if (data && data.organCode) {
517
+ let obj = {
518
+ type: data.organType,
519
+ id: data.id,
520
+ organId: data.organId,
521
+ orders: data.orders,
522
+ title: data.organName,
523
+ name: data.organName,
524
+ com: data.organId,
525
+ code: data.organCode,
526
+ loading: false,
527
+ checked: false,
528
+ children: [],
529
+ hasChild: true,
530
+ };
531
+ childsTree.push(obj);
532
+ }
533
+ });
534
+ organTree.push(childsTree);
535
+ const codesSeen = new Map();
536
+ organTree = organTree.reduce((acc, item, index) => {
537
+ if (!codesSeen.has(item.code)) {
538
+ codesSeen.set(item.code, index);
539
+ acc.push(item);
540
+ }
541
+ return acc;
542
+ }, []);
543
+ resolve(organTree);
544
+ })
545
+ .catch(err => {
546
+ reject(err);
547
+ });
548
+ } else {
549
+ resolve([]);
550
+ }
551
+ });
552
+ },
553
+ //获取人员树信息
554
+ async getReadingRange(row, organTreeType) {
555
+ let self = this
556
+ let permScope
557
+ let userPermScope = row.substring(row.indexOf("U:"))
558
+ userPermScope = userPermScope.substring(2, userPermScope.indexOf(","))
559
+ let permScopeTwo = userPermScope.split(';')
560
+ if (permScopeTwo.length > 0 && permScopeTwo[0]){
561
+ let promises = []
562
+ for (let i = 0; i < permScopeTwo.length; i++) {
563
+ let promise = ajax.get(self.smartFlowServerContext + "/manage/user/get/" + permScopeTwo[i] + '?treeType=' + organTreeType)
564
+ .then(resp => {
565
+ if (resp.data.code === 200) {
566
+ return resp.data.data.organCode
567
+ }
568
+ })
569
+ promises.push(promise)
570
+ }
571
+ Promise.all(promises).then(async (result) => {
572
+ const uniqueResults = [...new Set(result.filter(Boolean))];
573
+ permScope = uniqueResults.join(';');
574
+ self.readingRange = await this.getOrganTreeByProType(row, permScope, organTreeType);
575
+ })
576
+ } else {
577
+ //对于流程类型中没有规定人员范围但规定组织范围的情况
578
+ self.readingRange = await this.getOrganTreeByProType(row, row.substring(2, row.indexOf(",")), organTreeType);
579
+ }
580
+
581
+ },
582
+ //获取角色列表
583
+ getReadingRangeAllRole: function (row) {
584
+ let self = this;
585
+ self.roleList = []
586
+ if (row == 'undefined' || row == "all") {
587
+ self.optionRoleArr = [];
588
+ ajax.get(self.smartFlowServerContext + "/manage/role/getrolesbyUserId")
589
+ .then(function (resp) {
590
+ if (resp.data.data.code === 200) {
591
+ resp.data.data.data.forEach(role => {
592
+ self.roleList.push(role);
593
+ const codesSeen = new Map();
594
+ self.roleList = self.roleList.reduce((acc, item, index) => {
595
+ if (!codesSeen.has(item.roleId)) {
596
+ codesSeen.set(item.roleId, index);
597
+ acc.push(item);
598
+ }
599
+ return acc;
600
+ }, []);
601
+ })
602
+
603
+ }
604
+ });
605
+ } else {
606
+ var permScope = row.substring(row.indexOf("R:"))
607
+ permScope = permScope.substring(2, permScope.indexOf(","))
608
+ permScope = permScope.split(';')
609
+ self.optionRoleArr = [];
610
+ if (permScope.length > 0) {
611
+ ajax.get(self.smartFlowServerContext + "/manage/role/getrolesbyUserId")
612
+ .then(function (resp) {
613
+ if (resp.data.data.code === 200) {
614
+ resp.data.data.data.forEach(role => {
615
+ permScope.forEach(perm => {
616
+ if (role.roleId == perm) {
617
+ self.roleList.push(role);
618
+ const codesSeen = new Map();
619
+ self.roleList = self.roleList.reduce((acc, item, index) => {
620
+ if (!codesSeen.has(item.roleId)) {
621
+ codesSeen.set(item.roleId, index);
622
+ acc.push(item);
623
+ }
624
+ return acc;
625
+ }, []);
626
+ }
627
+ })
628
+
629
+ })
630
+
631
+ }
632
+ }).catch(err => {
633
+ console.log(err);
634
+ })
635
+ }
636
+ }
637
+ },
638
+ //获取岗位
639
+ async getReadingRangePost(row, organTreeType) {
640
+ let self = this
641
+ let permScope
642
+ let postPermScope = row.substring(row.indexOf("P:"))
643
+ postPermScope = postPermScope.substring(2, postPermScope.indexOf(","))
644
+ let permScopeTwo = postPermScope.split(';')
645
+ if (permScopeTwo.length > 0 && permScopeTwo[0]){
646
+ let promises = []
647
+ for (let i = 0; i < permScopeTwo.length; i++) {
648
+ let promise = ajax.get(self.smartFlowServerContext + "/manage/position/get?positionId=" + permScopeTwo[i])
649
+ .then(resp => {
650
+ if (resp.data.code == 200) {
651
+ return resp.data.data.orgCode ? resp.data.data.orgCode : resp.data.data
652
+ }
653
+ }).catch(err => {
654
+ console.log(err);
655
+ })
656
+ promises.push(promise)
657
+ }
658
+ Promise.all(promises).then(async (result) => {
659
+ if (result.length > 0 && result[0] && result[0].hasOwnProperty('orgCode')) {
660
+ self.readingRangePost = await this.getOrganTreeByProType(row, permScope, organTreeType);
661
+ let array = [{code: result[0].orgCode}]
662
+ self.selectReRaYHChangePost(array, array)
663
+ } else {
664
+ const uniqueResults = [...new Set(result.filter(Boolean))];
665
+ permScope = uniqueResults.join(';');
666
+ self.readingRangePost = await this.getOrganTreeByProType(row, permScope, organTreeType);
667
+ }
668
+ })
669
+ } else {
670
+ //对于流程类型中没有规定岗位范围但规定组织范围的情况
671
+ self.readingRangePost = await this.getOrganTreeByProType(row, row.substring(2, row.indexOf(",")), organTreeType);
672
+ }
673
+ },
674
+ //获取组织类型
675
+ getReadingRangeOrgType(row, organTreeType) {
676
+ let self = this
677
+ let childsTree = []
678
+ if (row == 'undefined' || row == "all"){
679
+ let params = {
680
+ orgTreeType: organTreeType
681
+ }
682
+ ajax.get(self.smartFlowServerContext + "/manage/bizorgan/qryOrgTypeList", {params: params}).then(function (resp) {
683
+ if (resp.data.code === 200) {
684
+ let data = resp.data.data;
685
+ if (data.length > 0) {
686
+ data.forEach(item => {
687
+ self.formatOrgTypeData(item, childsTree)
688
+ })
689
+ }
690
+ self.readingRangeOrgType.push(childsTree);
691
+ } else {
692
+ self.$Message.error(resp.data.message)
693
+ }
694
+ })
695
+ } else {
696
+ var permScope = row.substring(row.indexOf("T:") + 2)
697
+ if (permScope.length > 0) {
698
+ let permScopeTwo = permScope.split(';')
699
+ for (let i = 0; i < permScopeTwo.length; i++) {
700
+ let params = {
701
+ organTypeCode: permScopeTwo[i],
702
+ orgTreeType: organTreeType
703
+ }
704
+ ajax.get(self.smartFlowServerContext + "/manage/bizorgan/qryOrgTypeByCode",{params : params}).then(resp => {
705
+ if (resp.data.code === 200) {
706
+ let data = resp.data.data
707
+ if (data) {
708
+ self.formatOrgTypeData(resp.data.data, childsTree)
709
+ }
710
+ self.readingRangeOrgType.push(childsTree)
711
+ const codesSeen = new Map();
712
+ self.readingRangeOrgType = self.readingRangeOrgType.reduce((acc, item, index) => {
713
+ if (!codesSeen.has(item.bizTypeId)) {
714
+ codesSeen.set(item.bizTypeId, index);
715
+ acc.push(item);
716
+ }
717
+ return acc;
718
+ }, []);
719
+ } else {
720
+ self.$Message.error(resp.data.message)
721
+ }
722
+ })
723
+ }
724
+ }
725
+ }
726
+ },
727
+ formatOrgTypeData(item, childsTree){
728
+ let obj = {}
729
+ obj.bizOrganTreeType = item.bizOrganTreeType
730
+ obj.bizTypeCode = item.bizTypeCode
731
+ obj.bizTypeId = item.bizTypeId
732
+ obj.parentTypeCode = item.parentTypeCode
733
+ obj.parentTypeId = item.parentTypeId
734
+ obj.parentTypeName = item.parentTypeName
735
+ obj.typeName = item.typeName
736
+ obj.title = item.typeName
737
+ obj.name = item.typeName
738
+ obj.orders = item.orders
739
+ obj.loading = false
740
+ obj.children = []
741
+ obj.hasChild = true
742
+ if (item.children && item.children.length > 0){
743
+ item.children.forEach(child => {
744
+ this.formatOrgTypeData(child, obj.children)
745
+ })
746
+ }
747
+ childsTree.push(obj)
748
+ },
749
+
750
+ //权限范围组织部门单条删除
751
+ readingRangeDepDel(res, info) {
752
+ this.treeValueBM[res].checked = false;
753
+ this.treeValueBM.splice(res, 1)
754
+
755
+ let orgList = []
756
+ let organList = []
757
+
758
+ orgList.push(info)
759
+ this.organModel.forEach(organ => {
760
+ if (organ.indexOf(info.code) == -1) {
761
+ organList.push(organ)
762
+ }
763
+ })
764
+ this.userNum = "1"
765
+ this.organModel = organList
766
+
767
+
768
+ this.updateLength();
769
+ },
770
+ //权限范围人员单条删除
771
+ readingRangeScPerDel(res, info) {
772
+ this.treeUserValue.splice(res, 1)
773
+ this.selectedKeys.splice(res, 1)
774
+ let orgList = []
775
+ let organList = []
776
+ orgList.push(info)
777
+ info = info.replace(",", ":")
778
+ this.organModel.forEach(organ => {
779
+ if (organ.indexOf(info) == -1) {
780
+ organList.push(organ)
781
+ }
782
+ })
783
+ this.organModel = organList
784
+ this.updateLength();
785
+ },
786
+ //角色单条删除
787
+ noticeRoleNameListDel(res) {
788
+ let processList = [];
789
+ for (let i = 0; i < this.noticeRoleList.length; i++) {
790
+ if (this.noticeRoleList[i].split(',')[1] !== res) {
791
+ processList.push(this.noticeRoleList[i])
792
+ }
793
+ }
794
+ this.noticeRoleList = processList
795
+ if (this.noticeRoleNameList.indexOf(res) !== -1) {
796
+ this.noticeRoleNameList.splice(this.noticeRoleNameList.indexOf(res), 1)
797
+ }
798
+ let organList = []
799
+ this.organModel.forEach(organ => {
800
+ if (organ.indexOf(res) == -1) {
801
+ organList.push(organ)
802
+ }
803
+ })
804
+ this.organModel = organList
805
+
806
+ this.updateLength();
807
+ },
808
+ //岗位单条删除
809
+ processPostDel(res) {
810
+ this.treePostValue.splice(res, 1)
811
+ this.postKeys.splice(res, 1)
812
+ let organList = []
813
+ res = res.replace(",", ":")
814
+ this.organModel.forEach(organ => {
815
+ if (organ.indexOf(res) == -1) {
816
+ organList.push(organ)
817
+ }
818
+ })
819
+ this.organModel = organList
820
+ // let processPostList = [];
821
+ // for (let i = 0; i < this.processPostList.length; i++) {
822
+ // if (this.processPostList[i].split(',')[1] !== res) {
823
+ // processPostList.push(this.processPostList[i])
824
+ // }
825
+ // }
826
+ // this.processPostList = processPostList
827
+ // if(this.postList.indexOf(res) !== -1){
828
+ // this.postList.splice(this.postList.indexOf(res), 1)
829
+ // }
830
+ this.updateLength();
831
+ },
832
+ //部门单条删除
833
+ processOrgTypeDel(res, info) {
834
+ this.treeOrgTypeValue[res].checked = false;
835
+ this.treeOrgTypeValue.splice(res, 1)
836
+ this.userNum = "1"
837
+ this.updateLength();
838
+ },
839
+
840
+ dataNameClick(data) {
841
+ this.dataName = data
842
+ },
843
+
844
+ selectOrgChange(node) {
845
+ let self = this
846
+ if (node.length > 0) {
847
+ if (self.currentNode !== node[0]) {
848
+ self.currentNode = node[0]
849
+
850
+ self.form.organId = self.currentNode.id
851
+ self.form.organTitle = self.currentNode.title
852
+
853
+
854
+ if (node[0].children.length <= 0) {
855
+ self.getDataBm(node[0], function (data) {
856
+ self.$set(node[0], 'children', data)
857
+ })
858
+ }
859
+ self.$set(node[0], 'expand', true)
860
+ }
861
+ } else {
862
+ self.$set(self.currentNode, 'expand', !self.currentNode.expand)
863
+ self.currentNode.selected = true
864
+ }
865
+ },
866
+ loadDataBm(node, callback) {
867
+ this.getDataBm(node, function (data) {
868
+ if (data && data.length > 0) {
869
+ callback(data)
870
+ }
871
+ })
872
+ },
873
+ getDataBm(node, callback) {
874
+ let self = this
875
+ ajax.get(self.smartFlowServerContext + "/manage/organ/getOrgSubNodes", {
876
+ params: {
877
+ code: node.code,
878
+ orgTreeType: self.organTreeType
879
+ }
880
+ }).then(function (resp) {
881
+ const childs = [];
882
+ if (resp.data.code === 200) {
883
+ let nodeDatas = resp.data.data
884
+ if (nodeDatas && nodeDatas.length > 0) {
885
+ nodeDatas.forEach(item => {
886
+ let obj = {};
887
+ let typeName = '';
888
+ if ('com' == item.organType) {
889
+ typeName = '(公司)'
890
+ }
891
+ if ('dept' == item.organType) {
892
+ typeName = '(部门)'
893
+ }
894
+ self.treeValueBM.forEach(tree => {
895
+ if (item.organId == tree.organId || item.organId == tree.code || item.organCode == tree.organId || item.organCode == tree.code) {
896
+ obj.checked = true
897
+ }
898
+ })
899
+ obj.type = item.organType;
900
+ obj.id = item.id
901
+ obj.organId = item.organId
902
+ obj.orders = item.orders
903
+ obj.title = item.organName + typeName
904
+ obj.name = item.organName
905
+ obj.com = item.organId
906
+ obj.code = item.organCode
907
+ obj.loading = false
908
+ obj.children = []
909
+ obj.hasChild = true
910
+ childs.push(obj)
911
+ })
912
+ } else {
913
+ self.$set(node, "hasChild", false)
914
+ self.$delete(node, 'loading')
915
+ }
916
+ if (callback) {
917
+ callback(childs)
918
+ }
919
+ } else {
920
+ self.$set(node, 'hasChild', false)
921
+ self.$delete(node, 'loading')
922
+ if (callback) {
923
+ callback()
924
+ }
925
+ }
926
+ })
927
+ },
928
+ //权限范围组织类型点击事件
929
+ loadOrgType(node, callback){
930
+ this.getDataOrgType(node, function (data) {
931
+ if (data && data.length > 0) {
932
+ callback(data)
933
+ }
934
+ })
935
+ },
936
+ getDataOrgType(node, callback){
937
+ let self = this
938
+ ajax.get(self.smartFlowServerContext + "/manage/bizorgan/qrySubOrgTypeList", {
939
+ params: {
940
+ orgTreeType: self.organTreeType,
941
+ typeId: node.bizTypeId
942
+ }
943
+ }).then(function (resp) {
944
+ const childs = [];
945
+ if (resp.data.code == 200) {
946
+ let nodeDatas = resp.data.data
947
+ if (nodeDatas && nodeDatas.length > 0) {
948
+ nodeDatas.forEach(item => {
949
+ self.formatOrgTypeData(item, childs)
950
+ })
951
+ } else {
952
+ self.$set(node, "hasChild", false)
953
+ self.$delete(node, 'loading')
954
+ }
955
+ if (callback) {
956
+ callback(childs)
957
+ }
958
+ }else {
959
+ self.$set(node, 'hasChild', false)
960
+ self.$delete(node, 'loading')
961
+ if (callback) {
962
+ callback()
963
+ }
964
+ }
965
+ })
966
+ },
967
+ //阅读范围组织点击事件
968
+ selectReRaBMChange(row, info) {
969
+ let self = this
970
+ let mergedArray = []
971
+ let uniqueArray = []
972
+ let rows = []
973
+
974
+ mergedArray = [].concat(this.treeValueBM, row);
975
+ uniqueArray = Array.from(new Set(mergedArray));
976
+ uniqueArray = uniqueArray.filter((obj, index, self) =>
977
+ index === self.findIndex((o) => o.code === obj.code)
978
+ );
979
+ if (info.checked == true) {
980
+ row.forEach(ro => {
981
+ let organList = []
982
+ organList = row.filter(obj1 => !this.treeValueBM.some(obj2 => obj2.code === obj1.code));
983
+ organList = [...new Set(organList)];
984
+ organList = organList.reverse();
985
+ let code = organList[0] ? organList[0].code : ''
986
+ let name = organList[0] ? organList[0].name : ''
987
+ this.userNum = "1"
988
+ if (code) {
989
+ this.organModel.push(code + ":" + name + "," + "1");
990
+ this.treeValueBM.push(organList[0])
991
+ this.orgList = this.treeValueBM
992
+ }
993
+ })
994
+ } else {
995
+ let orgList = []
996
+ let organList = []
997
+ orgList.push(info)
998
+ this.organModel.forEach(organ => {
999
+ if (organ.indexOf(info.code) == -1) {
1000
+ organList.push(organ)
1001
+ }
1002
+ })
1003
+ this.userNum = "1"
1004
+ let list = []
1005
+ this.orgList = []
1006
+ uniqueArray.forEach(item => {
1007
+ if (item.code != info.code) {
1008
+ list.push(item)
1009
+ this.orgList.push(item)
1010
+ }
1011
+ })
1012
+ this.treeValueBM = list
1013
+ this.organModel = organList
1014
+ }
1015
+ this.updateLength()
1016
+ },
1017
+ //权限范围组织类型选择事件
1018
+ checkOrgTypeChange(row, info) {
1019
+ let self = this
1020
+ let mergedArray = []
1021
+ let uniqueArray = []
1022
+ mergedArray = [].concat(this.treeOrgTypeValue, row);
1023
+ uniqueArray = Array.from(new Set(mergedArray));
1024
+ uniqueArray = uniqueArray.filter((obj, index, self) =>
1025
+ index === self.findIndex((o) => o.bizTypeCode === obj.bizTypeCode)
1026
+ );
1027
+ if (info.checked == true) {
1028
+ row.forEach(ro => {
1029
+ let depList = []
1030
+ depList = row.filter(obj1 => !this.treeOrgTypeValue.some(obj2 => obj2.bizTypeCode === obj1.bizTypeCode));
1031
+ depList = [...new Set(depList)];
1032
+ depList = depList.reverse();
1033
+ let bizTypeCode = depList[0] ? depList[0].bizTypeCode : ''
1034
+ this.userNum = "1"
1035
+ if (bizTypeCode) {
1036
+ this.treeOrgTypeValue.push(depList[0])
1037
+ }
1038
+ })
1039
+ } else {
1040
+ this.userNum = "1"
1041
+ let list = []
1042
+ uniqueArray.forEach(item => {
1043
+ if (item.bizTypeCode != info.bizTypeCode) {
1044
+ list.push(item)
1045
+ }
1046
+ })
1047
+ this.treeOrgTypeValue = list
1048
+ }
1049
+
1050
+ this.updateLength()
1051
+ },
1052
+ selectUserChange(node) {
1053
+ let self = this
1054
+ if (node.length > 0) {
1055
+ if (self.currentNodeUser !== node[0]) {
1056
+ self.currentNodeUser = node[0]
1057
+
1058
+ self.form.organId = self.currentNodeUser.id
1059
+ self.form.organTitle = self.currentNodeUser.title
1060
+
1061
+
1062
+ if (node[0].children.length <= 0) {
1063
+ self.getReadingRangeData(node[0], function (data) {
1064
+ self.$set(node[0], 'children', data)
1065
+ })
1066
+ }
1067
+ self.$set(node[0], 'expand', true)
1068
+ }
1069
+ } else {
1070
+ self.$set(self.currentNodeUser, 'expand', !self.currentNodeUser.expand)
1071
+ self.currentNodeUser.selected = true
1072
+ }
1073
+ },
1074
+ //获取用户信息(懒加载)
1075
+ loadReadingRangeData(node, callback) {
1076
+ this.getReadingRangeData(node, function (data) {
1077
+ if (data && data.length > 0) {
1078
+ callback(data)
1079
+ }
1080
+ })
1081
+ },
1082
+ getReadingRangeData(node, callback) {
1083
+ let self = this
1084
+ ajax.get(self.smartFlowServerContext + "/manage/organ/getOrgSubNodes", {
1085
+ params: {
1086
+ code: node.code,
1087
+ orgTreeType: self.organTreeType
1088
+ }
1089
+ }).then(function (resp) {
1090
+ const childs = [];
1091
+ if (resp.data.code === 200) {
1092
+ let nodeDatas = resp.data.data
1093
+ if (nodeDatas.length > 0) {
1094
+ nodeDatas.forEach(item => {
1095
+ let obj = {};
1096
+ let typeName = '';
1097
+ if ('com' === item.organType) {
1098
+ typeName = '(公司)'
1099
+ } else if ('dept' === item.organType) {
1100
+ typeName = '(部门)'
1101
+ }
1102
+ // obj.disableCheckbox = true
1103
+ obj.type = item.organType;
1104
+ obj.id = item.id
1105
+ obj.organId = item.organId
1106
+ obj.title = item.organName + typeName
1107
+ obj.name = item.organName
1108
+ obj.com = item.organId
1109
+ obj.code = item.organCode
1110
+ obj.loading = false
1111
+ obj.children = []
1112
+ obj.hasChild = true
1113
+ childs.push(obj)
1114
+ })
1115
+ } else {
1116
+ self.$set(node, "hasChild", false)
1117
+ self.$delete(node, 'loading')
1118
+ }
1119
+ if (callback) {
1120
+ callback(childs)
1121
+ }
1122
+ } else {
1123
+ self.$set(node, "hasChild", false)
1124
+ self.$delete(node, 'loading')
1125
+ if (callback) {
1126
+ callback()
1127
+ }
1128
+ }
1129
+ })
1130
+ },
1131
+
1132
+ selectPostChange(node) {
1133
+ let self = this
1134
+ if (node.length > 0) {
1135
+ if (self.currentNodePost !== node[0]) {
1136
+ self.currentNodePost = node[0]
1137
+
1138
+ self.form.organId = self.currentNodePost.id
1139
+ self.form.organTitle = self.currentNodePost.title
1140
+
1141
+
1142
+ if (node[0].children.length <= 0) {
1143
+ self.getReadingRangeDataPost(node[0], function (data) {
1144
+ self.$set(node[0], 'children', data)
1145
+ })
1146
+ }
1147
+ self.$set(node[0], 'expand', true)
1148
+ }
1149
+ } else {
1150
+ self.$set(self.currentNodePost, 'expand', !self.currentNodePost.expand)
1151
+ self.currentNodePost.selected = true
1152
+ }
1153
+ },
1154
+ //获取用户信息(懒加载)
1155
+ loadReadingRangeDataPost(node, callback) {
1156
+ this.getReadingRangeDataPost(node, function (data) {
1157
+ if (data.length > 0) {
1158
+ callback(data)
1159
+ }
1160
+ })
1161
+ },
1162
+ getReadingRangeDataPost(node, callback) {
1163
+ let self = this
1164
+ ajax.get(self.smartFlowServerContext + "/manage/organ/getOrgSubNodes", {
1165
+ params: {
1166
+ code: node.code,
1167
+ orgTreeType: self.organTreeType
1168
+ }
1169
+ }).then(function (resp) {
1170
+ const childs = [];
1171
+ if (resp.data.code === 200) {
1172
+ let nodeDatas = resp.data.data
1173
+ if (nodeDatas.length > 0) {
1174
+ nodeDatas.forEach(item => {
1175
+ let obj = {};
1176
+ let typeName = '';
1177
+ if ('com' === item.organType) {
1178
+ typeName = '(公司)'
1179
+ } else if ('dept' === item.organType) {
1180
+ typeName = '(部门)'
1181
+ }
1182
+ // obj.disableCheckbox = true
1183
+ obj.type = item.organType;
1184
+ obj.id = item.id
1185
+ obj.organId = item.organId
1186
+ obj.title = item.organName + typeName
1187
+ obj.name = item.organName
1188
+ obj.com = item.organId
1189
+ obj.code = item.organCode
1190
+ obj.loading = false
1191
+ obj.children = []
1192
+ obj.hasChild = true
1193
+ childs.push(obj)
1194
+ })
1195
+ } else {
1196
+ self.$set(node, "hasChild", false)
1197
+ self.$delete(node, 'loading')
1198
+ }
1199
+ if (callback) {
1200
+ callback(childs)
1201
+ }
1202
+ } else {
1203
+ self.$set(node, "hasChild", false)
1204
+ self.$delete(node, 'loading')
1205
+ if (callback) {
1206
+ callback([])
1207
+ }
1208
+ }
1209
+ })
1210
+ },
1211
+
1212
+ //权限范围用户点击事件
1213
+ selectReRaYHChange(data, info) {
1214
+ let self = this
1215
+ const user = sessionStorage.getItem('userInfo');
1216
+ const jsonArray = JSON.parse(user);
1217
+ var userPermScope = self.permScope.substring(self.permScope.indexOf("U:"))
1218
+ userPermScope = userPermScope.substring(2, userPermScope.indexOf(","))
1219
+ userPermScope = userPermScope.split(';')
1220
+ //self.selectUserChange(data)
1221
+ let treeUserCenters = [];
1222
+
1223
+ if (self.permScope == "all" || self.permScope == "undefined") {
1224
+ let userIdSet = new Set()
1225
+ data.forEach(itemCom => {
1226
+
1227
+ ajax.get(self.smartFlowServerContext + "/manage/user/getList", {
1228
+ params: {
1229
+ organId: itemCom.organId,
1230
+ orgTreeType: self.organTreeType,
1231
+ limit: "1000",
1232
+ directChild: true,
1233
+ }
1234
+ }).then(function (resp) {
1235
+ if (resp.data.code == 200) {
1236
+ let nodeUser = resp.data.data.rows ? resp.data.data.rows : resp.data.data;
1237
+ nodeUser.forEach(item => {
1238
+ if (!userIdSet.has(item.userId)) {
1239
+ userIdSet.add(item.userId)
1240
+ treeUserCenters.push({
1241
+ userId: item.userId,
1242
+ userName: item.userName,
1243
+ nameItem: item.superiorOrgName,
1244
+ organName: item.organName
1245
+ })
1246
+ }
1247
+ })
1248
+ }
1249
+
1250
+ })
1251
+ })
1252
+ } else {
1253
+ let userIdSet = new Set()
1254
+ data.forEach(itemCom => {
1255
+
1256
+ ajax.get(self.smartFlowServerContext + "/manage/user/getList", {
1257
+ params: {
1258
+ organId: itemCom.organId,
1259
+ orgTreeType: self.organTreeType,
1260
+ limit: "1000",
1261
+ directChild: true,
1262
+ }
1263
+ }).then(function (resp) {
1264
+ if (resp.data.code == 200) {
1265
+ let nodeUser = resp.data.data.rows ? resp.data.data.rows : resp.data.data
1266
+ nodeUser.forEach(item => {
1267
+ if ((!userIdSet.has(item.userId) && userPermScope.includes(item.userId)) || userPermScope.length <= 0 || !userPermScope[0]) {
1268
+ userIdSet.add(item.userId)
1269
+ treeUserCenters.push({
1270
+ userId: item.userId,
1271
+ userName: item.userName,
1272
+ nameItem: item.superiorOrgName,
1273
+ organName: item.organName
1274
+ })
1275
+ }
1276
+ })
1277
+ }
1278
+
1279
+ })
1280
+
1281
+ })
1282
+ }
1283
+
1284
+ self.treeUserCenterValue = treeUserCenters
1285
+ self.treeUserNameCenterValue = []
1286
+ },
1287
+
1288
+ //权限范围岗位点击事件
1289
+ selectReRaYHChangePost(data, info) {
1290
+ let self = this
1291
+ const user = sessionStorage.getItem('userInfo');
1292
+ const jsonArray = JSON.parse(user);
1293
+ let nodePost = []
1294
+ let treePostCenter = [];
1295
+ if ((jsonArray.orgCode || jsonArray.organCode) != info.code) {
1296
+ self.getReadingRangeDataPost(info, function (data) {
1297
+ self.$set(info, 'children', data)
1298
+ })
1299
+ }
1300
+
1301
+ if (self.permScope == "all" || self.permScope == "undefined") {
1302
+ const positionIdSet = new Set();
1303
+ data.forEach(itemCom => {
1304
+ ajax.get(self.smartFlowServerContext + "/manage/position/qryPositionList?organCode=" + itemCom.code).then(function (resp) {
1305
+ nodePost = resp.data.data
1306
+ nodePost.forEach(item => {
1307
+ if (!positionIdSet.has(item.positionId)) {
1308
+ item.nameItem = item.organName !== '' ? item.organName : item.positionName;
1309
+ treePostCenter.push(item);
1310
+ positionIdSet.add(item.positionId);
1311
+ }
1312
+ });
1313
+ })
1314
+
1315
+ })
1316
+ } else {
1317
+ let postPermScope = self.permScope.substring(self.permScope.indexOf("P:"))
1318
+ postPermScope = postPermScope.substring(2, postPermScope.indexOf(","))
1319
+ postPermScope = postPermScope.split(';')
1320
+ const addedPositionIds = new Set();
1321
+ data.forEach(itemCom => {
1322
+ ajax.get(self.smartFlowServerContext + "/manage/position/qryPositionList?organCode=" + itemCom.code).then(function (resp) {
1323
+ nodePost = resp.data.data;
1324
+ nodePost.forEach(item => {
1325
+ if ((postPermScope.includes(item.positionId) && !addedPositionIds.has(item.positionId)) || postPermScope.length <= 0 || !postPermScope[0]) {
1326
+ item.nameItem = item.organName !== '' ? item.organName : item.positionName;
1327
+ treePostCenter.push(item);
1328
+ addedPositionIds.add(item.positionId);
1329
+ }
1330
+ });
1331
+ });
1332
+ });
1333
+ }
1334
+
1335
+ self.treePostCenterValue = treePostCenter
1336
+ self.treePostNameCenterValue = []
1337
+ },
1338
+ getReadingRangeRole(row) {
1339
+ let nameList = [];
1340
+ let self = this
1341
+ self.userNum = "2"
1342
+ if (row.length > self.noticeList.length) {
1343
+ row.forEach(ro => {
1344
+ ro = ro.substring(ro.indexOf(","))
1345
+ })
1346
+ self.noticeRoleNameList = row
1347
+ self.noticeList = row
1348
+ row = row.reverse()
1349
+ let organName = row[0].replace(",", ":") + ",3"
1350
+ self.organModel.push(organName);
1351
+ self.organChange(self.organModel)
1352
+ } else if (row.length < self.noticeList.length) {
1353
+ let diff = ""
1354
+ let orgList = []
1355
+ for (let i = 0; i < self.noticeList.length; i++) {
1356
+ if (!row.includes(self.noticeList[i])) {
1357
+ diff = self.noticeList[i]
1358
+ }
1359
+ }
1360
+ diff = diff.replace(",", ":")
1361
+ self.organModel.forEach(organ => {
1362
+ if (organ.indexOf(diff) == -1) {
1363
+ orgList.push(organ)
1364
+ }
1365
+ })
1366
+ self.organModel = orgList
1367
+ self.noticeList = row
1368
+ }
1369
+ this.updateLength()
1370
+ },
1371
+ getReadingRangeUser(row) {
1372
+ let self = this
1373
+ self.userNum = "2"
1374
+ if (row.length > self.selectedKeys.length) {
1375
+ self.treeUserValue = row
1376
+ self.selectedKeys = row
1377
+ row = row.reverse()
1378
+ let organName = row[0].replace(",", ":") + ",2"
1379
+ self.organModel.push(organName);
1380
+ self.organChange(self.organModel)
1381
+ } else if (row.length < self.selectedKeys.length) {
1382
+ let diff = ""
1383
+ let orgList = []
1384
+ for (let i = 0; i < self.selectedKeys.length; i++) {
1385
+ if (!row.includes(self.selectedKeys[i])) {
1386
+ diff = self.selectedKeys[i]
1387
+ }
1388
+ }
1389
+ diff = diff.replace(",", ":")
1390
+ self.organModel.forEach(organ => {
1391
+ if (organ.indexOf(diff) == -1) {
1392
+ orgList.push(organ)
1393
+ }
1394
+ })
1395
+ self.organModel = orgList
1396
+ self.selectedKeys = row
1397
+ }
1398
+ this.updateLength()
1399
+ },
1400
+ getReadingRangePosts(row) {
1401
+ let self = this
1402
+ self.userNum = "2"
1403
+ if (row.length > self.postKeys.length) {
1404
+ self.treePostValue = row
1405
+ self.postKeys = row
1406
+ row = row.reverse()
1407
+ let organName = row[0].replace(",", ":") + ",4"
1408
+ self.organModel.push(organName);
1409
+ self.organChange(self.organModel)
1410
+ } else if (row.length < self.postKeys.length) {
1411
+ let diff = ""
1412
+ let orgList = []
1413
+ for (let i = 0; i < self.postKeys.length; i++) {
1414
+ if (!row.includes(self.postKeys[i])) {
1415
+ diff = self.postKeys[i]
1416
+ }
1417
+ }
1418
+ diff = diff.replace(",", ":")
1419
+ self.organModel.forEach(organ => {
1420
+ if (organ.indexOf(diff) == -1) {
1421
+ orgList.push(organ)
1422
+ }
1423
+ })
1424
+ self.organModel = orgList
1425
+ self.postKeys = row
1426
+ }
1427
+ this.updateLength()
1428
+ },
1429
+ organTreeRedis(row) {
1430
+ const user = sessionStorage.getItem('userInfo');
1431
+ const jsonArray = JSON.parse(user);
1432
+ if (row == 'undefined' || row == "all") {
1433
+
1434
+ ajax.get(this.smartFlowServerContext + "/manage/processDesign/getOrgan?orgId=" + (jsonArray.organId)
1435
+ ).then(resp => {
1436
+ if (resp.data.code === '200') {
1437
+ this.organTree = resp.data.data;
1438
+ }
1439
+ })
1440
+ } else {
1441
+
1442
+ let orgPermScope = row.substring(2, row.indexOf(","))
1443
+ orgPermScope = orgPermScope.split(';')
1444
+
1445
+ let userPermScope = row.substring(row.indexOf("U:"))
1446
+ userPermScope = userPermScope.substring(2, userPermScope.indexOf(","))
1447
+ userPermScope = userPermScope.split(';')
1448
+
1449
+ var rolePermScope = row.substring(row.indexOf("R:"))
1450
+ rolePermScope = rolePermScope.substring(2, rolePermScope.indexOf(","))
1451
+ rolePermScope = rolePermScope.split(';')
1452
+
1453
+ let postPermScope = row.substring(row.indexOf("P:"))
1454
+ postPermScope = postPermScope.substring(2, postPermScope.indexOf(","))
1455
+ postPermScope = postPermScope.split(';')
1456
+ ajax.get(this.upmsServerContext + "/manage/user/get/" + (jsonArray.accountUuid || jsonArray.userId))
1457
+ .then(resp => {
1458
+ this.organId = resp.data.data.organId
1459
+ ajax.get(this.smartFlowServerContext + "/manage/processDesign/getOrgan?orgId=" + (jsonArray.organId)
1460
+ ).then(resp => {
1461
+ if (resp.data.code === '200') {
1462
+ for (let key in resp.data.data.orgenMap) {
1463
+ for (let i = 0; i < orgPermScope.length; i++) {
1464
+ if (key == orgPermScope[i]) {
1465
+ const dataArr = [[key, resp.data.data.orgenMap[key]]]
1466
+
1467
+ for (let i = 0; i < dataArr.length; i++) {
1468
+ const [key, value] = dataArr[i];
1469
+ this.$set(this.organTree.orgenMap, key, value)
1470
+ }
1471
+ }
1472
+ }
1473
+ }
1474
+ for (let key in resp.data.data.userMap) {
1475
+ for (let i = 0; i < userPermScope.length; i++) {
1476
+ if (key == userPermScope[i]) {
1477
+ const dataArr = [[key, resp.data.data.userMap[key]]]
1478
+ for (let i = 0; i < dataArr.length; i++) {
1479
+ const [key, value] = dataArr[i];
1480
+ this.$set(this.organTree.userMap, key, value)
1481
+ }
1482
+ }
1483
+ }
1484
+ }
1485
+
1486
+ for (let key in resp.data.data.roleMap) {
1487
+ for (let i = 0; i < rolePermScope.length; i++) {
1488
+ if (key == rolePermScope[i]) {
1489
+ const dataArr = [[key, resp.data.data.roleMap[key]]]
1490
+
1491
+ for (let i = 0; i < dataArr.length; i++) {
1492
+ const [key, value] = dataArr[i];
1493
+ this.$set(this.organTree.roleMap, key, value)
1494
+ }
1495
+ }
1496
+ }
1497
+ }
1498
+
1499
+ for (let key in resp.data.data.postMap) {
1500
+ for (let i = 0; i < postPermScope.length; i++) {
1501
+ if (key == postPermScope[i]) {
1502
+ const dataArr = [[key, resp.data.data.postMap[key]]]
1503
+
1504
+ for (let i = 0; i < dataArr.length; i++) {
1505
+ const [key, value] = dataArr[i];
1506
+ this.$set(this.organTree.postMap, key, value)
1507
+ }
1508
+ }
1509
+ }
1510
+ }
1511
+ }
1512
+ })
1513
+
1514
+ })
1515
+ }
1516
+
1517
+
1518
+ },
1519
+ organChange(event) {
1520
+ this.organModel = []
1521
+ let orgValue = []
1522
+ let userValue = []
1523
+ let roleValue = []
1524
+ let postValue = []
1525
+ let orgAdjustment = ""
1526
+ let userAdjustment = ""
1527
+ let roleAdjustment = ""
1528
+ let postAdjustment = ""
1529
+ event.forEach(item => {
1530
+ let nameType = item.substring(item.indexOf(":") + 1)
1531
+ nameType = nameType.substring(nameType.indexOf(",") + 1)
1532
+ if (nameType == "1") {
1533
+ orgAdjustment = "1"
1534
+ this.organModel.push(item)
1535
+ orgValue.push({
1536
+ name: item.substring(item.indexOf(":") + 1, item.indexOf(",")),
1537
+ organId: item.substring(0, item.indexOf(":")),
1538
+ code: item.substring(0, item.indexOf(":")),
1539
+ checked: true
1540
+ })
1541
+ } else if (nameType != "1") {
1542
+ orgAdjustment = "1"
1543
+ }
1544
+ if (nameType == "2") {
1545
+ userAdjustment = "2"
1546
+ this.organModel.push(item)
1547
+ let user = item.substring(0, item.indexOf(","))
1548
+ user = user.replace(":", ",")
1549
+ userValue.push(user)
1550
+ } else if (nameType != "2") {
1551
+ userAdjustment = "2"
1552
+ }
1553
+ if (nameType == "3") {
1554
+ roleAdjustment = "3"
1555
+ this.organModel.push(item)
1556
+ let user = item.substring(0, item.indexOf(","))
1557
+ user = user.substring(user.indexOf(":") + 1)
1558
+ roleValue.push(user)
1559
+ } else if (nameType != "3") {
1560
+ roleAdjustment = "3"
1561
+ }
1562
+ if (nameType == "4") {
1563
+ postAdjustment = "4"
1564
+ let postItem = item.substring(0, item.indexOf(","))
1565
+ postItem = postItem.replace(":", ",")
1566
+ this.organModel.push(item)
1567
+ postValue.push(postItem)
1568
+ } else if (nameType != "4") {
1569
+ postAdjustment = "4"
1570
+ }
1571
+
1572
+ // 执行需要的操作
1573
+ });
1574
+ if (event.length == 0) {
1575
+ orgAdjustment = '1'
1576
+ userAdjustment = '2'
1577
+ roleAdjustment = '3'
1578
+ postAdjustment = '4'
1579
+ this.noticeRoleList = []
1580
+ }
1581
+ if (this.userNum != "1") {
1582
+ if (orgAdjustment == "1") {
1583
+ this.treeValueBM = orgValue
1584
+ }
1585
+ if (userAdjustment == "2") {
1586
+ this.treeUserValue = userValue
1587
+ }
1588
+ if (roleAdjustment == "3") {
1589
+ this.noticeRoleNameList = roleValue
1590
+ }
1591
+ if (postAdjustment == "4") {
1592
+ this.treePostValue = postValue
1593
+ }
1594
+ }
1595
+ this.userNum = "2"
1596
+ this.updateLength()
1597
+ },
1598
+ organTreeRedisUpdate() {
1599
+ const user = sessionStorage.getItem('userInfo');
1600
+ const jsonArray = JSON.parse(user);
1601
+ if (this.permScope == "all" || this.permScope == "undefined") {
1602
+ this.loading = true;
1603
+ ajax.get(this.smartFlowServerContext + "/manage/processDesign/getOrgan?orgId=" + (jsonArray.organId)
1604
+ ).then(resp => {
1605
+ if (resp.data.code === '200') {
1606
+ this.organTree = resp.data.data;
1607
+ this.loading = false;
1608
+ } else {
1609
+ this.loading = false;
1610
+ }
1611
+ })
1612
+ } else {
1613
+ this.loading = true;
1614
+ let orgPermScope = this.permScope.substring(2, this.permScope.indexOf(","))
1615
+ orgPermScope = orgPermScope.split(';')
1616
+
1617
+ let userPermScope = this.permScope.substring(this.permScope.indexOf("U:"))
1618
+ userPermScope = userPermScope.substring(2, userPermScope.indexOf(","))
1619
+ userPermScope = userPermScope.split(';')
1620
+
1621
+ let rolePermScope = this.permScope.substring(this.permScope.indexOf("R:"))
1622
+ rolePermScope = rolePermScope.substring(2, rolePermScope.indexOf(","))
1623
+ rolePermScope = rolePermScope.split(';')
1624
+
1625
+ let postPermScope = this.permScope.substring(this.permScope.indexOf("P:"))
1626
+ postPermScope = postPermScope.substring(2, postPermScope.indexOf(","))
1627
+ postPermScope = postPermScope.split(';')
1628
+ ajax.get(this.upmsServerContext + "/manage/user/get/" + (jsonArray.accountUuid || jsonArray.userId))
1629
+ .then(resp => {
1630
+ this.organId = resp.data.data.permitOrganId
1631
+ ajax.get(this.smartFlowServerContext + "/manage/processDesign/getOrgan?orgId=" + this.organId
1632
+ ).then(resp => {
1633
+ if (resp.data.code === '200') {
1634
+ for (let key in resp.data.data.orgenMap) {
1635
+ for (let i = 0; i < orgPermScope.length; i++) {
1636
+ if (key == orgPermScope[i]) {
1637
+ const dataArr = [[key, resp.data.data.orgenMap[key]]]
1638
+
1639
+ for (let i = 0; i < dataArr.length; i++) {
1640
+ const [key, value] = dataArr[i];
1641
+ this.$set(this.organTree.orgenMap, key, value)
1642
+ }
1643
+ }
1644
+ }
1645
+ }
1646
+ for (let key in resp.data.data.userMap) {
1647
+ for (let i = 0; i < userPermScope.length; i++) {
1648
+ if (key == userPermScope[i]) {
1649
+ const dataArr = [[key, resp.data.data.userMap[key]]]
1650
+ for (let i = 0; i < dataArr.length; i++) {
1651
+ const [key, value] = dataArr[i];
1652
+ this.$set(this.organTree.userMap, key, value)
1653
+ }
1654
+ }
1655
+ }
1656
+ }
1657
+
1658
+ for (let key in resp.data.data.roleMap) {
1659
+ for (let i = 0; i < rolePermScope.length; i++) {
1660
+ if (key == rolePermScope[i]) {
1661
+ const dataArr = [[key, resp.data.data.roleMap[key]]]
1662
+
1663
+ for (let i = 0; i < dataArr.length; i++) {
1664
+ const [key, value] = dataArr[i];
1665
+ this.$set(this.organTree.roleMap, key, value)
1666
+ }
1667
+ }
1668
+ }
1669
+ }
1670
+
1671
+ for (let key in resp.data.data.postMap) {
1672
+ for (let i = 0; i < postPermScope.length; i++) {
1673
+ if (key == postPermScope[i]) {
1674
+ const dataArr = [[key, resp.data.data.postMap[key]]]
1675
+
1676
+ for (let i = 0; i < dataArr.length; i++) {
1677
+ const [key, value] = dataArr[i];
1678
+ this.$set(this.organTree.postMap, key, value)
1679
+ }
1680
+ }
1681
+ }
1682
+ }
1683
+ this.loading = false;
1684
+ this.$Message.success("更新查询数据成功!")
1685
+ } else {
1686
+ // this.$Message.error(resp.data.data);
1687
+ console.log(resp.data.data);
1688
+ this.loading = false;
1689
+ }
1690
+ })
1691
+
1692
+ })
1693
+ }
1694
+ },
1695
+ readingRangeEmpty() {
1696
+ this.treeValueBM.forEach(item => {
1697
+ item.checked = false
1698
+ })
1699
+ // this.treeUserCenterValue =[];
1700
+ this.treeValueBM = [];
1701
+ this.treeUserValue = [];
1702
+ //角色集合
1703
+ this.noticeRoleList = [];
1704
+ this.noticeRoleNameList = [];
1705
+ this.selectedKeys = []
1706
+ //岗位集合
1707
+ this.postList = [];
1708
+ this.treePostValue = [];
1709
+ this.processPostList = [];
1710
+ this.treeLength = 0
1711
+ this.organModel = []
1712
+ this.postKeys = []
1713
+ //组织类型集合
1714
+ this.treeOrgTypeValue.forEach(item =>{
1715
+ item.checked = false
1716
+ })
1717
+ this.treeOrgTypeValue = [];
1718
+ },
1719
+ updateLength() {
1720
+ this.treeLength = this.treeValueBM.length + this.treeUserValue.length + this.noticeRoleNameList.length + this.treePostValue.length + this.treeOrgTypeValue.length
1721
+ },
1722
+ clearCache() {
1723
+ this.readingRangeBM = []
1724
+ this.readingRange = []
1725
+ this.roleList = []
1726
+ this.readingRangePost = []
1727
+ this.treeUserCenterValue = []
1728
+ this.treePostCenterValue = []
1729
+ this.treeValueBM.forEach(item => {
1730
+ item.checked = false
1731
+ })
1732
+ this.treeValueBM = [];
1733
+ this.treeUserValue = [];
1734
+ //角色集合
1735
+ this.noticeRoleList = [];
1736
+ this.noticeRoleNameList = [];
1737
+ this.selectedKeys = []
1738
+ //岗位集合
1739
+ this.postList = [];
1740
+ this.treePostValue = [];
1741
+ this.processPostList = [];
1742
+ this.treeLength = 0
1743
+ this.organModel = []
1744
+ this.postKeys = []
1745
+ //组织类型
1746
+ this.readingRangeOrgType = []
1747
+ this.readingRangeOrgType.forEach(item => {
1748
+ item.checked = false
1749
+ })
1750
+ this.treeOrgTypeValue = [];
1751
+ },
1752
+ getSystemConfig(){
1753
+ const self = this
1754
+ ajax.get(self.smartFlowServerContext + '/anon/systemConfig/getSystemConfig').then(function (resp) {
1755
+ const result = resp.data;
1756
+ if (result && result.code === '200') {
1757
+ self.ucAdapterType = result.data.ucAdapterType
1758
+ }
1759
+ }).catch(err => {
1760
+ console.log(err);
1761
+ })
1762
+ },
1763
+ toggleShowHelpBox(permScope, inputValue, organTreeType, id) {
1764
+ this.clearCache()
1765
+ this.id = id
1766
+ this.permScope = permScope
1767
+ this.organTreeType = organTreeType
1768
+ this.organTreeRedis(this.permScope)
1769
+ if (inputValue){
1770
+ this.getOrgan(inputValue)
1771
+ this.getUser(inputValue)
1772
+ this.getRole(inputValue)
1773
+ this.ucAdapterType === 'x1' ? this.getPost(inputValue) : this.getOrgType(inputValue)
1774
+ }
1775
+ if (this.permScope == 'all'){
1776
+ this.getRootOrganTree(organTreeType)
1777
+ this.ucAdapterType === 'sc' ? this.getReadingRangeOrgType(permScope, organTreeType) : ''
1778
+ } else {
1779
+ this.getReadingRangeBM(this.permScope, inputValue, this.organTreeType)
1780
+ this.getReadingRange(this.permScope, this.organTreeType)
1781
+ this.ucAdapterType === 'x1' ? this.getReadingRangePost(this.permScope, this.organTreeType) : this.getReadingRangeOrgType(this.permScope, this.organTreeType)
1782
+ }
1783
+ this.getReadingRangeAllRole(this.permScope)
1784
+ this.modalBoxShow = !this.modalBoxShow;
1785
+ },
1786
+ onOk() {
1787
+ let organ = [];
1788
+ let names = [];
1789
+ let organs = [];
1790
+ this.treeValueBM.forEach(item => {
1791
+ organ.push(item.code)
1792
+ names.push(item.name)
1793
+ organs.push(item.code + ':' + item.name)
1794
+ })
1795
+ let nameValue = [];
1796
+ let users = [];
1797
+ this.treeUserValue.forEach(item => {
1798
+ nameValue.push(item.split(',')[0])
1799
+ names.push(item.split(',')[1])
1800
+ users.push(item.split(',')[0] + ':' + item.split(',')[1])
1801
+ })
1802
+ let roleList = [];
1803
+ let roles = [];
1804
+ this.noticeRoleList.forEach(item => {
1805
+ roleList.push(item.split(',')[0])
1806
+ names.push(item.split(',')[1])
1807
+ roles.push(item.split(',')[0] + ':' + item.split(',')[1])
1808
+ })
1809
+ let postList = [];
1810
+ let positions = [];
1811
+ this.treePostValue.forEach(item => {
1812
+ postList.push(item.split(',')[0])
1813
+ names.push(item.split(',')[1])
1814
+ positions.push(item.split(',')[0] + ':' + item.split(',')[1])
1815
+ })
1816
+ let orgTypeList = [];
1817
+ let orgTypes = [];
1818
+ this.treeOrgTypeValue.forEach(item => {
1819
+ orgTypeList.push(item.bizTypeCode)
1820
+ names.push(item.typeName)
1821
+ orgTypes.push(item.bizTypeCode + ':' + item.typeName)
1822
+ })
1823
+ let value = 'O:' + organ.join(";") + "," + "U:" + nameValue.join(";") + "," + "P:" + postList.join(";") + "," + "R:" + roleList.join(";") + "," + "RP:,T:" + orgTypeList.join(";");
1824
+ let nameStr = names.join(",")
1825
+ let detail = {
1826
+ organs: organs.join(","),
1827
+ users: users.join(","),
1828
+ roles: roles.join(","),
1829
+ positions: positions.join(","),
1830
+ types: orgTypes.join(","),
1831
+ }
1832
+ this.$emit('update-cand-groups', value, nameStr, detail, this.id);
1833
+ this.modalBoxShow = false;
1834
+ },
1835
+ findTitleByValue(arr, value) {
1836
+ function traverse(items) {
1837
+ for (let item of items) {
1838
+ if (item.value === value) {
1839
+ return item.title;
1840
+ }
1841
+ if (item.children && item.children.length > 0) {
1842
+ let result = traverse(item.children);
1843
+ if (result) {
1844
+ return result;
1845
+ }
1846
+ }
1847
+ }
1848
+ return '';
1849
+ }
1850
+
1851
+ return traverse(arr);
1852
+ },
1853
+ indexToString(index) {
1854
+ return index + ''
1855
+ },
1856
+ showUserDetail(item){
1857
+ if (item.nameItem && item.organName){
1858
+ return `( ${item.nameItem} , ${item.organName} )`
1859
+ }
1860
+ }
1861
+ },
1862
+ };
1863
+ </script>
1864
+
1865
+ <style scoped>
1866
+ .relativePositionAddButton {
1867
+ float: right;
1868
+ margin-top: 20px;
1869
+ }
1870
+
1871
+ .relativePositionRemoveButton {
1872
+ float: right;
1873
+ margin: 2px;
1874
+ }
1875
+
1876
+ .cont {
1877
+ display: flex;
1878
+ justify-content: left;
1879
+ margin-top: 10px;
1880
+ }
1881
+
1882
+ .contLeft {
1883
+ flex: 0 0 40%;
1884
+ z-index: 1;
1885
+ margin-right: 10px
1886
+ }
1887
+
1888
+ .contRight {
1889
+ flex: 0 0 30%;
1890
+ margin-top: 33.98px;
1891
+ }
1892
+
1893
+ .checkbox-container {
1894
+ display: flex;
1895
+ flex-direction: column;
1896
+ line-height: 30px;
1897
+ }
1898
+
1899
+ .overflowAuto {
1900
+ height: 600px;
1901
+ overflow-y: auto;
1902
+ }
1903
+
1904
+ .contLeftTwo {
1905
+ flex: 0 0 50%;
1906
+ z-index: 1;
1907
+ margin-right: 10px;
1908
+ }
1909
+
1910
+ .contRightTwo {
1911
+ flex: 0 0 49%;
1912
+ margin-top: 30px;
1913
+ }
1914
+
1915
+ /deep/ .ivu-checkbox-input {
1916
+ width: 136px;
1917
+ }
1918
+ </style>