zydx-plus 1.35.613 → 1.35.615

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/README.md CHANGED
@@ -22,3 +22,7 @@ npm run lint
22
22
 
23
23
  ### Customize configuration
24
24
  See [Configuration Reference](https://cli.vuejs.org/config/).
25
+
26
+
27
+ # 设置令牌
28
+ npm config set //registry.npmjs.org/:_authToken=npm_xxxxxx
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zydx-plus",
3
- "version": "1.35.613",
3
+ "version": "1.35.615",
4
4
  "description": "Vue.js",
5
5
  "main": "src/index.js",
6
6
  "files": [
@@ -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'
@@ -85,21 +85,21 @@
85
85
  <Select :options="item.option" :readonly="item.disabled" @select="item.select"
86
86
  v-model:value="item.selectValue" :placeholder="item.placeholder"></Select>
87
87
  </div>
88
- <div class="cal" v-if="item.type === 'calender'">
89
- <input type="text" :placeholder="item.placeholder" @focus="focus" :maxlength="item.maxlength"
88
+ <div class="cal" ref="calenderRefId" v-if="item.type === 'calender'">
89
+ <input type="text" :placeholder="item.placeholder" @focus="focus" @blur="blur" :maxlength="item.maxlength"
90
90
  v-model="item.value" :disabled="item.disabled"/>
91
91
  <div class="dateEmpty" @click="emptyCal($event,item)">
92
92
  <svg t="1747276919145" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4844" width="15" height="15"><path d="M511.333 127.333c51.868 0 102.15 10.144 149.451 30.15 45.719 19.337 86.792 47.034 122.078 82.321 35.287 35.286 62.983 76.359 82.321 122.078 20.006 47.3 30.15 97.583 30.15 149.451s-10.144 102.15-30.15 149.451c-19.337 45.719-47.034 86.792-82.321 122.078-35.286 35.287-76.359 62.983-122.078 82.321-47.3 20.006-97.583 30.15-149.451 30.15s-102.15-10.144-149.451-30.15c-45.719-19.337-86.792-47.034-122.078-82.321-35.287-35.286-62.983-76.359-82.321-122.078-20.006-47.3-30.15-97.583-30.15-149.451s10.144-102.15 30.15-149.451c19.337-45.719 47.034-86.792 82.321-122.078 35.286-35.287 76.359-62.983 122.078-82.321 47.301-20.006 97.583-30.15 149.451-30.15m0-64c-247.424 0-448 200.576-448 448s200.576 448 448 448 448-200.576 448-448-200.576-448-448-448z" fill="#999999" p-id="4845"></path><path d="M557.254 512l147.373-147.373c12.497-12.497 12.497-32.758 0-45.255-12.496-12.497-32.758-12.497-45.254 0L512 466.746 364.627 319.373c-12.497-12.497-32.758-12.497-45.255 0s-12.497 32.758 0 45.255L466.746 512 319.373 659.373c-12.497 12.496-12.497 32.758 0 45.254C325.621 710.876 333.811 714 342 714s16.379-3.124 22.627-9.373L512 557.254l147.373 147.373C665.621 710.876 673.811 714 682 714s16.379-3.124 22.627-9.373c12.497-12.496 12.497-32.758 0-45.254L557.254 512z" fill="#999999" p-id="4846"></path></svg>
93
93
  </div>
94
- <Calendar v-if="tip" style="top: 35px;" @cancel="cancelCal" @confirm="confirm($event,item)"></Calendar>
94
+ <Calendar v-model:open="tip" :domeElement="$refs.calenderRefId?.[0]" @cancel="cancelCal" @confirm="confirm($event,item)"></Calendar>
95
95
  </div>
96
- <div class="cal" v-if="item.type === 'calenderYear'">
97
- <input type="text" :placeholder="item.placeholder" @focus="focusYear" :maxlength="item.maxlength"
96
+ <div class="cal" ref="calenderYearRefId" v-if="item.type === 'calenderYear'">
97
+ <input type="text" :placeholder="item.placeholder" @focus="focusYear" @blur="blurYear" :maxlength="item.maxlength"
98
98
  v-model="item.value" :disabled="item.disabled"/>
99
99
  <div class="dateEmpty" @click="emptyYear($event,item)">
100
100
  <svg t="1747276919145" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4844" width="15" height="15"><path d="M511.333 127.333c51.868 0 102.15 10.144 149.451 30.15 45.719 19.337 86.792 47.034 122.078 82.321 35.287 35.286 62.983 76.359 82.321 122.078 20.006 47.3 30.15 97.583 30.15 149.451s-10.144 102.15-30.15 149.451c-19.337 45.719-47.034 86.792-82.321 122.078-35.286 35.287-76.359 62.983-122.078 82.321-47.3 20.006-97.583 30.15-149.451 30.15s-102.15-10.144-149.451-30.15c-45.719-19.337-86.792-47.034-122.078-82.321-35.287-35.286-62.983-76.359-82.321-122.078-20.006-47.3-30.15-97.583-30.15-149.451s10.144-102.15 30.15-149.451c19.337-45.719 47.034-86.792 82.321-122.078 35.286-35.287 76.359-62.983 122.078-82.321 47.301-20.006 97.583-30.15 149.451-30.15m0-64c-247.424 0-448 200.576-448 448s200.576 448 448 448 448-200.576 448-448-200.576-448-448-448z" fill="#999999" p-id="4845"></path><path d="M557.254 512l147.373-147.373c12.497-12.497 12.497-32.758 0-45.255-12.496-12.497-32.758-12.497-45.254 0L512 466.746 364.627 319.373c-12.497-12.497-32.758-12.497-45.255 0s-12.497 32.758 0 45.255L466.746 512 319.373 659.373c-12.497 12.496-12.497 32.758 0 45.254C325.621 710.876 333.811 714 342 714s16.379-3.124 22.627-9.373L512 557.254l147.373 147.373C665.621 710.876 673.811 714 682 714s16.379-3.124 22.627-9.373c12.497-12.496 12.497-32.758 0-45.254L557.254 512z" fill="#999999" p-id="4846"></path></svg>
101
101
  </div>
102
- <Year v-if="tipYear" style="top: 35px;" @cancel="cancelYear" @confirm="confirmYear($event,item)"></Year>
102
+ <Year v-model:open="tipYear" :domeElement="$refs.calenderYearRefId?.[0]" @cancel="cancelYear" @confirm="confirmYear($event,item)"></Year>
103
103
  </div>
104
104
  <div v-if="item.type === 'text'" class="text" v-html="item.value"></div>
105
105
  <div v-if="item.type === 'text2'" class="input-text2" v-html="item.value"></div>
@@ -352,6 +352,12 @@ export default {
352
352
  focus() {
353
353
  this.tip = true
354
354
  },
355
+ blur() {
356
+ this.tip = false
357
+ },
358
+ blurYear(){
359
+ this.tipYear = false
360
+ },
355
361
  confirm(e, data) {
356
362
  data.value = e.start
357
363
  this.tip = false
package/src/index.js CHANGED
@@ -87,7 +87,7 @@ function install(app) {
87
87
  }
88
88
 
89
89
  export default {
90
- version: '1.35.613',
90
+ version: '1.35.615',
91
91
  install,
92
92
  Calendar,
93
93
  Message,