zydx-plus 1.35.608 → 1.35.609
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/package.json
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
:placeholder="placeholder"
|
|
9
9
|
:readonly="true"
|
|
10
10
|
@click.stop="toggleDropDown"
|
|
11
|
+
:class="{'select-css-focus': isOpen}"
|
|
11
12
|
class="select-css" />
|
|
12
13
|
|
|
13
14
|
<span class="custom-select-icons" v-if="!readonly" @click.stop="toggleDropDown">
|
|
@@ -25,13 +26,19 @@
|
|
|
25
26
|
<template v-if="!readonly">
|
|
26
27
|
<template v-if="options.length">
|
|
27
28
|
<ul v-if="isOpen"
|
|
29
|
+
@mouseleave="mouseleave"
|
|
28
30
|
class="custom-select-options scroll"
|
|
29
31
|
ref="dropdown"
|
|
30
32
|
:style="{position: 'fixed', 'z-index': '30000', left: x + 'px', top: y + 'px', width: width + 'px', maxHeight: height + 'px'}">
|
|
31
33
|
<li v-for="(option, idx) in options"
|
|
32
34
|
:key="idx"
|
|
33
35
|
:class="option.disable ? 'disable': ''"
|
|
34
|
-
@click.stop="handleClick(option)">
|
|
36
|
+
@click.stop="handleClick(option)">
|
|
37
|
+
<div class="countersign-image" v-if="multiple">
|
|
38
|
+
<img v-if="option.active" :src="countersign" alt=""/>
|
|
39
|
+
</div>
|
|
40
|
+
<span>{{ option.label }}</span>
|
|
41
|
+
</li>
|
|
35
42
|
</ul>
|
|
36
43
|
</template>
|
|
37
44
|
</template>
|
|
@@ -59,6 +66,10 @@ export default defineComponent({
|
|
|
59
66
|
type: String,
|
|
60
67
|
default: ''
|
|
61
68
|
},
|
|
69
|
+
multiple: {
|
|
70
|
+
type: Boolean,
|
|
71
|
+
default: false
|
|
72
|
+
},
|
|
62
73
|
placeholder: {
|
|
63
74
|
type: String,
|
|
64
75
|
default: ''
|
|
@@ -87,11 +98,16 @@ export default defineComponent({
|
|
|
87
98
|
x: 0,
|
|
88
99
|
y: 0,
|
|
89
100
|
width: 0,
|
|
90
|
-
height: 300
|
|
101
|
+
height: 300,
|
|
102
|
+
countersign: 'data:image/png;base64,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'
|
|
91
103
|
}
|
|
92
104
|
},
|
|
93
105
|
emits: ['update:value', 'select'],
|
|
94
106
|
methods: {
|
|
107
|
+
mouseleave() {
|
|
108
|
+
this.isOpen = false
|
|
109
|
+
window.removeEventListener('scroll', this.handler)
|
|
110
|
+
},
|
|
95
111
|
toggleDropDown: function () {
|
|
96
112
|
const winHeight = window.innerHeight
|
|
97
113
|
const { x, y, width, height } = this.$refs.selectRef.getBoundingClientRect()
|
|
@@ -108,10 +124,19 @@ export default defineComponent({
|
|
|
108
124
|
},
|
|
109
125
|
handleClick: function (option) {
|
|
110
126
|
if(option.disable) return
|
|
111
|
-
this
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
127
|
+
if(this.multiple) {
|
|
128
|
+
option.active = !option.active
|
|
129
|
+
let value = ''
|
|
130
|
+
this.options.forEach(x => {
|
|
131
|
+
if(x.active) value += `${x.value},`
|
|
132
|
+
})
|
|
133
|
+
this.$emit('update:value', value.slice(0, -1))
|
|
134
|
+
this.$emit('select', option)
|
|
135
|
+
}else {
|
|
136
|
+
this.$emit('update:value', option.value)
|
|
137
|
+
this.$emit('select', option)
|
|
138
|
+
this.isOpen = false
|
|
139
|
+
}
|
|
115
140
|
},
|
|
116
141
|
handler: function () {
|
|
117
142
|
if (this.isOpen) {
|
|
@@ -136,8 +161,17 @@ export default defineComponent({
|
|
|
136
161
|
this.selected = ''
|
|
137
162
|
return
|
|
138
163
|
}
|
|
139
|
-
const
|
|
140
|
-
|
|
164
|
+
const data = this.multiple? v.split(',') : v.split(',')[0]
|
|
165
|
+
let label = ''
|
|
166
|
+
this.options.forEach(x => {
|
|
167
|
+
if(data.includes(x.value)) {
|
|
168
|
+
x.active = true
|
|
169
|
+
label += `${x.label}、`
|
|
170
|
+
}else {
|
|
171
|
+
x.active = false
|
|
172
|
+
}
|
|
173
|
+
})
|
|
174
|
+
this.selected = label.slice(0, -1)
|
|
141
175
|
},
|
|
142
176
|
immediate: true,
|
|
143
177
|
deep: true
|
|
@@ -169,6 +203,19 @@ export default defineComponent({
|
|
|
169
203
|
margin-bottom: 1em;
|
|
170
204
|
}
|
|
171
205
|
|
|
206
|
+
.countersign-image{
|
|
207
|
+
width: 14px;
|
|
208
|
+
height: 14px;
|
|
209
|
+
margin-right: 5px;
|
|
210
|
+
position: relative;
|
|
211
|
+
top: 2px;
|
|
212
|
+
display: inline-block;
|
|
213
|
+
}
|
|
214
|
+
.countersign-image>img{
|
|
215
|
+
width: 100%;
|
|
216
|
+
height: 100%;
|
|
217
|
+
}
|
|
218
|
+
|
|
172
219
|
.custom-select {
|
|
173
220
|
position: relative;
|
|
174
221
|
}
|
|
@@ -213,7 +260,7 @@ export default defineComponent({
|
|
|
213
260
|
border-color: #888;
|
|
214
261
|
}
|
|
215
262
|
|
|
216
|
-
.select-css
|
|
263
|
+
.select-css-focus {
|
|
217
264
|
border-color: v-bind(hover);
|
|
218
265
|
}
|
|
219
266
|
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="tagging" @click="leftClick">
|
|
3
3
|
<div id="htmlText"></div>
|
|
4
|
-
<div class="link" v-for="item in linkData"
|
|
4
|
+
<div class="link" v-for="(item,index) in linkData"
|
|
5
|
+
:key="index"
|
|
5
6
|
:style="{width: item.width + 'px',
|
|
6
7
|
top: item.leftY + 'px',
|
|
7
8
|
left: item.leftX + 'px',
|
|
@@ -30,7 +31,7 @@
|
|
|
30
31
|
<div class="tagging-right">
|
|
31
32
|
<div class="tagging-title">批注指导</div>
|
|
32
33
|
<div class="annotation" ref="scrollBox">
|
|
33
|
-
<div class="annotation-list" @click="guidance(item.id,index)" :id="item.id" v-for="(item, index) in annotationsArr">
|
|
34
|
+
<div class="annotation-list" @click="guidance(item.id,index)" :id="item.id" v-for="(item, index) in annotationsArr" :key="index">
|
|
34
35
|
<div class="list-title">
|
|
35
36
|
<div class="list-left">
|
|
36
37
|
<span>{{ teacher }}</span>
|