|
1
2
3
4
5
6
7
8
|
<template>
<a-row :gutter="10">
<a-col :md="8" :sm="24">
<a-card :bordered="false">
<div style="background: #fff;padding-left:16px;height: 100%; margin-top: 5px">
<a-input-search @search="onSearch" style="width:100%;margin-top: 10px" placeholder="请输入部门名称"/>
<!-- 树-->
|
|
9
|
<template v-if="userIdentity === '2' && departTree.length>0">
|
|
10
11
|
<!--组织机构-->
|
|
12
13
|
<a-tree
showLine
|
|
14
15
16
17
18
|
:selectedKeys="selectedKeys"
:checkStrictly="true"
@select="onSelect"
:dropdownStyle="{maxHeight:'200px',overflow:'auto'}"
:treeData="departTree"
|
|
19
|
:autoExpandParent="autoExpandParent"
|
|
20
21
|
:expandedKeys="iExpandedKeys"
@expand="onExpand"
|
|
22
23
24
|
/>
</template>
|
|
25
26
27
|
<div style="margin-top: 24px;" v-else-if="userIdentity === '2' && departTree.length==0">
<h3><span>您的部门下暂无有效部门信息</span></h3>
</div>
|
|
28
|
<div style="margin-top: 24px;" v-else><h3>普通员工暂无此权限</h3></div>
|
|
29
30
31
32
33
34
35
36
37
38
|
</div>
</a-card>
</a-col>
<a-col :md="16" :sm="24">
<a-card :bordered="false">
<a-tabs defaultActiveKey="2" @change="callback">
<a-tab-pane tab="基本信息" key="1" forceRender>
<Dept-Base-Info ref="DeptBaseInfo"></Dept-Base-Info>
</a-tab-pane>
<a-tab-pane tab="用户信息" key="2">
|
|
39
40
41
42
|
<Dept-User-Info ref="DeptUserInfo" @clearSelectedDepartKeys="clearSelectedDepartKeys"></Dept-User-Info>
</a-tab-pane>
<a-tab-pane tab="部门角色" key="3" forceRender>
<dept-role-info ref="DeptRoleInfo" @clearSelectedDepartKeys="clearSelectedDepartKeys"/>
|
|
43
44
45
46
47
48
49
50
51
|
</a-tab-pane>
</a-tabs>
</a-card>
</a-col>
</a-row>
</template>
<script>
import DeptBaseInfo from './modules/DeptBaseInfo'
import DeptUserInfo from './modules/DeptUserInfo'
|
|
52
53
|
import { queryMyDepartTreeList, searchByKeywords } from '@/api/api'
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
|
|
54
|
import DeptRoleInfo from './modules/DeptRoleInfo'
|
|
55
56
57
58
59
|
export default {
name: 'DepartUserList',
mixins: [JeecgListMixin],
components: {
|
|
60
|
DeptRoleInfo,
|
|
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
|
DeptBaseInfo,
DeptUserInfo,
},
data() {
return {
currentDeptId: '',
iExpandedKeys: [],
loading: false,
autoExpandParent: true,
currFlowId: '',
currFlowName: '',
disable: true,
treeData: [],
visible: false,
departTree: [],
rightClickSelectedKey: '',
hiding: true,
model: {},
dropTrigger: '',
depart: {},
disableSubmit: false,
checkedKeys: [],
selectedKeys: [],
autoIncr: 1,
currSelected: {},
form: this.$form.createForm(this),
labelCol: {
xs: {span: 24},
sm: {span: 5}
},
wrapperCol: {
xs: {span: 24},
sm: {span: 16}
},
graphDatasource: {
nodes: [],
edges: []
},
|
|
99
|
userIdentity:"",
|
|
100
101
102
103
|
}
},
methods: {
callback(key) {
|
|
104
|
//console.log(key)
|
|
105
106
107
108
|
},
loadData() {
this.refresh();
},
|
|
109
110
111
112
113
114
115
|
clearSelectedDepartKeys() {
this.checkedKeys = [];
this.selectedKeys = [];
this.currentDeptId = '';
this.$refs.DeptUserInfo.currentDeptId='';
this.$refs.DeptRoleInfo.currentDeptId='';
},
|
|
116
117
118
119
|
loadTree() {
var that = this
that.treeData = []
that.departTree = []
|
|
120
121
|
queryMyDepartTreeList().then((res) => {
if (res.success && res.result ) {
|
|
122
123
124
125
126
127
128
129
130
|
for (let i = 0; i < res.result.length; i++) {
let temp = res.result[i]
that.treeData.push(temp)
that.departTree.push(temp)
that.setThisExpandedKeys(temp)
// console.log(temp.id)
}
this.loading = false
}
|
|
131
|
that.userIdentity = res.message
|
|
132
133
134
|
})
},
setThisExpandedKeys(node) {
|
|
135
|
//只展开一级目录
|
|
136
137
|
if (node.children && node.children.length > 0) {
this.iExpandedKeys.push(node.key)
|
|
138
139
|
//下方代码放开注释则默认展开所有节点
/**
|
|
140
141
142
|
for (let a = 0; a < node.children.length; a++) {
this.setThisExpandedKeys(node.children[a])
}
|
|
143
|
*/
|
|
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
|
}
},
refresh() {
this.loading = true
this.loadTree()
},
onExpand(expandedKeys) {
// console.log('onExpand', expandedKeys)
// if not set autoExpandParent to false, if children expanded, parent can not collapse.
// or, you can remove all expanded children keys.
this.iExpandedKeys = expandedKeys
this.autoExpandParent = false
},
onSearch(value) {
let that = this
if (value) {
|
|
162
|
searchByKeywords({keyWord: value,myDeptSearch:'1'}).then((res) => {
|
|
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
|
if (res.success) {
that.departTree = []
for (let i = 0; i < res.result.length; i++) {
let temp = res.result[i]
that.departTree.push(temp)
}
} else {
that.$message.warning(res.message)
}
})
} else {
that.loadTree()
}
},
onCheck(checkedKeys, e) {
let record = e.node.dataRef;
// console.log('onCheck', checkedKeys, e);
this.checkedKeys = [];
// if (e.checked === true) {
this.currentDeptId = record.id;
this.checkedKeys.push(record.id);
this.$refs.DeptBaseInfo.open(record);
this.$refs.DeptUserInfo.open(record);
|
|
188
|
this.$refs.DeptRoleInfo.open(record);
|
|
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
|
// }
// else {
// this.checkedKeys = [];
// this.$refs.DeptBaseInfo.clearForm();
// this.$refs.DeptUserInfo.clearList();
// }
this.hiding = false;
// this.checkedKeys = checkedKeys.checked
},
onSelect(selectedKeys, e) {
if (this.selectedKeys[0] !== selectedKeys[0]) {
this.selectedKeys = [selectedKeys[0]];
}
let record = e.node.dataRef;
this.checkedKeys.push(record.id);
this.$refs.DeptBaseInfo.open(record);
this.$refs.DeptUserInfo.onClearSelected();
this.$refs.DeptUserInfo.open(record);
|
|
208
209
|
this.$refs.DeptRoleInfo.onClearSelected();
this.$refs.DeptRoleInfo.open(record);
|
|
210
211
212
213
214
215
216
217
218
219
220
221
|
},
},
created() {
this.currFlowId = this.$route.params.id
this.currFlowName = this.$route.params.name
// this.loadTree()
},
}
</script>
<style scoped>
@import '~@assets/less/common.less'
</style>
|