1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
| <template>
| <a-modal :width="modalWidth" :visible="visible" title="部门搜索" @ok="handleSubmit" @cancel="handleCancel">
| <div class="tree-from">
| <!--部门树-->
| <a-form :form="form">
| <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="上级部门">
| <a-tree
| :selected-keys="selectedKeys"
| :expandedKeys="expandedKeysss"
| @expand="onExpand"
| @select="onSelect"
| :dropdownStyle="{ maxHeight: '200px', overflow: 'auto' }"
| :treeData="departTree"
| placeholder="请选择上级部门"
| >
| </a-tree>
| </a-form-item>
| </a-form>
| </div>
| </a-modal>
| </template>
|
| <script>
| import { getAction } from '@tievd/cube-block/lib/api/manage'
| import userModal from './UserModal'
| export default {
| name: 'DepartWindow',
| components: {
| userModal,
| },
| data() {
| return {
| selectedKeys: [],
| expandedKeysss: [], //展开的节点
| departObj: [], // 存储部门信息
| modalWidth: 400,
| departTree: [],
| visible: false,
| labelCol: {
| xs: { span: 24 },
| sm: { span: 5 },
| },
| wrapperCol: {
| xs: { span: 24 },
| sm: { span: 16 },
| },
| form: {},
| }
| },
| methods: {
| add(data) {
| console.log(data)
| this.selectedKeys = [data.selecteddeparts]
| this.queryDepartTree()
| this.visible = true
| },
| close() {
| this.$emit('close')
| this.visible = false
| this.departObj = {}
| },
| handleSubmit() {
| this.$emit('ok', this.departObj)
| this.close()
| },
| handleCancel() {
| this.close()
| },
| // 选择部门时作用的API
| queryDepartTree() {
| getAction('/sys/depart/queryTreeList').then((res) => {
| if (res.success) {
| this.departTree = res.result
| let treekey = []
| let arr = res.result
| if (arr && arr.length > 0) {
| arr.forEach((item) => {
| treekey.push(item.key)
| if (item.children && item.children.length > 0) {
| item.children.forEach((item1) => {
| treekey.push(item1.key)
| })
| }
| })
| this.expandedKeysss = treekey
| }
| }
| })
| },
| onExpand(expandedKeys) {
| console.log(expandedKeys)
| this.expandedKeysss = expandedKeys
| },
| onSelect(id, e) {
| console.log(e.node.dataRef)
| const { key } = e.node.dataRef
| this.selectedKeys = [key]
| this.departObj = []
| let de = e.node.dataRef
| this.departObj = {
| title: de.title,
| id: de.id,
| orgCode: de.orgCode,
| }
| console.log(this.departObj)
| },
| },
| }
| </script>
|
| <style lang="less" scoped>
| .tree-from {
| min-height: 200px;
| }
| </style>
|
|