@lambo-design/workflow-approve 1.0.0-beta.35 → 1.0.0-beta.36

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.
@@ -1,2072 +1,2072 @@
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.upmsServerContext + '/manage/ucOrgan/getOrgSubNodes', {
402
- params: {
403
- organCode: 'rootId',
404
- orgTreeType: organTreeType
405
- }
406
- }).then(resp => {
407
- if (resp.data.code === 1) {
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.organId
414
- obj.orders = item.orders
415
- obj.title = item.organName
416
- obj.name = item.organName
417
- obj.com = item.com
418
- obj.code = item.organCode
419
- obj.loading = false
420
- obj.children = []
421
- obj.hasChild = true
422
- organTreeList.push(obj)
423
- })
424
- }
425
- organTree.push(organTreeList);
426
- //去重
427
- const codesSeen = new Map();
428
- organTree = organTree.reduce((acc, item, index) => {
429
- if (!codesSeen.has(item.code)) {
430
- codesSeen.set(item.code, index);
431
- acc.push(item);
432
- }
433
- return acc;
434
- }, []);
435
- self.readingRangeBM = JSON.parse(JSON.stringify(organTree))
436
- self.readingRange = JSON.parse(JSON.stringify(organTree))
437
- self.readingRangePost = JSON.parse(JSON.stringify(organTree))
438
- }
439
- })
440
- } else {
441
- ajax.get(self.upmsServerContext + '/manage/ucOrgan/getOrgRootTree', {
442
- params: {
443
- treeTypeId: organTreeType
444
- }
445
- }).then(resp => {
446
- if (resp.data.code === 1) {
447
- let data = resp.data.data
448
- if (data.length > 0) {
449
- data.forEach(item => {
450
- let obj = {}
451
- obj.type = item.organType
452
- obj.id = item.organId
453
- obj.orders = item.orders
454
- obj.title = item.organName
455
- obj.name = item.organName
456
- obj.com = item.com
457
- obj.code = item.organCode
458
- obj.loading = false
459
- obj.children = []
460
- obj.hasChild = true
461
- organTreeList.push(obj)
462
- })
463
- }
464
- organTree.push(organTreeList);
465
- //去重
466
- const codesSeen = new Map();
467
- organTree = organTree.reduce((acc, item, index) => {
468
- if (!codesSeen.has(item.code)) {
469
- codesSeen.set(item.code, index);
470
- acc.push(item);
471
- }
472
- return acc;
473
- }, []);
474
- self.readingRangeBM = JSON.parse(JSON.stringify(organTree))
475
- self.readingRange = JSON.parse(JSON.stringify(organTree))
476
- self.readingRangePost = JSON.parse(JSON.stringify(organTree))
477
- }
478
- })
479
- }
480
- },
481
- //获取组织
482
- getReadingRangeBM(row, info, organTreeType) {
483
- let self = this
484
- let childsTree = []
485
- let permScopeTwo = row.substring(2, row.indexOf(","))
486
- if (permScopeTwo.length > 0) {
487
- permScopeTwo = permScopeTwo.split(';')
488
- for (let i = 0; i < permScopeTwo.length; i++) {
489
- ajax.get(self.upmsServerContext + '/manage/ucOrgan/getParentOrgInfo?organCode=' + permScopeTwo[i] + '&orgTreeType=' + self.organTreeType)
490
- .then(resp => {
491
- if (resp.data.code === 1 || resp.data.code === 200){
492
- let orgCode = resp.data.data.organCode
493
- ajax.get(self.upmsServerContext + '/manage/ucOrgan/getOrgSubNodes?organCode=' + orgCode + '&orgTreeType=' + organTreeType).then(function (resp) {
494
- if (resp.data.code === 1) {
495
- let data = resp.data.data
496
- if (data && data.length > 0) {
497
- data.forEach(item => {
498
- if (item.organCode === permScopeTwo[i]) {
499
- let obj = {}
500
- obj.type = item.organType
501
- obj.id = item.organId
502
- obj.orders = item.orders
503
- obj.title = item.organName
504
- obj.name = item.organName
505
- obj.com = item.com
506
- obj.code = item.organCode
507
- obj.loading = false
508
- obj.children = []
509
- obj.hasChild = true
510
- childsTree.push(obj)
511
- }
512
- })
513
- }
514
- }
515
- })
516
- } else if (resp.data.data === '11006'){
517
- //当前组织无父节点
518
- let params = {
519
- orgTreeType: organTreeType,
520
- }
521
- ajax.post(self.upmsServerContext + "/manage/org/get/" + permScopeTwo[i], params)
522
- .then(resp => {
523
- let data = resp.data.data
524
- let obj = {}
525
- obj.type = data.organType
526
- obj.id = data.organId
527
- obj.orders = data.orders
528
- obj.title = data.organName
529
- obj.name = data.organName
530
- obj.com = data.com
531
- obj.code = data.organCode
532
- obj.loading = false
533
- obj.children = []
534
- obj.hasChild = true
535
- childsTree.push(obj)
536
- })
537
- }
538
- })
539
- }
540
- self.readingRangeBM.push(childsTree)
541
- const codesSeen = new Map();
542
- self.readingRangeBM = self.readingRangeBM.reduce((acc, item, index) => {
543
- if (!codesSeen.has(item.code)) {
544
- codesSeen.set(item.code, index);
545
- acc.push(item);
546
- }
547
- return acc;
548
- }, []);
549
- }
550
- },
551
- //获取人员树信息
552
- getReadingRange(row, organTreeType) {
553
- let self = this
554
- let childsTree = []
555
- let treeValue = []
556
- var permScope = row.substring(row.indexOf("U:"))
557
- permScope = permScope.substring(2, permScope.indexOf(","))
558
- let permScopeTwo = permScope.split(';')
559
- for (let i = 0; i < permScopeTwo.length; i++) {
560
- ajax.get(self.upmsServerContext + "/manage/user/get/" + permScopeTwo[i] + '?treeType=' + organTreeType)
561
- .then(resp => {
562
- if (resp.data.code == 1) {
563
- let organCode = resp.data.data.organCode
564
- ajax.get(self.upmsServerContext + '/manage/ucOrgan/getParentOrgInfo?organCode=' + organCode + '&orgTreeType=' + organTreeType)
565
- .then(resp => {
566
- if (resp.data.code === 1 || resp.data.code === 200){
567
- let orgCode = resp.data.data.organCode
568
- ajax.get(self.upmsServerContext + '/manage/ucOrgan/getOrgSubNodes?organCode=' + orgCode + '&orgTreeType=' + organTreeType).then(function (resp) {
569
- if (resp.data.code === 1) {
570
- let data = resp.data.data
571
- if (data && data.length > 0) {
572
- data.forEach(item => {
573
- if (item.organCode == organCode) {
574
- let obj = {}
575
- obj.type = item.organType
576
- obj.id = item.organId
577
- obj.orders = item.orders
578
- obj.title = item.organName
579
- obj.name = item.organName
580
- obj.com = resp.data.data.organId
581
- obj.code = item.organCode
582
- obj.loading = false
583
- obj.checked = false
584
- obj.children = []
585
- obj.hasChild = true
586
- childsTree.push(obj)
587
- }
588
- })
589
- }
590
- const map = new Map()
591
- treeValue = childsTree.filter((item) => {
592
- return !map.has(item.code) && map.set(item.code, true)
593
- })
594
- if (i === permScopeTwo.length - 1) {
595
- self.readingRange.push(treeValue)
596
- const codesSeen = new Map();
597
- self.readingRange = self.readingRange.reduce((acc, item, index) => {
598
- if (!codesSeen.has(item.code)) {
599
- codesSeen.set(item.code, index);
600
- acc.push(item);
601
- }
602
- return acc;
603
- }, []);
604
- }
605
- }
606
- })
607
- } else if (resp.data.data === 11006){
608
- //当前组织无父节点
609
- let params = {
610
- orgTreeType: organTreeType,
611
- }
612
- ajax.post(self.upmsServerContext + "/manage/org/get/" + organCode, params)
613
- .then(resp => {
614
- let data = resp.data.data
615
- let obj = {}
616
- obj.type = data.organType
617
- obj.id = data.organId
618
- obj.orders = data.orders
619
- obj.title = data.organName
620
- obj.name = data.organName
621
- obj.com = data.organId
622
- obj.code = data.organCode
623
- obj.loading = false
624
- obj.checked = false
625
- obj.children = []
626
- obj.hasChild = true
627
- childsTree.push(obj)
628
-
629
- const map = new Map()
630
- treeValue = childsTree.filter((item) => {
631
- return !map.has(item.code) && map.set(item.code, true)
632
- })
633
- if (i === permScopeTwo.length-1){
634
- self.readingRange.push(treeValue)
635
- const codesSeen = new Map();
636
- self.readingRange = self.readingRange.reduce((acc, item, index) => {
637
- if (!codesSeen.has(item.code)) {
638
- codesSeen.set(item.code, index);
639
- acc.push(item);
640
- }
641
- return acc;
642
- }, []);
643
- }
644
- })
645
- }
646
- })
647
- }
648
- })
649
- }
650
-
651
- },
652
- //获取角色列表
653
- getReadingRangeAllRole: function (row) {
654
- let self = this;
655
- self.roleList = []
656
- if (row == 'undefined' || row == "all") {
657
- self.optionRoleArr = [];
658
- ajax.get(self.smartFlowServerContext + "/manage/processDesign/getrolesbyUserId")
659
- .then(function (resp) {
660
- if (resp.data.data.code === 200) {
661
- resp.data.data.data.forEach(role => {
662
- self.roleList.push(role);
663
- const codesSeen = new Map();
664
- self.roleList = self.roleList.reduce((acc, item, index) => {
665
- if (!codesSeen.has(item.roleId)) {
666
- codesSeen.set(item.roleId, index);
667
- acc.push(item);
668
- }
669
- return acc;
670
- }, []);
671
- })
672
-
673
- }
674
- });
675
- } else {
676
- var permScope = row.substring(row.indexOf("R:"))
677
- permScope = permScope.substring(2, permScope.indexOf(","))
678
- permScope = permScope.split(';')
679
- self.optionRoleArr = [];
680
- ajax.get(self.smartFlowServerContext + "/manage/processDesign/getrolesbyUserId")
681
- .then(function (resp) {
682
- if (resp.data.data.code === 200) {
683
- resp.data.data.data.forEach(role => {
684
- permScope.forEach(perm => {
685
- if (role.roleId == perm) {
686
- self.roleList.push(role);
687
- const codesSeen = new Map();
688
- self.roleList = self.roleList.reduce((acc, item, index) => {
689
- if (!codesSeen.has(item.roleId)) {
690
- codesSeen.set(item.roleId, index);
691
- acc.push(item);
692
- }
693
- return acc;
694
- }, []);
695
- }
696
- })
697
-
698
- })
699
-
700
- }
701
- });
702
- }
703
- },
704
- //获取岗位
705
- getReadingRangePost(row, organTreeType) {
706
- let self = this
707
- let childsTree = []
708
- let treeValue = []
709
- var permScope = row.substring(row.indexOf("P:"))
710
- permScope = permScope.substring(2, permScope.indexOf(","))
711
- if (permScope.length > 0) {
712
- let permScopeTwo = permScope.split(';')
713
- for (let i = 0; i < permScopeTwo.length; i++) {
714
- ajax.get(self.smartFlowServerContext + "/manage/position/get?positionId=" + permScopeTwo[i])
715
- .then(resp => {
716
- if (resp.data.code == 200) {
717
- let organCode = resp.data.data.orgCode
718
- if (organCode) {
719
- ajax.get(self.upmsServerContext + '/manage/ucOrgan/getParentOrgInfo?organCode=' + organCode + '&orgTreeType=' + organTreeType)
720
- .then(resp => {
721
- let orgCode = resp.data.data.organCode
722
- ajax.get(self.upmsServerContext + '/manage/ucOrgan/getOrgSubNodes?organCode=' + orgCode + '&orgTreeType=' + organTreeType).then(function (resp) {
723
- if (resp.data.code === 1) {
724
- let data = resp.data.data
725
- if (data.length > 0) {
726
- data.forEach(item => {
727
- if (item.organCode == organCode) {
728
- let obj = {}
729
- obj.type = item.organType
730
- obj.id = item.organId
731
- obj.orders = item.orders
732
- obj.title = item.organName
733
- obj.name = item.organName
734
- obj.com = resp.data.data.organId
735
- obj.code = item.organCode
736
- obj.loading = false
737
- obj.checked = false
738
- obj.children = []
739
- obj.hasChild = true
740
- const isExist = childsTree.find(item => item.code === obj.code)
741
- if (!isExist) {
742
- childsTree.push(obj)
743
- }
744
- }
745
- })
746
- }
747
- const map = new Map()
748
- treeValue = childsTree.filter((item) => {
749
- return !map.has(item.code) && map.set(item.code, true)
750
- })
751
- if (i === permScopeTwo.length - 1) {
752
- self.readingRangePost.push(treeValue)
753
- const codesSeen = new Map();
754
- self.readingRangePost = self.readingRangePost.reduce((acc, item, index) => {
755
- if (!codesSeen.has(item.code)) {
756
- codesSeen.set(item.code, index);
757
- acc.push(item);
758
- }
759
- return acc;
760
- }, []);
761
- }
762
- }
763
- })
764
- })
765
- } else {
766
- //适配云庭选择岗位
767
- if (i === permScopeTwo.length - 1) {
768
- const data = resp.data.data
769
- let array = [{code: data.orgCode}]
770
- self.selectReRaYHChangePost(array, array)
771
- }
772
- }
773
- }
774
- })
775
- }
776
- }
777
- },
778
- //获取组织类型
779
- getReadingRangeOrgType(row, organTreeType) {
780
- let self = this
781
- let childsTree = []
782
- if (row == 'undefined' || row == "all"){
783
- let params = {
784
- orgTreeType: organTreeType
785
- }
786
- ajax.get(self.upmsServerContext + "/manage/bizorgan/qryOrgTypeList", {params: params}).then(function (resp) {
787
- if (resp.data.code === 1 || resp.data.code === 200) {
788
- let data = resp.data.data;
789
- if (data.length > 0) {
790
- data.forEach(item => {
791
- self.formatOrgTypeData(item, childsTree)
792
- })
793
- }
794
- self.readingRangeOrgType.push(childsTree);
795
- } else {
796
- self.$Message.error(resp.data.message)
797
- }
798
- })
799
- } else {
800
- var permScope = row.substring(row.indexOf("T:") + 2)
801
- if (permScope.length > 0) {
802
- let permScopeTwo = permScope.split(';')
803
- for (let i = 0; i < permScopeTwo.length; i++) {
804
- let params = {
805
- organTypeCode: permScopeTwo[i],
806
- orgTreeType: organTreeType
807
- }
808
- ajax.get(self.upmsServerContext + "/manage/bizorgan/qryOrgTypeByCode",{params : params}).then(resp => {
809
- if (resp.data.code === 1 || resp.data.code === 200) {
810
- let data = resp.data.data
811
- if (data) {
812
- self.formatOrgTypeData(resp.data.data, childsTree)
813
- }
814
- self.readingRangeOrgType.push(childsTree)
815
- const codesSeen = new Map();
816
- self.readingRangeOrgType = self.readingRangeOrgType.reduce((acc, item, index) => {
817
- if (!codesSeen.has(item.bizTypeId)) {
818
- codesSeen.set(item.bizTypeId, index);
819
- acc.push(item);
820
- }
821
- return acc;
822
- }, []);
823
- } else {
824
- self.$Message.error(resp.data.message)
825
- }
826
- })
827
- }
828
- }
829
- }
830
- },
831
- formatOrgTypeData(item, childsTree){
832
- let obj = {}
833
- obj.bizOrganTreeType = item.bizOrganTreeType
834
- obj.bizTypeCode = item.bizTypeCode
835
- obj.bizTypeId = item.bizTypeId
836
- obj.parentTypeCode = item.parentTypeCode
837
- obj.parentTypeId = item.parentTypeId
838
- obj.parentTypeName = item.parentTypeName
839
- obj.typeName = item.typeName
840
- obj.title = item.typeName
841
- obj.name = item.typeName
842
- obj.orders = item.orders
843
- obj.loading = false
844
- obj.children = []
845
- obj.hasChild = true
846
- if (item.children && item.children.length > 0){
847
- item.children.forEach(child => {
848
- this.formatOrgTypeData(child, obj.children)
849
- })
850
- }
851
- childsTree.push(obj)
852
- },
853
-
854
- loadTreeSelectData(data, callback) {
855
- const self = this
856
- const result = [];
857
- if (this.organTreeType === '00') {
858
- ajax.get(self.upmsServerContext + '/manage/orgType/qryOrgTypeList?parentType=' + data.value).then(function (resp) {
859
- if (resp.data.code == 1 && resp.data.data.rows.length > 0) {
860
- resp.data.data.rows.forEach(item => {
861
- const {typeName, organType} = item;
862
- result.push({title: typeName, value: organType, loading: false, children: []})
863
- })
864
- data.children = result
865
- callback(result);
866
- }
867
- }).catch(err => {
868
- console.log(err);
869
- })
870
- } else {
871
- ajax.get(self.upmsServerContext + '/manage/bizorgan/getOrgTree?bizOrganTreeType=' + this.organTreeType + '&parentId=' + data.value).then(function (resp) {
872
- if (resp.data.code == 1 && resp.data.data.length > 0) {
873
- resp.data.data.forEach(item => {
874
- const {bizOrganId, bizOrganName} = item;
875
- result.push({title: bizOrganName, value: bizOrganId, loading: false, children: []})
876
- })
877
- data.children = result
878
- callback(result);
879
- }
880
- }).catch(err => {
881
- console.log(err);
882
- })
883
- }
884
- self.$delete(data, 'loading')
885
- },
886
-
887
- //权限范围组织部门单条删除
888
- readingRangeDepDel(res, info) {
889
- this.treeValueBM[res].checked = false;
890
- this.treeValueBM.splice(res, 1)
891
-
892
- let orgList = []
893
- let organList = []
894
-
895
- orgList.push(info)
896
- this.organModel.forEach(organ => {
897
- if (organ.indexOf(info.code) == -1) {
898
- organList.push(organ)
899
- }
900
- })
901
- this.userNum = "1"
902
- this.organModel = organList
903
-
904
-
905
- this.updateLength();
906
- },
907
- //权限范围人员单条删除
908
- readingRangeScPerDel(res, info) {
909
- this.treeUserValue.splice(res, 1)
910
- this.selectedKeys.splice(res, 1)
911
- let orgList = []
912
- let organList = []
913
- orgList.push(info)
914
- info = info.replace(",", ":")
915
- this.organModel.forEach(organ => {
916
- if (organ.indexOf(info) == -1) {
917
- organList.push(organ)
918
- }
919
- })
920
- this.organModel = organList
921
- this.updateLength();
922
- },
923
- //角色单条删除
924
- noticeRoleNameListDel(res) {
925
- let processList = [];
926
- for (let i = 0; i < this.noticeRoleList.length; i++) {
927
- if (this.noticeRoleList[i].split(',')[1] !== res) {
928
- processList.push(this.noticeRoleList[i])
929
- }
930
- }
931
- this.noticeRoleList = processList
932
- if (this.noticeRoleNameList.indexOf(res) !== -1) {
933
- this.noticeRoleNameList.splice(this.noticeRoleNameList.indexOf(res), 1)
934
- }
935
- let organList = []
936
- this.organModel.forEach(organ => {
937
- if (organ.indexOf(res) == -1) {
938
- organList.push(organ)
939
- }
940
- })
941
- this.organModel = organList
942
-
943
- this.updateLength();
944
- },
945
- //岗位单条删除
946
- processPostDel(res) {
947
- this.treePostValue.splice(res, 1)
948
- this.postKeys.splice(res, 1)
949
- let organList = []
950
- res = res.replace(",", ":")
951
- this.organModel.forEach(organ => {
952
- if (organ.indexOf(res) == -1) {
953
- organList.push(organ)
954
- }
955
- })
956
- this.organModel = organList
957
- // let processPostList = [];
958
- // for (let i = 0; i < this.processPostList.length; i++) {
959
- // if (this.processPostList[i].split(',')[1] !== res) {
960
- // processPostList.push(this.processPostList[i])
961
- // }
962
- // }
963
- // this.processPostList = processPostList
964
- // if(this.postList.indexOf(res) !== -1){
965
- // this.postList.splice(this.postList.indexOf(res), 1)
966
- // }
967
- this.updateLength();
968
- },
969
- //部门单条删除
970
- processOrgTypeDel(res, info) {
971
- this.treeOrgTypeValue[res].checked = false;
972
- this.treeOrgTypeValue.splice(res, 1)
973
- this.userNum = "1"
974
- this.updateLength();
975
- },
976
-
977
- dataNameClick(data) {
978
- this.dataName = data
979
- },
980
-
981
- selectOrgChange(node) {
982
- let self = this
983
- if (node.length > 0) {
984
- if (self.currentNode !== node[0]) {
985
- self.currentNode = node[0]
986
-
987
- self.form.organId = self.currentNode.id
988
- self.form.organTitle = self.currentNode.title
989
-
990
-
991
- if (node[0].children.length <= 0) {
992
- self.getDataBm(node[0], function (data) {
993
- self.$set(node[0], 'children', data)
994
- })
995
- }
996
- self.$set(node[0], 'expand', true)
997
- }
998
- } else {
999
- self.$set(self.currentNode, 'expand', !self.currentNode.expand)
1000
- self.currentNode.selected = true
1001
- }
1002
- },
1003
- loadDataBm(node, callback) {
1004
- this.getDataBm(node, function (data) {
1005
- if (data && data.length > 0) {
1006
- callback(data)
1007
- }
1008
- })
1009
- },
1010
- getDataBm(node, callback) {
1011
- let self = this
1012
- ajax.get(self.upmsServerContext + "/manage/org/getOrgSubNodes", {
1013
- params: {
1014
- code: node.code,
1015
- orgTreeType: self.organTreeType
1016
- }
1017
- }).then(function (resp) {
1018
- const childs = [];
1019
- if (resp.data.code == 1 || resp.data.code === 200) {
1020
- let nodeDatas = resp.data.data
1021
- if (nodeDatas && nodeDatas.length > 0) {
1022
- nodeDatas.forEach(item => {
1023
- let obj = {};
1024
- let typeName = '';
1025
- if ('com' == item.organType) {
1026
- typeName = '(公司)'
1027
- }
1028
- if ('dept' == item.organType) {
1029
- typeName = '(部门)'
1030
- }
1031
- self.treeValueBM.forEach(tree => {
1032
- if (item.organId == tree.organId || item.organId == tree.code || item.organCode == tree.organId || item.organCode == tree.code) {
1033
- obj.checked = true
1034
- }
1035
- })
1036
- obj.type = item.organType;
1037
- obj.id = item.id
1038
- obj.orders = item.orders
1039
- obj.title = item.organName + typeName
1040
- obj.name = item.organName
1041
- obj.com = item.organId
1042
- obj.code = item.organCode
1043
- obj.loading = false
1044
- obj.children = []
1045
- obj.hasChild = true
1046
- childs.push(obj)
1047
- })
1048
- } else {
1049
- self.$set(node, "hasChild", false)
1050
- self.$delete(node, 'loading')
1051
- }
1052
- if (callback) {
1053
- callback(childs)
1054
- }
1055
- } else {
1056
- self.$set(node, 'hasChild', false)
1057
- self.$delete(node, 'loading')
1058
- if (callback) {
1059
- callback()
1060
- }
1061
- }
1062
- })
1063
- },
1064
- //权限范围组织类型点击事件
1065
- loadOrgType(node, callback){
1066
- this.getDataOrgType(node, function (data) {
1067
- if (data && data.length > 0) {
1068
- callback(data)
1069
- }
1070
- })
1071
- },
1072
- getDataOrgType(node, callback){
1073
- let self = this
1074
- ajax.get(self.upmsServerContext + "/manage/bizorgan/qrySubOrgTypeList", {
1075
- params: {
1076
- orgTreeType: self.organTreeType,
1077
- typeId: node.bizTypeId
1078
- }
1079
- }).then(function (resp) {
1080
- const childs = [];
1081
- if (resp.data.code == 1 || resp.data.code === 200) {
1082
- let nodeDatas = resp.data.data
1083
- if (nodeDatas && nodeDatas.length > 0) {
1084
- nodeDatas.forEach(item => {
1085
- self.formatOrgTypeData(item, childs)
1086
- })
1087
- } else {
1088
- self.$set(node, "hasChild", false)
1089
- self.$delete(node, 'loading')
1090
- }
1091
- if (callback) {
1092
- callback(childs)
1093
- }
1094
- }else {
1095
- self.$set(node, 'hasChild', false)
1096
- self.$delete(node, 'loading')
1097
- if (callback) {
1098
- callback()
1099
- }
1100
- }
1101
- })
1102
- },
1103
- //阅读范围组织点击事件
1104
- selectReRaBMChange(row, info) {
1105
- let self = this
1106
- let mergedArray = []
1107
- let uniqueArray = []
1108
- let rows = []
1109
-
1110
- mergedArray = [].concat(this.treeValueBM, row);
1111
- uniqueArray = Array.from(new Set(mergedArray));
1112
- uniqueArray = uniqueArray.filter((obj, index, self) =>
1113
- index === self.findIndex((o) => o.code === obj.code)
1114
- );
1115
- if (info.checked == true) {
1116
- row.forEach(ro => {
1117
- let organList = []
1118
- organList = row.filter(obj1 => !this.treeValueBM.some(obj2 => obj2.code === obj1.code));
1119
- organList = [...new Set(organList)];
1120
- organList = organList.reverse();
1121
- let code = organList[0] ? organList[0].code : ''
1122
- let name = organList[0] ? organList[0].name : ''
1123
- this.userNum = "1"
1124
- if (code) {
1125
- this.organModel.push(code + ":" + name + "," + "1");
1126
- this.treeValueBM.push(organList[0])
1127
- this.orgList = this.treeValueBM
1128
- }
1129
- })
1130
- } else {
1131
- let orgList = []
1132
- let organList = []
1133
- orgList.push(info)
1134
- this.organModel.forEach(organ => {
1135
- if (organ.indexOf(info.code) == -1) {
1136
- organList.push(organ)
1137
- }
1138
- })
1139
- this.userNum = "1"
1140
- let list = []
1141
- this.orgList = []
1142
- uniqueArray.forEach(item => {
1143
- if (item.code != info.code) {
1144
- list.push(item)
1145
- this.orgList.push(item)
1146
- }
1147
- })
1148
- this.treeValueBM = list
1149
- this.organModel = organList
1150
- }
1151
- this.updateLength()
1152
- },
1153
- //权限范围组织类型选择事件
1154
- checkOrgTypeChange(row, info) {
1155
- let self = this
1156
- let mergedArray = []
1157
- let uniqueArray = []
1158
- mergedArray = [].concat(this.treeOrgTypeValue, row);
1159
- uniqueArray = Array.from(new Set(mergedArray));
1160
- uniqueArray = uniqueArray.filter((obj, index, self) =>
1161
- index === self.findIndex((o) => o.bizTypeCode === obj.bizTypeCode)
1162
- );
1163
- if (info.checked == true) {
1164
- row.forEach(ro => {
1165
- let depList = []
1166
- depList = row.filter(obj1 => !this.treeOrgTypeValue.some(obj2 => obj2.bizTypeCode === obj1.bizTypeCode));
1167
- depList = [...new Set(depList)];
1168
- depList = depList.reverse();
1169
- let bizTypeCode = depList[0] ? depList[0].bizTypeCode : ''
1170
- this.userNum = "1"
1171
- if (bizTypeCode) {
1172
- this.treeOrgTypeValue.push(depList[0])
1173
- }
1174
- })
1175
- } else {
1176
- this.userNum = "1"
1177
- let list = []
1178
- uniqueArray.forEach(item => {
1179
- if (item.bizTypeCode != info.bizTypeCode) {
1180
- list.push(item)
1181
- }
1182
- })
1183
- this.treeOrgTypeValue = list
1184
- }
1185
-
1186
- this.updateLength()
1187
- },
1188
- selectUserChange(node) {
1189
- let self = this
1190
- if (node.length > 0) {
1191
- if (self.currentNodeUser !== node[0]) {
1192
- self.currentNodeUser = node[0]
1193
-
1194
- self.form.organId = self.currentNodeUser.id
1195
- self.form.organTitle = self.currentNodeUser.title
1196
-
1197
-
1198
- if (node[0].children.length <= 0) {
1199
- self.getReadingRangeData(node[0], function (data) {
1200
- self.$set(node[0], 'children', data)
1201
- })
1202
- }
1203
- self.$set(node[0], 'expand', true)
1204
- }
1205
- } else {
1206
- self.$set(self.currentNodeUser, 'expand', !self.currentNodeUser.expand)
1207
- self.currentNodeUser.selected = true
1208
- }
1209
- },
1210
- //获取用户信息(懒加载)
1211
- loadReadingRangeData(node, callback) {
1212
- this.getReadingRangeData(node, function (data) {
1213
- if (data.length > 0) {
1214
- callback(data)
1215
- }
1216
- })
1217
- },
1218
- getReadingRangeData(node, callback) {
1219
- let self = this
1220
- ajax.get(self.upmsServerContext + "/manage/ucOrgan/getOrgSubNodes", {
1221
- params: {
1222
- organCode: node.code,
1223
- orgTreeType: self.organTreeType
1224
- }
1225
- }).then(function (resp) {
1226
- const childs = [];
1227
- if (resp.data.code === 1) {
1228
- let nodeDatas = resp.data.data
1229
- if (nodeDatas.length > 0) {
1230
- nodeDatas.forEach(item => {
1231
- let obj = {};
1232
- let typeName = '';
1233
- if ('com' === item.organType) {
1234
- typeName = '(公司)'
1235
- } else if ('dept' === item.organType) {
1236
- typeName = '(部门)'
1237
- }
1238
- // obj.disableCheckbox = true
1239
- obj.type = item.organType;
1240
- obj.id = item.organCode
1241
- obj.title = item.organName + typeName
1242
- obj.name = item.organName
1243
- obj.com = item.organId
1244
- obj.code = item.organCode
1245
- obj.loading = false
1246
- obj.children = []
1247
- obj.hasChild = true
1248
- childs.push(obj)
1249
- })
1250
- } else {
1251
- self.$set(node, "hasChild", false)
1252
- self.$delete(node, 'loading')
1253
- }
1254
- if (callback) {
1255
- callback(childs)
1256
- }
1257
- } else {
1258
- self.$set(node, "hasChild", false)
1259
- self.$delete(node, 'loading')
1260
- if (callback) {
1261
- callback()
1262
- }
1263
- }
1264
- })
1265
- },
1266
-
1267
- selectPostChange(node) {
1268
- let self = this
1269
- if (node.length > 0) {
1270
- if (self.currentNodePost !== node[0]) {
1271
- self.currentNodePost = node[0]
1272
-
1273
- self.form.organId = self.currentNodePost.id
1274
- self.form.organTitle = self.currentNodePost.title
1275
-
1276
-
1277
- if (node[0].children.length <= 0) {
1278
- self.getReadingRangeDataPost(node[0], function (data) {
1279
- self.$set(node[0], 'children', data)
1280
- })
1281
- }
1282
- self.$set(node[0], 'expand', true)
1283
- }
1284
- } else {
1285
- self.$set(self.currentNodePost, 'expand', !self.currentNodePost.expand)
1286
- self.currentNodePost.selected = true
1287
- }
1288
- },
1289
- //获取用户信息(懒加载)
1290
- loadReadingRangeDataPost(node, callback) {
1291
- this.getReadingRangeDataPost(node, function (data) {
1292
- if (data.length > 0) {
1293
- callback(data)
1294
- }
1295
- })
1296
- },
1297
- getReadingRangeDataPost(node, callback) {
1298
- let self = this
1299
- ajax.get(self.upmsServerContext + "/manage/org/getOrgSubNodes", {
1300
- params: {
1301
- code: node.code,
1302
- orgTreeType: self.organTreeType
1303
- }
1304
- }).then(function (resp) {
1305
- const childs = [];
1306
- if (resp.data.code === 1 || resp.data.code === 200) {
1307
- let nodeDatas = resp.data.data
1308
- if (nodeDatas.length > 0) {
1309
- nodeDatas.forEach(item => {
1310
- let obj = {};
1311
- let typeName = '';
1312
- if ('com' === item.organType) {
1313
- typeName = '(公司)'
1314
- } else if ('dept' === item.organType) {
1315
- typeName = '(部门)'
1316
- }
1317
- // obj.disableCheckbox = true
1318
- obj.type = item.organType;
1319
- obj.id = item.id
1320
- obj.title = item.organName + typeName
1321
- obj.name = item.organName
1322
- obj.com = item.organId
1323
- obj.code = item.organCode
1324
- obj.loading = false
1325
- obj.children = []
1326
- obj.hasChild = true
1327
- childs.push(obj)
1328
- })
1329
- } else {
1330
- self.$set(node, "hasChild", false)
1331
- self.$delete(node, 'loading')
1332
- }
1333
- if (callback) {
1334
- callback(childs)
1335
- }
1336
- } else {
1337
- self.$set(node, "hasChild", false)
1338
- self.$delete(node, 'loading')
1339
- if (callback) {
1340
- callback([])
1341
- }
1342
- }
1343
- })
1344
- },
1345
-
1346
- //权限范围用户点击事件
1347
- selectReRaYHChange(data, info) {
1348
- let self = this
1349
- const user = sessionStorage.getItem('userInfo');
1350
- const jsonArray = JSON.parse(user);
1351
- var userPermScope = self.permScope.substring(self.permScope.indexOf("U:"))
1352
- userPermScope = userPermScope.substring(2, userPermScope.indexOf(","))
1353
- userPermScope = userPermScope.split(';')
1354
- //self.selectUserChange(data)
1355
- let treeUserCenters = [];
1356
-
1357
- /*if (info.checked == true) {
1358
- self.$set(info, 'expand', true)
1359
- } else {
1360
- self.$set(info, 'expand', false)
1361
- }*/
1362
- /*if ((jsonArray.orgCode || jsonArray.organCode) != info.code) {
1363
- self.getReadingRangeData(info, function (data) {
1364
- self.$set(info, 'children', data)
1365
- })
1366
- }*/
1367
- if (self.permScope == "all" || self.permScope == "undefined") {
1368
- let userIdSet = new Set()
1369
- data.forEach(itemCom => {
1370
-
1371
- ajax.get(self.upmsServerContext + "/manage/user/getList", {
1372
- params: {
1373
- organId: itemCom.id,
1374
- orgTreeType: self.organTreeType,
1375
- limit: "1000",
1376
- directChild: true,
1377
- }
1378
- }).then(function (resp) {
1379
- if (resp.data.message == "成功") {
1380
- let nodeUser = resp.data.data
1381
- nodeUser.forEach(item => {
1382
- if (!userIdSet.has(item.userId)) {
1383
- userIdSet.add(item.userId)
1384
- treeUserCenters.push({
1385
- userId: item.userId,
1386
- userName: item.userName,
1387
- nameItem: item.superiorOrgName,
1388
- organName: item.organName
1389
- })
1390
- }
1391
- })
1392
- }
1393
-
1394
- })
1395
- })
1396
- } else {
1397
- let userIdSet = new Set()
1398
- data.forEach(itemCom => {
1399
-
1400
- ajax.get(self.upmsServerContext + "/manage/user/getList", {
1401
- params: {
1402
- organId: itemCom.id,
1403
- orgTreeType: self.organTreeType,
1404
- limit: "1000",
1405
- directChild: true,
1406
- }
1407
- }).then(function (resp) {
1408
- if (resp.data.message == "成功") {
1409
- let nodeUser = resp.data.data
1410
- nodeUser.forEach(item => {
1411
- if (!userIdSet.has(item.userId) && userPermScope.includes(item.userId)) {
1412
- userIdSet.add(item.userId)
1413
- treeUserCenters.push({
1414
- userId: item.userId,
1415
- userName: item.userName,
1416
- nameItem: item.superiorOrgName,
1417
- organName: item.organName
1418
- })
1419
- }
1420
- })
1421
- }
1422
-
1423
- })
1424
-
1425
- })
1426
- }
1427
-
1428
- self.treeUserCenterValue = treeUserCenters
1429
- self.treeUserNameCenterValue = []
1430
- },
1431
-
1432
- //权限范围岗位点击事件
1433
- selectReRaYHChangePost(data, info) {
1434
- let self = this
1435
- const user = sessionStorage.getItem('userInfo');
1436
- const jsonArray = JSON.parse(user);
1437
- let nodePost = []
1438
- let treePostCenter = [];
1439
- /*if (info.checked == true) {
1440
- self.$set(info, 'expand', true)
1441
- } else {
1442
- self.$set(info, 'expand', false)
1443
- }*/
1444
- /*if (j(jsonArray.orgCode || jsonArray.organCode) != info.code) {
1445
- self.getReadingRangeDataPost(info, function (data) {
1446
- self.$set(info, 'children', data)
1447
- })
1448
- }*/
1449
- if ((jsonArray.orgCode || jsonArray.organCode) != info.code) {
1450
- self.getReadingRangeDataPost(info, function (data) {
1451
- self.$set(info, 'children', data)
1452
- })
1453
- }
1454
-
1455
- if (self.permScope == "all" || self.permScope == "undefined") {
1456
- const positionIdSet = new Set();
1457
- data.forEach(itemCom => {
1458
- ajax.get(self.smartFlowServerContext + "/manage/position/qryPositionList?organCode=" + itemCom.code).then(function (resp) {
1459
- nodePost = resp.data.data
1460
- nodePost.forEach(item => {
1461
- if (!positionIdSet.has(item.positionId)) {
1462
- item.nameItem = item.organName !== '' ? item.organName : item.positionName;
1463
- treePostCenter.push(item);
1464
- positionIdSet.add(item.positionId);
1465
- }
1466
- });
1467
- })
1468
-
1469
- })
1470
- } else {
1471
- let postPermScope = self.permScope.substring(self.permScope.indexOf("P:"))
1472
- postPermScope = postPermScope.substring(2, postPermScope.indexOf(","))
1473
- postPermScope = postPermScope.split(';')
1474
- const addedPositionIds = new Set();
1475
- data.forEach(itemCom => {
1476
- ajax.get(self.smartFlowServerContext + "/manage/position/qryPositionList?organCode=" + itemCom.code).then(function (resp) {
1477
- nodePost = resp.data.data;
1478
- nodePost.forEach(item => {
1479
- if (postPermScope.includes(item.positionId) && !addedPositionIds.has(item.positionId)) {
1480
- item.nameItem = item.organName !== '' ? item.organName : item.positionName;
1481
- treePostCenter.push(item);
1482
- addedPositionIds.add(item.positionId);
1483
- }
1484
- });
1485
- });
1486
- });
1487
- }
1488
-
1489
- self.treePostCenterValue = treePostCenter
1490
- self.treePostNameCenterValue = []
1491
- },
1492
- getReadingRangeRole(row) {
1493
- let nameList = [];
1494
- let self = this
1495
- self.userNum = "2"
1496
- if (row.length > self.noticeList.length) {
1497
- row.forEach(ro => {
1498
- ro = ro.substring(ro.indexOf(","))
1499
- })
1500
- self.noticeRoleNameList = row
1501
- self.noticeList = row
1502
- row = row.reverse()
1503
- let organName = row[0].replace(",", ":") + ",3"
1504
- self.organModel.push(organName);
1505
- self.organChange(self.organModel)
1506
- } else if (row.length < self.noticeList.length) {
1507
- let diff = ""
1508
- let orgList = []
1509
- for (let i = 0; i < self.noticeList.length; i++) {
1510
- if (!row.includes(self.noticeList[i])) {
1511
- diff = self.noticeList[i]
1512
- }
1513
- }
1514
- diff = diff.replace(",", ":")
1515
- self.organModel.forEach(organ => {
1516
- if (organ.indexOf(diff) == -1) {
1517
- orgList.push(organ)
1518
- }
1519
- })
1520
- self.organModel = orgList
1521
- self.noticeList = row
1522
- }
1523
- this.updateLength()
1524
- },
1525
- getReadingRangeUser(row) {
1526
- let self = this
1527
- self.userNum = "2"
1528
- if (row.length > self.selectedKeys.length) {
1529
- self.treeUserValue = row
1530
- self.selectedKeys = row
1531
- row = row.reverse()
1532
- let organName = row[0].replace(",", ":") + ",2"
1533
- self.organModel.push(organName);
1534
- self.organChange(self.organModel)
1535
- } else if (row.length < self.selectedKeys.length) {
1536
- let diff = ""
1537
- let orgList = []
1538
- for (let i = 0; i < self.selectedKeys.length; i++) {
1539
- if (!row.includes(self.selectedKeys[i])) {
1540
- diff = self.selectedKeys[i]
1541
- }
1542
- }
1543
- diff = diff.replace(",", ":")
1544
- self.organModel.forEach(organ => {
1545
- if (organ.indexOf(diff) == -1) {
1546
- orgList.push(organ)
1547
- }
1548
- })
1549
- self.organModel = orgList
1550
- self.selectedKeys = row
1551
- }
1552
- this.updateLength()
1553
- },
1554
- getReadingRangePosts(row) {
1555
- let self = this
1556
- self.userNum = "2"
1557
- if (row.length > self.postKeys.length) {
1558
- self.treePostValue = row
1559
- self.postKeys = row
1560
- row = row.reverse()
1561
- let organName = row[0].replace(",", ":") + ",4"
1562
- self.organModel.push(organName);
1563
- self.organChange(self.organModel)
1564
- } else if (row.length < self.postKeys.length) {
1565
- let diff = ""
1566
- let orgList = []
1567
- for (let i = 0; i < self.postKeys.length; i++) {
1568
- if (!row.includes(self.postKeys[i])) {
1569
- diff = self.postKeys[i]
1570
- }
1571
- }
1572
- diff = diff.replace(",", ":")
1573
- self.organModel.forEach(organ => {
1574
- if (organ.indexOf(diff) == -1) {
1575
- orgList.push(organ)
1576
- }
1577
- })
1578
- self.organModel = orgList
1579
- self.postKeys = row
1580
- }
1581
- this.updateLength()
1582
- },
1583
- organTreeRedis(row) {
1584
- const user = sessionStorage.getItem('userInfo');
1585
- const jsonArray = JSON.parse(user);
1586
- if (row == 'undefined' || row == "all") {
1587
-
1588
- ajax.get(this.smartFlowServerContext + "/manage/processDesign/getOrgan?orgId=" + (jsonArray.organId)
1589
- ).then(resp => {
1590
- if (resp.data.code === '200') {
1591
- this.organTree = resp.data.data;
1592
- }
1593
- })
1594
- } else {
1595
-
1596
- let orgPermScope = row.substring(2, row.indexOf(","))
1597
- orgPermScope = orgPermScope.split(';')
1598
-
1599
- let userPermScope = row.substring(row.indexOf("U:"))
1600
- userPermScope = userPermScope.substring(2, userPermScope.indexOf(","))
1601
- userPermScope = userPermScope.split(';')
1602
-
1603
- var rolePermScope = row.substring(row.indexOf("R:"))
1604
- rolePermScope = rolePermScope.substring(2, rolePermScope.indexOf(","))
1605
- rolePermScope = rolePermScope.split(';')
1606
-
1607
- let postPermScope = row.substring(row.indexOf("P:"))
1608
- postPermScope = postPermScope.substring(2, postPermScope.indexOf(","))
1609
- postPermScope = postPermScope.split(';')
1610
- ajax.get(this.upmsServerContext + "/manage/user/get/" + (jsonArray.accountUuid || jsonArray.userId))
1611
- .then(resp => {
1612
- this.organId = resp.data.data.organId
1613
- ajax.get(this.smartFlowServerContext + "/manage/processDesign/getOrgan?orgId=" + (jsonArray.organId)
1614
- ).then(resp => {
1615
- if (resp.data.code === '200') {
1616
- for (let key in resp.data.data.orgenMap) {
1617
- for (let i = 0; i < orgPermScope.length; i++) {
1618
- if (key == orgPermScope[i]) {
1619
- const dataArr = [[key, resp.data.data.orgenMap[key]]]
1620
-
1621
- for (let i = 0; i < dataArr.length; i++) {
1622
- const [key, value] = dataArr[i];
1623
- this.$set(this.organTree.orgenMap, key, value)
1624
- }
1625
- }
1626
- }
1627
- }
1628
- for (let key in resp.data.data.userMap) {
1629
- for (let i = 0; i < userPermScope.length; i++) {
1630
- if (key == userPermScope[i]) {
1631
- const dataArr = [[key, resp.data.data.userMap[key]]]
1632
- for (let i = 0; i < dataArr.length; i++) {
1633
- const [key, value] = dataArr[i];
1634
- this.$set(this.organTree.userMap, key, value)
1635
- }
1636
- }
1637
- }
1638
- }
1639
-
1640
- for (let key in resp.data.data.roleMap) {
1641
- for (let i = 0; i < rolePermScope.length; i++) {
1642
- if (key == rolePermScope[i]) {
1643
- const dataArr = [[key, resp.data.data.roleMap[key]]]
1644
-
1645
- for (let i = 0; i < dataArr.length; i++) {
1646
- const [key, value] = dataArr[i];
1647
- this.$set(this.organTree.roleMap, key, value)
1648
- }
1649
- }
1650
- }
1651
- }
1652
-
1653
- for (let key in resp.data.data.postMap) {
1654
- for (let i = 0; i < postPermScope.length; i++) {
1655
- if (key == postPermScope[i]) {
1656
- const dataArr = [[key, resp.data.data.postMap[key]]]
1657
-
1658
- for (let i = 0; i < dataArr.length; i++) {
1659
- const [key, value] = dataArr[i];
1660
- this.$set(this.organTree.postMap, key, value)
1661
- }
1662
- }
1663
- }
1664
- }
1665
- }
1666
- })
1667
-
1668
- })
1669
- }
1670
-
1671
-
1672
- },
1673
- organChange(event) {
1674
- this.organModel = []
1675
- let orgValue = []
1676
- let userValue = []
1677
- let roleValue = []
1678
- let postValue = []
1679
- let orgAdjustment = ""
1680
- let userAdjustment = ""
1681
- let roleAdjustment = ""
1682
- let postAdjustment = ""
1683
- event.forEach(item => {
1684
- let nameType = item.substring(item.indexOf(":") + 1)
1685
- nameType = nameType.substring(nameType.indexOf(",") + 1)
1686
- if (nameType == "1") {
1687
- orgAdjustment = "1"
1688
- this.organModel.push(item)
1689
- orgValue.push({
1690
- name: item.substring(item.indexOf(":") + 1, item.indexOf(",")),
1691
- organId: item.substring(0, item.indexOf(":")),
1692
- code: item.substring(0, item.indexOf(":")),
1693
- checked: true
1694
- })
1695
- } else if (nameType != "1") {
1696
- orgAdjustment = "1"
1697
- }
1698
- if (nameType == "2") {
1699
- userAdjustment = "2"
1700
- this.organModel.push(item)
1701
- let user = item.substring(0, item.indexOf(","))
1702
- user = user.replace(":", ",")
1703
- userValue.push(user)
1704
- } else if (nameType != "2") {
1705
- userAdjustment = "2"
1706
- }
1707
- if (nameType == "3") {
1708
- roleAdjustment = "3"
1709
- this.organModel.push(item)
1710
- let user = item.substring(0, item.indexOf(","))
1711
- user = user.substring(user.indexOf(":") + 1)
1712
- roleValue.push(user)
1713
- } else if (nameType != "3") {
1714
- roleAdjustment = "3"
1715
- }
1716
- if (nameType == "4") {
1717
- postAdjustment = "4"
1718
- let postItem = item.substring(0, item.indexOf(","))
1719
- postItem = postItem.replace(":", ",")
1720
- this.organModel.push(item)
1721
- postValue.push(postItem)
1722
- } else if (nameType != "4") {
1723
- postAdjustment = "4"
1724
- }
1725
-
1726
- // 执行需要的操作
1727
- });
1728
- if (event.length == 0) {
1729
- orgAdjustment = '1'
1730
- userAdjustment = '2'
1731
- roleAdjustment = '3'
1732
- postAdjustment = '4'
1733
- this.noticeRoleList = []
1734
- }
1735
- if (this.userNum != "1") {
1736
- if (orgAdjustment == "1") {
1737
- this.treeValueBM = orgValue
1738
- }
1739
- if (userAdjustment == "2") {
1740
- this.treeUserValue = userValue
1741
- }
1742
- if (roleAdjustment == "3") {
1743
- this.noticeRoleNameList = roleValue
1744
- }
1745
- if (postAdjustment == "4") {
1746
- this.treePostValue = postValue
1747
- }
1748
- }
1749
- this.userNum = "2"
1750
- this.updateLength()
1751
- },
1752
- organTreeRedisUpdate() {
1753
- const user = sessionStorage.getItem('userInfo');
1754
- const jsonArray = JSON.parse(user);
1755
- if (this.permScope == "all" || this.permScope == "undefined") {
1756
- this.loading = true;
1757
- ajax.get(this.smartFlowServerContext + "/manage/processDesign/getOrgan?orgId=" + (jsonArray.organId)
1758
- ).then(resp => {
1759
- if (resp.data.code === '200') {
1760
- this.organTree = resp.data.data;
1761
- this.loading = false;
1762
- } else {
1763
- this.loading = false;
1764
- }
1765
- })
1766
- } else {
1767
- this.loading = true;
1768
- let orgPermScope = this.permScope.substring(2, this.permScope.indexOf(","))
1769
- orgPermScope = orgPermScope.split(';')
1770
-
1771
- let userPermScope = this.permScope.substring(this.permScope.indexOf("U:"))
1772
- userPermScope = userPermScope.substring(2, userPermScope.indexOf(","))
1773
- userPermScope = userPermScope.split(';')
1774
-
1775
- let rolePermScope = this.permScope.substring(this.permScope.indexOf("R:"))
1776
- rolePermScope = rolePermScope.substring(2, rolePermScope.indexOf(","))
1777
- rolePermScope = rolePermScope.split(';')
1778
-
1779
- let postPermScope = this.permScope.substring(this.permScope.indexOf("P:"))
1780
- postPermScope = postPermScope.substring(2, postPermScope.indexOf(","))
1781
- postPermScope = postPermScope.split(';')
1782
- ajax.get(this.upmsServerContext + "/manage/user/get/" + (jsonArray.accountUuid || jsonArray.userId))
1783
- .then(resp => {
1784
- this.organId = resp.data.data.permitOrganId
1785
- ajax.get(this.smartFlowServerContext + "/manage/processDesign/getOrgan?orgId=" + this.organId
1786
- ).then(resp => {
1787
- if (resp.data.code === '200') {
1788
- for (let key in resp.data.data.orgenMap) {
1789
- for (let i = 0; i < orgPermScope.length; i++) {
1790
- if (key == orgPermScope[i]) {
1791
- const dataArr = [[key, resp.data.data.orgenMap[key]]]
1792
-
1793
- for (let i = 0; i < dataArr.length; i++) {
1794
- const [key, value] = dataArr[i];
1795
- this.$set(this.organTree.orgenMap, key, value)
1796
- }
1797
- }
1798
- }
1799
- }
1800
- for (let key in resp.data.data.userMap) {
1801
- for (let i = 0; i < userPermScope.length; i++) {
1802
- if (key == userPermScope[i]) {
1803
- const dataArr = [[key, resp.data.data.userMap[key]]]
1804
- for (let i = 0; i < dataArr.length; i++) {
1805
- const [key, value] = dataArr[i];
1806
- this.$set(this.organTree.userMap, key, value)
1807
- }
1808
- }
1809
- }
1810
- }
1811
-
1812
- for (let key in resp.data.data.roleMap) {
1813
- for (let i = 0; i < rolePermScope.length; i++) {
1814
- if (key == rolePermScope[i]) {
1815
- const dataArr = [[key, resp.data.data.roleMap[key]]]
1816
-
1817
- for (let i = 0; i < dataArr.length; i++) {
1818
- const [key, value] = dataArr[i];
1819
- this.$set(this.organTree.roleMap, key, value)
1820
- }
1821
- }
1822
- }
1823
- }
1824
-
1825
- for (let key in resp.data.data.postMap) {
1826
- for (let i = 0; i < postPermScope.length; i++) {
1827
- if (key == postPermScope[i]) {
1828
- const dataArr = [[key, resp.data.data.postMap[key]]]
1829
-
1830
- for (let i = 0; i < dataArr.length; i++) {
1831
- const [key, value] = dataArr[i];
1832
- this.$set(this.organTree.postMap, key, value)
1833
- }
1834
- }
1835
- }
1836
- }
1837
- this.loading = false;
1838
- this.$Message.success("更新查询数据成功!")
1839
- } else {
1840
- // this.$Message.error(resp.data.data);
1841
- console.log(resp.data.data);
1842
- this.loading = false;
1843
- }
1844
- })
1845
-
1846
- })
1847
- }
1848
- },
1849
- readingRangeEmpty() {
1850
- this.treeValueBM.forEach(item => {
1851
- item.checked = false
1852
- })
1853
- // this.treeUserCenterValue =[];
1854
- this.treeValueBM = [];
1855
- this.treeUserValue = [];
1856
- //角色集合
1857
- this.noticeRoleList = [];
1858
- this.noticeRoleNameList = [];
1859
- this.selectedKeys = []
1860
- //岗位集合
1861
- this.postList = [];
1862
- this.treePostValue = [];
1863
- this.processPostList = [];
1864
- this.treeLength = 0
1865
- this.organModel = []
1866
- this.postKeys = []
1867
- //组织类型集合
1868
- this.treeOrgTypeValue.forEach(item =>{
1869
- item.checked = false
1870
- })
1871
- this.treeOrgTypeValue = [];
1872
- },
1873
- updateLength() {
1874
- this.treeLength = this.treeValueBM.length + this.treeUserValue.length + this.noticeRoleNameList.length + this.treePostValue.length + this.treeOrgTypeValue.length
1875
- },
1876
- clearCache() {
1877
- this.readingRangeBM = []
1878
- this.readingRange = []
1879
- this.roleList = []
1880
- this.readingRangePost = []
1881
- this.treeUserCenterValue = []
1882
- this.treePostCenterValue = []
1883
- this.treeValueBM.forEach(item => {
1884
- item.checked = false
1885
- })
1886
- this.treeValueBM = [];
1887
- this.treeUserValue = [];
1888
- //角色集合
1889
- this.noticeRoleList = [];
1890
- this.noticeRoleNameList = [];
1891
- this.selectedKeys = []
1892
- //岗位集合
1893
- this.postList = [];
1894
- this.treePostValue = [];
1895
- this.processPostList = [];
1896
- this.treeLength = 0
1897
- this.organModel = []
1898
- this.postKeys = []
1899
- //组织类型
1900
- this.readingRangeOrgType = []
1901
- this.readingRangeOrgType.forEach(item => {
1902
- item.checked = false
1903
- })
1904
- this.treeOrgTypeValue = [];
1905
- },
1906
- getSystemConfig(){
1907
- const self = this
1908
- ajax.get(self.smartFlowServerContext + '/anon/systemConfig/getSystemConfig').then(function (resp) {
1909
- const result = resp.data;
1910
- if (result && result.code === '200') {
1911
- self.ucAdapterType = result.data.ucAdapterType
1912
- }
1913
- }).catch(err => {
1914
- console.log(err);
1915
- })
1916
- },
1917
- toggleShowHelpBox(permScope, inputValue, organTreeType, id) {
1918
- this.clearCache()
1919
- this.id = id
1920
- this.permScope = permScope
1921
- this.organTreeType = organTreeType
1922
- this.organTreeRedis(this.permScope)
1923
- if (inputValue){
1924
- this.getOrgan(inputValue)
1925
- this.getUser(inputValue)
1926
- this.getRole(inputValue)
1927
- this.ucAdapterType === 'x1' ? this.getPost(inputValue) : this.getOrgType(inputValue)
1928
- }
1929
- if (this.permScope == 'all'){
1930
- this.getRootOrganTree(organTreeType)
1931
- this.ucAdapterType === 'sc' ? this.getReadingRangeOrgType(permScope, organTreeType) : ''
1932
- } else {
1933
- this.getReadingRangeBM(this.permScope, inputValue, this.organTreeType)
1934
- this.getReadingRange(this.permScope, this.organTreeType)
1935
- this.ucAdapterType === 'x1' ? this.getReadingRangePost(this.permScope, this.organTreeType) : this.getReadingRangeOrgType(this.permScope, this.organTreeType)
1936
- }
1937
- this.getReadingRangeAllRole(this.permScope)
1938
- this.modalBoxShow = !this.modalBoxShow;
1939
- },
1940
- onOk() {
1941
- let organ = [];
1942
- let names = [];
1943
- let organs = [];
1944
- this.treeValueBM.forEach(item => {
1945
- organ.push(item.code)
1946
- names.push(item.name)
1947
- organs.push(item.code + ':' + item.name)
1948
- })
1949
- let nameValue = [];
1950
- let users = [];
1951
- this.treeUserValue.forEach(item => {
1952
- nameValue.push(item.split(',')[0])
1953
- names.push(item.split(',')[1])
1954
- users.push(item.split(',')[0] + ':' + item.split(',')[1])
1955
- })
1956
- let roleList = [];
1957
- let roles = [];
1958
- this.noticeRoleList.forEach(item => {
1959
- roleList.push(item.split(',')[0])
1960
- names.push(item.split(',')[1])
1961
- roles.push(item.split(',')[0] + ':' + item.split(',')[1])
1962
- })
1963
- let postList = [];
1964
- let positions = [];
1965
- this.treePostValue.forEach(item => {
1966
- postList.push(item.split(',')[0])
1967
- names.push(item.split(',')[1])
1968
- positions.push(item.split(',')[0] + ':' + item.split(',')[1])
1969
- })
1970
- let orgTypeList = [];
1971
- let orgTypes = [];
1972
- this.treeOrgTypeValue.forEach(item => {
1973
- orgTypeList.push(item.bizTypeCode)
1974
- names.push(item.typeName)
1975
- orgTypes.push(item.bizTypeCode + ':' + item.typeName)
1976
- })
1977
- let value = 'O:' + organ.join(";") + "," + "U:" + nameValue.join(";") + "," + "P:" + postList.join(";") + "," + "R:" + roleList.join(";") + "," + "RP:,T:" + orgTypeList.join(";");
1978
- let nameStr = names.join(",")
1979
- let detail = {
1980
- organs: organs.join(","),
1981
- users: users.join(","),
1982
- roles: roles.join(","),
1983
- positions: positions.join(","),
1984
- types: orgTypes.join(","),
1985
- }
1986
- this.$emit('update-cand-groups', value, nameStr, detail, this.id);
1987
- this.modalBoxShow = false;
1988
- },
1989
- findTitleByValue(arr, value) {
1990
- function traverse(items) {
1991
- for (let item of items) {
1992
- if (item.value === value) {
1993
- return item.title;
1994
- }
1995
- if (item.children && item.children.length > 0) {
1996
- let result = traverse(item.children);
1997
- if (result) {
1998
- return result;
1999
- }
2000
- }
2001
- }
2002
- return '';
2003
- }
2004
-
2005
- return traverse(arr);
2006
- },
2007
- indexToString(index) {
2008
- return index + ''
2009
- },
2010
- showUserDetail(item){
2011
- if (item.nameItem && item.organName){
2012
- return `( ${item.nameItem} , ${item.organName} )`
2013
- }
2014
- }
2015
- },
2016
- };
2017
- </script>
2018
-
2019
- <style scoped>
2020
- .relativePositionAddButton {
2021
- float: right;
2022
- margin-top: 20px;
2023
- }
2024
-
2025
- .relativePositionRemoveButton {
2026
- float: right;
2027
- margin: 2px;
2028
- }
2029
-
2030
- .cont {
2031
- display: flex;
2032
- justify-content: left;
2033
- margin-top: 10px;
2034
- }
2035
-
2036
- .contLeft {
2037
- flex: 0 0 40%;
2038
- z-index: 1;
2039
- margin-right: 10px
2040
- }
2041
-
2042
- .contRight {
2043
- flex: 0 0 30%;
2044
- margin-top: 33.98px;
2045
- }
2046
-
2047
- .checkbox-container {
2048
- display: flex;
2049
- flex-direction: column;
2050
- line-height: 30px;
2051
- }
2052
-
2053
- .overflowAuto {
2054
- height: 600px;
2055
- overflow-y: auto;
2056
- }
2057
-
2058
- .contLeftTwo {
2059
- flex: 0 0 50%;
2060
- z-index: 1;
2061
- margin-right: 10px;
2062
- }
2063
-
2064
- .contRightTwo {
2065
- flex: 0 0 49%;
2066
- margin-top: 30px;
2067
- }
2068
-
2069
- /deep/ .ivu-checkbox-input {
2070
- width: 136px;
2071
- }
2072
- </style>
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.upmsServerContext + '/manage/ucOrgan/getOrgSubNodes', {
402
+ params: {
403
+ organCode: 'rootId',
404
+ orgTreeType: organTreeType
405
+ }
406
+ }).then(resp => {
407
+ if (resp.data.code === 1) {
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.organId
414
+ obj.orders = item.orders
415
+ obj.title = item.organName
416
+ obj.name = item.organName
417
+ obj.com = item.com
418
+ obj.code = item.organCode
419
+ obj.loading = false
420
+ obj.children = []
421
+ obj.hasChild = true
422
+ organTreeList.push(obj)
423
+ })
424
+ }
425
+ organTree.push(organTreeList);
426
+ //去重
427
+ const codesSeen = new Map();
428
+ organTree = organTree.reduce((acc, item, index) => {
429
+ if (!codesSeen.has(item.code)) {
430
+ codesSeen.set(item.code, index);
431
+ acc.push(item);
432
+ }
433
+ return acc;
434
+ }, []);
435
+ self.readingRangeBM = JSON.parse(JSON.stringify(organTree))
436
+ self.readingRange = JSON.parse(JSON.stringify(organTree))
437
+ self.readingRangePost = JSON.parse(JSON.stringify(organTree))
438
+ }
439
+ })
440
+ } else {
441
+ ajax.get(self.upmsServerContext + '/manage/ucOrgan/getOrgRootTree', {
442
+ params: {
443
+ treeTypeId: organTreeType
444
+ }
445
+ }).then(resp => {
446
+ if (resp.data.code === 1) {
447
+ let data = resp.data.data
448
+ if (data.length > 0) {
449
+ data.forEach(item => {
450
+ let obj = {}
451
+ obj.type = item.organType
452
+ obj.id = item.organId
453
+ obj.orders = item.orders
454
+ obj.title = item.organName
455
+ obj.name = item.organName
456
+ obj.com = item.com
457
+ obj.code = item.organCode
458
+ obj.loading = false
459
+ obj.children = []
460
+ obj.hasChild = true
461
+ organTreeList.push(obj)
462
+ })
463
+ }
464
+ organTree.push(organTreeList);
465
+ //去重
466
+ const codesSeen = new Map();
467
+ organTree = organTree.reduce((acc, item, index) => {
468
+ if (!codesSeen.has(item.code)) {
469
+ codesSeen.set(item.code, index);
470
+ acc.push(item);
471
+ }
472
+ return acc;
473
+ }, []);
474
+ self.readingRangeBM = JSON.parse(JSON.stringify(organTree))
475
+ self.readingRange = JSON.parse(JSON.stringify(organTree))
476
+ self.readingRangePost = JSON.parse(JSON.stringify(organTree))
477
+ }
478
+ })
479
+ }
480
+ },
481
+ //获取组织
482
+ getReadingRangeBM(row, info, organTreeType) {
483
+ let self = this
484
+ let childsTree = []
485
+ let permScopeTwo = row.substring(2, row.indexOf(","))
486
+ if (permScopeTwo.length > 0) {
487
+ permScopeTwo = permScopeTwo.split(';')
488
+ for (let i = 0; i < permScopeTwo.length; i++) {
489
+ ajax.get(self.upmsServerContext + '/manage/ucOrgan/getParentOrgInfo?organCode=' + permScopeTwo[i] + '&orgTreeType=' + self.organTreeType)
490
+ .then(resp => {
491
+ if (resp.data.code === 1 || resp.data.code === 200){
492
+ let orgCode = resp.data.data.organCode
493
+ ajax.get(self.upmsServerContext + '/manage/ucOrgan/getOrgSubNodes?organCode=' + orgCode + '&orgTreeType=' + organTreeType).then(function (resp) {
494
+ if (resp.data.code === 1) {
495
+ let data = resp.data.data
496
+ if (data && data.length > 0) {
497
+ data.forEach(item => {
498
+ if (item.organCode === permScopeTwo[i]) {
499
+ let obj = {}
500
+ obj.type = item.organType
501
+ obj.id = item.organId
502
+ obj.orders = item.orders
503
+ obj.title = item.organName
504
+ obj.name = item.organName
505
+ obj.com = item.com
506
+ obj.code = item.organCode
507
+ obj.loading = false
508
+ obj.children = []
509
+ obj.hasChild = true
510
+ childsTree.push(obj)
511
+ }
512
+ })
513
+ }
514
+ }
515
+ })
516
+ } else if (resp.data.data === '11006'){
517
+ //当前组织无父节点
518
+ let params = {
519
+ orgTreeType: organTreeType,
520
+ }
521
+ ajax.post(self.upmsServerContext + "/manage/org/get/" + permScopeTwo[i], params)
522
+ .then(resp => {
523
+ let data = resp.data.data
524
+ let obj = {}
525
+ obj.type = data.organType
526
+ obj.id = data.organId
527
+ obj.orders = data.orders
528
+ obj.title = data.organName
529
+ obj.name = data.organName
530
+ obj.com = data.com
531
+ obj.code = data.organCode
532
+ obj.loading = false
533
+ obj.children = []
534
+ obj.hasChild = true
535
+ childsTree.push(obj)
536
+ })
537
+ }
538
+ })
539
+ }
540
+ self.readingRangeBM.push(childsTree)
541
+ const codesSeen = new Map();
542
+ self.readingRangeBM = self.readingRangeBM.reduce((acc, item, index) => {
543
+ if (!codesSeen.has(item.code)) {
544
+ codesSeen.set(item.code, index);
545
+ acc.push(item);
546
+ }
547
+ return acc;
548
+ }, []);
549
+ }
550
+ },
551
+ //获取人员树信息
552
+ getReadingRange(row, organTreeType) {
553
+ let self = this
554
+ let childsTree = []
555
+ let treeValue = []
556
+ var permScope = row.substring(row.indexOf("U:"))
557
+ permScope = permScope.substring(2, permScope.indexOf(","))
558
+ let permScopeTwo = permScope.split(';')
559
+ for (let i = 0; i < permScopeTwo.length; i++) {
560
+ ajax.get(self.upmsServerContext + "/manage/user/get/" + permScopeTwo[i] + '?treeType=' + organTreeType)
561
+ .then(resp => {
562
+ if (resp.data.code == 1) {
563
+ let organCode = resp.data.data.organCode
564
+ ajax.get(self.upmsServerContext + '/manage/ucOrgan/getParentOrgInfo?organCode=' + organCode + '&orgTreeType=' + organTreeType)
565
+ .then(resp => {
566
+ if (resp.data.code === 1 || resp.data.code === 200){
567
+ let orgCode = resp.data.data.organCode
568
+ ajax.get(self.upmsServerContext + '/manage/ucOrgan/getOrgSubNodes?organCode=' + orgCode + '&orgTreeType=' + organTreeType).then(function (resp) {
569
+ if (resp.data.code === 1) {
570
+ let data = resp.data.data
571
+ if (data && data.length > 0) {
572
+ data.forEach(item => {
573
+ if (item.organCode == organCode) {
574
+ let obj = {}
575
+ obj.type = item.organType
576
+ obj.id = item.organId
577
+ obj.orders = item.orders
578
+ obj.title = item.organName
579
+ obj.name = item.organName
580
+ obj.com = resp.data.data.organId
581
+ obj.code = item.organCode
582
+ obj.loading = false
583
+ obj.checked = false
584
+ obj.children = []
585
+ obj.hasChild = true
586
+ childsTree.push(obj)
587
+ }
588
+ })
589
+ }
590
+ const map = new Map()
591
+ treeValue = childsTree.filter((item) => {
592
+ return !map.has(item.code) && map.set(item.code, true)
593
+ })
594
+ if (i === permScopeTwo.length - 1) {
595
+ self.readingRange.push(treeValue)
596
+ const codesSeen = new Map();
597
+ self.readingRange = self.readingRange.reduce((acc, item, index) => {
598
+ if (!codesSeen.has(item.code)) {
599
+ codesSeen.set(item.code, index);
600
+ acc.push(item);
601
+ }
602
+ return acc;
603
+ }, []);
604
+ }
605
+ }
606
+ })
607
+ } else if (resp.data.data === 11006){
608
+ //当前组织无父节点
609
+ let params = {
610
+ orgTreeType: organTreeType,
611
+ }
612
+ ajax.post(self.upmsServerContext + "/manage/org/get/" + organCode, params)
613
+ .then(resp => {
614
+ let data = resp.data.data
615
+ let obj = {}
616
+ obj.type = data.organType
617
+ obj.id = data.organId
618
+ obj.orders = data.orders
619
+ obj.title = data.organName
620
+ obj.name = data.organName
621
+ obj.com = data.organId
622
+ obj.code = data.organCode
623
+ obj.loading = false
624
+ obj.checked = false
625
+ obj.children = []
626
+ obj.hasChild = true
627
+ childsTree.push(obj)
628
+
629
+ const map = new Map()
630
+ treeValue = childsTree.filter((item) => {
631
+ return !map.has(item.code) && map.set(item.code, true)
632
+ })
633
+ if (i === permScopeTwo.length-1){
634
+ self.readingRange.push(treeValue)
635
+ const codesSeen = new Map();
636
+ self.readingRange = self.readingRange.reduce((acc, item, index) => {
637
+ if (!codesSeen.has(item.code)) {
638
+ codesSeen.set(item.code, index);
639
+ acc.push(item);
640
+ }
641
+ return acc;
642
+ }, []);
643
+ }
644
+ })
645
+ }
646
+ })
647
+ }
648
+ })
649
+ }
650
+
651
+ },
652
+ //获取角色列表
653
+ getReadingRangeAllRole: function (row) {
654
+ let self = this;
655
+ self.roleList = []
656
+ if (row == 'undefined' || row == "all") {
657
+ self.optionRoleArr = [];
658
+ ajax.get(self.smartFlowServerContext + "/manage/processDesign/getrolesbyUserId")
659
+ .then(function (resp) {
660
+ if (resp.data.data.code === 200) {
661
+ resp.data.data.data.forEach(role => {
662
+ self.roleList.push(role);
663
+ const codesSeen = new Map();
664
+ self.roleList = self.roleList.reduce((acc, item, index) => {
665
+ if (!codesSeen.has(item.roleId)) {
666
+ codesSeen.set(item.roleId, index);
667
+ acc.push(item);
668
+ }
669
+ return acc;
670
+ }, []);
671
+ })
672
+
673
+ }
674
+ });
675
+ } else {
676
+ var permScope = row.substring(row.indexOf("R:"))
677
+ permScope = permScope.substring(2, permScope.indexOf(","))
678
+ permScope = permScope.split(';')
679
+ self.optionRoleArr = [];
680
+ ajax.get(self.smartFlowServerContext + "/manage/processDesign/getrolesbyUserId")
681
+ .then(function (resp) {
682
+ if (resp.data.data.code === 200) {
683
+ resp.data.data.data.forEach(role => {
684
+ permScope.forEach(perm => {
685
+ if (role.roleId == perm) {
686
+ self.roleList.push(role);
687
+ const codesSeen = new Map();
688
+ self.roleList = self.roleList.reduce((acc, item, index) => {
689
+ if (!codesSeen.has(item.roleId)) {
690
+ codesSeen.set(item.roleId, index);
691
+ acc.push(item);
692
+ }
693
+ return acc;
694
+ }, []);
695
+ }
696
+ })
697
+
698
+ })
699
+
700
+ }
701
+ });
702
+ }
703
+ },
704
+ //获取岗位
705
+ getReadingRangePost(row, organTreeType) {
706
+ let self = this
707
+ let childsTree = []
708
+ let treeValue = []
709
+ var permScope = row.substring(row.indexOf("P:"))
710
+ permScope = permScope.substring(2, permScope.indexOf(","))
711
+ if (permScope.length > 0) {
712
+ let permScopeTwo = permScope.split(';')
713
+ for (let i = 0; i < permScopeTwo.length; i++) {
714
+ ajax.get(self.smartFlowServerContext + "/manage/position/get?positionId=" + permScopeTwo[i])
715
+ .then(resp => {
716
+ if (resp.data.code == 200) {
717
+ let organCode = resp.data.data.orgCode
718
+ if (organCode) {
719
+ ajax.get(self.upmsServerContext + '/manage/ucOrgan/getParentOrgInfo?organCode=' + organCode + '&orgTreeType=' + organTreeType)
720
+ .then(resp => {
721
+ let orgCode = resp.data.data.organCode
722
+ ajax.get(self.upmsServerContext + '/manage/ucOrgan/getOrgSubNodes?organCode=' + orgCode + '&orgTreeType=' + organTreeType).then(function (resp) {
723
+ if (resp.data.code === 1) {
724
+ let data = resp.data.data
725
+ if (data.length > 0) {
726
+ data.forEach(item => {
727
+ if (item.organCode == organCode) {
728
+ let obj = {}
729
+ obj.type = item.organType
730
+ obj.id = item.organId
731
+ obj.orders = item.orders
732
+ obj.title = item.organName
733
+ obj.name = item.organName
734
+ obj.com = resp.data.data.organId
735
+ obj.code = item.organCode
736
+ obj.loading = false
737
+ obj.checked = false
738
+ obj.children = []
739
+ obj.hasChild = true
740
+ const isExist = childsTree.find(item => item.code === obj.code)
741
+ if (!isExist) {
742
+ childsTree.push(obj)
743
+ }
744
+ }
745
+ })
746
+ }
747
+ const map = new Map()
748
+ treeValue = childsTree.filter((item) => {
749
+ return !map.has(item.code) && map.set(item.code, true)
750
+ })
751
+ if (i === permScopeTwo.length - 1) {
752
+ self.readingRangePost.push(treeValue)
753
+ const codesSeen = new Map();
754
+ self.readingRangePost = self.readingRangePost.reduce((acc, item, index) => {
755
+ if (!codesSeen.has(item.code)) {
756
+ codesSeen.set(item.code, index);
757
+ acc.push(item);
758
+ }
759
+ return acc;
760
+ }, []);
761
+ }
762
+ }
763
+ })
764
+ })
765
+ } else {
766
+ //适配云庭选择岗位
767
+ if (i === permScopeTwo.length - 1) {
768
+ const data = resp.data.data
769
+ let array = [{code: data.orgCode}]
770
+ self.selectReRaYHChangePost(array, array)
771
+ }
772
+ }
773
+ }
774
+ })
775
+ }
776
+ }
777
+ },
778
+ //获取组织类型
779
+ getReadingRangeOrgType(row, organTreeType) {
780
+ let self = this
781
+ let childsTree = []
782
+ if (row == 'undefined' || row == "all"){
783
+ let params = {
784
+ orgTreeType: organTreeType
785
+ }
786
+ ajax.get(self.upmsServerContext + "/manage/bizorgan/qryOrgTypeList", {params: params}).then(function (resp) {
787
+ if (resp.data.code === 1 || resp.data.code === 200) {
788
+ let data = resp.data.data;
789
+ if (data.length > 0) {
790
+ data.forEach(item => {
791
+ self.formatOrgTypeData(item, childsTree)
792
+ })
793
+ }
794
+ self.readingRangeOrgType.push(childsTree);
795
+ } else {
796
+ self.$Message.error(resp.data.message)
797
+ }
798
+ })
799
+ } else {
800
+ var permScope = row.substring(row.indexOf("T:") + 2)
801
+ if (permScope.length > 0) {
802
+ let permScopeTwo = permScope.split(';')
803
+ for (let i = 0; i < permScopeTwo.length; i++) {
804
+ let params = {
805
+ organTypeCode: permScopeTwo[i],
806
+ orgTreeType: organTreeType
807
+ }
808
+ ajax.get(self.upmsServerContext + "/manage/bizorgan/qryOrgTypeByCode",{params : params}).then(resp => {
809
+ if (resp.data.code === 1 || resp.data.code === 200) {
810
+ let data = resp.data.data
811
+ if (data) {
812
+ self.formatOrgTypeData(resp.data.data, childsTree)
813
+ }
814
+ self.readingRangeOrgType.push(childsTree)
815
+ const codesSeen = new Map();
816
+ self.readingRangeOrgType = self.readingRangeOrgType.reduce((acc, item, index) => {
817
+ if (!codesSeen.has(item.bizTypeId)) {
818
+ codesSeen.set(item.bizTypeId, index);
819
+ acc.push(item);
820
+ }
821
+ return acc;
822
+ }, []);
823
+ } else {
824
+ self.$Message.error(resp.data.message)
825
+ }
826
+ })
827
+ }
828
+ }
829
+ }
830
+ },
831
+ formatOrgTypeData(item, childsTree){
832
+ let obj = {}
833
+ obj.bizOrganTreeType = item.bizOrganTreeType
834
+ obj.bizTypeCode = item.bizTypeCode
835
+ obj.bizTypeId = item.bizTypeId
836
+ obj.parentTypeCode = item.parentTypeCode
837
+ obj.parentTypeId = item.parentTypeId
838
+ obj.parentTypeName = item.parentTypeName
839
+ obj.typeName = item.typeName
840
+ obj.title = item.typeName
841
+ obj.name = item.typeName
842
+ obj.orders = item.orders
843
+ obj.loading = false
844
+ obj.children = []
845
+ obj.hasChild = true
846
+ if (item.children && item.children.length > 0){
847
+ item.children.forEach(child => {
848
+ this.formatOrgTypeData(child, obj.children)
849
+ })
850
+ }
851
+ childsTree.push(obj)
852
+ },
853
+
854
+ loadTreeSelectData(data, callback) {
855
+ const self = this
856
+ const result = [];
857
+ if (this.organTreeType === '00') {
858
+ ajax.get(self.upmsServerContext + '/manage/orgType/qryOrgTypeList?parentType=' + data.value).then(function (resp) {
859
+ if (resp.data.code == 1 && resp.data.data.rows.length > 0) {
860
+ resp.data.data.rows.forEach(item => {
861
+ const {typeName, organType} = item;
862
+ result.push({title: typeName, value: organType, loading: false, children: []})
863
+ })
864
+ data.children = result
865
+ callback(result);
866
+ }
867
+ }).catch(err => {
868
+ console.log(err);
869
+ })
870
+ } else {
871
+ ajax.get(self.upmsServerContext + '/manage/bizorgan/getOrgTree?bizOrganTreeType=' + this.organTreeType + '&parentId=' + data.value).then(function (resp) {
872
+ if (resp.data.code == 1 && resp.data.data.length > 0) {
873
+ resp.data.data.forEach(item => {
874
+ const {bizOrganId, bizOrganName} = item;
875
+ result.push({title: bizOrganName, value: bizOrganId, loading: false, children: []})
876
+ })
877
+ data.children = result
878
+ callback(result);
879
+ }
880
+ }).catch(err => {
881
+ console.log(err);
882
+ })
883
+ }
884
+ self.$delete(data, 'loading')
885
+ },
886
+
887
+ //权限范围组织部门单条删除
888
+ readingRangeDepDel(res, info) {
889
+ this.treeValueBM[res].checked = false;
890
+ this.treeValueBM.splice(res, 1)
891
+
892
+ let orgList = []
893
+ let organList = []
894
+
895
+ orgList.push(info)
896
+ this.organModel.forEach(organ => {
897
+ if (organ.indexOf(info.code) == -1) {
898
+ organList.push(organ)
899
+ }
900
+ })
901
+ this.userNum = "1"
902
+ this.organModel = organList
903
+
904
+
905
+ this.updateLength();
906
+ },
907
+ //权限范围人员单条删除
908
+ readingRangeScPerDel(res, info) {
909
+ this.treeUserValue.splice(res, 1)
910
+ this.selectedKeys.splice(res, 1)
911
+ let orgList = []
912
+ let organList = []
913
+ orgList.push(info)
914
+ info = info.replace(",", ":")
915
+ this.organModel.forEach(organ => {
916
+ if (organ.indexOf(info) == -1) {
917
+ organList.push(organ)
918
+ }
919
+ })
920
+ this.organModel = organList
921
+ this.updateLength();
922
+ },
923
+ //角色单条删除
924
+ noticeRoleNameListDel(res) {
925
+ let processList = [];
926
+ for (let i = 0; i < this.noticeRoleList.length; i++) {
927
+ if (this.noticeRoleList[i].split(',')[1] !== res) {
928
+ processList.push(this.noticeRoleList[i])
929
+ }
930
+ }
931
+ this.noticeRoleList = processList
932
+ if (this.noticeRoleNameList.indexOf(res) !== -1) {
933
+ this.noticeRoleNameList.splice(this.noticeRoleNameList.indexOf(res), 1)
934
+ }
935
+ let organList = []
936
+ this.organModel.forEach(organ => {
937
+ if (organ.indexOf(res) == -1) {
938
+ organList.push(organ)
939
+ }
940
+ })
941
+ this.organModel = organList
942
+
943
+ this.updateLength();
944
+ },
945
+ //岗位单条删除
946
+ processPostDel(res) {
947
+ this.treePostValue.splice(res, 1)
948
+ this.postKeys.splice(res, 1)
949
+ let organList = []
950
+ res = res.replace(",", ":")
951
+ this.organModel.forEach(organ => {
952
+ if (organ.indexOf(res) == -1) {
953
+ organList.push(organ)
954
+ }
955
+ })
956
+ this.organModel = organList
957
+ // let processPostList = [];
958
+ // for (let i = 0; i < this.processPostList.length; i++) {
959
+ // if (this.processPostList[i].split(',')[1] !== res) {
960
+ // processPostList.push(this.processPostList[i])
961
+ // }
962
+ // }
963
+ // this.processPostList = processPostList
964
+ // if(this.postList.indexOf(res) !== -1){
965
+ // this.postList.splice(this.postList.indexOf(res), 1)
966
+ // }
967
+ this.updateLength();
968
+ },
969
+ //部门单条删除
970
+ processOrgTypeDel(res, info) {
971
+ this.treeOrgTypeValue[res].checked = false;
972
+ this.treeOrgTypeValue.splice(res, 1)
973
+ this.userNum = "1"
974
+ this.updateLength();
975
+ },
976
+
977
+ dataNameClick(data) {
978
+ this.dataName = data
979
+ },
980
+
981
+ selectOrgChange(node) {
982
+ let self = this
983
+ if (node.length > 0) {
984
+ if (self.currentNode !== node[0]) {
985
+ self.currentNode = node[0]
986
+
987
+ self.form.organId = self.currentNode.id
988
+ self.form.organTitle = self.currentNode.title
989
+
990
+
991
+ if (node[0].children.length <= 0) {
992
+ self.getDataBm(node[0], function (data) {
993
+ self.$set(node[0], 'children', data)
994
+ })
995
+ }
996
+ self.$set(node[0], 'expand', true)
997
+ }
998
+ } else {
999
+ self.$set(self.currentNode, 'expand', !self.currentNode.expand)
1000
+ self.currentNode.selected = true
1001
+ }
1002
+ },
1003
+ loadDataBm(node, callback) {
1004
+ this.getDataBm(node, function (data) {
1005
+ if (data && data.length > 0) {
1006
+ callback(data)
1007
+ }
1008
+ })
1009
+ },
1010
+ getDataBm(node, callback) {
1011
+ let self = this
1012
+ ajax.get(self.upmsServerContext + "/manage/org/getOrgSubNodes", {
1013
+ params: {
1014
+ code: node.code,
1015
+ orgTreeType: self.organTreeType
1016
+ }
1017
+ }).then(function (resp) {
1018
+ const childs = [];
1019
+ if (resp.data.code == 1 || resp.data.code === 200) {
1020
+ let nodeDatas = resp.data.data
1021
+ if (nodeDatas && nodeDatas.length > 0) {
1022
+ nodeDatas.forEach(item => {
1023
+ let obj = {};
1024
+ let typeName = '';
1025
+ if ('com' == item.organType) {
1026
+ typeName = '(公司)'
1027
+ }
1028
+ if ('dept' == item.organType) {
1029
+ typeName = '(部门)'
1030
+ }
1031
+ self.treeValueBM.forEach(tree => {
1032
+ if (item.organId == tree.organId || item.organId == tree.code || item.organCode == tree.organId || item.organCode == tree.code) {
1033
+ obj.checked = true
1034
+ }
1035
+ })
1036
+ obj.type = item.organType;
1037
+ obj.id = item.id
1038
+ obj.orders = item.orders
1039
+ obj.title = item.organName + typeName
1040
+ obj.name = item.organName
1041
+ obj.com = item.organId
1042
+ obj.code = item.organCode
1043
+ obj.loading = false
1044
+ obj.children = []
1045
+ obj.hasChild = true
1046
+ childs.push(obj)
1047
+ })
1048
+ } else {
1049
+ self.$set(node, "hasChild", false)
1050
+ self.$delete(node, 'loading')
1051
+ }
1052
+ if (callback) {
1053
+ callback(childs)
1054
+ }
1055
+ } else {
1056
+ self.$set(node, 'hasChild', false)
1057
+ self.$delete(node, 'loading')
1058
+ if (callback) {
1059
+ callback()
1060
+ }
1061
+ }
1062
+ })
1063
+ },
1064
+ //权限范围组织类型点击事件
1065
+ loadOrgType(node, callback){
1066
+ this.getDataOrgType(node, function (data) {
1067
+ if (data && data.length > 0) {
1068
+ callback(data)
1069
+ }
1070
+ })
1071
+ },
1072
+ getDataOrgType(node, callback){
1073
+ let self = this
1074
+ ajax.get(self.upmsServerContext + "/manage/bizorgan/qrySubOrgTypeList", {
1075
+ params: {
1076
+ orgTreeType: self.organTreeType,
1077
+ typeId: node.bizTypeId
1078
+ }
1079
+ }).then(function (resp) {
1080
+ const childs = [];
1081
+ if (resp.data.code == 1 || resp.data.code === 200) {
1082
+ let nodeDatas = resp.data.data
1083
+ if (nodeDatas && nodeDatas.length > 0) {
1084
+ nodeDatas.forEach(item => {
1085
+ self.formatOrgTypeData(item, childs)
1086
+ })
1087
+ } else {
1088
+ self.$set(node, "hasChild", false)
1089
+ self.$delete(node, 'loading')
1090
+ }
1091
+ if (callback) {
1092
+ callback(childs)
1093
+ }
1094
+ }else {
1095
+ self.$set(node, 'hasChild', false)
1096
+ self.$delete(node, 'loading')
1097
+ if (callback) {
1098
+ callback()
1099
+ }
1100
+ }
1101
+ })
1102
+ },
1103
+ //阅读范围组织点击事件
1104
+ selectReRaBMChange(row, info) {
1105
+ let self = this
1106
+ let mergedArray = []
1107
+ let uniqueArray = []
1108
+ let rows = []
1109
+
1110
+ mergedArray = [].concat(this.treeValueBM, row);
1111
+ uniqueArray = Array.from(new Set(mergedArray));
1112
+ uniqueArray = uniqueArray.filter((obj, index, self) =>
1113
+ index === self.findIndex((o) => o.code === obj.code)
1114
+ );
1115
+ if (info.checked == true) {
1116
+ row.forEach(ro => {
1117
+ let organList = []
1118
+ organList = row.filter(obj1 => !this.treeValueBM.some(obj2 => obj2.code === obj1.code));
1119
+ organList = [...new Set(organList)];
1120
+ organList = organList.reverse();
1121
+ let code = organList[0] ? organList[0].code : ''
1122
+ let name = organList[0] ? organList[0].name : ''
1123
+ this.userNum = "1"
1124
+ if (code) {
1125
+ this.organModel.push(code + ":" + name + "," + "1");
1126
+ this.treeValueBM.push(organList[0])
1127
+ this.orgList = this.treeValueBM
1128
+ }
1129
+ })
1130
+ } else {
1131
+ let orgList = []
1132
+ let organList = []
1133
+ orgList.push(info)
1134
+ this.organModel.forEach(organ => {
1135
+ if (organ.indexOf(info.code) == -1) {
1136
+ organList.push(organ)
1137
+ }
1138
+ })
1139
+ this.userNum = "1"
1140
+ let list = []
1141
+ this.orgList = []
1142
+ uniqueArray.forEach(item => {
1143
+ if (item.code != info.code) {
1144
+ list.push(item)
1145
+ this.orgList.push(item)
1146
+ }
1147
+ })
1148
+ this.treeValueBM = list
1149
+ this.organModel = organList
1150
+ }
1151
+ this.updateLength()
1152
+ },
1153
+ //权限范围组织类型选择事件
1154
+ checkOrgTypeChange(row, info) {
1155
+ let self = this
1156
+ let mergedArray = []
1157
+ let uniqueArray = []
1158
+ mergedArray = [].concat(this.treeOrgTypeValue, row);
1159
+ uniqueArray = Array.from(new Set(mergedArray));
1160
+ uniqueArray = uniqueArray.filter((obj, index, self) =>
1161
+ index === self.findIndex((o) => o.bizTypeCode === obj.bizTypeCode)
1162
+ );
1163
+ if (info.checked == true) {
1164
+ row.forEach(ro => {
1165
+ let depList = []
1166
+ depList = row.filter(obj1 => !this.treeOrgTypeValue.some(obj2 => obj2.bizTypeCode === obj1.bizTypeCode));
1167
+ depList = [...new Set(depList)];
1168
+ depList = depList.reverse();
1169
+ let bizTypeCode = depList[0] ? depList[0].bizTypeCode : ''
1170
+ this.userNum = "1"
1171
+ if (bizTypeCode) {
1172
+ this.treeOrgTypeValue.push(depList[0])
1173
+ }
1174
+ })
1175
+ } else {
1176
+ this.userNum = "1"
1177
+ let list = []
1178
+ uniqueArray.forEach(item => {
1179
+ if (item.bizTypeCode != info.bizTypeCode) {
1180
+ list.push(item)
1181
+ }
1182
+ })
1183
+ this.treeOrgTypeValue = list
1184
+ }
1185
+
1186
+ this.updateLength()
1187
+ },
1188
+ selectUserChange(node) {
1189
+ let self = this
1190
+ if (node.length > 0) {
1191
+ if (self.currentNodeUser !== node[0]) {
1192
+ self.currentNodeUser = node[0]
1193
+
1194
+ self.form.organId = self.currentNodeUser.id
1195
+ self.form.organTitle = self.currentNodeUser.title
1196
+
1197
+
1198
+ if (node[0].children.length <= 0) {
1199
+ self.getReadingRangeData(node[0], function (data) {
1200
+ self.$set(node[0], 'children', data)
1201
+ })
1202
+ }
1203
+ self.$set(node[0], 'expand', true)
1204
+ }
1205
+ } else {
1206
+ self.$set(self.currentNodeUser, 'expand', !self.currentNodeUser.expand)
1207
+ self.currentNodeUser.selected = true
1208
+ }
1209
+ },
1210
+ //获取用户信息(懒加载)
1211
+ loadReadingRangeData(node, callback) {
1212
+ this.getReadingRangeData(node, function (data) {
1213
+ if (data.length > 0) {
1214
+ callback(data)
1215
+ }
1216
+ })
1217
+ },
1218
+ getReadingRangeData(node, callback) {
1219
+ let self = this
1220
+ ajax.get(self.upmsServerContext + "/manage/ucOrgan/getOrgSubNodes", {
1221
+ params: {
1222
+ organCode: node.code,
1223
+ orgTreeType: self.organTreeType
1224
+ }
1225
+ }).then(function (resp) {
1226
+ const childs = [];
1227
+ if (resp.data.code === 1) {
1228
+ let nodeDatas = resp.data.data
1229
+ if (nodeDatas.length > 0) {
1230
+ nodeDatas.forEach(item => {
1231
+ let obj = {};
1232
+ let typeName = '';
1233
+ if ('com' === item.organType) {
1234
+ typeName = '(公司)'
1235
+ } else if ('dept' === item.organType) {
1236
+ typeName = '(部门)'
1237
+ }
1238
+ // obj.disableCheckbox = true
1239
+ obj.type = item.organType;
1240
+ obj.id = item.organCode
1241
+ obj.title = item.organName + typeName
1242
+ obj.name = item.organName
1243
+ obj.com = item.organId
1244
+ obj.code = item.organCode
1245
+ obj.loading = false
1246
+ obj.children = []
1247
+ obj.hasChild = true
1248
+ childs.push(obj)
1249
+ })
1250
+ } else {
1251
+ self.$set(node, "hasChild", false)
1252
+ self.$delete(node, 'loading')
1253
+ }
1254
+ if (callback) {
1255
+ callback(childs)
1256
+ }
1257
+ } else {
1258
+ self.$set(node, "hasChild", false)
1259
+ self.$delete(node, 'loading')
1260
+ if (callback) {
1261
+ callback()
1262
+ }
1263
+ }
1264
+ })
1265
+ },
1266
+
1267
+ selectPostChange(node) {
1268
+ let self = this
1269
+ if (node.length > 0) {
1270
+ if (self.currentNodePost !== node[0]) {
1271
+ self.currentNodePost = node[0]
1272
+
1273
+ self.form.organId = self.currentNodePost.id
1274
+ self.form.organTitle = self.currentNodePost.title
1275
+
1276
+
1277
+ if (node[0].children.length <= 0) {
1278
+ self.getReadingRangeDataPost(node[0], function (data) {
1279
+ self.$set(node[0], 'children', data)
1280
+ })
1281
+ }
1282
+ self.$set(node[0], 'expand', true)
1283
+ }
1284
+ } else {
1285
+ self.$set(self.currentNodePost, 'expand', !self.currentNodePost.expand)
1286
+ self.currentNodePost.selected = true
1287
+ }
1288
+ },
1289
+ //获取用户信息(懒加载)
1290
+ loadReadingRangeDataPost(node, callback) {
1291
+ this.getReadingRangeDataPost(node, function (data) {
1292
+ if (data.length > 0) {
1293
+ callback(data)
1294
+ }
1295
+ })
1296
+ },
1297
+ getReadingRangeDataPost(node, callback) {
1298
+ let self = this
1299
+ ajax.get(self.upmsServerContext + "/manage/org/getOrgSubNodes", {
1300
+ params: {
1301
+ code: node.code,
1302
+ orgTreeType: self.organTreeType
1303
+ }
1304
+ }).then(function (resp) {
1305
+ const childs = [];
1306
+ if (resp.data.code === 1 || resp.data.code === 200) {
1307
+ let nodeDatas = resp.data.data
1308
+ if (nodeDatas.length > 0) {
1309
+ nodeDatas.forEach(item => {
1310
+ let obj = {};
1311
+ let typeName = '';
1312
+ if ('com' === item.organType) {
1313
+ typeName = '(公司)'
1314
+ } else if ('dept' === item.organType) {
1315
+ typeName = '(部门)'
1316
+ }
1317
+ // obj.disableCheckbox = true
1318
+ obj.type = item.organType;
1319
+ obj.id = item.id
1320
+ obj.title = item.organName + typeName
1321
+ obj.name = item.organName
1322
+ obj.com = item.organId
1323
+ obj.code = item.organCode
1324
+ obj.loading = false
1325
+ obj.children = []
1326
+ obj.hasChild = true
1327
+ childs.push(obj)
1328
+ })
1329
+ } else {
1330
+ self.$set(node, "hasChild", false)
1331
+ self.$delete(node, 'loading')
1332
+ }
1333
+ if (callback) {
1334
+ callback(childs)
1335
+ }
1336
+ } else {
1337
+ self.$set(node, "hasChild", false)
1338
+ self.$delete(node, 'loading')
1339
+ if (callback) {
1340
+ callback([])
1341
+ }
1342
+ }
1343
+ })
1344
+ },
1345
+
1346
+ //权限范围用户点击事件
1347
+ selectReRaYHChange(data, info) {
1348
+ let self = this
1349
+ const user = sessionStorage.getItem('userInfo');
1350
+ const jsonArray = JSON.parse(user);
1351
+ var userPermScope = self.permScope.substring(self.permScope.indexOf("U:"))
1352
+ userPermScope = userPermScope.substring(2, userPermScope.indexOf(","))
1353
+ userPermScope = userPermScope.split(';')
1354
+ //self.selectUserChange(data)
1355
+ let treeUserCenters = [];
1356
+
1357
+ /*if (info.checked == true) {
1358
+ self.$set(info, 'expand', true)
1359
+ } else {
1360
+ self.$set(info, 'expand', false)
1361
+ }*/
1362
+ /*if ((jsonArray.orgCode || jsonArray.organCode) != info.code) {
1363
+ self.getReadingRangeData(info, function (data) {
1364
+ self.$set(info, 'children', data)
1365
+ })
1366
+ }*/
1367
+ if (self.permScope == "all" || self.permScope == "undefined") {
1368
+ let userIdSet = new Set()
1369
+ data.forEach(itemCom => {
1370
+
1371
+ ajax.get(self.upmsServerContext + "/manage/user/getList", {
1372
+ params: {
1373
+ organId: itemCom.id,
1374
+ orgTreeType: self.organTreeType,
1375
+ limit: "1000",
1376
+ directChild: true,
1377
+ }
1378
+ }).then(function (resp) {
1379
+ if (resp.data.message == "成功") {
1380
+ let nodeUser = resp.data.data
1381
+ nodeUser.forEach(item => {
1382
+ if (!userIdSet.has(item.userId)) {
1383
+ userIdSet.add(item.userId)
1384
+ treeUserCenters.push({
1385
+ userId: item.userId,
1386
+ userName: item.userName,
1387
+ nameItem: item.superiorOrgName,
1388
+ organName: item.organName
1389
+ })
1390
+ }
1391
+ })
1392
+ }
1393
+
1394
+ })
1395
+ })
1396
+ } else {
1397
+ let userIdSet = new Set()
1398
+ data.forEach(itemCom => {
1399
+
1400
+ ajax.get(self.upmsServerContext + "/manage/user/getList", {
1401
+ params: {
1402
+ organId: itemCom.id,
1403
+ orgTreeType: self.organTreeType,
1404
+ limit: "1000",
1405
+ directChild: true,
1406
+ }
1407
+ }).then(function (resp) {
1408
+ if (resp.data.message == "成功") {
1409
+ let nodeUser = resp.data.data
1410
+ nodeUser.forEach(item => {
1411
+ if (!userIdSet.has(item.userId) && userPermScope.includes(item.userId)) {
1412
+ userIdSet.add(item.userId)
1413
+ treeUserCenters.push({
1414
+ userId: item.userId,
1415
+ userName: item.userName,
1416
+ nameItem: item.superiorOrgName,
1417
+ organName: item.organName
1418
+ })
1419
+ }
1420
+ })
1421
+ }
1422
+
1423
+ })
1424
+
1425
+ })
1426
+ }
1427
+
1428
+ self.treeUserCenterValue = treeUserCenters
1429
+ self.treeUserNameCenterValue = []
1430
+ },
1431
+
1432
+ //权限范围岗位点击事件
1433
+ selectReRaYHChangePost(data, info) {
1434
+ let self = this
1435
+ const user = sessionStorage.getItem('userInfo');
1436
+ const jsonArray = JSON.parse(user);
1437
+ let nodePost = []
1438
+ let treePostCenter = [];
1439
+ /*if (info.checked == true) {
1440
+ self.$set(info, 'expand', true)
1441
+ } else {
1442
+ self.$set(info, 'expand', false)
1443
+ }*/
1444
+ /*if (j(jsonArray.orgCode || jsonArray.organCode) != info.code) {
1445
+ self.getReadingRangeDataPost(info, function (data) {
1446
+ self.$set(info, 'children', data)
1447
+ })
1448
+ }*/
1449
+ if ((jsonArray.orgCode || jsonArray.organCode) != info.code) {
1450
+ self.getReadingRangeDataPost(info, function (data) {
1451
+ self.$set(info, 'children', data)
1452
+ })
1453
+ }
1454
+
1455
+ if (self.permScope == "all" || self.permScope == "undefined") {
1456
+ const positionIdSet = new Set();
1457
+ data.forEach(itemCom => {
1458
+ ajax.get(self.smartFlowServerContext + "/manage/position/qryPositionList?organCode=" + itemCom.code).then(function (resp) {
1459
+ nodePost = resp.data.data
1460
+ nodePost.forEach(item => {
1461
+ if (!positionIdSet.has(item.positionId)) {
1462
+ item.nameItem = item.organName !== '' ? item.organName : item.positionName;
1463
+ treePostCenter.push(item);
1464
+ positionIdSet.add(item.positionId);
1465
+ }
1466
+ });
1467
+ })
1468
+
1469
+ })
1470
+ } else {
1471
+ let postPermScope = self.permScope.substring(self.permScope.indexOf("P:"))
1472
+ postPermScope = postPermScope.substring(2, postPermScope.indexOf(","))
1473
+ postPermScope = postPermScope.split(';')
1474
+ const addedPositionIds = new Set();
1475
+ data.forEach(itemCom => {
1476
+ ajax.get(self.smartFlowServerContext + "/manage/position/qryPositionList?organCode=" + itemCom.code).then(function (resp) {
1477
+ nodePost = resp.data.data;
1478
+ nodePost.forEach(item => {
1479
+ if (postPermScope.includes(item.positionId) && !addedPositionIds.has(item.positionId)) {
1480
+ item.nameItem = item.organName !== '' ? item.organName : item.positionName;
1481
+ treePostCenter.push(item);
1482
+ addedPositionIds.add(item.positionId);
1483
+ }
1484
+ });
1485
+ });
1486
+ });
1487
+ }
1488
+
1489
+ self.treePostCenterValue = treePostCenter
1490
+ self.treePostNameCenterValue = []
1491
+ },
1492
+ getReadingRangeRole(row) {
1493
+ let nameList = [];
1494
+ let self = this
1495
+ self.userNum = "2"
1496
+ if (row.length > self.noticeList.length) {
1497
+ row.forEach(ro => {
1498
+ ro = ro.substring(ro.indexOf(","))
1499
+ })
1500
+ self.noticeRoleNameList = row
1501
+ self.noticeList = row
1502
+ row = row.reverse()
1503
+ let organName = row[0].replace(",", ":") + ",3"
1504
+ self.organModel.push(organName);
1505
+ self.organChange(self.organModel)
1506
+ } else if (row.length < self.noticeList.length) {
1507
+ let diff = ""
1508
+ let orgList = []
1509
+ for (let i = 0; i < self.noticeList.length; i++) {
1510
+ if (!row.includes(self.noticeList[i])) {
1511
+ diff = self.noticeList[i]
1512
+ }
1513
+ }
1514
+ diff = diff.replace(",", ":")
1515
+ self.organModel.forEach(organ => {
1516
+ if (organ.indexOf(diff) == -1) {
1517
+ orgList.push(organ)
1518
+ }
1519
+ })
1520
+ self.organModel = orgList
1521
+ self.noticeList = row
1522
+ }
1523
+ this.updateLength()
1524
+ },
1525
+ getReadingRangeUser(row) {
1526
+ let self = this
1527
+ self.userNum = "2"
1528
+ if (row.length > self.selectedKeys.length) {
1529
+ self.treeUserValue = row
1530
+ self.selectedKeys = row
1531
+ row = row.reverse()
1532
+ let organName = row[0].replace(",", ":") + ",2"
1533
+ self.organModel.push(organName);
1534
+ self.organChange(self.organModel)
1535
+ } else if (row.length < self.selectedKeys.length) {
1536
+ let diff = ""
1537
+ let orgList = []
1538
+ for (let i = 0; i < self.selectedKeys.length; i++) {
1539
+ if (!row.includes(self.selectedKeys[i])) {
1540
+ diff = self.selectedKeys[i]
1541
+ }
1542
+ }
1543
+ diff = diff.replace(",", ":")
1544
+ self.organModel.forEach(organ => {
1545
+ if (organ.indexOf(diff) == -1) {
1546
+ orgList.push(organ)
1547
+ }
1548
+ })
1549
+ self.organModel = orgList
1550
+ self.selectedKeys = row
1551
+ }
1552
+ this.updateLength()
1553
+ },
1554
+ getReadingRangePosts(row) {
1555
+ let self = this
1556
+ self.userNum = "2"
1557
+ if (row.length > self.postKeys.length) {
1558
+ self.treePostValue = row
1559
+ self.postKeys = row
1560
+ row = row.reverse()
1561
+ let organName = row[0].replace(",", ":") + ",4"
1562
+ self.organModel.push(organName);
1563
+ self.organChange(self.organModel)
1564
+ } else if (row.length < self.postKeys.length) {
1565
+ let diff = ""
1566
+ let orgList = []
1567
+ for (let i = 0; i < self.postKeys.length; i++) {
1568
+ if (!row.includes(self.postKeys[i])) {
1569
+ diff = self.postKeys[i]
1570
+ }
1571
+ }
1572
+ diff = diff.replace(",", ":")
1573
+ self.organModel.forEach(organ => {
1574
+ if (organ.indexOf(diff) == -1) {
1575
+ orgList.push(organ)
1576
+ }
1577
+ })
1578
+ self.organModel = orgList
1579
+ self.postKeys = row
1580
+ }
1581
+ this.updateLength()
1582
+ },
1583
+ organTreeRedis(row) {
1584
+ const user = sessionStorage.getItem('userInfo');
1585
+ const jsonArray = JSON.parse(user);
1586
+ if (row == 'undefined' || row == "all") {
1587
+
1588
+ ajax.get(this.smartFlowServerContext + "/manage/processDesign/getOrgan?orgId=" + (jsonArray.organId)
1589
+ ).then(resp => {
1590
+ if (resp.data.code === '200') {
1591
+ this.organTree = resp.data.data;
1592
+ }
1593
+ })
1594
+ } else {
1595
+
1596
+ let orgPermScope = row.substring(2, row.indexOf(","))
1597
+ orgPermScope = orgPermScope.split(';')
1598
+
1599
+ let userPermScope = row.substring(row.indexOf("U:"))
1600
+ userPermScope = userPermScope.substring(2, userPermScope.indexOf(","))
1601
+ userPermScope = userPermScope.split(';')
1602
+
1603
+ var rolePermScope = row.substring(row.indexOf("R:"))
1604
+ rolePermScope = rolePermScope.substring(2, rolePermScope.indexOf(","))
1605
+ rolePermScope = rolePermScope.split(';')
1606
+
1607
+ let postPermScope = row.substring(row.indexOf("P:"))
1608
+ postPermScope = postPermScope.substring(2, postPermScope.indexOf(","))
1609
+ postPermScope = postPermScope.split(';')
1610
+ ajax.get(this.upmsServerContext + "/manage/user/get/" + (jsonArray.accountUuid || jsonArray.userId))
1611
+ .then(resp => {
1612
+ this.organId = resp.data.data.organId
1613
+ ajax.get(this.smartFlowServerContext + "/manage/processDesign/getOrgan?orgId=" + (jsonArray.organId)
1614
+ ).then(resp => {
1615
+ if (resp.data.code === '200') {
1616
+ for (let key in resp.data.data.orgenMap) {
1617
+ for (let i = 0; i < orgPermScope.length; i++) {
1618
+ if (key == orgPermScope[i]) {
1619
+ const dataArr = [[key, resp.data.data.orgenMap[key]]]
1620
+
1621
+ for (let i = 0; i < dataArr.length; i++) {
1622
+ const [key, value] = dataArr[i];
1623
+ this.$set(this.organTree.orgenMap, key, value)
1624
+ }
1625
+ }
1626
+ }
1627
+ }
1628
+ for (let key in resp.data.data.userMap) {
1629
+ for (let i = 0; i < userPermScope.length; i++) {
1630
+ if (key == userPermScope[i]) {
1631
+ const dataArr = [[key, resp.data.data.userMap[key]]]
1632
+ for (let i = 0; i < dataArr.length; i++) {
1633
+ const [key, value] = dataArr[i];
1634
+ this.$set(this.organTree.userMap, key, value)
1635
+ }
1636
+ }
1637
+ }
1638
+ }
1639
+
1640
+ for (let key in resp.data.data.roleMap) {
1641
+ for (let i = 0; i < rolePermScope.length; i++) {
1642
+ if (key == rolePermScope[i]) {
1643
+ const dataArr = [[key, resp.data.data.roleMap[key]]]
1644
+
1645
+ for (let i = 0; i < dataArr.length; i++) {
1646
+ const [key, value] = dataArr[i];
1647
+ this.$set(this.organTree.roleMap, key, value)
1648
+ }
1649
+ }
1650
+ }
1651
+ }
1652
+
1653
+ for (let key in resp.data.data.postMap) {
1654
+ for (let i = 0; i < postPermScope.length; i++) {
1655
+ if (key == postPermScope[i]) {
1656
+ const dataArr = [[key, resp.data.data.postMap[key]]]
1657
+
1658
+ for (let i = 0; i < dataArr.length; i++) {
1659
+ const [key, value] = dataArr[i];
1660
+ this.$set(this.organTree.postMap, key, value)
1661
+ }
1662
+ }
1663
+ }
1664
+ }
1665
+ }
1666
+ })
1667
+
1668
+ })
1669
+ }
1670
+
1671
+
1672
+ },
1673
+ organChange(event) {
1674
+ this.organModel = []
1675
+ let orgValue = []
1676
+ let userValue = []
1677
+ let roleValue = []
1678
+ let postValue = []
1679
+ let orgAdjustment = ""
1680
+ let userAdjustment = ""
1681
+ let roleAdjustment = ""
1682
+ let postAdjustment = ""
1683
+ event.forEach(item => {
1684
+ let nameType = item.substring(item.indexOf(":") + 1)
1685
+ nameType = nameType.substring(nameType.indexOf(",") + 1)
1686
+ if (nameType == "1") {
1687
+ orgAdjustment = "1"
1688
+ this.organModel.push(item)
1689
+ orgValue.push({
1690
+ name: item.substring(item.indexOf(":") + 1, item.indexOf(",")),
1691
+ organId: item.substring(0, item.indexOf(":")),
1692
+ code: item.substring(0, item.indexOf(":")),
1693
+ checked: true
1694
+ })
1695
+ } else if (nameType != "1") {
1696
+ orgAdjustment = "1"
1697
+ }
1698
+ if (nameType == "2") {
1699
+ userAdjustment = "2"
1700
+ this.organModel.push(item)
1701
+ let user = item.substring(0, item.indexOf(","))
1702
+ user = user.replace(":", ",")
1703
+ userValue.push(user)
1704
+ } else if (nameType != "2") {
1705
+ userAdjustment = "2"
1706
+ }
1707
+ if (nameType == "3") {
1708
+ roleAdjustment = "3"
1709
+ this.organModel.push(item)
1710
+ let user = item.substring(0, item.indexOf(","))
1711
+ user = user.substring(user.indexOf(":") + 1)
1712
+ roleValue.push(user)
1713
+ } else if (nameType != "3") {
1714
+ roleAdjustment = "3"
1715
+ }
1716
+ if (nameType == "4") {
1717
+ postAdjustment = "4"
1718
+ let postItem = item.substring(0, item.indexOf(","))
1719
+ postItem = postItem.replace(":", ",")
1720
+ this.organModel.push(item)
1721
+ postValue.push(postItem)
1722
+ } else if (nameType != "4") {
1723
+ postAdjustment = "4"
1724
+ }
1725
+
1726
+ // 执行需要的操作
1727
+ });
1728
+ if (event.length == 0) {
1729
+ orgAdjustment = '1'
1730
+ userAdjustment = '2'
1731
+ roleAdjustment = '3'
1732
+ postAdjustment = '4'
1733
+ this.noticeRoleList = []
1734
+ }
1735
+ if (this.userNum != "1") {
1736
+ if (orgAdjustment == "1") {
1737
+ this.treeValueBM = orgValue
1738
+ }
1739
+ if (userAdjustment == "2") {
1740
+ this.treeUserValue = userValue
1741
+ }
1742
+ if (roleAdjustment == "3") {
1743
+ this.noticeRoleNameList = roleValue
1744
+ }
1745
+ if (postAdjustment == "4") {
1746
+ this.treePostValue = postValue
1747
+ }
1748
+ }
1749
+ this.userNum = "2"
1750
+ this.updateLength()
1751
+ },
1752
+ organTreeRedisUpdate() {
1753
+ const user = sessionStorage.getItem('userInfo');
1754
+ const jsonArray = JSON.parse(user);
1755
+ if (this.permScope == "all" || this.permScope == "undefined") {
1756
+ this.loading = true;
1757
+ ajax.get(this.smartFlowServerContext + "/manage/processDesign/getOrgan?orgId=" + (jsonArray.organId)
1758
+ ).then(resp => {
1759
+ if (resp.data.code === '200') {
1760
+ this.organTree = resp.data.data;
1761
+ this.loading = false;
1762
+ } else {
1763
+ this.loading = false;
1764
+ }
1765
+ })
1766
+ } else {
1767
+ this.loading = true;
1768
+ let orgPermScope = this.permScope.substring(2, this.permScope.indexOf(","))
1769
+ orgPermScope = orgPermScope.split(';')
1770
+
1771
+ let userPermScope = this.permScope.substring(this.permScope.indexOf("U:"))
1772
+ userPermScope = userPermScope.substring(2, userPermScope.indexOf(","))
1773
+ userPermScope = userPermScope.split(';')
1774
+
1775
+ let rolePermScope = this.permScope.substring(this.permScope.indexOf("R:"))
1776
+ rolePermScope = rolePermScope.substring(2, rolePermScope.indexOf(","))
1777
+ rolePermScope = rolePermScope.split(';')
1778
+
1779
+ let postPermScope = this.permScope.substring(this.permScope.indexOf("P:"))
1780
+ postPermScope = postPermScope.substring(2, postPermScope.indexOf(","))
1781
+ postPermScope = postPermScope.split(';')
1782
+ ajax.get(this.upmsServerContext + "/manage/user/get/" + (jsonArray.accountUuid || jsonArray.userId))
1783
+ .then(resp => {
1784
+ this.organId = resp.data.data.permitOrganId
1785
+ ajax.get(this.smartFlowServerContext + "/manage/processDesign/getOrgan?orgId=" + this.organId
1786
+ ).then(resp => {
1787
+ if (resp.data.code === '200') {
1788
+ for (let key in resp.data.data.orgenMap) {
1789
+ for (let i = 0; i < orgPermScope.length; i++) {
1790
+ if (key == orgPermScope[i]) {
1791
+ const dataArr = [[key, resp.data.data.orgenMap[key]]]
1792
+
1793
+ for (let i = 0; i < dataArr.length; i++) {
1794
+ const [key, value] = dataArr[i];
1795
+ this.$set(this.organTree.orgenMap, key, value)
1796
+ }
1797
+ }
1798
+ }
1799
+ }
1800
+ for (let key in resp.data.data.userMap) {
1801
+ for (let i = 0; i < userPermScope.length; i++) {
1802
+ if (key == userPermScope[i]) {
1803
+ const dataArr = [[key, resp.data.data.userMap[key]]]
1804
+ for (let i = 0; i < dataArr.length; i++) {
1805
+ const [key, value] = dataArr[i];
1806
+ this.$set(this.organTree.userMap, key, value)
1807
+ }
1808
+ }
1809
+ }
1810
+ }
1811
+
1812
+ for (let key in resp.data.data.roleMap) {
1813
+ for (let i = 0; i < rolePermScope.length; i++) {
1814
+ if (key == rolePermScope[i]) {
1815
+ const dataArr = [[key, resp.data.data.roleMap[key]]]
1816
+
1817
+ for (let i = 0; i < dataArr.length; i++) {
1818
+ const [key, value] = dataArr[i];
1819
+ this.$set(this.organTree.roleMap, key, value)
1820
+ }
1821
+ }
1822
+ }
1823
+ }
1824
+
1825
+ for (let key in resp.data.data.postMap) {
1826
+ for (let i = 0; i < postPermScope.length; i++) {
1827
+ if (key == postPermScope[i]) {
1828
+ const dataArr = [[key, resp.data.data.postMap[key]]]
1829
+
1830
+ for (let i = 0; i < dataArr.length; i++) {
1831
+ const [key, value] = dataArr[i];
1832
+ this.$set(this.organTree.postMap, key, value)
1833
+ }
1834
+ }
1835
+ }
1836
+ }
1837
+ this.loading = false;
1838
+ this.$Message.success("更新查询数据成功!")
1839
+ } else {
1840
+ // this.$Message.error(resp.data.data);
1841
+ console.log(resp.data.data);
1842
+ this.loading = false;
1843
+ }
1844
+ })
1845
+
1846
+ })
1847
+ }
1848
+ },
1849
+ readingRangeEmpty() {
1850
+ this.treeValueBM.forEach(item => {
1851
+ item.checked = false
1852
+ })
1853
+ // this.treeUserCenterValue =[];
1854
+ this.treeValueBM = [];
1855
+ this.treeUserValue = [];
1856
+ //角色集合
1857
+ this.noticeRoleList = [];
1858
+ this.noticeRoleNameList = [];
1859
+ this.selectedKeys = []
1860
+ //岗位集合
1861
+ this.postList = [];
1862
+ this.treePostValue = [];
1863
+ this.processPostList = [];
1864
+ this.treeLength = 0
1865
+ this.organModel = []
1866
+ this.postKeys = []
1867
+ //组织类型集合
1868
+ this.treeOrgTypeValue.forEach(item =>{
1869
+ item.checked = false
1870
+ })
1871
+ this.treeOrgTypeValue = [];
1872
+ },
1873
+ updateLength() {
1874
+ this.treeLength = this.treeValueBM.length + this.treeUserValue.length + this.noticeRoleNameList.length + this.treePostValue.length + this.treeOrgTypeValue.length
1875
+ },
1876
+ clearCache() {
1877
+ this.readingRangeBM = []
1878
+ this.readingRange = []
1879
+ this.roleList = []
1880
+ this.readingRangePost = []
1881
+ this.treeUserCenterValue = []
1882
+ this.treePostCenterValue = []
1883
+ this.treeValueBM.forEach(item => {
1884
+ item.checked = false
1885
+ })
1886
+ this.treeValueBM = [];
1887
+ this.treeUserValue = [];
1888
+ //角色集合
1889
+ this.noticeRoleList = [];
1890
+ this.noticeRoleNameList = [];
1891
+ this.selectedKeys = []
1892
+ //岗位集合
1893
+ this.postList = [];
1894
+ this.treePostValue = [];
1895
+ this.processPostList = [];
1896
+ this.treeLength = 0
1897
+ this.organModel = []
1898
+ this.postKeys = []
1899
+ //组织类型
1900
+ this.readingRangeOrgType = []
1901
+ this.readingRangeOrgType.forEach(item => {
1902
+ item.checked = false
1903
+ })
1904
+ this.treeOrgTypeValue = [];
1905
+ },
1906
+ getSystemConfig(){
1907
+ const self = this
1908
+ ajax.get(self.smartFlowServerContext + '/anon/systemConfig/getSystemConfig').then(function (resp) {
1909
+ const result = resp.data;
1910
+ if (result && result.code === '200') {
1911
+ self.ucAdapterType = result.data.ucAdapterType
1912
+ }
1913
+ }).catch(err => {
1914
+ console.log(err);
1915
+ })
1916
+ },
1917
+ toggleShowHelpBox(permScope, inputValue, organTreeType, id) {
1918
+ this.clearCache()
1919
+ this.id = id
1920
+ this.permScope = permScope
1921
+ this.organTreeType = organTreeType
1922
+ this.organTreeRedis(this.permScope)
1923
+ if (inputValue){
1924
+ this.getOrgan(inputValue)
1925
+ this.getUser(inputValue)
1926
+ this.getRole(inputValue)
1927
+ this.ucAdapterType === 'x1' ? this.getPost(inputValue) : this.getOrgType(inputValue)
1928
+ }
1929
+ if (this.permScope == 'all'){
1930
+ this.getRootOrganTree(organTreeType)
1931
+ this.ucAdapterType === 'sc' ? this.getReadingRangeOrgType(permScope, organTreeType) : ''
1932
+ } else {
1933
+ this.getReadingRangeBM(this.permScope, inputValue, this.organTreeType)
1934
+ this.getReadingRange(this.permScope, this.organTreeType)
1935
+ this.ucAdapterType === 'x1' ? this.getReadingRangePost(this.permScope, this.organTreeType) : this.getReadingRangeOrgType(this.permScope, this.organTreeType)
1936
+ }
1937
+ this.getReadingRangeAllRole(this.permScope)
1938
+ this.modalBoxShow = !this.modalBoxShow;
1939
+ },
1940
+ onOk() {
1941
+ let organ = [];
1942
+ let names = [];
1943
+ let organs = [];
1944
+ this.treeValueBM.forEach(item => {
1945
+ organ.push(item.code)
1946
+ names.push(item.name)
1947
+ organs.push(item.code + ':' + item.name)
1948
+ })
1949
+ let nameValue = [];
1950
+ let users = [];
1951
+ this.treeUserValue.forEach(item => {
1952
+ nameValue.push(item.split(',')[0])
1953
+ names.push(item.split(',')[1])
1954
+ users.push(item.split(',')[0] + ':' + item.split(',')[1])
1955
+ })
1956
+ let roleList = [];
1957
+ let roles = [];
1958
+ this.noticeRoleList.forEach(item => {
1959
+ roleList.push(item.split(',')[0])
1960
+ names.push(item.split(',')[1])
1961
+ roles.push(item.split(',')[0] + ':' + item.split(',')[1])
1962
+ })
1963
+ let postList = [];
1964
+ let positions = [];
1965
+ this.treePostValue.forEach(item => {
1966
+ postList.push(item.split(',')[0])
1967
+ names.push(item.split(',')[1])
1968
+ positions.push(item.split(',')[0] + ':' + item.split(',')[1])
1969
+ })
1970
+ let orgTypeList = [];
1971
+ let orgTypes = [];
1972
+ this.treeOrgTypeValue.forEach(item => {
1973
+ orgTypeList.push(item.bizTypeCode)
1974
+ names.push(item.typeName)
1975
+ orgTypes.push(item.bizTypeCode + ':' + item.typeName)
1976
+ })
1977
+ let value = 'O:' + organ.join(";") + "," + "U:" + nameValue.join(";") + "," + "P:" + postList.join(";") + "," + "R:" + roleList.join(";") + "," + "RP:,T:" + orgTypeList.join(";");
1978
+ let nameStr = names.join(",")
1979
+ let detail = {
1980
+ organs: organs.join(","),
1981
+ users: users.join(","),
1982
+ roles: roles.join(","),
1983
+ positions: positions.join(","),
1984
+ types: orgTypes.join(","),
1985
+ }
1986
+ this.$emit('update-cand-groups', value, nameStr, detail, this.id);
1987
+ this.modalBoxShow = false;
1988
+ },
1989
+ findTitleByValue(arr, value) {
1990
+ function traverse(items) {
1991
+ for (let item of items) {
1992
+ if (item.value === value) {
1993
+ return item.title;
1994
+ }
1995
+ if (item.children && item.children.length > 0) {
1996
+ let result = traverse(item.children);
1997
+ if (result) {
1998
+ return result;
1999
+ }
2000
+ }
2001
+ }
2002
+ return '';
2003
+ }
2004
+
2005
+ return traverse(arr);
2006
+ },
2007
+ indexToString(index) {
2008
+ return index + ''
2009
+ },
2010
+ showUserDetail(item){
2011
+ if (item.nameItem && item.organName){
2012
+ return `( ${item.nameItem} , ${item.organName} )`
2013
+ }
2014
+ }
2015
+ },
2016
+ };
2017
+ </script>
2018
+
2019
+ <style scoped>
2020
+ .relativePositionAddButton {
2021
+ float: right;
2022
+ margin-top: 20px;
2023
+ }
2024
+
2025
+ .relativePositionRemoveButton {
2026
+ float: right;
2027
+ margin: 2px;
2028
+ }
2029
+
2030
+ .cont {
2031
+ display: flex;
2032
+ justify-content: left;
2033
+ margin-top: 10px;
2034
+ }
2035
+
2036
+ .contLeft {
2037
+ flex: 0 0 40%;
2038
+ z-index: 1;
2039
+ margin-right: 10px
2040
+ }
2041
+
2042
+ .contRight {
2043
+ flex: 0 0 30%;
2044
+ margin-top: 33.98px;
2045
+ }
2046
+
2047
+ .checkbox-container {
2048
+ display: flex;
2049
+ flex-direction: column;
2050
+ line-height: 30px;
2051
+ }
2052
+
2053
+ .overflowAuto {
2054
+ height: 600px;
2055
+ overflow-y: auto;
2056
+ }
2057
+
2058
+ .contLeftTwo {
2059
+ flex: 0 0 50%;
2060
+ z-index: 1;
2061
+ margin-right: 10px;
2062
+ }
2063
+
2064
+ .contRightTwo {
2065
+ flex: 0 0 49%;
2066
+ margin-top: 30px;
2067
+ }
2068
+
2069
+ /deep/ .ivu-checkbox-input {
2070
+ width: 136px;
2071
+ }
2072
+ </style>