zydx-plus 1.32.183 → 1.32.184
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 -1
- package/src/components/editor/src/butJson.js +10 -1
- package/src/components/editor/src/editor.vue +42 -11
- package/src/components/editor/src/extend/title-id.js +2 -2
- package/src/components/word/src/word.css +21 -4
- package/src/components/word/src/word.vue +39 -13
- package/src/index.js +1 -1
package/package.json
CHANGED
|
@@ -64,7 +64,7 @@ export function butJson (editor,data) {
|
|
|
64
64
|
name: '标注编号',
|
|
65
65
|
key: 'numberMenu',
|
|
66
66
|
menuKeys: [],
|
|
67
|
-
html: `<sup
|
|
67
|
+
html: `<sup>[${menusData(data,'numberMenu').text}]</sup>`
|
|
68
68
|
},
|
|
69
69
|
keywordMenu: {
|
|
70
70
|
name: '关键词',
|
|
@@ -95,6 +95,15 @@ export function butJson (editor,data) {
|
|
|
95
95
|
],
|
|
96
96
|
index: numSort(editor)
|
|
97
97
|
},
|
|
98
|
+
ackMenu: {
|
|
99
|
+
name: '致谢',
|
|
100
|
+
key: 'ackMenu',
|
|
101
|
+
menuKeys: [],
|
|
102
|
+
html: [
|
|
103
|
+
`<p data-signId="ack" contenteditable="false" style="text-align: center;"><span style="color: rgb(0, 0, 0);font-size: 24px;font-weight: bold;">致谢</span></p>`,
|
|
104
|
+
`<p><span style="color: rgb(0, 0, 0);font-size: 14px;">致谢内容...</span></p>`
|
|
105
|
+
]
|
|
106
|
+
},
|
|
98
107
|
'group-image': {
|
|
99
108
|
name: '上传图片',
|
|
100
109
|
key: 'group-image',
|
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
<div class="editor-but-name" v-if="item.key === 'group-upload'">
|
|
6
6
|
<label>
|
|
7
7
|
<input type="file" @change="upload($event,item.key)" accept=".docx,.pptx,.pdf,.xlsx" style="display: none;">
|
|
8
|
-
<span
|
|
8
|
+
<span v-html="item.name"></span>
|
|
9
9
|
</label>
|
|
10
10
|
</div>
|
|
11
11
|
<div v-else class="editor-but-name" @click="butTap(item,0)">
|
|
12
|
-
<span
|
|
12
|
+
<span v-html="item.name"></span>
|
|
13
13
|
<img v-if="item.menuKeys.length > 0" src="data:image/png;base64,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" alt="" />
|
|
14
14
|
</div>
|
|
15
15
|
<div class="editor-but-down" v-if="item.menuKeys.length > 0">
|
|
@@ -17,9 +17,9 @@
|
|
|
17
17
|
<li @click="butTap(item,item2)" v-for="(item2,index2) in item.menuKeys">
|
|
18
18
|
<label v-if="item2.key === 'uploadImage'">
|
|
19
19
|
<input type="file" @change="upload($event,item2.key)" accept="image/*" style="display: none;">
|
|
20
|
-
<span
|
|
20
|
+
<span v-html="item2.name"></span>
|
|
21
21
|
</label>
|
|
22
|
-
<span v-else
|
|
22
|
+
<span v-else v-html="item2.name"></span>
|
|
23
23
|
</li>
|
|
24
24
|
</ul>
|
|
25
25
|
</div>
|
|
@@ -221,7 +221,7 @@ export default {
|
|
|
221
221
|
},
|
|
222
222
|
emits: ['confirm','enclosure'],
|
|
223
223
|
methods: {
|
|
224
|
-
|
|
224
|
+
readOnlyPage() {
|
|
225
225
|
this.htmlArr = []
|
|
226
226
|
const data = document.querySelectorAll('.editing-cont')[0].childNodes[0].childNodes
|
|
227
227
|
let max = 1123
|
|
@@ -229,6 +229,11 @@ export default {
|
|
|
229
229
|
let html = ''
|
|
230
230
|
for (let i = 0; i < data.length; i++) {
|
|
231
231
|
let text = data[i].offsetHeight
|
|
232
|
+
if(data[i].dataset?.signid === 'ack') {
|
|
233
|
+
this.htmlArr.push(html)
|
|
234
|
+
pHeight = 0
|
|
235
|
+
html = ''
|
|
236
|
+
}
|
|
232
237
|
if((pHeight + text) > max) {
|
|
233
238
|
// console.log(this.rows(data[i],(pHeight + text) - max))
|
|
234
239
|
this.htmlArr.push(html)
|
|
@@ -279,7 +284,7 @@ export default {
|
|
|
279
284
|
}
|
|
280
285
|
}
|
|
281
286
|
},
|
|
282
|
-
upSort(editor) {
|
|
287
|
+
upSort(editor,v) {
|
|
283
288
|
const data = editor.state.selection.$anchor.path[0].content.content
|
|
284
289
|
let num = 1
|
|
285
290
|
let len = 0
|
|
@@ -294,7 +299,7 @@ export default {
|
|
|
294
299
|
}
|
|
295
300
|
})
|
|
296
301
|
return {
|
|
297
|
-
len: this.selectionPath(
|
|
302
|
+
len: this.selectionPath(v) + len,
|
|
298
303
|
num: num
|
|
299
304
|
}
|
|
300
305
|
},
|
|
@@ -313,12 +318,12 @@ export default {
|
|
|
313
318
|
if(b === -1) {
|
|
314
319
|
const last = this.editor.state.selection.$anchor.path[0].content.size
|
|
315
320
|
if(t === -1) this.editor.chain().focus().insertContentAt(last,html).run()
|
|
316
|
-
const num = this.upSort(this.editor)
|
|
321
|
+
const num = this.upSort(this.editor,'enclosure')
|
|
317
322
|
const html2 = `<p contenteditable="false" data-signId="u-${num.num}"><a href="${url}" ><span>${num.num}. ${name}</span></a></p>`
|
|
318
323
|
this.editor.chain().focus().insertContentAt(num.len,html2).run()
|
|
319
324
|
}else {
|
|
320
325
|
if(t === -1) this.editor.chain().focus().insertContentAt(this.selectionPath('paragraph',b - 1),html).run()
|
|
321
|
-
const num = this.upSort(this.editor)
|
|
326
|
+
const num = this.upSort(this.editor,'enclosure')
|
|
322
327
|
const html2 = `<p contenteditable="false" data-signId="u-${num.num}"><a href="${url}" ><span>${num.num}. ${name}</span></a></p>`
|
|
323
328
|
this.editor.chain().focus().insertContentAt(num.len,html2).run()
|
|
324
329
|
}
|
|
@@ -385,7 +390,17 @@ export default {
|
|
|
385
390
|
organizeButton() {
|
|
386
391
|
this.toolbar.forEach(item => {
|
|
387
392
|
let obj = butJson(this.editor,this.menusText)[item.key === undefined? item : item.key]
|
|
388
|
-
if (obj)
|
|
393
|
+
if (obj) {
|
|
394
|
+
if(item.key === undefined) {
|
|
395
|
+
this.butData.push(obj)
|
|
396
|
+
}else {
|
|
397
|
+
this.butData.push({
|
|
398
|
+
key: item.key,
|
|
399
|
+
menuKeys: obj.menuKeys,
|
|
400
|
+
name: item.title
|
|
401
|
+
})
|
|
402
|
+
}
|
|
403
|
+
}
|
|
389
404
|
})
|
|
390
405
|
},
|
|
391
406
|
async butTap(data,key) {
|
|
@@ -436,8 +451,14 @@ export default {
|
|
|
436
451
|
if(data.key === 'paragraphMenu') {
|
|
437
452
|
const html = butJson(this.editor,this.menusText)[data.key].html
|
|
438
453
|
const last = this.editor.state.selection.$anchor.path[0].content.size
|
|
454
|
+
const b = await this.signIdData('ack')
|
|
439
455
|
const r = await this.signIdData('paragraph')
|
|
440
|
-
if(
|
|
456
|
+
if(b === -1) {
|
|
457
|
+
if(r === -1) this.editor.chain().focus().insertContentAt(last,html).run()
|
|
458
|
+
}else {
|
|
459
|
+
const num = this.upSort(this.editor,'ack')
|
|
460
|
+
if(r === -1) this.editor.chain().focus().insertContentAt(num.len-3,html).run()
|
|
461
|
+
}
|
|
441
462
|
}
|
|
442
463
|
// 标注编号
|
|
443
464
|
if(data.key === 'numberMenu') {
|
|
@@ -454,6 +475,16 @@ export default {
|
|
|
454
475
|
const html = butJson(this.editor,this.menusText)[data.key].html
|
|
455
476
|
this.editor.chain().focus().insertContentAt(this.selection(),html).run()
|
|
456
477
|
}
|
|
478
|
+
// 致谢
|
|
479
|
+
if(data.key === 'ackMenu') {
|
|
480
|
+
const html = butJson(this.editor,this.menusText)[data.key].html
|
|
481
|
+
const last = this.editor.state.selection.$anchor.path[0].content.size
|
|
482
|
+
const r = await this.signIdData('ack')
|
|
483
|
+
if(r === -1) {
|
|
484
|
+
this.editor.chain().focus().insertContentAt(last,html[0]).run()
|
|
485
|
+
this.editor.chain().focus().insertContentAt(last+3,html[1]).run()
|
|
486
|
+
}
|
|
487
|
+
}
|
|
457
488
|
// 文献
|
|
458
489
|
if(data.key === 'literatureMenu') {
|
|
459
490
|
const html = butJson(this.editor,this.menusText)[data.key].html
|
|
@@ -16,13 +16,13 @@ export const titleId = Extension.create({
|
|
|
16
16
|
attributes: {
|
|
17
17
|
titleId: {
|
|
18
18
|
default: null,
|
|
19
|
-
parseHTML: element => element.getAttribute('
|
|
19
|
+
parseHTML: element => element.getAttribute('class'),
|
|
20
20
|
renderHTML: attributes => {
|
|
21
21
|
if (!attributes.titleId) {
|
|
22
22
|
return {}
|
|
23
23
|
}
|
|
24
24
|
return {
|
|
25
|
-
'
|
|
25
|
+
'class': attributes.titleId,
|
|
26
26
|
}
|
|
27
27
|
},
|
|
28
28
|
},
|
|
@@ -88,11 +88,20 @@
|
|
|
88
88
|
}
|
|
89
89
|
.subject-title{
|
|
90
90
|
flex: 1;
|
|
91
|
-
text-indent: 2em;
|
|
92
91
|
position: relative;
|
|
93
92
|
}
|
|
94
93
|
.subject-title label{
|
|
95
|
-
display:
|
|
94
|
+
display: inline-block;
|
|
95
|
+
}
|
|
96
|
+
.subject-title label input{
|
|
97
|
+
position: absolute;
|
|
98
|
+
top: 5px;
|
|
99
|
+
left: 0;
|
|
100
|
+
z-index: 1;
|
|
101
|
+
}
|
|
102
|
+
.subject span{
|
|
103
|
+
text-align: justify;
|
|
104
|
+
padding-left: 2em;
|
|
96
105
|
}
|
|
97
106
|
.subject span em{
|
|
98
107
|
font-style: normal;
|
|
@@ -145,8 +154,16 @@ input[name='check'] {
|
|
|
145
154
|
left: 0;
|
|
146
155
|
}
|
|
147
156
|
.subject-but{
|
|
157
|
+
position: relative;
|
|
158
|
+
}
|
|
159
|
+
.subject-but b{
|
|
148
160
|
position: absolute;
|
|
149
|
-
bottom: 2px;
|
|
150
|
-
right: 0;
|
|
151
161
|
z-index: 1;
|
|
162
|
+
display: flex;
|
|
163
|
+
}
|
|
164
|
+
.subject-html{
|
|
165
|
+
margin: 2px 0;
|
|
166
|
+
}
|
|
167
|
+
.subject-html :deep(p){
|
|
168
|
+
margin: 2px 0;
|
|
152
169
|
}
|
|
@@ -6,21 +6,31 @@
|
|
|
6
6
|
<div class="subject-title">
|
|
7
7
|
<label>
|
|
8
8
|
<input v-if="multipleShow" type="checkbox" :checked="item.checked" @change="checkboxChange($event,index)" name="check" />
|
|
9
|
-
<span>{{ item.order }}.<em v-html="item.title"></em
|
|
9
|
+
<span>{{ item.order }}.<em v-html="item.title"></em>
|
|
10
|
+
<i class="subject-but" ref="subject">
|
|
11
|
+
<b :style="{right: -item.right + 'px', top: item.top + 'px'}" v-if="butShow" ref="b">
|
|
12
|
+
<button class="but" @click="modify(item)">修改</button>
|
|
13
|
+
<button class="but" @click="del(item)">删除</button>
|
|
14
|
+
</b>
|
|
15
|
+
<b :style="{right: -item.right + 'px', top: item.top + 'px'}" v-if="replace" ref="b">
|
|
16
|
+
<button class="but" @click="replaceTap(item,index)">替换题目</button>
|
|
17
|
+
</b>
|
|
18
|
+
<b :style="{right: -item.right + 'px', top: item.top + 'px'}" v-if="choice" ref="b">
|
|
19
|
+
<button class="but"
|
|
20
|
+
@click="choiceTap(item,index)"
|
|
21
|
+
:disabled="!item.choice"
|
|
22
|
+
:style="{border: !item.choice?'1px solid #ccc': '1px solid #000'}">
|
|
23
|
+
{{ choiceState? '选择题目' : item.choice?'撤销选择': '选择题目' }}
|
|
24
|
+
</button>
|
|
25
|
+
</b>
|
|
26
|
+
</i>
|
|
27
|
+
</span>
|
|
10
28
|
</label>
|
|
11
|
-
<div class="subject-but">
|
|
12
|
-
<button class="but" v-if="butShow" @click="modify(item)">修改</button>
|
|
13
|
-
<button class="but" v-if="butShow" @click="del(item)">删除</button>
|
|
14
|
-
<button class="but" v-if="replace" @click="replaceTap(item,index)">替换题目</button>
|
|
15
|
-
<button class="but" v-if="choice"
|
|
16
|
-
@click="choiceTap(item,index)"
|
|
17
|
-
:disabled="!item.choice"
|
|
18
|
-
:style="{border: !item.choice?'1px solid #ccc': '1px solid #000'}">
|
|
19
|
-
{{ choiceState? '选择题目' : item.choice?'撤销选择': '选择题目' }}
|
|
20
|
-
</button>
|
|
21
|
-
</div>
|
|
22
29
|
</div>
|
|
23
30
|
</div>
|
|
31
|
+
<div v-if="item.alist" class="subject-html">
|
|
32
|
+
<div v-for="(item,index) in item.alist" v-html="item.amexontet"></div>
|
|
33
|
+
</div>
|
|
24
34
|
<div class="choice" v-if="item.testKey">
|
|
25
35
|
<div class="choice-box" v-for="(ts,ind) in JSON.parse(item.testKey)">
|
|
26
36
|
<label>
|
|
@@ -35,7 +45,7 @@
|
|
|
35
45
|
</template>
|
|
36
46
|
|
|
37
47
|
<script>
|
|
38
|
-
|
|
48
|
+
import { html2json, json2html } from 'html2json'
|
|
39
49
|
export default {
|
|
40
50
|
name: "zydx-seek",
|
|
41
51
|
data() {
|
|
@@ -81,8 +91,24 @@ export default {
|
|
|
81
91
|
this.value = val
|
|
82
92
|
this.value.map((item,index) => {
|
|
83
93
|
item.choice = true
|
|
94
|
+
item.right = 0
|
|
95
|
+
item.top = 0
|
|
96
|
+
if(item.alist) {
|
|
97
|
+
item.alist.map(x => {
|
|
98
|
+
x.amexontet = json2html({node: "root",child: JSON.parse(x.amexontet)})
|
|
99
|
+
return x
|
|
100
|
+
})
|
|
101
|
+
}
|
|
84
102
|
return item
|
|
85
103
|
})
|
|
104
|
+
this.$nextTick(() => {
|
|
105
|
+
const w = this.$refs.parer.offsetWidth
|
|
106
|
+
for(let i = 0; i< this.$refs.subject.length; i++) {
|
|
107
|
+
this.value[i].right = w - this.$refs.subject[i].offsetLeft
|
|
108
|
+
if(this.value[i].right < this.$refs.b[i].offsetWidth) this.value[i].top = 25
|
|
109
|
+
}
|
|
110
|
+
})
|
|
111
|
+
console.log(this.value)
|
|
86
112
|
},
|
|
87
113
|
immediate: true,
|
|
88
114
|
},
|