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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zydx-plus",
3
- "version": "1.35.608",
3
+ "version": "1.35.609",
4
4
  "description": "Vue.js",
5
5
  "main": "src/index.js",
6
6
  "files": [
@@ -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)">{{ option.label }}</li>
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.$emit('update:value', option.value)
112
- this.$emit('select', option)
113
- this.selected = option.label
114
- this.isOpen = false
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 { label } = this.options.find(option => option.value === v) || { label: '' }
140
- this.selected = label
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:focus {
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>
package/src/index.js CHANGED
@@ -87,7 +87,7 @@ function install(app) {
87
87
  }
88
88
 
89
89
  export default {
90
- version: '1.35.608',
90
+ version: '1.35.609',
91
91
  install,
92
92
  Calendar,
93
93
  Message,