zydx-plus 1.20.121 → 1.20.123
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 +1 -2
- package/src/components/editor/src/editor.vue +174 -5
- package/src/components/editor/src/menu.js +100 -26
- package/src/components/editor/src/node.js +36 -2
- package/src/components/select/src/select.vue +27 -9
- package/src/components/tab/src/tab.vue +85 -67
- package/src/components/tipBox/src/main.vue +4 -3
- package/src/index.js +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zydx-plus",
|
|
3
|
-
"version": "1.20.
|
|
3
|
+
"version": "1.20.123",
|
|
4
4
|
"description": "Vue.js",
|
|
5
5
|
"main": "src/index.js",
|
|
6
6
|
"files": [
|
|
@@ -23,7 +23,6 @@
|
|
|
23
23
|
"vue-draggable-next": "^2.1.1",
|
|
24
24
|
"pdfjs-dist": "^2.0.943",
|
|
25
25
|
"@wangeditor/editor": "^5.1.23",
|
|
26
|
-
"@wangeditor/plugin-upload-attachment": "^1.1.0",
|
|
27
26
|
"snabbdom": "^3.5.1",
|
|
28
27
|
"@wangeditor/plugin-formula": "^1.0.11",
|
|
29
28
|
"katex": "^0.15.6",
|
|
@@ -1,28 +1,41 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<we-toolbar v-show="!readOnly && toolbar.length > 0" class="toolbar" :handle="handle"/>
|
|
3
|
-
<we-editable class="editable" :style="{'min-height': height + 'px'}" :handle="handle" v-model:json="formData.html"/>
|
|
3
|
+
<we-editable v-show="!readOnly" class="editable" :style="{'min-height': height + 'px'}" :handle="handle" v-model:json="formData.html"/>
|
|
4
4
|
<div class="but" v-if="!readOnly && toolbar.length > 0">
|
|
5
5
|
<button class="def-but" v-if="butShow" @click="confirm">完成</button>
|
|
6
6
|
</div>
|
|
7
|
+
<div class="read-only" v-if="readOnly">
|
|
8
|
+
<div class="read-only-page" v-for="(item,index) in htmlArr" >
|
|
9
|
+
<div class="read-only-p" v-html="item"></div>
|
|
10
|
+
<div class="read-only-a">{{ index + 1 }}/{{ htmlArr.length }}</div>
|
|
11
|
+
</div>
|
|
12
|
+
</div>
|
|
7
13
|
</template>
|
|
8
14
|
<script>
|
|
9
15
|
import '@wangeditor/editor/dist/css/style.css'
|
|
10
16
|
import {defineComponent, shallowReactive} from 'vue'
|
|
11
17
|
import {Boot} from '@wangeditor/editor'
|
|
12
|
-
import attachmentModule from '@wangeditor/plugin-upload-attachment'
|
|
13
18
|
import formulaModule from '@wangeditor/plugin-formula'
|
|
14
19
|
import {menuModule} from './menu'
|
|
15
20
|
import {nodeModule} from './node'
|
|
16
21
|
import {useWangEditor, WeEditable, WeToolbar} from './wangeditor5-for-vue3/index'
|
|
17
22
|
|
|
18
|
-
|
|
23
|
+
|
|
19
24
|
Boot.registerModule(formulaModule)
|
|
20
25
|
Boot.registerModule(nodeModule)
|
|
21
26
|
Boot.registerModule(menuModule)
|
|
22
27
|
|
|
28
|
+
const pdf = 'data:image/png;base64,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'
|
|
29
|
+
|
|
30
|
+
|
|
23
31
|
export default defineComponent({
|
|
24
32
|
name: 'zydx-editor',
|
|
25
33
|
components: {WeEditable, WeToolbar},
|
|
34
|
+
data() {
|
|
35
|
+
return {
|
|
36
|
+
htmlArr: []
|
|
37
|
+
}
|
|
38
|
+
},
|
|
26
39
|
props: {
|
|
27
40
|
height: {
|
|
28
41
|
type: String,
|
|
@@ -61,7 +74,7 @@ export default defineComponent({
|
|
|
61
74
|
default: {}
|
|
62
75
|
}
|
|
63
76
|
},
|
|
64
|
-
emits: ['confirm'],
|
|
77
|
+
emits: ['confirm','enclosure'],
|
|
65
78
|
watch: {
|
|
66
79
|
html: {
|
|
67
80
|
handler: function (e, oldVal) {
|
|
@@ -72,11 +85,143 @@ export default defineComponent({
|
|
|
72
85
|
readOnly: {
|
|
73
86
|
handler: function (e, oldVal) {
|
|
74
87
|
this.opts.editable.config.readOnly = e
|
|
88
|
+
if(e) this.readOnlyPage()
|
|
75
89
|
},
|
|
76
90
|
deep: true
|
|
77
91
|
},
|
|
78
92
|
},
|
|
93
|
+
mounted() {
|
|
94
|
+
this.$nextTick(() => {
|
|
95
|
+
if(this.readOnly) this.readOnlyPage()
|
|
96
|
+
})
|
|
97
|
+
window.closeMaker = this.closeMaker
|
|
98
|
+
},
|
|
79
99
|
methods: {
|
|
100
|
+
readOnlyPage() {
|
|
101
|
+
this.htmlArr = []
|
|
102
|
+
let onePage = ''
|
|
103
|
+
let page = 0
|
|
104
|
+
this.syncContent() //强制同步数据
|
|
105
|
+
const data = this.formData.html
|
|
106
|
+
for(let i=0; i<data.length; i++) {
|
|
107
|
+
if(i === data.length - 1) {
|
|
108
|
+
this.htmlArr.push(onePage)
|
|
109
|
+
onePage = ''
|
|
110
|
+
page = 0
|
|
111
|
+
break
|
|
112
|
+
}
|
|
113
|
+
if(page >= 1162) {
|
|
114
|
+
this.htmlArr.push(onePage)
|
|
115
|
+
onePage = ''
|
|
116
|
+
page = 0
|
|
117
|
+
}
|
|
118
|
+
if(data[i].type === 'paragraph') {
|
|
119
|
+
let numArr = 0
|
|
120
|
+
const len = this.thatLenText(data[i].children,92)
|
|
121
|
+
const num = len.length === 0? 1 : len.length
|
|
122
|
+
const textAlign = data[i].textAlign? data[i].textAlign : 'left'
|
|
123
|
+
onePage += `<p style="margin: 5px 0;text-align: ${textAlign};">`
|
|
124
|
+
for(let j=0; j<data[i].children.length; j++) {
|
|
125
|
+
const fontSize = data[i].children[j].fontSize? data[i].children[j].fontSize : '14px'
|
|
126
|
+
numArr = parseInt(fontSize) * 1.5
|
|
127
|
+
const color = data[i].children[j].color? data[i].children[j].color : '#000'
|
|
128
|
+
const fontWeight = data[i].children[j].bold? 'bold' : 'normal'
|
|
129
|
+
if(data[i].children[j].type === 'image') {
|
|
130
|
+
onePage += `<img src="${data[i].children[j].src}" style="width: ${(data[i].children[j].style.width)?data[i].children[j].style.width: '100%'};height: ${(data[i].children[j].style.height)?data[i].children[j].style.height: '100%'};" alt="" />`
|
|
131
|
+
page += this.thatImgHeight(data[i].children[j].src,data[i].children[j].style).height + 20
|
|
132
|
+
}else {
|
|
133
|
+
if(data[i].children[j].sup) {
|
|
134
|
+
onePage += `<span style="font-weight: ${fontWeight};display:inline-block;height: ${numArr}px;line-height: ${numArr}px;font-size: ${fontSize};color: ${color}"><sup>${data[i].children[j].text}</sup></span>`
|
|
135
|
+
}else {
|
|
136
|
+
onePage += `<span style="font-weight: ${fontWeight};display:inline-block;height: ${numArr}px;line-height: ${numArr}px;font-size: ${fontSize};color: ${color}">${data[i].children[j].text}</span>`
|
|
137
|
+
}
|
|
138
|
+
page += (numArr + 10)*num
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
onePage += `</p>`
|
|
142
|
+
}
|
|
143
|
+
if(data[i].type === 'titleAttachment') {
|
|
144
|
+
onePage += `<p style="height: 36px;line-height: 36px;text-align: center; margin: 5px 0;"><span style="display: inline-block; font-size: 24px; font-weight: 400;">${data[i].fileName}</span></p>`
|
|
145
|
+
page += 46
|
|
146
|
+
}
|
|
147
|
+
if(data[i].type === 'authorAttachment') {
|
|
148
|
+
onePage += `<p style="height: 24px;line-height: 24px;text-align: center; margin: 5px 0;"><span style="display: inline-block; font-size: 16px;">${data[i].fileName}</span></p>`
|
|
149
|
+
page += 34
|
|
150
|
+
}
|
|
151
|
+
if(data[i].type === 'singAttachment') {
|
|
152
|
+
onePage += `<p style="height: 24px;line-height: 24px; margin: 5px 0;display: inline-block; position: relative;"><img style="width: 20px; height: 20px; position: absolute; top: 0; left: 0;" src="${data[i].link}" alt="" /><span style="display: inline-block; padding-left: 25px;font-size: 14px;">${data[i].fileName}</span></p>`
|
|
153
|
+
page += 34
|
|
154
|
+
}
|
|
155
|
+
if(data[i].type === 'divider') {
|
|
156
|
+
onePage += `<div style="margin: 20px 0;height: 1px;background-color: #ccc;"></div>`
|
|
157
|
+
page += 34
|
|
158
|
+
}
|
|
159
|
+
if(data[i].type === 'uploadAttachment') {
|
|
160
|
+
onePage += `<p onclick="closeMaker('${data[i].link}')" style="height: 24px;line-height: 24px; margin: 5px 0;display: inline-block; position: relative;"><img style="width: 20px; height: 22px; position: absolute; top: 0; left: 0;" src="${pdf}" alt="" /><span style="display: inline-block; padding-left: 25px;font-size: 14px;">${data[i].fileName}</span></p>`
|
|
161
|
+
page += 34
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
},
|
|
165
|
+
closeMaker(data) {
|
|
166
|
+
this.$emit('enclosure',data)
|
|
167
|
+
},
|
|
168
|
+
// 计算图片高度
|
|
169
|
+
thatImgHeight(src,data) {
|
|
170
|
+
// 获取图片原始宽高
|
|
171
|
+
let img = new Image()
|
|
172
|
+
img.src = src
|
|
173
|
+
let imgWidth = (img.width < 674)? img.width : 674
|
|
174
|
+
let imgHeight = (img.width < 674)? img.height : img.height * (674 / img.width)
|
|
175
|
+
if(data.width === undefined) {
|
|
176
|
+
imgWidth = '100%'
|
|
177
|
+
imgHeight = (img.width < 674)? img.height : img.height * (674 / img.width)
|
|
178
|
+
}else if(data.width.indexOf('%') !== -1) {
|
|
179
|
+
let w = parseInt(data.width)
|
|
180
|
+
imgWidth = data.width
|
|
181
|
+
imgHeight = imgHeight * (w / 100)
|
|
182
|
+
}else {
|
|
183
|
+
imgWidth = parseInt(data.width)
|
|
184
|
+
imgHeight = parseInt(data.height)
|
|
185
|
+
}
|
|
186
|
+
return {
|
|
187
|
+
width: imgWidth,
|
|
188
|
+
height: imgHeight
|
|
189
|
+
}
|
|
190
|
+
},
|
|
191
|
+
// 计算每行字符数
|
|
192
|
+
thatLenText(text,num) {
|
|
193
|
+
let len = 0
|
|
194
|
+
let st = ''
|
|
195
|
+
let end = []
|
|
196
|
+
let data = ''
|
|
197
|
+
for(let j =0; j<text.length; j++) {
|
|
198
|
+
data += text[j].text
|
|
199
|
+
}
|
|
200
|
+
for(let i= 0; i < data.length; i++) {
|
|
201
|
+
if(i === data.length - 1) {
|
|
202
|
+
end.push(st)
|
|
203
|
+
break
|
|
204
|
+
}
|
|
205
|
+
if(len <= num) {
|
|
206
|
+
st += data[i]
|
|
207
|
+
}else {
|
|
208
|
+
end.push(st)
|
|
209
|
+
st = ''
|
|
210
|
+
len = 0
|
|
211
|
+
st += data[i]
|
|
212
|
+
}
|
|
213
|
+
if(data[i].replace(/[^\u4e00-\u9fa5]/g, '')) {
|
|
214
|
+
len += 2
|
|
215
|
+
}else if(data[i].match(/[\u3002|\uff1f|\uff01|\uff0c|\u3001|\uff1b|\uff1a|\u201c|\u201d|\u2018|\u2019|\uff08|\uff09|\u300a|\u300b|\u3008|\u3009|\u3010|\u3011|\u300e|\u300f|\u2014|\u2026|\u2013]/g)) {
|
|
216
|
+
len += 2
|
|
217
|
+
}else if(data[i].match(/[a-zA-Z]/g)) {
|
|
218
|
+
len += 1
|
|
219
|
+
}else {
|
|
220
|
+
len += 1
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
return end
|
|
224
|
+
},
|
|
80
225
|
confirm() {
|
|
81
226
|
this.syncContent() //强制同步数据
|
|
82
227
|
this.$emit('confirm', this.formData.html)
|
|
@@ -145,7 +290,29 @@ export default defineComponent({
|
|
|
145
290
|
.but {
|
|
146
291
|
text-align: right;
|
|
147
292
|
}
|
|
148
|
-
|
|
293
|
+
.read-only-page{
|
|
294
|
+
width: 794px;
|
|
295
|
+
height: 1123px;
|
|
296
|
+
margin: 0 auto 20px auto;
|
|
297
|
+
background-color: #fff;
|
|
298
|
+
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
|
|
299
|
+
padding: 60px;
|
|
300
|
+
box-sizing: border-box;
|
|
301
|
+
position: relative;
|
|
302
|
+
}
|
|
303
|
+
.read-only-p{
|
|
304
|
+
width: 100%;
|
|
305
|
+
height: 100%;
|
|
306
|
+
}
|
|
307
|
+
.read-only-a{
|
|
308
|
+
position: absolute;
|
|
309
|
+
bottom: 25px;
|
|
310
|
+
left: 50%;
|
|
311
|
+
z-index: 1;
|
|
312
|
+
font-size: 14px;
|
|
313
|
+
transform: translateX(-50%);
|
|
314
|
+
color: #999;
|
|
315
|
+
}
|
|
149
316
|
/*工具栏样式*/
|
|
150
317
|
.toolbar {
|
|
151
318
|
border-top: 1px solid #d9d9d9;
|
|
@@ -165,6 +332,8 @@ export default defineComponent({
|
|
|
165
332
|
border: 1px solid #e8e8e8;
|
|
166
333
|
margin-bottom: 20px;
|
|
167
334
|
position: relative;
|
|
335
|
+
padding: 60px;
|
|
336
|
+
box-sizing: border-box;
|
|
168
337
|
}
|
|
169
338
|
|
|
170
339
|
.def-but {
|
|
@@ -8,7 +8,7 @@ const num = {1: '①', 2: '②', 3: '③', 4: '④', 5: '⑤', 6: '⑥', 7: '⑦
|
|
|
8
8
|
|
|
9
9
|
function resumeSing() {
|
|
10
10
|
return {
|
|
11
|
-
type: '
|
|
11
|
+
type: 'singAttachment',
|
|
12
12
|
fileName: signData.text,
|
|
13
13
|
link: signData.ico,
|
|
14
14
|
sign: true,
|
|
@@ -16,23 +16,18 @@ function resumeSing() {
|
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
function typeCode(node,value
|
|
20
|
-
let hasAttachment =
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
for(let i = 0; i < node.length; i++){
|
|
30
|
-
for(let j = 0; j < node[i].children.length; j++){
|
|
31
|
-
if(node[i].children[j][value]) {
|
|
32
|
-
hasAttachment = true
|
|
33
|
-
break
|
|
34
|
-
}
|
|
19
|
+
function typeCode(node,value) {
|
|
20
|
+
let hasAttachment = {
|
|
21
|
+
sign: false,
|
|
22
|
+
index: 0
|
|
23
|
+
}
|
|
24
|
+
for(let i = 0; i < node.length; i++){
|
|
25
|
+
if(node[i][value]) {
|
|
26
|
+
hasAttachment = {
|
|
27
|
+
sign: true,
|
|
28
|
+
index: i
|
|
35
29
|
}
|
|
30
|
+
break
|
|
36
31
|
}
|
|
37
32
|
}
|
|
38
33
|
return hasAttachment
|
|
@@ -100,7 +95,7 @@ class signButtonMenu {
|
|
|
100
95
|
if (this.isDisabled(editor)) return
|
|
101
96
|
let node = editor.children
|
|
102
97
|
let nodes = JSON.parse(JSON.stringify(node)) //拷贝一份
|
|
103
|
-
if(typeCode(nodes,'sign')) return
|
|
98
|
+
if(typeCode(nodes,'sign').sign) return
|
|
104
99
|
nodes.unshift(resumeSing())
|
|
105
100
|
addNode(editor,nodes)
|
|
106
101
|
}
|
|
@@ -128,7 +123,7 @@ class redButtonMenu {
|
|
|
128
123
|
if (this.isDisabled(editor)) return
|
|
129
124
|
let node = editor.children
|
|
130
125
|
let nodes = JSON.parse(JSON.stringify(node)) //拷贝一份
|
|
131
|
-
if(typeCode(nodes,'tou'
|
|
126
|
+
if(typeCode(nodes,'tou').sign) return
|
|
132
127
|
const resume = {
|
|
133
128
|
type: 'paragraph',
|
|
134
129
|
tou: true,
|
|
@@ -156,8 +151,8 @@ class redButtonMenu {
|
|
|
156
151
|
type: 'divider',
|
|
157
152
|
children: [{text:''}]
|
|
158
153
|
}
|
|
159
|
-
if(typeCode(node,'sign')) {
|
|
160
|
-
nodes.splice(
|
|
154
|
+
if(typeCode(node,'sign').sign) {
|
|
155
|
+
nodes.splice(typeCode(node,'sign').index,1)
|
|
161
156
|
nodes.splice(0,0,resumeSing())
|
|
162
157
|
nodes.splice(1,0,resume)
|
|
163
158
|
nodes.splice(2,0,resume1)
|
|
@@ -380,13 +375,14 @@ class abstractButtonMenu {
|
|
|
380
375
|
text: ' 摘要:',
|
|
381
376
|
color: '#000000',
|
|
382
377
|
fontSize: '12px',
|
|
383
|
-
bold: true
|
|
378
|
+
bold: true,
|
|
379
|
+
kong: true
|
|
384
380
|
},{
|
|
385
381
|
text: '请填写摘要内容',
|
|
386
382
|
color: '#000000',
|
|
387
383
|
fontSize: '12px',
|
|
388
384
|
}],
|
|
389
|
-
textAlign: 'left'
|
|
385
|
+
textAlign: 'left',
|
|
390
386
|
}
|
|
391
387
|
editor.insertNode(resume)
|
|
392
388
|
}
|
|
@@ -414,13 +410,14 @@ class keywordButtonMenu {
|
|
|
414
410
|
text: ' 关键词:',
|
|
415
411
|
color: '#000000',
|
|
416
412
|
fontSize: '12px',
|
|
417
|
-
bold: true
|
|
413
|
+
bold: true,
|
|
414
|
+
kong: true
|
|
418
415
|
},{
|
|
419
416
|
text: '请填写关键词内容',
|
|
420
417
|
color: '#000000',
|
|
421
418
|
fontSize: '12px',
|
|
422
419
|
}],
|
|
423
|
-
textAlign: 'left'
|
|
420
|
+
textAlign: 'left',
|
|
424
421
|
}
|
|
425
422
|
editor.insertNode(resume)
|
|
426
423
|
}
|
|
@@ -458,6 +455,77 @@ class numberButtonMenu {
|
|
|
458
455
|
addNode(editor,nodes)
|
|
459
456
|
}
|
|
460
457
|
}
|
|
458
|
+
// 上传
|
|
459
|
+
class uploadButtonMenu {
|
|
460
|
+
constructor() {
|
|
461
|
+
this.title = '上传附件' // 自定义菜单标题
|
|
462
|
+
this.tag = 'button'
|
|
463
|
+
}
|
|
464
|
+
getValue(editor) {
|
|
465
|
+
return false
|
|
466
|
+
}
|
|
467
|
+
isActive(editor) {
|
|
468
|
+
return false
|
|
469
|
+
}
|
|
470
|
+
isDisabled(editor) {
|
|
471
|
+
return false
|
|
472
|
+
}
|
|
473
|
+
exec(editor, value) {
|
|
474
|
+
if (this.isDisabled(editor)) return
|
|
475
|
+
const upload = editor.getConfig().MENU_CONF.uploadAttachment
|
|
476
|
+
const input = document.createElement("input");
|
|
477
|
+
input.type = "file";
|
|
478
|
+
input.accept = (upload.accept)? upload.accept : 'application/*'
|
|
479
|
+
input.style.display = "none";
|
|
480
|
+
document.body.appendChild(input)
|
|
481
|
+
input.click()
|
|
482
|
+
input.onchange = function() {
|
|
483
|
+
const file = input.files[0];
|
|
484
|
+
uploadFile(file,upload).then(res => {
|
|
485
|
+
const resume = {
|
|
486
|
+
type: 'uploadAttachment',
|
|
487
|
+
fileName: res.fileName,
|
|
488
|
+
link: res.filePath,
|
|
489
|
+
upload: true,
|
|
490
|
+
children: [{text: ''}]
|
|
491
|
+
}
|
|
492
|
+
const resume2 = {
|
|
493
|
+
type: 'paragraph',
|
|
494
|
+
children: [{text: ''}],
|
|
495
|
+
textAlign: 'left'
|
|
496
|
+
}
|
|
497
|
+
editor.insertNode(resume)
|
|
498
|
+
editor.insertNode(resume2)
|
|
499
|
+
})
|
|
500
|
+
}
|
|
501
|
+
document.body.removeChild(input)
|
|
502
|
+
}
|
|
503
|
+
}
|
|
504
|
+
|
|
505
|
+
function uploadFile(file,data) {
|
|
506
|
+
return new Promise((rl,re) => {
|
|
507
|
+
const meta = Object.keys(data.meta)
|
|
508
|
+
const param = new FormData()
|
|
509
|
+
param.append('file', file)
|
|
510
|
+
for(let i = 0; i < meta.length; i++) {
|
|
511
|
+
param.append(meta[i], data.meta[meta[i]])
|
|
512
|
+
}
|
|
513
|
+
const xhr = new XMLHttpRequest()
|
|
514
|
+
xhr.open('POST', data.server)
|
|
515
|
+
const headers = Object.keys(data.headers)
|
|
516
|
+
for(let i = 0; i < headers.length; i++) {
|
|
517
|
+
xhr.setRequestHeader(headers[i], data.headers[headers[i]])
|
|
518
|
+
}
|
|
519
|
+
xhr.onreadystatechange = () => {
|
|
520
|
+
if(xhr.readyState === 4) {
|
|
521
|
+
if(xhr.status === 200) {
|
|
522
|
+
rl(JSON.parse(xhr.responseText).data)
|
|
523
|
+
}
|
|
524
|
+
}
|
|
525
|
+
}
|
|
526
|
+
xhr.send(param)
|
|
527
|
+
})
|
|
528
|
+
}
|
|
461
529
|
|
|
462
530
|
const signMenuConf = {
|
|
463
531
|
key: 'signMenu',
|
|
@@ -515,7 +583,13 @@ const numberMenuConf = {
|
|
|
515
583
|
return new numberButtonMenu(v)
|
|
516
584
|
},
|
|
517
585
|
}
|
|
586
|
+
const uploadMenuConf = {
|
|
587
|
+
key: 'uploadAttachment',
|
|
588
|
+
factory() {
|
|
589
|
+
return new uploadButtonMenu()
|
|
590
|
+
},
|
|
591
|
+
}
|
|
518
592
|
|
|
519
593
|
export const menuModule = {
|
|
520
|
-
menus: [signMenuConf,redMenuConf,titleMenuConf,literatureMenuConf,taggingMenuConf,authorMenuConf,numberMenuConf,abstractMenuConf,keywordMenuConf]
|
|
594
|
+
menus: [signMenuConf,redMenuConf,titleMenuConf,uploadMenuConf,literatureMenuConf,taggingMenuConf,authorMenuConf,numberMenuConf,abstractMenuConf,keywordMenuConf]
|
|
521
595
|
}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { h, VNode } from 'snabbdom'
|
|
2
2
|
|
|
3
|
+
const pdf = 'data:image/png;base64,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'
|
|
4
|
+
|
|
3
5
|
function renderAttachment(elem, children, editor) {
|
|
4
6
|
const iconVnode = h(
|
|
5
7
|
'img',
|
|
@@ -70,8 +72,36 @@ function authorAttachment(elem, children, editor) {
|
|
|
70
72
|
return attachVnode
|
|
71
73
|
}
|
|
72
74
|
|
|
75
|
+
function uploadAttachment(elem, children, editor) {
|
|
76
|
+
const iconVnode = h(
|
|
77
|
+
'img',
|
|
78
|
+
{
|
|
79
|
+
props: { src: pdf }, // HTML 属性,驼峰式写法
|
|
80
|
+
style: { width: '20px',height: '20px',position: 'absolute',top: '0',left: '0'},
|
|
81
|
+
}
|
|
82
|
+
)
|
|
83
|
+
const iconText = h(
|
|
84
|
+
'span',
|
|
85
|
+
{
|
|
86
|
+
props: { contentEditable: false },
|
|
87
|
+
style: {display: 'inline-block',paddingLeft: '25px'}
|
|
88
|
+
},
|
|
89
|
+
[ elem.fileName ]
|
|
90
|
+
)
|
|
91
|
+
const attachVnode = h(
|
|
92
|
+
'p',
|
|
93
|
+
{
|
|
94
|
+
props: { contentEditable: false },
|
|
95
|
+
style: { display: 'inline-block',position: 'relative',cursor: 'pointer'},
|
|
96
|
+
on: { click() { console.log('clicked', elem.link) } }
|
|
97
|
+
},
|
|
98
|
+
[ iconVnode,iconText]
|
|
99
|
+
)
|
|
100
|
+
return attachVnode
|
|
101
|
+
}
|
|
102
|
+
|
|
73
103
|
const renderElemConf = {
|
|
74
|
-
type: '
|
|
104
|
+
type: 'singAttachment',
|
|
75
105
|
renderElem: renderAttachment,
|
|
76
106
|
}
|
|
77
107
|
const titleElemConf = {
|
|
@@ -82,7 +112,11 @@ const authorElemConf = {
|
|
|
82
112
|
type: 'authorAttachment',
|
|
83
113
|
renderElem: authorAttachment,
|
|
84
114
|
}
|
|
115
|
+
const uploadElemConf = {
|
|
116
|
+
type: 'uploadAttachment',
|
|
117
|
+
renderElem: uploadAttachment,
|
|
118
|
+
}
|
|
85
119
|
|
|
86
120
|
export const nodeModule = {
|
|
87
|
-
renderElems: [renderElemConf,titleElemConf,authorElemConf]
|
|
121
|
+
renderElems: [renderElemConf,titleElemConf,authorElemConf,uploadElemConf]
|
|
88
122
|
}
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="wrapper">
|
|
3
|
-
<div class="custom-select"
|
|
4
|
-
|
|
3
|
+
<div class="custom-select"
|
|
4
|
+
:class="{ 'readonly': readonly }">
|
|
5
|
+
<input type="text"
|
|
5
6
|
:value="selected"
|
|
6
7
|
:placeholder="placeholder"
|
|
7
8
|
:readonly="true"
|
|
8
9
|
@click="toggleDropDown"
|
|
9
10
|
class="select-css" />
|
|
11
|
+
|
|
10
12
|
<span class="custom-select-icons"
|
|
13
|
+
v-if="!readonly"
|
|
11
14
|
@click="toggleDropDown">
|
|
12
15
|
<svg xmlns="http://www.w3.org/2000/svg"
|
|
13
16
|
width="16"
|
|
@@ -21,13 +24,15 @@
|
|
|
21
24
|
</svg>
|
|
22
25
|
</span>
|
|
23
26
|
<transition>
|
|
24
|
-
<template v-if="
|
|
25
|
-
<
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
27
|
+
<template v-if="!readonly">
|
|
28
|
+
<template v-if="options.length">
|
|
29
|
+
<ul v-if="isOpen"
|
|
30
|
+
:class="{ 'custom-select-options': true, 'scroll': maxHeight > 0 }">
|
|
31
|
+
<li v-for="(option, idx) in options"
|
|
32
|
+
:key="idx"
|
|
33
|
+
@click="handleClick(option)">{{ option.label }}</li>
|
|
34
|
+
</ul>
|
|
35
|
+
</template>
|
|
31
36
|
</template>
|
|
32
37
|
</transition>
|
|
33
38
|
</div>
|
|
@@ -55,6 +60,10 @@ export default defineComponent({
|
|
|
55
60
|
type: Number,
|
|
56
61
|
default: 0
|
|
57
62
|
},
|
|
63
|
+
readonly: {
|
|
64
|
+
type: Boolean,
|
|
65
|
+
default: false
|
|
66
|
+
},
|
|
58
67
|
color: {
|
|
59
68
|
type: String,
|
|
60
69
|
default: '#606266'
|
|
@@ -140,6 +149,15 @@ export default defineComponent({
|
|
|
140
149
|
position: relative;
|
|
141
150
|
}
|
|
142
151
|
|
|
152
|
+
.custom-select.readonly {
|
|
153
|
+
pointer-events: none;
|
|
154
|
+
cursor: default;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
.custom-select.readonly .select-css {
|
|
158
|
+
border: none;
|
|
159
|
+
}
|
|
160
|
+
|
|
143
161
|
.select-css {
|
|
144
162
|
display: block;
|
|
145
163
|
font-size: 14px;
|
|
@@ -1,93 +1,109 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
<div class="tabs cl">
|
|
3
|
+
<div class="tabs-li" :class="{'tab-active': actives === index}" @click="listTap(index)"
|
|
4
|
+
v-for="(item,index) in list" :key="index">{{ item[column[0]] }}
|
|
5
|
+
</div>
|
|
6
|
+
<div v-if="addShow" @click="addTap" class="tabs-li tab-add">+</div>
|
|
7
|
+
</div>
|
|
6
8
|
</template>
|
|
7
9
|
|
|
8
10
|
<script>
|
|
11
|
+
import {json2html} from "html2json";
|
|
12
|
+
|
|
9
13
|
export default {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
},
|
|
16
|
-
props: {
|
|
17
|
-
active: {
|
|
18
|
-
type: String,
|
|
19
|
-
default: ''
|
|
20
|
-
},
|
|
21
|
-
activeId: {
|
|
22
|
-
type: String,
|
|
23
|
-
default: ''
|
|
14
|
+
name: "zydx-tab",
|
|
15
|
+
data() {
|
|
16
|
+
return {
|
|
17
|
+
actives: 0
|
|
18
|
+
}
|
|
24
19
|
},
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
20
|
+
props: {
|
|
21
|
+
active: {
|
|
22
|
+
type: String,
|
|
23
|
+
default: ''
|
|
24
|
+
},
|
|
25
|
+
activeId: {
|
|
26
|
+
type: String,
|
|
27
|
+
default: ''
|
|
28
|
+
},
|
|
29
|
+
addShow: {
|
|
30
|
+
type: Boolean,
|
|
31
|
+
default: false
|
|
32
|
+
},
|
|
33
|
+
list: { // 数据列表
|
|
34
|
+
type: Array,
|
|
35
|
+
default: () => []
|
|
36
|
+
},
|
|
37
|
+
column: { // 数据列表
|
|
38
|
+
type: Array,
|
|
39
|
+
default: () => ['name']
|
|
40
|
+
},
|
|
28
41
|
},
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
42
|
+
watch: {
|
|
43
|
+
active: {
|
|
44
|
+
handler: function (val, oldVal) {
|
|
45
|
+
this.listActive(this.list, val)
|
|
46
|
+
},
|
|
47
|
+
deep: true
|
|
48
|
+
},
|
|
49
|
+
list: {
|
|
50
|
+
handler: function (val, oldVal) {
|
|
51
|
+
this.listActive(val, this.active)
|
|
52
|
+
},
|
|
53
|
+
deep: true
|
|
54
|
+
},
|
|
32
55
|
},
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
56
|
+
mounted() {
|
|
57
|
+
if (this.list.length === 0) return
|
|
58
|
+
if (this.activeId) {
|
|
59
|
+
this.listActive(this.list, this.active)
|
|
60
|
+
} else {
|
|
61
|
+
this.actives = 0
|
|
62
|
+
}
|
|
36
63
|
},
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
if (item[this.activeId] === val) {
|
|
64
|
+
methods: {
|
|
65
|
+
listActive(data,act) {
|
|
66
|
+
data.forEach((item, index) => {
|
|
67
|
+
if (item[this.activeId] === act) {
|
|
42
68
|
this.actives = index
|
|
43
69
|
}
|
|
44
70
|
})
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
mounted() {
|
|
48
|
-
if (this.activeId) {
|
|
49
|
-
this.list.forEach((item, index) => {
|
|
50
|
-
if (item[this.activeId] === this.active) {
|
|
71
|
+
},
|
|
72
|
+
listTap(index) {
|
|
51
73
|
this.actives = index
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
this.actives = index
|
|
61
|
-
this.$emit('confirm', {
|
|
62
|
-
data: this.list[index],
|
|
63
|
-
index: index
|
|
64
|
-
})
|
|
65
|
-
},
|
|
66
|
-
addTap() {
|
|
67
|
-
this.$emit('addTap')
|
|
74
|
+
this.$emit('confirm', {
|
|
75
|
+
data: this.list[index],
|
|
76
|
+
index: index
|
|
77
|
+
})
|
|
78
|
+
},
|
|
79
|
+
addTap() {
|
|
80
|
+
this.$emit('addTap')
|
|
81
|
+
}
|
|
68
82
|
}
|
|
69
|
-
}
|
|
70
83
|
}
|
|
71
84
|
</script>
|
|
72
85
|
|
|
73
86
|
<style scoped>
|
|
74
|
-
.tab-add{
|
|
87
|
+
.tab-add {
|
|
75
88
|
font-size: 18px !important;
|
|
76
89
|
line-height: 24px !important;
|
|
77
90
|
}
|
|
91
|
+
|
|
78
92
|
.cl:after {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
93
|
+
content: "";
|
|
94
|
+
clear: left;
|
|
95
|
+
display: block;
|
|
82
96
|
}
|
|
83
|
-
|
|
97
|
+
|
|
98
|
+
.tabs {
|
|
84
99
|
width: 100%;
|
|
85
100
|
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABQAAAADGBAMAAAB/QzDKAAADImlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpBRjFGRkEwRjlEMzgxMUU5QUQ0OUNBNThBMDQyM0I3NiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpBRjFGRkExMDlEMzgxMUU5QUQ0OUNBNThBMDQyM0I3NiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkFGMUZGQTBEOUQzODExRTlBRDQ5Q0E1OEEwNDIzQjc2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkFGMUZGQTBFOUQzODExRTlBRDQ5Q0E1OEEwNDIzQjc2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+zkTyIwAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAwUExURUdwTOK3l9mr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');
|
|
86
101
|
background-size: 100% 100%;
|
|
87
102
|
padding: 12px 20px;
|
|
88
103
|
box-sizing: border-box;
|
|
89
|
-
|
|
90
|
-
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
.tabs-li {
|
|
91
107
|
min-width: 83px;
|
|
92
108
|
height: 26px;
|
|
93
109
|
background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFoAAAAeCAYAAACsYQl4AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADImlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpCQ0NCN0EzMUFDMDAxMUU4ODIwN0NCOTdENjIxODU1RCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpCQ0NCN0EzMkFDMDAxMUU4ODIwN0NCOTdENjIxODU1RCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkJDQ0I3QTJGQUMwMDExRTg4MjA3Q0I5N0Q2MjE4NTVEIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkJDQ0I3QTMwQUMwMDExRTg4MjA3Q0I5N0Q2MjE4NTVEIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+bL/JSwAABHZJREFUaEPtmldLLEEQhWvXnHNOKIpixID4C3wUf6r44ItPIhhAMaCioqKYc85h736lPe5ddndGUZ/6wDjjTHX3zOna0zVV4wsEIWHY39+Xm5sbOT09lfj4eImLi5O3tzfx+Xy6eYXpmj2b3+/33B770DGjtTN9swGvY5j+gdsY0UB7xnt9fZWnpyflqbq6WgoLCz8sPuEQzY6BaDAzMyMnJyeSlJQkbW1tkpCQIC8vL55vxPT10bXu2bgpNvN/eH/G3tjwAIAHMP2ZdqHtsTPHxilAeP+AdvSPTagd50Bov27AFkd8fn6W+fl5bZeamiodHR2SmJio/XNOt6BxYGBgQA2Ki4ulsbFRtra25OzsTLKzs6WyslIJt4iOh4cH2dnZcSaupqZGFhcXVRGurq6kv79f/Hiq8Yjc3Fydofv7ezk/P5e1tTX1bovYmJ2dldXVVeULRYBDnBQ+AR6vHr20tKQ/g8PDQ8nLy9NZuL291QZIR0FBgTawiIyjoyNZWFhQvuARkuHw7u5OSkpKpLW19VOjwfLyss5KcnKyzkxRUZF0dnZ+XLWIhbm5OVWF3d1dVYj6+np12qysLF033leAIOAbcrmAB+fn56tOW3gDakCkVlZWphwiF/AJ+cAh+vr6WjY3N6W2tlaam5ulvb1dRZ4OLGLj+PhY+cNZkQk4JESenp52IiffxMRE4OLiQlJSUlQmMEBCiDTQ6b6+Pif0sYgMoo3BwUHJyMjQQKKhoUFlA/5WVlY0ovMNDQ0FIJjZQJMxPDg40L35GVi4A9lAKgjpysvL1XEB8js+Pi5+CE5LS3NiZQx4uyGetiR7R3p6uoZzdXV1DsmAYzhWTUBHTLBt8bMwb4dKNP9Yon8Hhle7yv0RHI+2+B1Yj/5jKNEmDWnx84BboETzQmJfSn4Hhlf9S5zHZvHzMLw60hHq0VxExC35X0Mkh4VXzvkmJycDl5eX+j7OqzhpPnIdlGJsrsMbcEqT6yARR66DDCjHVFp4O/R3d3drMRGix8bGJDMzU5P9lGMgmNqhRWyQ34Bs+Orq6lIOyU8HnVjTGD09Pe/SAbGk9pgBEiOlpaVSVVWlkYhZNS2ig8oKRKMCJObgkBIhBZSWlha1cTSBxBLFWXLSlLaYEarfpPssYiMnJ0f5A0gFHFI4QUL+C++YAbyZWaDWRZqUOhgZKQtvQCLw6O3tbeWQRB2p08fHR72uRI+MjMjU1JS6P+lRFe+g3lAJ39jYUEOL6IAjdJrcMwsiHEIwnyCMjo6qjRZnh4eHNR8NuegzhGNYUVGhwm4RG4RvFEpQBipUcIkqUN5inevt7X0nmkIirr63t6f1L0jmHF/coD8W7kAmIJvvYJARPjMARHQsiv99bmCAMaQjIeajGibiu/kQfiEM89UIhjZsbnE8/XNvX70/p3AabOc2RiSYZ2JtQ2ZxThZBHDQcEYmmEY3X19d1keQmvku0IYq2XvugjXl4jg2RkRDaPzCT6jYONmbi3caIBtOH2bMYNjU1ORHIJ0T+AbIL39z60gtQAAAAAElFTkSuQmCC') center center;
|
|
@@ -99,12 +115,14 @@ export default {
|
|
|
99
115
|
line-height: 26px;
|
|
100
116
|
color: #333;
|
|
101
117
|
font-size: 14px;
|
|
102
|
-
|
|
103
|
-
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
.tabs-li:hover {
|
|
104
121
|
color: #999;
|
|
105
|
-
|
|
106
|
-
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
.tab-active {
|
|
107
125
|
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFoAAAAeCAYAAACsYQl4AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADImlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpGQ0MwRjM3Q0FDMDAxMUU4OThCMjhFMkM4MzMyOEQ5MyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpGQ0MwRjM3REFDMDAxMUU4OThCMjhFMkM4MzMyOEQ5MyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkZDQzBGMzdBQUMwMDExRTg5OEIyOEUyQzgzMzI4RDkzIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkZDQzBGMzdCQUMwMDExRTg5OEIyOEUyQzgzMzI4RDkzIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwv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") !important;
|
|
108
126
|
color: #00ff00 !important;
|
|
109
|
-
|
|
127
|
+
}
|
|
110
128
|
</style>
|
|
@@ -35,9 +35,10 @@
|
|
|
35
35
|
<div v-if="item.number" class="number-input">
|
|
36
36
|
<input type="number" @keypress="isNumberKey($event,index)"
|
|
37
37
|
:placeholder="item.placeholder"
|
|
38
|
+
:maxlength="item.maxlength"
|
|
38
39
|
v-model="item.value" :disabled="item.disabled"/>
|
|
39
40
|
</div>
|
|
40
|
-
<input v-else type="text" :placeholder="item.placeholder"
|
|
41
|
+
<input v-else type="text" :placeholder="item.placeholder" :maxlength="item.maxlength"
|
|
41
42
|
v-model="item.value" :disabled="item.disabled"/>
|
|
42
43
|
</div>
|
|
43
44
|
<div style="display: inline-block;">
|
|
@@ -45,13 +46,13 @@
|
|
|
45
46
|
v-model:value="item.selectValue"></Select>
|
|
46
47
|
</div>
|
|
47
48
|
<div class="cal" v-if="item.type === 'calender'">
|
|
48
|
-
<input type="text" :placeholder="item.placeholder" @focus="focus"
|
|
49
|
+
<input type="text" :placeholder="item.placeholder" @focus="focus" :maxlength="item.maxlength"
|
|
49
50
|
v-model="item.value" :disabled="item.disabled"/>
|
|
50
51
|
<Calendar v-if="tip" style="top: 35px;" @confirm="confirm($event,item)"></Calendar>
|
|
51
52
|
</div>
|
|
52
53
|
<div v-if="item.type === 'text'" class="text">{{ item.value }}</div>
|
|
53
54
|
<div v-if="item.type === 'code'" class="ph-code">
|
|
54
|
-
<input type="text" v-model="item.value" :placeholder="item.placeholder"/>
|
|
55
|
+
<input type="text" v-model="item.value" :maxlength="item.maxlength" :placeholder="item.placeholder"/>
|
|
55
56
|
<button ref="tipID" @click="item.codeTap($refs.tipID[0],inputArr)">{{
|
|
56
57
|
item.butVal
|
|
57
58
|
}}
|