three-trees-ui 1.0.22 → 1.0.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/three-trees-ui.common.js +490 -347
- package/lib/three-trees-ui.css +1 -1
- package/lib/three-trees-ui.umd.js +490 -347
- package/lib/three-trees-ui.umd.min.js +1 -1
- package/package.json +1 -1
- package/packages/DimensionSelector/src/main.vue +11 -2
- package/packages/DimensionSelectorInput/src/main.vue +5 -0
- package/packages/JobSelector/src/JobSelectorDialog.vue +11 -2
- package/packages/JobSelector/src/main.vue +1 -0
- package/packages/JobSelectorInput/src/main.vue +5 -0
- package/packages/ListSelector/src/ListSelector.vue +78 -6
- package/packages/OrgSelector/src/OrgSelectorDialog.vue +12 -3
- package/packages/OrgSelector/src/main.vue +1 -0
- package/packages/OrgSelectorInput/src/OrgSelectorInput.vue +5 -0
- package/packages/PostSelector/src/PostSelectorDialog.vue +11 -2
- package/packages/PostSelector/src/main.vue +1 -0
- package/packages/PostSelectorInput/src/PostSelectorInput.vue +5 -0
- package/packages/RoleSelector/src/RoleSelectorDialog.vue +11 -2
- package/packages/RoleSelector/src/main.vue +1 -0
- package/packages/RoleSelectorInput/src/main.vue +5 -0
- package/packages/UserSelector/src/UserSelectorDialog.vue +12 -3
- package/packages/UserSelector/src/main.vue +1 -0
- package/packages/UserSelectorInput/src/main.vue +5 -0
- package/src/utils.js +14 -0
package/package.json
CHANGED
|
@@ -106,6 +106,7 @@
|
|
|
106
106
|
@reset="reset"
|
|
107
107
|
@row-click="(row) => $emit('row-click', row)"
|
|
108
108
|
@page-change="(page) => $emit('page-change', page)"
|
|
109
|
+
@size-change="(size) => $emit('size-change', size)"
|
|
109
110
|
>
|
|
110
111
|
<template #detail="{ item }">
|
|
111
112
|
<ht-icon
|
|
@@ -128,9 +129,17 @@
|
|
|
128
129
|
/>
|
|
129
130
|
<p
|
|
130
131
|
class="selector-selected__label"
|
|
131
|
-
:title="
|
|
132
|
+
:title="
|
|
133
|
+
`${select[selectLabel]}${
|
|
134
|
+
select['code'] ? `(${select['code']})` : ''
|
|
135
|
+
}`
|
|
136
|
+
"
|
|
132
137
|
>
|
|
133
|
-
{{
|
|
138
|
+
{{
|
|
139
|
+
`${select[selectLabel]}${
|
|
140
|
+
select['code'] ? `(${select['code']})` : ''
|
|
141
|
+
}`
|
|
142
|
+
}}
|
|
134
143
|
</p>
|
|
135
144
|
</template>
|
|
136
145
|
</ht-list-selector>
|
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
@search="handleSearch"
|
|
29
29
|
@reset="handleReset"
|
|
30
30
|
@page-change="handlePageChange"
|
|
31
|
+
@size-change="handleSizeChange"
|
|
31
32
|
@row-click="(row) => $emit('row-click', row)"
|
|
32
33
|
@select-data="(data) => $emit('select-data', data)"
|
|
33
34
|
></ht-dimension-selector>
|
|
@@ -150,6 +151,10 @@
|
|
|
150
151
|
// 搜索模式下或者未进行过滤时,查询所有数据
|
|
151
152
|
this.handleLoad(page)
|
|
152
153
|
},
|
|
154
|
+
handleSizeChange(size) {
|
|
155
|
+
this.pagination.pageSize = size
|
|
156
|
+
this.handlePageChange(this.pagination.page)
|
|
157
|
+
},
|
|
153
158
|
// 获取查询参数中的分页信息(不传page时默认查询第一页)
|
|
154
159
|
getPageBean(page) {
|
|
155
160
|
const pageBean = { ...this.pagination }
|
|
@@ -41,6 +41,7 @@
|
|
|
41
41
|
@reset="reset"
|
|
42
42
|
@row-click="(row) => $emit('row-click', row)"
|
|
43
43
|
@page-change="(page) => $emit('page-change', page)"
|
|
44
|
+
@size-change="(size) => $emit('size-change', size)"
|
|
44
45
|
>
|
|
45
46
|
<template #detail="{ item }">
|
|
46
47
|
<ht-icon
|
|
@@ -63,9 +64,17 @@
|
|
|
63
64
|
/>
|
|
64
65
|
<p
|
|
65
66
|
class="selector-selected__label"
|
|
66
|
-
:title="
|
|
67
|
+
:title="
|
|
68
|
+
`${select[selectLabel]}${
|
|
69
|
+
select['code'] ? `(${select['code']})` : ''
|
|
70
|
+
}`
|
|
71
|
+
"
|
|
67
72
|
>
|
|
68
|
-
{{
|
|
73
|
+
{{
|
|
74
|
+
`${select[selectLabel]}${
|
|
75
|
+
select['code'] ? `(${select['code']})` : ''
|
|
76
|
+
}`
|
|
77
|
+
}}
|
|
69
78
|
</p>
|
|
70
79
|
</template>
|
|
71
80
|
</ht-list-selector>
|
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
@search="handleSearch"
|
|
31
31
|
@reset="handleReset"
|
|
32
32
|
@page-change="handlePageChange"
|
|
33
|
+
@size-change="handleSizeChange"
|
|
33
34
|
@row-click="(row) => $emit('row-click', row)"
|
|
34
35
|
@select-data="(data) => $emit('select-data', data)"
|
|
35
36
|
></ht-job-selector>
|
|
@@ -155,6 +156,10 @@
|
|
|
155
156
|
// 搜索模式下或者未进行过滤时,查询所有数据
|
|
156
157
|
this.handleLoad(page)
|
|
157
158
|
},
|
|
159
|
+
handleSizeChange(size) {
|
|
160
|
+
this.pagination.pageSize = size
|
|
161
|
+
this.handlePageChange(this.pagination.page)
|
|
162
|
+
},
|
|
158
163
|
// 获取查询参数中的分页信息(不传page时默认查询第一页)
|
|
159
164
|
getPageBean(page) {
|
|
160
165
|
const pageBean = { ...this.pagination }
|
|
@@ -14,6 +14,15 @@
|
|
|
14
14
|
</div>
|
|
15
15
|
<div class="selector-main__body">
|
|
16
16
|
<el-scrollbar v-if="data.length > 0" class="selector-list__scroll">
|
|
17
|
+
<el-checkbox
|
|
18
|
+
v-if="!single"
|
|
19
|
+
v-model="checkAll"
|
|
20
|
+
class="check-all"
|
|
21
|
+
:indeterminate="isIndeterminate"
|
|
22
|
+
@change="handleCheckAllChange"
|
|
23
|
+
>
|
|
24
|
+
全选
|
|
25
|
+
</el-checkbox>
|
|
17
26
|
<ul
|
|
18
27
|
class="selector-main__list"
|
|
19
28
|
:class="{ 'two-columns': isSearchMode }"
|
|
@@ -44,7 +53,7 @@
|
|
|
44
53
|
</div>
|
|
45
54
|
<div v-if="data.length > 0" class="selector-main__pager">
|
|
46
55
|
<el-pagination
|
|
47
|
-
layout="prev, pager, next"
|
|
56
|
+
layout="sizes,prev, pager, next"
|
|
48
57
|
:disabled="loading"
|
|
49
58
|
:page-sizes="pageSizeArr"
|
|
50
59
|
:page-size="pagination.pageSize"
|
|
@@ -52,6 +61,7 @@
|
|
|
52
61
|
:total="pagination.total"
|
|
53
62
|
:current-page="pagination.page"
|
|
54
63
|
@current-change="handleCurrentChange"
|
|
64
|
+
@size-change="handleSizeChange"
|
|
55
65
|
></el-pagination>
|
|
56
66
|
</div>
|
|
57
67
|
</div>
|
|
@@ -112,7 +122,8 @@
|
|
|
112
122
|
<script>
|
|
113
123
|
import Locale from '@/mixins/locale'
|
|
114
124
|
import mobileMode from '@/mixins/mobileMode.js'
|
|
115
|
-
import { debounce } from 'lodash'
|
|
125
|
+
import { debounce, cloneDeep } from 'lodash'
|
|
126
|
+
import utils from '@/utils.js'
|
|
116
127
|
const draggable = require('vuedraggable')
|
|
117
128
|
|
|
118
129
|
export default {
|
|
@@ -171,7 +182,9 @@
|
|
|
171
182
|
selects: [],
|
|
172
183
|
currentSelectData: [],
|
|
173
184
|
noDataImg: require('@/assets/no-data.png'),
|
|
174
|
-
pageSizeArr: [10, 50, 100, 200, 300],
|
|
185
|
+
pageSizeArr: [10, 20, 50, 100, 200, 300],
|
|
186
|
+
checkAll: false,
|
|
187
|
+
isIndeterminate: false,
|
|
175
188
|
}
|
|
176
189
|
},
|
|
177
190
|
computed: {
|
|
@@ -204,10 +217,10 @@
|
|
|
204
217
|
}
|
|
205
218
|
},
|
|
206
219
|
rangeSpan() {
|
|
207
|
-
return this.isSearchMode ? 0 :
|
|
220
|
+
return this.isSearchMode ? 0 : 6
|
|
208
221
|
},
|
|
209
222
|
mainSpan() {
|
|
210
|
-
return this.isSearchMode ? 17 :
|
|
223
|
+
return this.isSearchMode ? 17 : 11
|
|
211
224
|
},
|
|
212
225
|
currentPageSelectedCount() {
|
|
213
226
|
return this.single
|
|
@@ -239,6 +252,19 @@
|
|
|
239
252
|
},
|
|
240
253
|
deep: true,
|
|
241
254
|
},
|
|
255
|
+
currentPageSelectedCount(val) {
|
|
256
|
+
this.checkAll = val === this.data.length
|
|
257
|
+
this.isIndeterminate = val > 0 && val < this.data.length
|
|
258
|
+
},
|
|
259
|
+
data: {
|
|
260
|
+
handler(val) {
|
|
261
|
+
this.checkAll = this.currentPageSelectedCount === val.length
|
|
262
|
+
this.isIndeterminate =
|
|
263
|
+
this.currentPageSelectedCount > 0 &&
|
|
264
|
+
this.currentPageSelectedCount < val.length
|
|
265
|
+
},
|
|
266
|
+
deep: true,
|
|
267
|
+
},
|
|
242
268
|
},
|
|
243
269
|
methods: {
|
|
244
270
|
getSelectedData() {
|
|
@@ -288,12 +314,35 @@
|
|
|
288
314
|
handleCurrentChange(currentPage) {
|
|
289
315
|
this.$emit('page-change', currentPage)
|
|
290
316
|
},
|
|
317
|
+
handleSizeChange(size) {
|
|
318
|
+
this.$emit('size-change', size)
|
|
319
|
+
},
|
|
291
320
|
removeSelected(item) {
|
|
292
321
|
this.selects.remove(item)
|
|
293
322
|
},
|
|
294
323
|
clearAllSelects() {
|
|
295
324
|
this.selects = []
|
|
296
325
|
},
|
|
326
|
+
handleCheckAllChange(val) {
|
|
327
|
+
if (val) {
|
|
328
|
+
const currentPageData = cloneDeep(this.data)
|
|
329
|
+
this.selects = this.selects.length
|
|
330
|
+
? utils.uniqueArrayObject(
|
|
331
|
+
[...this.selects, ...currentPageData],
|
|
332
|
+
this.primaryFieldProp
|
|
333
|
+
)
|
|
334
|
+
: currentPageData
|
|
335
|
+
} else {
|
|
336
|
+
if (this.selects.length > this.data.length) {
|
|
337
|
+
const cancelSelectedIds = this.data.map((it) => it.id)
|
|
338
|
+
this.selects = this.selects.filter(
|
|
339
|
+
(item) => !cancelSelectedIds.includes(item.id)
|
|
340
|
+
)
|
|
341
|
+
} else {
|
|
342
|
+
this.selects = []
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
},
|
|
297
346
|
},
|
|
298
347
|
}
|
|
299
348
|
</script>
|
|
@@ -356,7 +405,9 @@
|
|
|
356
405
|
.selector-list__scroll {
|
|
357
406
|
height: calc(100% - 42px);
|
|
358
407
|
}
|
|
359
|
-
|
|
408
|
+
.check-all {
|
|
409
|
+
padding: 16px 20px 2px 20px;
|
|
410
|
+
}
|
|
360
411
|
.selector-main__list {
|
|
361
412
|
list-style: none;
|
|
362
413
|
padding: 10px 20px;
|
|
@@ -425,6 +476,27 @@
|
|
|
425
476
|
.el-pager {
|
|
426
477
|
line-height: 25px;
|
|
427
478
|
}
|
|
479
|
+
.el-select .el-input {
|
|
480
|
+
width: 86px;
|
|
481
|
+
|
|
482
|
+
.el-input__inner {
|
|
483
|
+
text-align: left;
|
|
484
|
+
padding-left: 10px;
|
|
485
|
+
padding-right: 0;
|
|
486
|
+
border-radius: 2px;
|
|
487
|
+
color: #333;
|
|
488
|
+
background: #f4f4f5;
|
|
489
|
+
border: none;
|
|
490
|
+
}
|
|
491
|
+
.el-select__caret {
|
|
492
|
+
color: #333;
|
|
493
|
+
}
|
|
494
|
+
}
|
|
495
|
+
.el-pagination__sizes {
|
|
496
|
+
.el-icon-arrow-up:before {
|
|
497
|
+
content: '\e78f';
|
|
498
|
+
}
|
|
499
|
+
}
|
|
428
500
|
}
|
|
429
501
|
}
|
|
430
502
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<el-dialog
|
|
3
|
-
width="
|
|
3
|
+
width="1060px"
|
|
4
4
|
:title="title"
|
|
5
5
|
class="orgdialog-selector__wrapper"
|
|
6
6
|
:visible.sync="dialogVisible"
|
|
@@ -41,6 +41,7 @@
|
|
|
41
41
|
@reset="reset"
|
|
42
42
|
@row-click="(row) => $emit('row-click', row)"
|
|
43
43
|
@page-change="(page) => $emit('page-change', page)"
|
|
44
|
+
@size-change="(size) => $emit('size-change', size)"
|
|
44
45
|
>
|
|
45
46
|
<el-card slot="range" class="selector-range__card" shadow="hover">
|
|
46
47
|
<el-tabs v-model="activeRange">
|
|
@@ -84,9 +85,17 @@
|
|
|
84
85
|
/>
|
|
85
86
|
<p
|
|
86
87
|
class="selector-selected__label"
|
|
87
|
-
:title="
|
|
88
|
+
:title="
|
|
89
|
+
`${select[selectLabel]}${
|
|
90
|
+
select['code'] ? `(${select['code']})` : ''
|
|
91
|
+
}`
|
|
92
|
+
"
|
|
88
93
|
>
|
|
89
|
-
{{
|
|
94
|
+
{{
|
|
95
|
+
`${select[selectLabel]}${
|
|
96
|
+
select['code'] ? `(${select['code']})` : ''
|
|
97
|
+
}`
|
|
98
|
+
}}
|
|
90
99
|
</p>
|
|
91
100
|
</template>
|
|
92
101
|
</ht-list-selector>
|
|
@@ -86,6 +86,7 @@
|
|
|
86
86
|
@row-click="(row) => $emit('row-click', row)"
|
|
87
87
|
@select-data="(data) => $emit('select-data', data)"
|
|
88
88
|
@page-change="(page) => $emit('page-change', page)"
|
|
89
|
+
@size-change="(size) => $emit('size-change', size)"
|
|
89
90
|
@contact-group-change="(group) => $emit('contact-group-change', group)"
|
|
90
91
|
@load-org="(org) => $emit('load-org', org)"
|
|
91
92
|
@load-policy-org="(policy) => $emit('load-policy-org', policy)"
|
|
@@ -32,6 +32,7 @@
|
|
|
32
32
|
@search="handleSearch"
|
|
33
33
|
@reset="handleReset"
|
|
34
34
|
@page-change="handlePageChange"
|
|
35
|
+
@size-change="handleSizeChange"
|
|
35
36
|
@load-org="loadOrg"
|
|
36
37
|
@load-policy-org="loadPolicyOrg"
|
|
37
38
|
@row-click="(row) => $emit('row-click', row)"
|
|
@@ -146,6 +147,10 @@
|
|
|
146
147
|
}
|
|
147
148
|
}
|
|
148
149
|
},
|
|
150
|
+
handleSizeChange(size) {
|
|
151
|
+
this.pagination.pageSize = size
|
|
152
|
+
this.handlePageChange(this.pagination.page)
|
|
153
|
+
},
|
|
149
154
|
// 处理过滤类型变化的事件
|
|
150
155
|
handleFilterTypeChange(type) {
|
|
151
156
|
this.filterType = type
|
|
@@ -41,6 +41,7 @@
|
|
|
41
41
|
@reset="reset"
|
|
42
42
|
@row-click="(row) => $emit('row-click', row)"
|
|
43
43
|
@page-change="(page) => $emit('page-change', page)"
|
|
44
|
+
@size-change="(size) => $emit('size-change', size)"
|
|
44
45
|
>
|
|
45
46
|
<el-card slot="range" class="selector-range__card" shadow="hover">
|
|
46
47
|
<el-tabs v-model="activeRange">
|
|
@@ -87,9 +88,17 @@
|
|
|
87
88
|
/>
|
|
88
89
|
<p
|
|
89
90
|
class="selector-selected__label"
|
|
90
|
-
:title="
|
|
91
|
+
:title="
|
|
92
|
+
`${select[selectLabel]}${
|
|
93
|
+
select['code'] ? `(${select['code']})` : ''
|
|
94
|
+
}`
|
|
95
|
+
"
|
|
91
96
|
>
|
|
92
|
-
{{
|
|
97
|
+
{{
|
|
98
|
+
`${select[selectLabel]}${
|
|
99
|
+
select['code'] ? `(${select['code']})` : ''
|
|
100
|
+
}`
|
|
101
|
+
}}
|
|
93
102
|
</p>
|
|
94
103
|
</template>
|
|
95
104
|
</ht-list-selector>
|
|
@@ -84,6 +84,7 @@
|
|
|
84
84
|
@row-click="(row) => $emit('row-click', row)"
|
|
85
85
|
@select-data="(data) => $emit('select-data', data)"
|
|
86
86
|
@page-change="(page) => $emit('page-change', page)"
|
|
87
|
+
@size-change="(size) => $emit('size-change', size)"
|
|
87
88
|
@load-org-post="(org) => $emit('load-org-post', org)"
|
|
88
89
|
@load-policy-post="(policy) => $emit('load-policy-post', policy)"
|
|
89
90
|
/>
|
|
@@ -35,6 +35,7 @@
|
|
|
35
35
|
@search="handleSearch"
|
|
36
36
|
@reset="handleReset"
|
|
37
37
|
@page-change="handlePageChange"
|
|
38
|
+
@size-change="handleSizeChange"
|
|
38
39
|
@load-org-post="loadOrgPost"
|
|
39
40
|
@load-policy-post="loadPolicyPost"
|
|
40
41
|
@change="handleChange"
|
|
@@ -174,6 +175,10 @@
|
|
|
174
175
|
}
|
|
175
176
|
}
|
|
176
177
|
},
|
|
178
|
+
handleSizeChange(size) {
|
|
179
|
+
this.pagination.pageSize = size
|
|
180
|
+
this.handlePageChange(this.pagination.page)
|
|
181
|
+
},
|
|
177
182
|
// 处理过滤类型变化的事件
|
|
178
183
|
handleFilterTypeChange(type) {
|
|
179
184
|
this.filterType = type
|
|
@@ -41,6 +41,7 @@
|
|
|
41
41
|
@reset="reset"
|
|
42
42
|
@row-click="(row) => $emit('row-click', row)"
|
|
43
43
|
@page-change="(page) => $emit('page-change', page)"
|
|
44
|
+
@size-change="(size) => $emit('size-change', size)"
|
|
44
45
|
>
|
|
45
46
|
<template #detail="{ item }">
|
|
46
47
|
<ht-icon
|
|
@@ -63,9 +64,17 @@
|
|
|
63
64
|
/>
|
|
64
65
|
<p
|
|
65
66
|
class="selector-selected__label"
|
|
66
|
-
:title="
|
|
67
|
+
:title="
|
|
68
|
+
`${select[selectLabel]}${
|
|
69
|
+
select['code'] ? `(${select['code']})` : ''
|
|
70
|
+
}`
|
|
71
|
+
"
|
|
67
72
|
>
|
|
68
|
-
{{
|
|
73
|
+
{{
|
|
74
|
+
`${select[selectLabel]}${
|
|
75
|
+
select['code'] ? `(${select['code']})` : ''
|
|
76
|
+
}`
|
|
77
|
+
}}
|
|
69
78
|
</p>
|
|
70
79
|
</template>
|
|
71
80
|
</ht-list-selector>
|
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
@search="handleSearch"
|
|
31
31
|
@reset="handleReset"
|
|
32
32
|
@page-change="handlePageChange"
|
|
33
|
+
@size-change="handleSizeChange"
|
|
33
34
|
@row-click="(row) => $emit('row-click', row)"
|
|
34
35
|
@select-data="(data) => $emit('select-data', data)"
|
|
35
36
|
></ht-role-selector>
|
|
@@ -155,6 +156,10 @@
|
|
|
155
156
|
// 搜索模式下或者未进行过滤时,查询所有数据
|
|
156
157
|
this.handleLoad(page)
|
|
157
158
|
},
|
|
159
|
+
handleSizeChange(size) {
|
|
160
|
+
this.pagination.pageSize = size
|
|
161
|
+
this.handlePageChange(this.pagination.page)
|
|
162
|
+
},
|
|
158
163
|
// 获取查询参数中的分页信息(不传page时默认查询第一页)
|
|
159
164
|
getPageBean(page) {
|
|
160
165
|
const pageBean = { ...this.pagination }
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<el-dialog
|
|
3
|
-
width="
|
|
3
|
+
width="1060px"
|
|
4
4
|
:title="title"
|
|
5
5
|
class="userdialog-selector__wrapper"
|
|
6
6
|
:visible.sync="dialogVisible"
|
|
@@ -41,6 +41,7 @@
|
|
|
41
41
|
@reset="reset"
|
|
42
42
|
@row-click="(row) => $emit('row-click', row)"
|
|
43
43
|
@page-change="(page) => $emit('page-change', page)"
|
|
44
|
+
@size-change="(size) => $emit('size-change', size)"
|
|
44
45
|
>
|
|
45
46
|
<el-card slot="range" class="selector-range__card" shadow="hover">
|
|
46
47
|
<el-tabs v-model="activeRange">
|
|
@@ -111,9 +112,17 @@
|
|
|
111
112
|
/>
|
|
112
113
|
<p
|
|
113
114
|
class="selector-selected__label"
|
|
114
|
-
:title="
|
|
115
|
+
:title="
|
|
116
|
+
`${select[selectLabel]}${
|
|
117
|
+
select['account'] ? `(${select['account']})` : ''
|
|
118
|
+
}`
|
|
119
|
+
"
|
|
115
120
|
>
|
|
116
|
-
{{
|
|
121
|
+
{{
|
|
122
|
+
`${select[selectLabel]}${
|
|
123
|
+
select['account'] ? `(${select['account']})` : ''
|
|
124
|
+
}`
|
|
125
|
+
}}
|
|
117
126
|
</p>
|
|
118
127
|
</template>
|
|
119
128
|
</ht-list-selector>
|
|
@@ -99,6 +99,7 @@
|
|
|
99
99
|
@row-click="(row) => $emit('row-click', row)"
|
|
100
100
|
@select-data="(data) => $emit('select-data', data)"
|
|
101
101
|
@page-change="(page) => $emit('page-change', page)"
|
|
102
|
+
@size-change="(size) => $emit('size-change', size)"
|
|
102
103
|
@contact-group-change="(group) => $emit('contact-group-change', group)"
|
|
103
104
|
@load-org-user="(org) => $emit('load-org-user', org)"
|
|
104
105
|
@load-policy-user="(policy) => $emit('load-policy-user', policy)"
|
|
@@ -31,6 +31,7 @@
|
|
|
31
31
|
@search="handleSearch"
|
|
32
32
|
@reset="handleReset"
|
|
33
33
|
@page-change="handlePageChange"
|
|
34
|
+
@size-change="handleSizeChange"
|
|
34
35
|
@contact-group-change="loadContactUser"
|
|
35
36
|
@load-org-user="loadOrgUser"
|
|
36
37
|
@load-policy-user="loadPolicyUser"
|
|
@@ -145,6 +146,10 @@
|
|
|
145
146
|
}
|
|
146
147
|
}
|
|
147
148
|
},
|
|
149
|
+
handleSizeChange(size) {
|
|
150
|
+
this.pagination.pageSize = size
|
|
151
|
+
this.handlePageChange(this.pagination.page)
|
|
152
|
+
},
|
|
148
153
|
// 处理过滤类型变化的事件
|
|
149
154
|
handleFilterTypeChange(type) {
|
|
150
155
|
this.filterType = type
|
package/src/utils.js
CHANGED
|
@@ -51,6 +51,20 @@ var utils = {
|
|
|
51
51
|
})
|
|
52
52
|
return result
|
|
53
53
|
},
|
|
54
|
+
/**
|
|
55
|
+
*数组对象去重
|
|
56
|
+
*
|
|
57
|
+
* @export
|
|
58
|
+
* @param {any[]} array 要去重的数组
|
|
59
|
+
* @param {string} key 要去重的对象属性值
|
|
60
|
+
* @return {*} {any[]}
|
|
61
|
+
*/
|
|
62
|
+
uniqueArrayObject(array, key) {
|
|
63
|
+
return array.reduce((pre, cur) => {
|
|
64
|
+
const keys = pre.map((item) => item[key])
|
|
65
|
+
return keys.includes(cur[key]) ? pre : [...pre, cur]
|
|
66
|
+
}, [])
|
|
67
|
+
},
|
|
54
68
|
// 获取随机的名称
|
|
55
69
|
getName: () => {
|
|
56
70
|
return Math.random()
|