zydx-plus 1.35.611 → 1.35.613

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.611",
3
+ "version": "1.35.613",
4
4
  "description": "Vue.js",
5
5
  "main": "src/index.js",
6
6
  "files": [
@@ -66,19 +66,19 @@
66
66
  <div class="cle-frame"></div>
67
67
  <div class="cle-time-y">
68
68
  <ul @scroll="scrollHour($event)">
69
- <li v-for="(item,index) in 30*4"></li>
69
+ <li v-for="(item,index) in 30*4" :key="index"></li>
70
70
  </ul>
71
71
  <div class="cle-time-li" :style="{transform: 'translateY('+ transHour +'px)'}">
72
- <p v-for="(item,index) in 30" :class="{'cle-time-act': index === -(transHour/26)+3}">
72
+ <p v-for="(item,index) in 30" :class="{'cle-time-act': index === -(transHour/26)+3}" :key="index">
73
73
  {{ (index > 2 && index < 27) ? ((index - 3) < 10) ? '0' + (index - 3) : (index - 3) : '' }}</p>
74
74
  </div>
75
75
  </div>
76
76
  <div class="cle-time-y">
77
77
  <ul @scroll="scrollMinute($event)">
78
- <li v-for="(item,index) in 66*4"></li>
78
+ <li v-for="(item,index) in 66*4" :key="index"></li>
79
79
  </ul>
80
80
  <div class="cle-time-li" :style="{transform: 'translateY('+ transMinute +'px)'}">
81
- <p v-for="(item,index) in 66" :class="{'cle-time-act': index === -(transMinute/26)+3}">
81
+ <p v-for="(item,index) in 66" :class="{'cle-time-act': index === -(transMinute/26)+3}" :key="index">
82
82
  {{ (index > 2 && index < 63) ? ((index - 3) < 10) ? '0' + (index - 3) : (index - 3) : '' }}</p>
83
83
  </div>
84
84
  </div>
@@ -1,166 +1,166 @@
1
1
  <template>
2
- <div :style="heightStyle" class="edit">
3
- <div :class="{'ed-head': !titleVertical, 'ed-head-vertical': titleVertical}">
4
- <div v-if="titleShow && titleVertical">
5
- <div :style="titleStyle" v-html="title"></div>
6
- <slot name='titleSuffix'></slot>
7
- </div>
8
- <div class="ed-title" v-if="titleShow && !titleVertical">
9
- <div :style="titleStyle" v-html="title"></div>
10
- <slot name='titleSuffix'></slot>
11
- </div>
12
- <div class="ed-but" v-if="readOnly">
13
- <slot name='leftToolBtn'></slot>
14
- <div class="ed-head-but" v-for="(item,index) in toolbars" :key="index">
15
- <div class="but-relative" v-if="item.key === 'h'">
16
- <span>标题</span>
17
- <div class="but-absolute">
18
- <button class="buts" @click="toolTap('h2')">一级标题</button>
19
- <button class="buts" @click="toolTap('h3')">二级标题</button>
20
- </div>
21
- </div>
22
- <button v-else-if="item.key === 'but'" class="buts" @click="item.onClick(item,info)" :disabled="disabled"
23
- :style="{color: (disabled) ? '#ccc' : (item.active)? '#4B0C77' :'#000'}">{{ item.title }}
24
- </button>
25
- <label v-else-if="item.key === 'upImg'">
26
- <input type="file" @change="upload($event,item.key)" :disabled="disabled"
27
- :accept="(item.key === 'upImg')?'image/*':'.docx,.pptx,.pdf,.xlsx,.mp3,.mp4'" style="display: none;"/>
28
- <span class="buts" :style="{color: ( disabled) ? '#ccc':'#000'}">{{ item.title }}</span>
29
- </label >
30
- <button v-else-if="item.key === 'uploadAtt'" class="buts" @click="item.onClick(item,info)" :disabled="disabled"
31
- :style="{color: (disabled) ? '#ccc' : (item.active)? '#4B0C77' :'#000'}">{{ item.title }}
32
- </button>
33
- <button v-else-if="item.key === 'paint'" class="buts" @click="toolTap('paint')" :disabled="disabled">{{ item.title }}</button>
34
- <button v-else-if="item.key === 'voice'" class="buts" @mousedown.stop="speechDown" :disabled="disabled" @click="voice()"
35
- :style="{color: (disabled) ? '#ccc' : (voiceStatus)? '#4B0C77' :'#000'}">{{ voiceStatus ? '关闭语音' : '语音输入' }}
36
- </button>
37
- <button v-else-if="item.key === 'ai'" class="buts" :disabled="disabled" @click="showAi">AI助手</button>
38
- <button v-else class="buts" @click="toolTap(item.key)" :disabled="disabled">{{ item.title }}</button>
39
- </div>
40
- <slot name='toolBtn'></slot>
41
- <button v-if="butText !== '' && readOnly" class="buts" @click="complete">{{ butText }}</button>
42
- </div>
43
- </div>
44
- <zydx-chat v-model='isShowAi' :apiPrefix="apiPrefix"></zydx-chat>
45
- <div class="ed-cont" :style="heightStyleCont">
46
- <div :style="{'border': (borderShow)? '1px solid #ccc': '0'}" v-if="editorShow">
47
- <div v-if="!readOnly&&dataChange(this.data).html.length === 0" class="editor-no">暂无数据</div>
48
- <template v-else>
49
- <editor-content @paste.native.capture.prevent="preventPaste" ref="editorRef" class="editor" :editor="editor"
50
- :style="heightStyleCont"/>
51
- </template>
52
- <bubble-menu
53
- :editor="editor"
54
- :tippy-options="{ duration: 100}"
55
- :shouldShow="shouldShowFn"
56
- v-if="editor"
57
- v-show="showBubble && readOnly"
58
- >
59
- <div class="bubbleMenu">
60
- <div class="line">
61
- <div class="label">图片缩放:</div>
62
- <div class="percent">
63
- <div class="symbol">%</div>
64
- <input type="number" v-model="imgSizeVal" @input="changePercent" onfocus="this.select()" placeholder="10-100">
65
- </div>
66
- </div>
67
- <div class="line">
68
- <div class="label">图片位置:</div>
69
- <div class="alignmentMode">
70
- <div @click="changeAlign('left')">
71
- <div class="imgBgc" :class="{imgBgcAction: editor.isActive({ textAlign: 'left' })}">
72
- <img :src="alignmentModeLeft">
73
- </div>
74
- </div>
75
- <div class="segmentation"></div>
76
- <div @click="changeAlign('center')">
77
- <div class="imgBgc" :class="{imgBgcAction: editor.isActive({ textAlign: 'center' })}">
78
- <img :src="alignmentModeCenter">
79
- </div>
80
- </div>
81
- <div class="segmentation"></div>
82
- <div @click="changeAlign('right')">
83
- <div class="imgBgc" :class="{imgBgcAction: editor.isActive({ textAlign: 'right' })}">
84
- <img :src="alignmentModeRight">
85
- </div>
86
- </div>
87
- </div>
88
- </div>
89
- </div>
90
- </bubble-menu>
91
- </div>
92
- <div v-if="voiceShows" class="speak"
93
- @mousedown.stop="mousedown"
94
- @mouseup.stop="mouseup"
95
- :style="{transform: `translate(${x}px, ${y}px)`}">
96
- <div class="speak-cont">
97
- <svg t="1698630789078" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4553" width="15" height="15"><path d="M533.84533333 930.88426667c-13.65333333 0-24.576-10.92266667-24.576-24.576v-122.33386667c0-13.65333333 10.92266667-24.576 24.576-24.576s24.576 10.92266667 24.576 24.576v122.33386667c-0.54613333 13.65333333-11.4688 24.576-24.576 24.576zM533.84533333 686.21653333c-101.03466667 0-183.5008-82.46613333-183.5008-183.5008V258.048c0-101.03466667 82.46613333-183.5008 183.5008-183.5008s183.5008 82.46613333 183.5008 183.5008v244.66773333c0 101.03466667-82.46613333 183.5008-183.5008 183.5008z m0-563.06346666c-74.27413333 0-134.89493333 60.6208-134.89493333 134.89493333v244.66773333c0 74.27413333 60.6208 134.89493333 134.89493333 134.89493334s134.89493333-60.6208 134.89493334-134.89493334V258.048c-0.54613333-74.27413333-60.6208-134.89493333-134.89493334-134.89493333z" fill="#fff" p-id="4554"></path><path d="M533.84533333 808.5504c-168.7552 0-305.83466667-137.07946667-305.83466666-305.83466667 0-13.65333333 10.92266667-24.576 24.576-24.576s24.576 10.92266667 24.576 24.576c0 141.99466667 115.23413333 257.2288 257.2288 257.2288S790.528 644.7104 790.528 502.71573333c0-13.65333333 10.92266667-24.576 24.576-24.576s24.576 10.92266667 24.576 24.576c0 168.7552-137.07946667 305.83466667-305.83466667 305.83466667zM729.36106667 955.46026667H337.78346667c-13.65333333 0-24.576-10.92266667-24.576-24.576s10.92266667-24.576 24.576-24.576h391.5776c13.65333333 0 24.576 10.92266667 24.576 24.576s-10.92266667 24.576-24.576 24.576z" fill="#FFF" p-id="4555"></path></svg>
98
- <svgs :vol="vol"></svgs>
99
- <span>{{ error? '连接中...' : '正在说话...' }}</span>
100
- <svg style="cursor: pointer" @click="close" t="1698630749910" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4415" width="20" height="20"><path d="M726.976 274.432a16 16 0 0 0-22.656 0L512 466.752l-192.32-192.32a16 16 0 0 0-22.624 0l-22.656 22.624a16 16 0 0 0 0 22.624l192.32 192.32-192.32 192.32a16 16 0 0 0 0 22.656l22.656 22.624a16 16 0 0 0 22.624 0l192.32-192.32 192.32 192.32a16 16 0 0 0 22.656 0l22.624-22.624a16 16 0 0 0 0-22.624L557.28 512l192.32-192.352a16 16 0 0 0 0-22.624l-22.624-22.624z" fill="#fff" p-id="4416"></path></svg>
101
- </div>
102
- </div>
103
- <div class="enclosure" v-if="uploadAttData.length > 0 && enclosureShow">
104
- <p :style="enclosureStyle">{{ enclosureText }}</p>
105
- <div class="enclosure-list" v-for="(item,index) in uploadAttData" :key="index">
106
- <div class="enclosure-item" v-if="uploadAttData.length <= 1">
107
- <span v-if="item.name">{{ item.name }}</span>
108
- <span v-if="item.annexName">{{ item.annexName }}</span>
109
- <span v-if="item.fileName">{{ item.fileName }}</span>
110
- </div>
111
- <div class="enclosure-item" v-else>
112
- <span v-if="item.name">{{ numberStyle? `【${index + 1}】`: `${index + 1}.` }} {{ item.name }}</span>
113
- <span v-if="item.annexName">{{ numberStyle? `【${index + 1}】`: `${index + 1}.` }} {{ item.annexName }}</span>
114
- <span v-if="item.fileName">{{ numberStyle? `【${index + 1}】`: `${index + 1}.` }} {{ item.fileName }}</span>
115
- </div>
116
- <div class="enclosure-item en-but">
117
- <div style="display: inline-block; height: 21px;">
118
- <button class="buts but-f" v-if="!item.name" :disabled="disabled" @click="see(index)">{{downName[0] || '查看附件'}}</button>
119
- <button class="buts but-f" v-if="!item.name&&downloadShow" :disabled="disabled" @click="download(index)">{{downName[1] || '下载附件'}}</button>
120
- <button class="buts but-f" v-if="delShow" @click="del(index)" :disabled="disabled">
121
- <span v-if="item.active">{{downName[2] || '删除附件'}}</span>
122
- <svg v-else xmlns="http://www.w3.org/2000/svg"
123
- width="14"
124
- height="14"
125
- viewBox="0 0 24 24">
126
- <g fill="none"
127
- stroke="black"
128
- stroke-linecap="round"
129
- stroke-width="2">
130
- <path stroke-dasharray="60"
131
- stroke-dashoffset="60"
132
- stroke-opacity=".3"
133
- d="M12 3C16.9706 3 21 7.02944 21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3Z">
134
- <animate fill="freeze"
135
- attributeName="stroke-dashoffset"
136
- dur="1.3s"
137
- values="60;0"/>
138
- </path>
139
- <path stroke-dasharray="15"
140
- stroke-dashoffset="15"
141
- d="M12 3C16.9706 3 21 7.02944 21 12">
142
- <animate fill="freeze"
143
- attributeName="stroke-dashoffset"
144
- dur="0.3s"
145
- values="15;0"/>
146
- <animateTransform attributeName="transform"
147
- dur="1.5s"
148
- repeatCount="indefinite"
149
- type="rotate"
150
- values="0 12 12;360 12 12"/>
151
- </path>
152
- </g>
153
- </svg>
154
- </button>
155
- <button class="buts but-f" :disabled="disabled" v-if="Object.keys(enclosureButton).length > 0"
156
- @click="enclosureButton.onClick(item,index)">{{ enclosureButton.name }}</button>
157
- </div>
158
- </div>
159
- </div>
160
- </div>
161
- </div>
162
- <Paint v-if="paintShow" :title="paintText()" @exportImg="exportImg" :url="uploadImage?.url" @cancel="paintCancel"></Paint>
163
- </div>
2
+ <!-- <div :style="heightStyle" class="edit">-->
3
+ <!-- <div :class="{'ed-head': !titleVertical, 'ed-head-vertical': titleVertical}">-->
4
+ <!-- <div v-if="titleShow && titleVertical">-->
5
+ <!-- <div :style="titleStyle" v-html="title"></div>-->
6
+ <!-- <slot name='titleSuffix'></slot>-->
7
+ <!-- </div>-->
8
+ <!-- <div class="ed-title" v-if="titleShow && !titleVertical">-->
9
+ <!-- <div :style="titleStyle" v-html="title"></div>-->
10
+ <!-- <slot name='titleSuffix'></slot>-->
11
+ <!-- </div>-->
12
+ <!-- <div class="ed-but" v-if="readOnly">-->
13
+ <!-- <slot name='leftToolBtn'></slot>-->
14
+ <!-- <div class="ed-head-but" v-for="(item,index) in toolbars" :key="index">-->
15
+ <!-- <div class="but-relative" v-if="item.key === 'h'">-->
16
+ <!-- <span>标题</span>-->
17
+ <!-- <div class="but-absolute">-->
18
+ <!-- <button class="buts" @click="toolTap('h2')">一级标题</button>-->
19
+ <!-- <button class="buts" @click="toolTap('h3')">二级标题</button>-->
20
+ <!-- </div>-->
21
+ <!-- </div>-->
22
+ <!-- <button v-else-if="item.key === 'but'" class="buts" @click="item.onClick(item,info)" :disabled="disabled"-->
23
+ <!-- :style="{color: (disabled) ? '#ccc' : (item.active)? '#4B0C77' :'#000'}">{{ item.title }}-->
24
+ <!-- </button>-->
25
+ <!-- <label v-else-if="item.key === 'upImg'">-->
26
+ <!-- <input type="file" @change="upload($event,item.key)" :disabled="disabled"-->
27
+ <!-- :accept="(item.key === 'upImg')?'image/*':'.docx,.pptx,.pdf,.xlsx,.mp3,.mp4'" style="display: none;"/>-->
28
+ <!-- <span class="buts" :style="{color: ( disabled) ? '#ccc':'#000'}">{{ item.title }}</span>-->
29
+ <!-- </label >-->
30
+ <!-- <button v-else-if="item.key === 'uploadAtt'" class="buts" @click="item.onClick(item,info)" :disabled="disabled"-->
31
+ <!-- :style="{color: (disabled) ? '#ccc' : (item.active)? '#4B0C77' :'#000'}">{{ item.title }}-->
32
+ <!-- </button>-->
33
+ <!-- <button v-else-if="item.key === 'paint'" class="buts" @click="toolTap('paint')" :disabled="disabled">{{ item.title }}</button>-->
34
+ <!-- <button v-else-if="item.key === 'voice'" class="buts" @mousedown.stop="speechDown" :disabled="disabled" @click="voice()"-->
35
+ <!-- :style="{color: (disabled) ? '#ccc' : (voiceStatus)? '#4B0C77' :'#000'}">{{ voiceStatus ? '关闭语音' : '语音输入' }}-->
36
+ <!-- </button>-->
37
+ <!-- <button v-else-if="item.key === 'ai'" class="buts" :disabled="disabled" @click="showAi">AI助手</button>-->
38
+ <!-- <button v-else class="buts" @click="toolTap(item.key)" :disabled="disabled">{{ item.title }}</button>-->
39
+ <!-- </div>-->
40
+ <!-- <slot name='toolBtn'></slot>-->
41
+ <!-- <button v-if="butText !== '' && readOnly" class="buts" @click="complete">{{ butText }}</button>-->
42
+ <!-- </div>-->
43
+ <!-- </div>-->
44
+ <!-- <zydx-chat v-model='isShowAi' :apiPrefix="apiPrefix"></zydx-chat>-->
45
+ <!-- <div class="ed-cont" :style="heightStyleCont">-->
46
+ <!-- <div :style="{'border': (borderShow)? '1px solid #ccc': '0'}" v-if="editorShow">-->
47
+ <!-- <div v-if="!readOnly&&dataChange(this.data).html.length === 0" class="editor-no">暂无数据</div>-->
48
+ <!-- <template v-else>-->
49
+ <!-- <editor-content @paste.native.capture.prevent="preventPaste" ref="editorRef" class="editor" :editor="editor"-->
50
+ <!-- :style="heightStyleCont"/>-->
51
+ <!-- </template>-->
52
+ <!-- <bubble-menu-->
53
+ <!-- :editor="editor"-->
54
+ <!-- :tippy-options="{ duration: 100}"-->
55
+ <!-- :shouldShow="shouldShowFn"-->
56
+ <!-- v-if="editor"-->
57
+ <!-- v-show="showBubble && readOnly"-->
58
+ <!-- >-->
59
+ <!-- <div class="bubbleMenu">-->
60
+ <!-- <div class="line">-->
61
+ <!-- <div class="label">图片缩放:</div>-->
62
+ <!-- <div class="percent">-->
63
+ <!-- <div class="symbol">%</div>-->
64
+ <!-- <input type="number" v-model="imgSizeVal" @input="changePercent" onfocus="this.select()" placeholder="10-100">-->
65
+ <!-- </div>-->
66
+ <!-- </div>-->
67
+ <!-- <div class="line">-->
68
+ <!-- <div class="label">图片位置:</div>-->
69
+ <!-- <div class="alignmentMode">-->
70
+ <!-- <div @click="changeAlign('left')">-->
71
+ <!-- <div class="imgBgc" :class="{imgBgcAction: editor.isActive({ textAlign: 'left' })}">-->
72
+ <!-- <img :src="alignmentModeLeft">-->
73
+ <!-- </div>-->
74
+ <!-- </div>-->
75
+ <!-- <div class="segmentation"></div>-->
76
+ <!-- <div @click="changeAlign('center')">-->
77
+ <!-- <div class="imgBgc" :class="{imgBgcAction: editor.isActive({ textAlign: 'center' })}">-->
78
+ <!-- <img :src="alignmentModeCenter">-->
79
+ <!-- </div>-->
80
+ <!-- </div>-->
81
+ <!-- <div class="segmentation"></div>-->
82
+ <!-- <div @click="changeAlign('right')">-->
83
+ <!-- <div class="imgBgc" :class="{imgBgcAction: editor.isActive({ textAlign: 'right' })}">-->
84
+ <!-- <img :src="alignmentModeRight">-->
85
+ <!-- </div>-->
86
+ <!-- </div>-->
87
+ <!-- </div>-->
88
+ <!-- </div>-->
89
+ <!-- </div>-->
90
+ <!-- </bubble-menu>-->
91
+ <!-- </div>-->
92
+ <!-- <div v-if="voiceShows" class="speak"-->
93
+ <!-- @mousedown.stop="mousedown"-->
94
+ <!-- @mouseup.stop="mouseup"-->
95
+ <!-- :style="{transform: `translate(${x}px, ${y}px)`}">-->
96
+ <!-- <div class="speak-cont">-->
97
+ <!-- <svg t="1698630789078" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4553" width="15" height="15"><path d="M533.84533333 930.88426667c-13.65333333 0-24.576-10.92266667-24.576-24.576v-122.33386667c0-13.65333333 10.92266667-24.576 24.576-24.576s24.576 10.92266667 24.576 24.576v122.33386667c-0.54613333 13.65333333-11.4688 24.576-24.576 24.576zM533.84533333 686.21653333c-101.03466667 0-183.5008-82.46613333-183.5008-183.5008V258.048c0-101.03466667 82.46613333-183.5008 183.5008-183.5008s183.5008 82.46613333 183.5008 183.5008v244.66773333c0 101.03466667-82.46613333 183.5008-183.5008 183.5008z m0-563.06346666c-74.27413333 0-134.89493333 60.6208-134.89493333 134.89493333v244.66773333c0 74.27413333 60.6208 134.89493333 134.89493333 134.89493334s134.89493333-60.6208 134.89493334-134.89493334V258.048c-0.54613333-74.27413333-60.6208-134.89493333-134.89493334-134.89493333z" fill="#fff" p-id="4554"></path><path d="M533.84533333 808.5504c-168.7552 0-305.83466667-137.07946667-305.83466666-305.83466667 0-13.65333333 10.92266667-24.576 24.576-24.576s24.576 10.92266667 24.576 24.576c0 141.99466667 115.23413333 257.2288 257.2288 257.2288S790.528 644.7104 790.528 502.71573333c0-13.65333333 10.92266667-24.576 24.576-24.576s24.576 10.92266667 24.576 24.576c0 168.7552-137.07946667 305.83466667-305.83466667 305.83466667zM729.36106667 955.46026667H337.78346667c-13.65333333 0-24.576-10.92266667-24.576-24.576s10.92266667-24.576 24.576-24.576h391.5776c13.65333333 0 24.576 10.92266667 24.576 24.576s-10.92266667 24.576-24.576 24.576z" fill="#FFF" p-id="4555"></path></svg>-->
98
+ <!-- <svgs :vol="vol"></svgs>-->
99
+ <!-- <span>{{ error? '连接中...' : '正在说话...' }}</span>-->
100
+ <!-- <svg style="cursor: pointer" @click="close" t="1698630749910" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4415" width="20" height="20"><path d="M726.976 274.432a16 16 0 0 0-22.656 0L512 466.752l-192.32-192.32a16 16 0 0 0-22.624 0l-22.656 22.624a16 16 0 0 0 0 22.624l192.32 192.32-192.32 192.32a16 16 0 0 0 0 22.656l22.656 22.624a16 16 0 0 0 22.624 0l192.32-192.32 192.32 192.32a16 16 0 0 0 22.656 0l22.624-22.624a16 16 0 0 0 0-22.624L557.28 512l192.32-192.352a16 16 0 0 0 0-22.624l-22.624-22.624z" fill="#fff" p-id="4416"></path></svg>-->
101
+ <!-- </div>-->
102
+ <!-- </div>-->
103
+ <!-- <div class="enclosure" v-if="uploadAttData.length > 0 && enclosureShow">-->
104
+ <!-- <p :style="enclosureStyle">{{ enclosureText }}</p>-->
105
+ <!-- <div class="enclosure-list" v-for="(item,index) in uploadAttData" :key="index">-->
106
+ <!-- <div class="enclosure-item" v-if="uploadAttData.length <= 1">-->
107
+ <!-- <span v-if="item.name">{{ item.name }}</span>-->
108
+ <!-- <span v-if="item.annexName">{{ item.annexName }}</span>-->
109
+ <!-- <span v-if="item.fileName">{{ item.fileName }}</span>-->
110
+ <!-- </div>-->
111
+ <!-- <div class="enclosure-item" v-else>-->
112
+ <!-- <span v-if="item.name">{{ numberStyle? `【${index + 1}】`: `${index + 1}.` }} {{ item.name }}</span>-->
113
+ <!-- <span v-if="item.annexName">{{ numberStyle? `【${index + 1}】`: `${index + 1}.` }} {{ item.annexName }}</span>-->
114
+ <!-- <span v-if="item.fileName">{{ numberStyle? `【${index + 1}】`: `${index + 1}.` }} {{ item.fileName }}</span>-->
115
+ <!-- </div>-->
116
+ <!-- <div class="enclosure-item en-but">-->
117
+ <!-- <div style="display: inline-block; height: 21px;">-->
118
+ <!-- <button class="buts but-f" v-if="!item.name" :disabled="disabled" @click="see(index)">{{downName[0] || '查看附件'}}</button>-->
119
+ <!-- <button class="buts but-f" v-if="!item.name&&downloadShow" :disabled="disabled" @click="download(index)">{{downName[1] || '下载附件'}}</button>-->
120
+ <!-- <button class="buts but-f" v-if="delShow" @click="del(index)" :disabled="disabled">-->
121
+ <!-- <span v-if="item.active">{{downName[2] || '删除附件'}}</span>-->
122
+ <!-- <svg v-else xmlns="http://www.w3.org/2000/svg"-->
123
+ <!-- width="14"-->
124
+ <!-- height="14"-->
125
+ <!-- viewBox="0 0 24 24">-->
126
+ <!-- <g fill="none"-->
127
+ <!-- stroke="black"-->
128
+ <!-- stroke-linecap="round"-->
129
+ <!-- stroke-width="2">-->
130
+ <!-- <path stroke-dasharray="60"-->
131
+ <!-- stroke-dashoffset="60"-->
132
+ <!-- stroke-opacity=".3"-->
133
+ <!-- d="M12 3C16.9706 3 21 7.02944 21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3Z">-->
134
+ <!-- <animate fill="freeze"-->
135
+ <!-- attributeName="stroke-dashoffset"-->
136
+ <!-- dur="1.3s"-->
137
+ <!-- values="60;0"/>-->
138
+ <!-- </path>-->
139
+ <!-- <path stroke-dasharray="15"-->
140
+ <!-- stroke-dashoffset="15"-->
141
+ <!-- d="M12 3C16.9706 3 21 7.02944 21 12">-->
142
+ <!-- <animate fill="freeze"-->
143
+ <!-- attributeName="stroke-dashoffset"-->
144
+ <!-- dur="0.3s"-->
145
+ <!-- values="15;0"/>-->
146
+ <!-- <animateTransform attributeName="transform"-->
147
+ <!-- dur="1.5s"-->
148
+ <!-- repeatCount="indefinite"-->
149
+ <!-- type="rotate"-->
150
+ <!-- values="0 12 12;360 12 12"/>-->
151
+ <!-- </path>-->
152
+ <!-- </g>-->
153
+ <!-- </svg>-->
154
+ <!-- </button>-->
155
+ <!-- <button class="buts but-f" :disabled="disabled" v-if="Object.keys(enclosureButton).length > 0"-->
156
+ <!-- @click="enclosureButton.onClick(item,index)">{{ enclosureButton.name }}</button>-->
157
+ <!-- </div>-->
158
+ <!-- </div>-->
159
+ <!-- </div>-->
160
+ <!-- </div>-->
161
+ <!-- </div>-->
162
+ <!-- <Paint v-if="paintShow" :title="paintText()" @exportImg="exportImg" :url="uploadImage?.url" @cancel="paintCancel"></Paint>-->
163
+ <!-- </div>-->
164
164
  </template>
165
165
  <script>
166
166
  import Recorder from 'js-audio-recorder'
@@ -1246,7 +1246,7 @@ export default {
1246
1246
 
1247
1247
  .ed-cont {
1248
1248
  padding-top: 4px;
1249
- margin-bottom: 14px;
1249
+ padding-bottom: 14px;
1250
1250
  position: relative;
1251
1251
  }
1252
1252
 
@@ -196,11 +196,12 @@
196
196
  border: 1px solid #ccc;
197
197
  cursor: pointer;
198
198
  font-size: 14px;
199
- height: 28px;
199
+ height: 30px;
200
200
  line-height: 28px;
201
201
  flex: 1;
202
202
  position: relative;
203
203
  text-align: center;
204
+ box-sizing: border-box;
204
205
  }
205
206
  .mind-btn:hover .mind-btn-list{
206
207
  display: block;
@@ -198,7 +198,7 @@ export default {
198
198
  this.value[index].open = item.open
199
199
  if (item.quesType === '101' || item.quesType === '102' || item.quesType === '102_1' || item.quesType === '102_2') { // 解决主观题点击完成按钮‘试题设置’按钮收起问题
200
200
  if (this.isLook) {
201
- this.value[index].customBut[0].active = item.open
201
+ if(this.value[index].customBut) this.value[index].customBut[0].active = item.open
202
202
  }
203
203
  }
204
204
  }
@@ -9,7 +9,7 @@
9
9
  :readonly="true"
10
10
  @click.stop="toggleDropDown"
11
11
  :class="{'select-css-focus': isOpen}"
12
- class="select-css" />
12
+ class="select-css"/>
13
13
 
14
14
  <span v-if="!readonly" class="custom-select-icons">
15
15
  <svg v-if="!selected"
@@ -31,8 +31,8 @@
31
31
  width="16"
32
32
  xmlns="http://www.w3.org/2000/svg">
33
33
  <path
34
- d="M512 14.8973037A497.1026963 497.1026963 0 1 0 1009.1026963 512 497.1026963 497.1026963 0 0 0 512 14.8973037z m219.96794311 628.83491082a62.13783703 62.13783703 0 0 1-88.23572859 88.23572859L512 599.61435022 380.26778548 731.96794311a62.13783703 62.13783703 0 0 1-88.23572859-88.23572859L424.38564978 512 292.03205689 380.26778548a62.13783703 62.13783703 0 0 1 88.23572859-88.23572859L512 424.38564978l131.73221452-132.35359289a62.13783703 62.13783703 0 0 1 88.23572859 88.23572859L599.61435022 512z"
35
- fill="#c0c4cc"></path>
34
+ d="M512 14.8973037A497.1026963 497.1026963 0 1 0 1009.1026963 512 497.1026963 497.1026963 0 0 0 512 14.8973037z m219.96794311 628.83491082a62.13783703 62.13783703 0 0 1-88.23572859 88.23572859L512 599.61435022 380.26778548 731.96794311a62.13783703 62.13783703 0 0 1-88.23572859-88.23572859L424.38564978 512 292.03205689 380.26778548a62.13783703 62.13783703 0 0 1 88.23572859-88.23572859L512 424.38564978l131.73221452-132.35359289a62.13783703 62.13783703 0 0 1 88.23572859 88.23572859L599.61435022 512z"
35
+ fill="#c0c4cc"></path>
36
36
  </svg>
37
37
 
38
38
  </span>
@@ -49,7 +49,7 @@
49
49
  :class="option.disable ? 'disable': ''"
50
50
  @click.stop="handleClick(option)">
51
51
  <div class="countersign-image" v-if="multiple">
52
- <img v-if="option.active" :src="countersign" alt=""/>
52
+ <img v-if="option.active" :src="countersign" alt=""/>
53
53
  </div>
54
54
  <span>{{ option.label }}</span>
55
55
  </li>
@@ -62,15 +62,17 @@
62
62
  </onClickOutSide>
63
63
  </template>
64
64
  <script setup>
65
- import { ref } from 'vue'
65
+ import {ref} from 'vue'
66
+
66
67
  let dropdown = ref(null)
67
68
  </script>
68
69
  <script>
69
70
  import onClickOutSide from './onClickOutSide.vue'
70
- import { defineComponent } from 'vue'
71
+ import {defineComponent} from 'vue'
72
+
71
73
  export default defineComponent({
72
74
  name: 'zydx-select',
73
- components: { onClickOutSide },
75
+ components: {onClickOutSide},
74
76
  props: {
75
77
  options: {
76
78
  type: Array,
@@ -116,7 +118,7 @@ export default defineComponent({
116
118
  countersign: 'data:image/png;base64,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'
117
119
  }
118
120
  },
119
- emits: ['update:value', 'select','clear'],
121
+ emits: ['update:value', 'select', 'clear'],
120
122
  methods: {
121
123
  mouseleave() {
122
124
  this.isOpen = false
@@ -124,21 +126,21 @@ export default defineComponent({
124
126
  },
125
127
  toggleDropDown: function () {
126
128
  const winHeight = window.innerHeight
127
- const { x, y, width, height } = this.$refs.selectRef.getBoundingClientRect()
129
+ const {x, y, width, height} = this.$refs.selectRef.getBoundingClientRect()
128
130
  this.x = x
129
131
  this.y = y + height
130
132
  this.width = width
131
133
  this.height = (winHeight - this.y) - 50
132
134
  this.isOpen = !this.isOpen
133
- if(this.isOpen) {
135
+ if (this.isOpen) {
134
136
  window.addEventListener('scroll', this.handler)
135
- }else {
137
+ } else {
136
138
  window.removeEventListener('scroll', this.handler)
137
139
  }
138
140
  },
139
- clearSelected:function () {
141
+ clearSelected: function () {
140
142
  this.selected = ''
141
- if(this.multiple) {
143
+ if (this.multiple) {
142
144
  this.options.forEach(x => {
143
145
  x.active = false
144
146
  })
@@ -147,16 +149,16 @@ export default defineComponent({
147
149
  this.$emit('clear', 'clear')
148
150
  },
149
151
  handleClick: function (option) {
150
- if(option.disable) return
151
- if(this.multiple) {
152
+ if (option.disable) return
153
+ if (this.multiple) {
152
154
  option.active = !option.active
153
155
  let value = ''
154
156
  this.options.forEach(x => {
155
- if(x.active) value += `${x.value},`
157
+ if (x.active) value += `${x.value},`
156
158
  })
157
159
  this.$emit('update:value', value.slice(0, -1))
158
- this.$emit('select', option)
159
- }else {
160
+ this.$emit('select', {label: option.label, value: option.value})
161
+ } else {
160
162
  this.$emit('update:value', option.value)
161
163
  this.$emit('select', option)
162
164
  this.isOpen = false
@@ -181,17 +183,18 @@ export default defineComponent({
181
183
  watch: {
182
184
  value: {
183
185
  handler: function (v) {
186
+ v = String(v)
184
187
  if (!v || !this.options.length) {
185
188
  this.selected = ''
186
189
  return
187
190
  }
188
- const data = this.multiple? v.split(',') : v.split(',')[0]
191
+ const data = v.split(',')
189
192
  let label = ''
190
193
  this.options.forEach(x => {
191
- if(data.includes(x.value)) {
194
+ if (data.includes(String(x.value))) {
192
195
  x.active = true
193
196
  label += `${x.label}、`
194
- }else {
197
+ } else {
195
198
  x.active = false
196
199
  }
197
200
  })
@@ -204,7 +207,7 @@ export default defineComponent({
204
207
  })
205
208
 
206
209
  </script>
207
- <style scoped>
210
+ <style scoped>
208
211
  .v-enter-active,
209
212
  .v-leave-active {
210
213
  transition: opacity 0.5s ease;
@@ -227,7 +230,7 @@ export default defineComponent({
227
230
  margin-bottom: 1em;
228
231
  }
229
232
 
230
- .countersign-image{
233
+ .countersign-image {
231
234
  width: 14px;
232
235
  height: 14px;
233
236
  margin-right: 5px;
@@ -235,7 +238,8 @@ export default defineComponent({
235
238
  top: 2px;
236
239
  display: inline-block;
237
240
  }
238
- .countersign-image>img{
241
+
242
+ .countersign-image > img {
239
243
  width: 100%;
240
244
  height: 100%;
241
245
  }
@@ -320,14 +324,17 @@ export default defineComponent({
320
324
  .custom-select-options::-webkit-scrollbar {
321
325
  display: none;
322
326
  }
327
+
323
328
  .custom-select-options {
324
329
  scrollbar-width: none;
325
330
  }
331
+
326
332
  /** IE 与微软浏览器 **/
327
333
  .custom-select-options {
328
334
  -ms-overflow-style: none;
329
335
  overflow: -moz-scrollbars-none;
330
336
  }
337
+
331
338
  .custom-select-options li {
332
339
  padding: 0 10px;
333
340
  font-size: 14px;
@@ -44,7 +44,7 @@
44
44
  <div v-if="item.type === 'file'" class="file-cont">
45
45
  <em>{{ fileName }}</em>
46
46
  <label>
47
- <span class="but">上传</span>
47
+ <span class="but">选择文件</span>
48
48
  <input class="file" :accept="item.accept" @change="fileTap($event,index)" type="file"/>
49
49
  </label>
50
50
  </div>
package/src/index.js CHANGED
@@ -87,7 +87,7 @@ function install(app) {
87
87
  }
88
88
 
89
89
  export default {
90
- version: '1.35.611',
90
+ version: '1.35.613',
91
91
  install,
92
92
  Calendar,
93
93
  Message,