eoss-ui 0.5.81-beta9 → 0.5.82
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/button-group.js +82 -55
- package/lib/button.js +57 -48
- package/lib/checkbox-group.js +55 -47
- package/lib/clients.js +4 -3
- package/lib/config/api.js +3 -1
- package/lib/data-table-form.js +55 -47
- package/lib/data-table.js +473 -275
- package/lib/date-picker.js +69 -59
- package/lib/dialog.js +77 -72
- package/lib/eoss-ui.common.js +3985 -3049
- package/lib/flow-group.js +102 -65
- package/lib/flow-list.js +56 -48
- package/lib/flow.js +158 -85
- package/lib/form.js +88 -59
- package/lib/handle-user.js +66 -51
- package/lib/handler.js +69 -50
- package/lib/icon.js +55 -47
- package/lib/index.js +1 -1
- package/lib/input-number.js +55 -47
- package/lib/input.js +55 -47
- package/lib/login.js +104 -85
- package/lib/main.js +1375 -925
- package/lib/menu.js +1 -1
- package/lib/nav.js +55 -47
- package/lib/notify.js +54 -50
- package/lib/page.js +55 -47
- package/lib/pagination.js +3723 -3
- package/lib/player.js +60 -52
- package/lib/qr-code.js +55 -47
- package/lib/radio-group.js +55 -47
- package/lib/retrial-auth.js +56 -48
- package/lib/select-ganged.js +55 -47
- package/lib/select.js +55 -47
- package/lib/selector-panel.js +69 -60
- package/lib/selector.js +495 -424
- package/lib/sizer.js +55 -47
- package/lib/steps.js +55 -47
- package/lib/switch.js +55 -47
- package/lib/table-form.js +55 -47
- package/lib/tabs.js +1532 -1480
- package/lib/theme-chalk/base.css +1 -1
- package/lib/theme-chalk/button-group.css +1 -1
- package/lib/theme-chalk/data-table.css +1 -1
- package/lib/theme-chalk/form.css +1 -1
- package/lib/theme-chalk/index.css +1 -1
- package/lib/theme-chalk/main.css +1 -1
- package/lib/theme-chalk/menu.css +1 -1
- package/lib/theme-chalk/pagination.css +1 -1
- package/lib/theme-chalk/simplicity.css +1 -1
- package/lib/theme-chalk/sizer.css +1 -1
- package/lib/theme-chalk/tabs.css +1 -1
- package/lib/theme-chalk/toolbar.css +1 -1
- package/lib/theme-chalk/tree-group.css +1 -1
- package/lib/theme-chalk/tree.css +1 -1
- package/lib/theme-chalk/upload.css +1 -1
- package/lib/tips.js +55 -47
- package/lib/tree-group.js +79 -50
- package/lib/tree.js +55 -47
- package/lib/upload.js +59 -51
- package/lib/utils/util.js +6 -2
- package/lib/wujie.js +55 -47
- package/lib/wxlogin.js +55 -47
- package/package.json +3 -3
- package/packages/button/src/main.vue +2 -1
- package/packages/button-group/src/main.vue +8 -6
- package/packages/clients/src/main.vue +2 -1
- package/packages/data-table/src/column.vue +137 -54
- package/packages/data-table/src/main.vue +77 -67
- package/packages/data-table/src/sizer.vue +2 -0
- package/packages/date-picker/src/main.vue +22 -14
- package/packages/dialog/src/main.vue +17 -23
- package/packages/flow/src/main.vue +32 -17
- package/packages/flow-group/src/main.vue +18 -11
- package/packages/form/src/main.vue +21 -10
- package/packages/handle-user/src/main.vue +5 -1
- package/packages/handler/src/main.vue +7 -3
- package/packages/login/src/main.vue +22 -15
- package/packages/main/src/default/index.vue +111 -179
- package/packages/main/src/main.vue +233 -4
- package/packages/main/src/public/online.vue +89 -0
- package/packages/main/src/simplicity/apps.vue +3 -3
- package/packages/main/src/simplicity/handler.vue +6 -2
- package/packages/main/src/simplicity/index.vue +283 -238
- package/packages/main/src/simplicity/menu-list.vue +3 -2
- package/packages/main/src/simplicity/router-page.vue +5 -14
- package/packages/main/src/simplicity/sub-menu.vue +31 -9
- package/packages/menu/src/main.vue +4 -3
- package/packages/pagination/src/main.vue +20 -1
- package/packages/selector/src/main.vue +147 -135
- package/packages/selector-panel/src/main.vue +3 -2
- package/packages/selector-panel/src/selection.vue +2 -2
- package/packages/tabs/src/main.vue +25 -15
- package/packages/theme-chalk/lib/base.css +1 -1
- package/packages/theme-chalk/lib/button-group.css +1 -1
- package/packages/theme-chalk/lib/data-table.css +1 -1
- package/packages/theme-chalk/lib/form.css +1 -1
- package/packages/theme-chalk/lib/index.css +1 -1
- package/packages/theme-chalk/lib/main.css +1 -1
- package/packages/theme-chalk/lib/menu.css +1 -1
- package/packages/theme-chalk/lib/pagination.css +1 -1
- package/packages/theme-chalk/lib/simplicity.css +1 -1
- package/packages/theme-chalk/lib/sizer.css +1 -1
- package/packages/theme-chalk/lib/tabs.css +1 -1
- package/packages/theme-chalk/lib/toolbar.css +1 -1
- package/packages/theme-chalk/lib/tree-group.css +1 -1
- package/packages/theme-chalk/lib/tree.css +1 -1
- package/packages/theme-chalk/lib/upload.css +1 -1
- package/packages/theme-chalk/src/base.scss +39 -0
- package/packages/theme-chalk/src/button-group.scss +16 -2
- package/packages/theme-chalk/src/common/var.scss +7 -2
- package/packages/theme-chalk/src/data-table.scss +60 -23
- package/packages/theme-chalk/src/form.scss +42 -40
- package/packages/theme-chalk/src/main.scss +11 -0
- package/packages/theme-chalk/src/pagination.scss +7 -0
- package/packages/theme-chalk/src/simplicity.scss +45 -4
- package/packages/theme-chalk/src/tabs.scss +24 -28
- package/packages/theme-chalk/src/toolbar.scss +16 -4
- package/packages/theme-chalk/src/tree-group.scss +8 -0
- package/packages/theme-chalk/src/tree.scss +19 -6
- package/packages/tree-group/src/main.vue +16 -7
- package/src/config/api.js +3 -1
- package/src/index.js +157 -157
- package/src/utils/util.js +6 -1
- package/CHANGELOG.md +0 -929
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
v-for="(item, index) in data"
|
|
11
11
|
class="es-simplicity-menus-item"
|
|
12
12
|
:key="item.id"
|
|
13
|
-
:class="{ 'is-fold': fold }"
|
|
13
|
+
:class="{ 'is-fold': fold, 'is-active': active == item.id }"
|
|
14
14
|
:title="fold ? item.text || item.name : ''"
|
|
15
15
|
@click="handleClick(item)"
|
|
16
16
|
@mouseenter="handleEnter(item)"
|
|
@@ -44,6 +44,7 @@
|
|
|
44
44
|
</template>
|
|
45
45
|
|
|
46
46
|
<script>
|
|
47
|
+
import util from 'eoss-ui/src/utils/util';
|
|
47
48
|
export default {
|
|
48
49
|
name: 'MenuList',
|
|
49
50
|
components: {},
|
|
@@ -105,7 +106,7 @@ export default {
|
|
|
105
106
|
util.win.open(res.url);
|
|
106
107
|
return;
|
|
107
108
|
} else if (res.urlopenmode == 2) {
|
|
108
|
-
util.win.
|
|
109
|
+
util.win.open(res.url, '_self');
|
|
109
110
|
return;
|
|
110
111
|
}
|
|
111
112
|
this.$emit('command', res);
|
|
@@ -18,32 +18,23 @@ export default {
|
|
|
18
18
|
default() {
|
|
19
19
|
return {};
|
|
20
20
|
}
|
|
21
|
-
}
|
|
22
|
-
show: Boolean
|
|
21
|
+
}
|
|
23
22
|
},
|
|
24
23
|
data() {
|
|
25
|
-
return {
|
|
26
|
-
params: {}
|
|
27
|
-
};
|
|
24
|
+
return {};
|
|
28
25
|
},
|
|
29
26
|
computed: {},
|
|
30
|
-
watch: {
|
|
31
|
-
show(val) {
|
|
32
|
-
if (val) {
|
|
33
|
-
this.jump();
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
},
|
|
27
|
+
watch: {},
|
|
37
28
|
created() {},
|
|
38
29
|
mounted() {
|
|
39
|
-
this.params = util.getParams({ url: this.url });
|
|
40
30
|
this.jump();
|
|
41
31
|
},
|
|
42
32
|
methods: {
|
|
43
33
|
jump() {
|
|
34
|
+
let params = util.getParams({ url: this.url });
|
|
44
35
|
this.$router.push({
|
|
45
36
|
path: this.path,
|
|
46
|
-
query: { ...this.query, ...
|
|
37
|
+
query: { ...this.query, ...params }
|
|
47
38
|
});
|
|
48
39
|
}
|
|
49
40
|
}
|
|
@@ -11,7 +11,10 @@
|
|
|
11
11
|
:wrapperClosable="false"
|
|
12
12
|
:visible.sync="show"
|
|
13
13
|
>
|
|
14
|
-
<div
|
|
14
|
+
<div
|
|
15
|
+
class="es-simplicity-menus"
|
|
16
|
+
:class="{ 'es-simplicity-menus-plus': mode == 'plus' }"
|
|
17
|
+
>
|
|
15
18
|
<div class="es-simplicity-menus-box" :style="{ width: width + 'px' }">
|
|
16
19
|
<div class="es-simplicity-menus-title">
|
|
17
20
|
<span class="es-simplicity-menus-title-text" v-if="!fold">{{
|
|
@@ -29,7 +32,7 @@
|
|
|
29
32
|
></i>
|
|
30
33
|
</div>
|
|
31
34
|
<menu-list
|
|
32
|
-
:active="
|
|
35
|
+
:active="actives[0]"
|
|
33
36
|
:data="menus"
|
|
34
37
|
:menuIcon="menuIcon"
|
|
35
38
|
:color="color"
|
|
@@ -67,7 +70,7 @@
|
|
|
67
70
|
}}</span>
|
|
68
71
|
</div>
|
|
69
72
|
<menu-list
|
|
70
|
-
:active="
|
|
73
|
+
:active="actives[index + 1]"
|
|
71
74
|
:data="[...item.children, ...item.fourthTabs]"
|
|
72
75
|
:menuIcon="menuIcon"
|
|
73
76
|
:color="color"
|
|
@@ -97,8 +100,10 @@ export default {
|
|
|
97
100
|
name: 'SubMenu',
|
|
98
101
|
components: { MenuList },
|
|
99
102
|
props: {
|
|
103
|
+
mode: String,
|
|
100
104
|
title: String,
|
|
101
105
|
active: String,
|
|
106
|
+
closed: Boolean,
|
|
102
107
|
color: {
|
|
103
108
|
type: [String, Array],
|
|
104
109
|
default: '#fff'
|
|
@@ -138,11 +143,12 @@ export default {
|
|
|
138
143
|
},
|
|
139
144
|
data() {
|
|
140
145
|
return {
|
|
141
|
-
fold:
|
|
146
|
+
fold: this.closed,
|
|
142
147
|
width: this.size,
|
|
143
148
|
subMenus: [],
|
|
144
149
|
isEnter: false,
|
|
145
|
-
timer: null
|
|
150
|
+
timer: null,
|
|
151
|
+
actives: []
|
|
146
152
|
};
|
|
147
153
|
},
|
|
148
154
|
computed: {
|
|
@@ -159,7 +165,16 @@ export default {
|
|
|
159
165
|
}
|
|
160
166
|
}
|
|
161
167
|
},
|
|
162
|
-
watch: {
|
|
168
|
+
watch: {
|
|
169
|
+
closed(val) {
|
|
170
|
+
this.fold = val;
|
|
171
|
+
if (val) {
|
|
172
|
+
this.width = 48;
|
|
173
|
+
} else {
|
|
174
|
+
this.width = this.size;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
},
|
|
163
178
|
created() {},
|
|
164
179
|
mounted() {},
|
|
165
180
|
methods: {
|
|
@@ -170,15 +185,20 @@ export default {
|
|
|
170
185
|
} else {
|
|
171
186
|
this.width = this.size;
|
|
172
187
|
}
|
|
173
|
-
this.$emit('update:
|
|
188
|
+
this.$emit('update:closed', res);
|
|
174
189
|
},
|
|
175
190
|
handleCommand(res) {
|
|
176
|
-
console.log(res);
|
|
177
191
|
this.$emit('command', res);
|
|
178
192
|
},
|
|
179
193
|
getData(res, n, is) {
|
|
180
194
|
this.isEnter = is;
|
|
181
195
|
if (is) {
|
|
196
|
+
this.actives.splice(n);
|
|
197
|
+
if (this.actives[n]) {
|
|
198
|
+
this.actives[n] = res.id;
|
|
199
|
+
} else {
|
|
200
|
+
this.actives.push(res.id);
|
|
201
|
+
}
|
|
182
202
|
this.subMenus.splice(n);
|
|
183
203
|
let { children, fourthTabs } = res;
|
|
184
204
|
if (
|
|
@@ -193,8 +213,9 @@ export default {
|
|
|
193
213
|
this.timer = setTimeout(() => {
|
|
194
214
|
if (res && !this.isEnter) {
|
|
195
215
|
this.subMenus = [];
|
|
216
|
+
this.actives = [];
|
|
196
217
|
}
|
|
197
|
-
},
|
|
218
|
+
}, 300);
|
|
198
219
|
}
|
|
199
220
|
}
|
|
200
221
|
},
|
|
@@ -208,6 +229,7 @@ export default {
|
|
|
208
229
|
},
|
|
209
230
|
handleLeave() {
|
|
210
231
|
this.subMenus = [];
|
|
232
|
+
this.actives = [];
|
|
211
233
|
},
|
|
212
234
|
handleEnter() {
|
|
213
235
|
this.isEnter = true;
|
|
@@ -109,9 +109,10 @@ export default {
|
|
|
109
109
|
} else {
|
|
110
110
|
this.$nextTick(() => {
|
|
111
111
|
let w = 0;
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
112
|
+
this.$refs.menu &&
|
|
113
|
+
Array.from(this.$refs.menu.$el.children).forEach((item) => {
|
|
114
|
+
w += item.getBoundingClientRect().width;
|
|
115
|
+
});
|
|
115
116
|
const styles = window.getComputedStyle(this.$refs.menu.$el);
|
|
116
117
|
w += parseFloat(styles.paddingLeft) + parseFloat(styles.paddingRight);
|
|
117
118
|
if (w > this.$refs.esMenu.$el.getBoundingClientRect().width) {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<el-pagination
|
|
3
3
|
class="es-pagination"
|
|
4
|
+
:class="{ 'es-pagination-complete': isComplete && position != 'center' }"
|
|
4
5
|
v-bind="$attrs"
|
|
5
6
|
:current-page="pageNum"
|
|
6
7
|
:page-size="pageSize"
|
|
@@ -18,10 +19,28 @@
|
|
|
18
19
|
</el-pagination>
|
|
19
20
|
</template>
|
|
20
21
|
<script>
|
|
22
|
+
import util from 'eoss-ui/src/utils/util';
|
|
23
|
+
const paginationLayout =
|
|
24
|
+
util.win.top.tableLayout ||
|
|
25
|
+
util.win.tableLayout ||
|
|
26
|
+
'prev, pager, next, sizes, total';
|
|
21
27
|
export default {
|
|
22
28
|
name: 'EsPagination',
|
|
23
29
|
inheritAttrs: false,
|
|
30
|
+
computed: {
|
|
31
|
+
isComplete() {
|
|
32
|
+
return (
|
|
33
|
+
this.layout.indexOf('total') > -1 &&
|
|
34
|
+
this.layout.indexOf('sizes') > -1 &&
|
|
35
|
+
this.layout.indexOf('prev') > -1 &&
|
|
36
|
+
this.layout.indexOf('pager') > -1 &&
|
|
37
|
+
this.layout.indexOf('next') > -1 &&
|
|
38
|
+
this.layout.indexOf('jumper') > -1
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
},
|
|
24
42
|
props: {
|
|
43
|
+
position: String,
|
|
25
44
|
// 当前页码
|
|
26
45
|
pageNum: {
|
|
27
46
|
type: Number,
|
|
@@ -46,7 +65,7 @@ export default {
|
|
|
46
65
|
// 自定义排版
|
|
47
66
|
layout: {
|
|
48
67
|
type: String,
|
|
49
|
-
default:
|
|
68
|
+
default: paginationLayout
|
|
50
69
|
},
|
|
51
70
|
// 只有一页时是否隐藏
|
|
52
71
|
hideOnSinglePage: {
|
|
@@ -6,91 +6,133 @@
|
|
|
6
6
|
:class="{ 'es-pointer': !readonly && !filterable }"
|
|
7
7
|
v-clickoutside="handleClose"
|
|
8
8
|
>
|
|
9
|
-
<
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
<template v-else>
|
|
13
|
-
<div
|
|
14
|
-
:class="[
|
|
15
|
-
selectorSize ? 'el-select--' + selectorSize : 'es-selector-box',
|
|
16
|
-
{ 'es-selector-search': filterable }
|
|
17
|
-
]"
|
|
18
|
-
@click.stop="toggleMenu"
|
|
9
|
+
<template v-if="form">
|
|
10
|
+
<el-button v-if="button" v-bind="button" @click="openDialog"
|
|
11
|
+
><slot>选择</slot></el-button
|
|
19
12
|
>
|
|
13
|
+
<template v-else>
|
|
20
14
|
<div
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
15
|
+
:class="[
|
|
16
|
+
selectorSize ? 'el-select--' + selectorSize : 'es-selector-box',
|
|
17
|
+
{ 'es-selector-search': filterable }
|
|
18
|
+
]"
|
|
19
|
+
@click.stop="toggleMenu"
|
|
25
20
|
>
|
|
26
21
|
<div
|
|
27
|
-
v-if="
|
|
28
|
-
|
|
29
|
-
|
|
22
|
+
v-if="multiple"
|
|
23
|
+
ref="tags"
|
|
24
|
+
class="el-select__tags"
|
|
25
|
+
:class="{ 'es-selector-edit': !readonly }"
|
|
30
26
|
>
|
|
31
|
-
<
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
@close="deleteTag($event, selected[0])"
|
|
36
|
-
>
|
|
37
|
-
<span class="el-select__tags-text">
|
|
38
|
-
{{
|
|
39
|
-
isObject(selected[0]) ? selected[0][labelKey] : selected[0]
|
|
40
|
-
}}
|
|
41
|
-
</span>
|
|
42
|
-
</el-tag>
|
|
43
|
-
<el-tag
|
|
44
|
-
v-if="selected.length > 1"
|
|
45
|
-
:closable="false"
|
|
46
|
-
type="info"
|
|
47
|
-
disable-transitions
|
|
48
|
-
class="es-tags-more"
|
|
27
|
+
<div
|
|
28
|
+
v-if="collapseTags && selected.length"
|
|
29
|
+
class="es-selector-tags"
|
|
30
|
+
:class="{ 'es-selector-more': selected.length > 1 }"
|
|
49
31
|
>
|
|
50
|
-
<
|
|
51
|
-
|
|
32
|
+
<el-tag
|
|
33
|
+
:closable="!selectorDisabled && !readonly"
|
|
34
|
+
type="info"
|
|
35
|
+
disable-transitions
|
|
36
|
+
@close="deleteTag($event, selected[0])"
|
|
37
|
+
>
|
|
38
|
+
<span class="el-select__tags-text">
|
|
39
|
+
{{
|
|
40
|
+
isObject(selected[0]) ? selected[0][labelKey] : selected[0]
|
|
41
|
+
}}
|
|
42
|
+
</span>
|
|
43
|
+
</el-tag>
|
|
44
|
+
<el-tag
|
|
45
|
+
v-if="selected.length > 1"
|
|
46
|
+
:closable="false"
|
|
47
|
+
type="info"
|
|
48
|
+
disable-transitions
|
|
49
|
+
class="es-tags-more"
|
|
50
|
+
>
|
|
51
|
+
<span class="el-select__tags-text"
|
|
52
|
+
>+ {{ selected.length - 1 }}</span
|
|
53
|
+
>
|
|
54
|
+
</el-tag>
|
|
55
|
+
</div>
|
|
56
|
+
<transition-group @after-leave="resetInputHeight">
|
|
57
|
+
<el-tag
|
|
58
|
+
v-for="(item, index) in selected"
|
|
59
|
+
:key="getValueKey(item)"
|
|
60
|
+
:closable="!selectorDisabled && !readonly"
|
|
61
|
+
type="info"
|
|
62
|
+
disable-transitions
|
|
63
|
+
@close="deleteTag($event, item, index)"
|
|
52
64
|
>
|
|
53
|
-
|
|
65
|
+
<span class="el-select__tags-text">{{ getLabel(item) }}</span>
|
|
66
|
+
</el-tag>
|
|
67
|
+
</transition-group>
|
|
54
68
|
</div>
|
|
55
|
-
<
|
|
56
|
-
<
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
69
|
+
<div ref="reference" class="es-input__inner" v-if="readonly">
|
|
70
|
+
<template v-if="!multiple">{{ selectedLabel }}</template>
|
|
71
|
+
</div>
|
|
72
|
+
<template v-else>
|
|
73
|
+
<template v-if="multiple">
|
|
74
|
+
<el-input
|
|
75
|
+
type="text"
|
|
76
|
+
ref="reference"
|
|
77
|
+
autocomplete="off"
|
|
78
|
+
v-model="words"
|
|
79
|
+
:readonly="filterable ? false : true"
|
|
80
|
+
:id="id"
|
|
81
|
+
:placeholder="currentPlaceholder"
|
|
82
|
+
:size="selectorSize"
|
|
83
|
+
:disabled="selectorDisabled"
|
|
84
|
+
:class="{
|
|
85
|
+
'is-focus': visible,
|
|
86
|
+
'es-plain': plain,
|
|
87
|
+
'es-pointer': !filterable,
|
|
88
|
+
'es-zindex-2': focus
|
|
89
|
+
}"
|
|
90
|
+
:tabindex="tabindex"
|
|
91
|
+
v-popover:popover
|
|
92
|
+
@dblclick.native="openDialog"
|
|
93
|
+
@focus="handleFocus"
|
|
94
|
+
@blur="handleBlur"
|
|
95
|
+
>
|
|
96
|
+
<template slot="append">
|
|
97
|
+
<el-button
|
|
98
|
+
ref="openDialog"
|
|
99
|
+
v-if="filterable || showButton"
|
|
100
|
+
@click.stop="openDialog"
|
|
101
|
+
><slot>选择</slot></el-button
|
|
102
|
+
>
|
|
103
|
+
</template>
|
|
104
|
+
</el-input>
|
|
105
|
+
<el-input
|
|
106
|
+
v-model="selectedLabel"
|
|
107
|
+
readonly
|
|
108
|
+
:name="name"
|
|
109
|
+
type="text"
|
|
110
|
+
v-show="false"
|
|
111
|
+
></el-input>
|
|
112
|
+
</template>
|
|
73
113
|
<el-input
|
|
114
|
+
v-else
|
|
115
|
+
v-model="selectedLabel"
|
|
74
116
|
type="text"
|
|
75
117
|
ref="reference"
|
|
76
118
|
autocomplete="off"
|
|
77
|
-
|
|
119
|
+
:clearable="clearable"
|
|
120
|
+
showClearIcon
|
|
121
|
+
:name="name"
|
|
78
122
|
:readonly="filterable ? false : true"
|
|
123
|
+
:active="actived"
|
|
79
124
|
:id="id"
|
|
80
125
|
:placeholder="currentPlaceholder"
|
|
81
126
|
:size="selectorSize"
|
|
82
127
|
:disabled="selectorDisabled"
|
|
83
128
|
:class="{
|
|
84
129
|
'is-focus': visible,
|
|
85
|
-
'es-plain': plain,
|
|
86
|
-
'es-pointer': !filterable
|
|
87
|
-
'es-zindex-2': focus
|
|
130
|
+
'es-plain': this.plain,
|
|
131
|
+
'es-pointer': !filterable
|
|
88
132
|
}"
|
|
89
133
|
:tabindex="tabindex"
|
|
90
|
-
v-popover:popover
|
|
91
134
|
@dblclick.native="openDialog"
|
|
92
|
-
@
|
|
93
|
-
@blur="handleBlur"
|
|
135
|
+
@clear="handleClear"
|
|
94
136
|
>
|
|
95
137
|
<template slot="append">
|
|
96
138
|
<el-button
|
|
@@ -101,87 +143,48 @@
|
|
|
101
143
|
>
|
|
102
144
|
</template>
|
|
103
145
|
</el-input>
|
|
104
|
-
<el-input
|
|
105
|
-
v-model="selectedLabel"
|
|
106
|
-
readonly
|
|
107
|
-
:name="name"
|
|
108
|
-
type="text"
|
|
109
|
-
v-show="false"
|
|
110
|
-
></el-input>
|
|
111
146
|
</template>
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
:active="actived"
|
|
123
|
-
:id="id"
|
|
124
|
-
:placeholder="currentPlaceholder"
|
|
125
|
-
:size="selectorSize"
|
|
126
|
-
:disabled="selectorDisabled"
|
|
127
|
-
:class="{
|
|
128
|
-
'is-focus': visible,
|
|
129
|
-
'es-plain': this.plain,
|
|
130
|
-
'es-pointer': !filterable
|
|
131
|
-
}"
|
|
132
|
-
:tabindex="tabindex"
|
|
133
|
-
@dblclick.native="openDialog"
|
|
134
|
-
@clear="handleClear"
|
|
135
|
-
>
|
|
136
|
-
<template slot="append">
|
|
137
|
-
<el-button
|
|
138
|
-
ref="openDialog"
|
|
139
|
-
v-if="filterable || showButton"
|
|
140
|
-
@click.stop="openDialog"
|
|
141
|
-
><slot>选择</slot></el-button
|
|
142
|
-
>
|
|
143
|
-
</template>
|
|
144
|
-
</el-input>
|
|
145
|
-
</template>
|
|
146
|
-
</div>
|
|
147
|
-
<el-popover
|
|
148
|
-
v-model="show"
|
|
149
|
-
placement="bottom-start"
|
|
150
|
-
trigger="manual"
|
|
151
|
-
popper-class="es-selector-popover"
|
|
152
|
-
:width="minWidth"
|
|
153
|
-
:queryParent="true"
|
|
154
|
-
:reference="reference"
|
|
155
|
-
:arrow-offset="20"
|
|
156
|
-
>
|
|
157
|
-
<el-scrollbar
|
|
158
|
-
tag="ul"
|
|
159
|
-
wrap-class="es-selector-dropdown__wrap"
|
|
160
|
-
view-class="es-selector-dropdown__list"
|
|
161
|
-
ref="scrollbar"
|
|
162
|
-
v-show="options.length"
|
|
163
|
-
maxHeight="228"
|
|
147
|
+
</div>
|
|
148
|
+
<el-popover
|
|
149
|
+
v-model="show"
|
|
150
|
+
placement="bottom-start"
|
|
151
|
+
trigger="manual"
|
|
152
|
+
popper-class="es-selector-popover"
|
|
153
|
+
:width="minWidth"
|
|
154
|
+
:queryParent="true"
|
|
155
|
+
:reference="reference"
|
|
156
|
+
:arrow-offset="20"
|
|
164
157
|
>
|
|
165
|
-
<
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
158
|
+
<el-scrollbar
|
|
159
|
+
tag="ul"
|
|
160
|
+
wrap-class="es-selector-dropdown__wrap"
|
|
161
|
+
view-class="es-selector-dropdown__list"
|
|
162
|
+
ref="scrollbar"
|
|
163
|
+
v-show="options.length"
|
|
164
|
+
maxHeight="228"
|
|
171
165
|
>
|
|
172
|
-
<
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
166
|
+
<li
|
|
167
|
+
v-for="item in options"
|
|
168
|
+
:key="item.id"
|
|
169
|
+
@click="handleSelect(item)"
|
|
170
|
+
class="es-selector-dropdown-item"
|
|
171
|
+
:class="{ 'es-selected': item.selected }"
|
|
172
|
+
>
|
|
173
|
+
<span>{{ item[labelKey] }}</span>
|
|
174
|
+
</li>
|
|
175
|
+
</el-scrollbar>
|
|
176
|
+
<p v-if="options.length == 0" class="el-select-dropdown__empty">
|
|
177
|
+
{{ noMatchText }}
|
|
178
|
+
</p>
|
|
179
|
+
</el-popover>
|
|
180
|
+
</template>
|
|
179
181
|
</template>
|
|
180
182
|
<es-dialog
|
|
181
183
|
v-if="!readonly"
|
|
182
184
|
:title="title"
|
|
183
185
|
:visible.sync="visible"
|
|
184
186
|
:width="width"
|
|
187
|
+
:height="height"
|
|
185
188
|
:css="false"
|
|
186
189
|
:append-to-body="true"
|
|
187
190
|
:close-on-click-modal="false"
|
|
@@ -224,6 +227,10 @@ export default {
|
|
|
224
227
|
},
|
|
225
228
|
directives: { Clickoutside },
|
|
226
229
|
props: {
|
|
230
|
+
form: {
|
|
231
|
+
type: Boolean,
|
|
232
|
+
default: true
|
|
233
|
+
},
|
|
227
234
|
isShowLevel3: {
|
|
228
235
|
type: Boolean,
|
|
229
236
|
default: true
|
|
@@ -656,6 +663,11 @@ export default {
|
|
|
656
663
|
},
|
|
657
664
|
beforeDestroy() {
|
|
658
665
|
this.$el.removeEventListener('keyup', this.doSearch);
|
|
666
|
+
if (this.$refs.openDialog) {
|
|
667
|
+
this.$refs.openDialog.$el.parentNode.removeEventListener('click', () => {
|
|
668
|
+
this.openDialog();
|
|
669
|
+
});
|
|
670
|
+
}
|
|
659
671
|
}
|
|
660
672
|
};
|
|
661
673
|
</script>
|
|
@@ -266,6 +266,7 @@ export default {
|
|
|
266
266
|
}
|
|
267
267
|
},
|
|
268
268
|
newTabs() {
|
|
269
|
+
const orgId = util.getStorage('orgId');
|
|
269
270
|
const tabs = {
|
|
270
271
|
enterprise: {
|
|
271
272
|
label: '选择单位',
|
|
@@ -320,7 +321,7 @@ export default {
|
|
|
320
321
|
param: {
|
|
321
322
|
showarea: 2,
|
|
322
323
|
id: 0,
|
|
323
|
-
filid:
|
|
324
|
+
filid: orgId
|
|
324
325
|
}
|
|
325
326
|
},
|
|
326
327
|
otheremployee: {
|
|
@@ -366,7 +367,7 @@ export default {
|
|
|
366
367
|
}
|
|
367
368
|
},
|
|
368
369
|
persongroup: {
|
|
369
|
-
label: '
|
|
370
|
+
label: '选择群组成员',
|
|
370
371
|
name: 'persongroup',
|
|
371
372
|
url: getSelectorOrgTree,
|
|
372
373
|
data: [],
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
:key="index"
|
|
14
14
|
v-show="item.disabled ? showDisabled : true"
|
|
15
15
|
v-bind="getprops($attrs, item)"
|
|
16
|
-
:label="isObject || typeof item == 'string' ? item : item[
|
|
16
|
+
:label="isObject || typeof item == 'string' ? item : item[valueKey]"
|
|
17
17
|
:disabled="typeof item == 'string' ? false : item.disabled"
|
|
18
18
|
:class="{ 'es-radio-delete': genre === 'delete' }"
|
|
19
19
|
:value-key="valueKey"
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
:key="index"
|
|
37
37
|
v-show="item.disabled ? showDisabled : true"
|
|
38
38
|
v-bind="getprops($attrs, item)"
|
|
39
|
-
:label="isObject || typeof item == 'string' ? item : item[
|
|
39
|
+
:label="isObject || typeof item == 'string' ? item : item[valueKey]"
|
|
40
40
|
:disabled="typeof item == 'string' ? false : item.disabled"
|
|
41
41
|
:class="{ 'es-checkbox-delete': genre === 'delete' }"
|
|
42
42
|
:value-key="valueKey"
|
|
@@ -19,25 +19,35 @@
|
|
|
19
19
|
:name="items.name || String(indexs)"
|
|
20
20
|
>
|
|
21
21
|
<template slot="label" v-if="items.title">
|
|
22
|
-
<
|
|
23
|
-
<
|
|
24
|
-
|
|
25
|
-
<el-badge
|
|
26
|
-
v-if="
|
|
27
|
-
Object.prototype.hasOwnProperty.call(items.title, 'count')
|
|
28
|
-
"
|
|
29
|
-
type="primary"
|
|
30
|
-
:value="items.title.count"
|
|
31
|
-
:max="99"
|
|
32
|
-
>
|
|
33
|
-
</el-badge>
|
|
22
|
+
<template v-if="typeof items.title === 'object'">
|
|
23
|
+
<i v-if="items.title.icon" :class="items.title.icon"></i>
|
|
24
|
+
<template v-if="items.title.text">
|
|
34
25
|
{{ items.title.text }}
|
|
35
26
|
</template>
|
|
36
|
-
<
|
|
37
|
-
|
|
27
|
+
<el-badge
|
|
28
|
+
v-if="
|
|
29
|
+
Object.prototype.hasOwnProperty.call(items.title, 'count')
|
|
30
|
+
"
|
|
31
|
+
type="primary"
|
|
32
|
+
:value="items.title.count"
|
|
33
|
+
:max="99"
|
|
34
|
+
>
|
|
35
|
+
</el-badge>
|
|
36
|
+
</template>
|
|
37
|
+
<template v-else>{{ items.title }}</template>
|
|
38
38
|
</template>
|
|
39
39
|
<template slot-scope="{ loaded }">
|
|
40
|
-
<
|
|
40
|
+
<component
|
|
41
|
+
v-if="items.component || items.type == 'component'"
|
|
42
|
+
:is="contents.is || contents.type"
|
|
43
|
+
v-bind="
|
|
44
|
+
handleExclAttribute({
|
|
45
|
+
data: contents,
|
|
46
|
+
attrs: ['is', 'type']
|
|
47
|
+
})
|
|
48
|
+
"
|
|
49
|
+
></component>
|
|
50
|
+
<es-tabs-panel v-else v-bind="items" :show="loaded">
|
|
41
51
|
<template
|
|
42
52
|
slot-scope="{ contents, average, data, title, show, isShow }"
|
|
43
53
|
>
|