zydx-plus 1.33.342 → 1.33.344
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-copy.js +183 -0
- package/src/components/editor/src/butJson.js +197 -73
- package/src/components/editor/src/delete-svg.vue +33 -0
- package/src/components/editor/src/edit-svg.vue +30 -0
- package/src/components/editor/src/editor-copy.vue +1360 -0
- package/src/components/editor/src/editor.vue +1728 -240
- package/src/components/editor/src/extend/exegesis-id.js +44 -0
- package/src/components/editor/src/extend/line-height-id.js +43 -0
- package/src/components/editor/src/view-svg.vue +31 -0
- package/src/components/question/src/question.vue +5 -4
- package/src/components/tipBox/index.js +3 -0
- package/src/components/tipBox/src/main.vue +28 -4
- package/src/index.js +1 -1
package/package.json
CHANGED
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
|
|
2
|
+
const num = {1: '①', 2: '②', 3: '③', 4: '④', 5: '⑤', 6: '⑥', 7: '⑦', 8: '⑧', 9: '⑨', 10: '⑩', 11: '⑪', 12: '⑫', 13: '⑬', 14: '⑭', 15: '⑮', 16: '⑯', 17: '⑰', 18: '⑱', 19: '⑲', 20: '⑳',}
|
|
3
|
+
|
|
4
|
+
export function butJson (editor,data) {
|
|
5
|
+
return {
|
|
6
|
+
signMenu: {
|
|
7
|
+
name: '添加标志',
|
|
8
|
+
key: 'signMenu',
|
|
9
|
+
menuKeys: []
|
|
10
|
+
},
|
|
11
|
+
titleMenu: {
|
|
12
|
+
name: '字体',
|
|
13
|
+
key: 'titleMenu',
|
|
14
|
+
menuKeys: [
|
|
15
|
+
{name: '微软雅黑', key: 'Microsoft Yahei'},
|
|
16
|
+
{name: '楷体', key: 'Kaiti'},
|
|
17
|
+
{name: '仿宋', key: 'FangSong'},
|
|
18
|
+
{name: '黑体', key: 'SimHei'},
|
|
19
|
+
],
|
|
20
|
+
html: {
|
|
21
|
+
blackCenter4: `<p data-signId="title-1" class="title ${randomId()}" style="text-align: center;"><span style="font-weight: 700;color: rgb(0, 0, 0);font-size: 16px;font-family: SimHei">${menusData(data,'titleMenu').text}</span></p>`,
|
|
22
|
+
blackLeft4: `<p data-signId="title-2" class="title ${randomId()}" style="text-align: left;"><span style="font-weight: 700;color: rgb(0, 0, 0);font-size: 16px;font-family: SimHei">${menusData(data,'titleMenu').text}</span></p>`,
|
|
23
|
+
blackCenter5: `<p data-signId="title-3" class="title ${randomId()}" style="text-align: center;"><span style="font-weight: 700;color: rgb(0, 0, 0);font-size: 14px;font-family: SimHei">${menusData(data,'titleMenu').text}</span></p>`,
|
|
24
|
+
blackLeft5: `<p data-signId="title-4" class="title ${randomId()}" style="text-align: left;"><span style="font-weight: 700;color: rgb(0, 0, 0);font-size: 14px;font-family: SimHei">${menusData(data,'titleMenu').text}</span></p>`,
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
textMenu: {
|
|
28
|
+
name: '字号',
|
|
29
|
+
key: 'textMenu',
|
|
30
|
+
menuKeys: [
|
|
31
|
+
{name: '12', key: '12px'},
|
|
32
|
+
{name: '14', key: '14px'},
|
|
33
|
+
{name: '16', key: '16px'},
|
|
34
|
+
{name: '18', key: '18px'},
|
|
35
|
+
{name: '20', key: '20px'},
|
|
36
|
+
{name: '22', key: '22px'},
|
|
37
|
+
{name: '24', key: '24px'},
|
|
38
|
+
{name: '26', key: '26px'},
|
|
39
|
+
{name: '28', key: '28px'},
|
|
40
|
+
{name: '30', key: '30px'},
|
|
41
|
+
{name: '32', key: '32px'}
|
|
42
|
+
],
|
|
43
|
+
html: {
|
|
44
|
+
Song5: `<p class="text" style="text-align: left;"><span style="color: rgb(0, 0, 0);font-size: 14px;font-family: SimSun">请输入正文</span></p>`,
|
|
45
|
+
regular5: `<p class="text" style="text-align: left;"><span style="color: rgb(0, 0, 0);font-size: 14px;font-family: KaiTi">请输入正文</span></p>`,
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
outlineMenu: {
|
|
49
|
+
name: '大纲级别',
|
|
50
|
+
key: 'outlineMenu',
|
|
51
|
+
menuKeys: [
|
|
52
|
+
{name: '一级标题', key: 'title-1'},
|
|
53
|
+
{name: '二级标题', key: 'title-2'},
|
|
54
|
+
{name: '三级标题', key: 'title-3'},
|
|
55
|
+
{name: '四级标题', key: 'title-4'},
|
|
56
|
+
{name: '正文文本', key: 'text'},
|
|
57
|
+
],
|
|
58
|
+
html: {}
|
|
59
|
+
},
|
|
60
|
+
redMenu: {
|
|
61
|
+
name: '添加红头',
|
|
62
|
+
key: 'redMenu',
|
|
63
|
+
menuKeys: [],
|
|
64
|
+
html: `<p style="text-align: center;"><span style="color: rgb(225, 60, 57);font-size: 48px;">XXXXXXX(单位)文件</span></p><p data-signId="red" style="text-align: center;"><span style="color: rgb(0, 0, 0);font-size: 16px;">xxx〔xx〕xxxx 号</span></p>`
|
|
65
|
+
},
|
|
66
|
+
authorMenu: {
|
|
67
|
+
name: '添加作者',
|
|
68
|
+
key: 'authorMenu',
|
|
69
|
+
menuKeys: [],
|
|
70
|
+
html: `<p class="author" data-signId="author" style="text-align: center;"><span style="color: rgb(0, 0, 0);font-size: 16px;font-family: KaiT;">${menusData(data,'authorMenu').text}</span></p>`
|
|
71
|
+
},
|
|
72
|
+
subjectMenu: {
|
|
73
|
+
name: '添加题目',
|
|
74
|
+
key: 'subjectMenu',
|
|
75
|
+
menuKeys: [],
|
|
76
|
+
html: `<p data-signId="subject" style="text-align: center;padding-bottom: 30px;"><span style="color: rgb(0, 0, 0);font-size: 24px;font-family: SimHei;font-weight: 700;">${menusData(data,'subjectMenu').text}</span></p>`
|
|
77
|
+
},
|
|
78
|
+
paragraphMenu: {
|
|
79
|
+
name: '添加落款',
|
|
80
|
+
key: 'paragraphMenu',
|
|
81
|
+
menuKeys: [],
|
|
82
|
+
html: `<p data-signId="paragraph" style="text-align: right;"><span style="color: rgb(0, 0, 0);font-size: 14px;font-weight: 700;">落款人名</span></p><p style="text-align: right;"><span style="color: rgb(0, 0, 0);font-size: 14px;font-weight: 700">${getTime()}</span></p>`
|
|
83
|
+
},
|
|
84
|
+
numberMenu: {
|
|
85
|
+
name: '标注编号',
|
|
86
|
+
key: 'numberMenu',
|
|
87
|
+
menuKeys: [],
|
|
88
|
+
html: [
|
|
89
|
+
`<sup>[${menusData(data,'numberMenu').text}]</sup>`,
|
|
90
|
+
`<sup>[${menusData(data,'numberMenu').text}]</sup><span> </span>`
|
|
91
|
+
]
|
|
92
|
+
},
|
|
93
|
+
keywordMenu: {
|
|
94
|
+
name: '关键词',
|
|
95
|
+
key: 'keywordMenu',
|
|
96
|
+
menuKeys: [],
|
|
97
|
+
html: `<p class="keyword" data-signId="keyword"><span style="color: rgb(0, 0, 0);font-size: 12px;font-weight: 700;font-family: SimSun;">关键词:</span><span style="color: rgb(0, 0, 0);font-size: 12px;font-family: KaiTi">关键词内容...</span></p>`
|
|
98
|
+
},
|
|
99
|
+
abstractMenu: {
|
|
100
|
+
name: '添加摘要',
|
|
101
|
+
key: 'abstractMenu',
|
|
102
|
+
menuKeys: [],
|
|
103
|
+
html: `<p class="abstract" data-signId="abstract"><span style="color: rgb(0, 0, 0);font-size: 12px;font-weight: 700;font-family: SimSun;">摘要:</span><span style="color: rgb(0, 0, 0);font-size: 12px;font-family: KaiTi">摘要内容...</span></p>`
|
|
104
|
+
},
|
|
105
|
+
literatureMenu: {
|
|
106
|
+
name: '添加文献',
|
|
107
|
+
key: 'literatureMenu',
|
|
108
|
+
menuKeys: [],
|
|
109
|
+
html: `<p class="literature"><span style="color: rgb(0, 0, 0);font-size: 14px;font-family: SimSun">[1]作者.期刊论文名称IJ1.期刊名称,发表年份(第几期):页码</span></p><p class="literature"><span style="color: rgb(0, 0, 0);font-size: 14px;font-family: SimSun">[2]作者.学位论文名称[D1.毕业院校所在城市:毕业院校,论文提交年份:页码</span></p><p class="literature"><span style="color: rgb(0, 0, 0);font-size: 14px;font-family: SimSun">[3]作者.著作名称[M.出版社所在城市:出版社名称,出版年份:页码.</span></p><p class="literature" data-signId="literature"><span style="color: rgb(0, 0, 0);font-size: 14px;font-family: SimSun">[4]作者.文章名称[N].报纸名称,发行日期(版面)</span></p>`
|
|
110
|
+
},
|
|
111
|
+
taggingMenu: {
|
|
112
|
+
name: '添加标注',
|
|
113
|
+
key: 'taggingMenu',
|
|
114
|
+
menuKeys: [],
|
|
115
|
+
html: [
|
|
116
|
+
`<sup>${num[numSort(editor)]}</sup>`,
|
|
117
|
+
`<hr class="custom-link" contenteditable="false">`,
|
|
118
|
+
`<p data-signId="s-${numSort(editor)}"><span style="font-family: KaiTi">${num[numSort(editor)]}填写标注内容<span></p>`,
|
|
119
|
+
`<sup>${num[numSort(editor)]}</sup><span> </span>`,
|
|
120
|
+
],
|
|
121
|
+
index: numSort(editor)
|
|
122
|
+
},
|
|
123
|
+
ackMenu: {
|
|
124
|
+
name: '致谢',
|
|
125
|
+
key: 'ackMenu',
|
|
126
|
+
menuKeys: [],
|
|
127
|
+
html: [
|
|
128
|
+
`<p data-signId="ack" contenteditable="false" style="text-align: center;"><span style="color: rgb(0, 0, 0);font-size: 16px;font-weight: bold;">致谢</span></p>`,
|
|
129
|
+
`<p><span style="color: rgb(0, 0, 0);font-size: 14px;font-family: KaiTi;">致谢内容...</span></p>`
|
|
130
|
+
]
|
|
131
|
+
},
|
|
132
|
+
'group-image': {
|
|
133
|
+
name: '上传图片',
|
|
134
|
+
key: 'group-image',
|
|
135
|
+
menuKeys: [
|
|
136
|
+
{name: '网络图片', key: 'insertImage'},
|
|
137
|
+
{name: '上传图片', key: 'uploadImage'},
|
|
138
|
+
],
|
|
139
|
+
},
|
|
140
|
+
'group-upload': {
|
|
141
|
+
name: '上传文件',
|
|
142
|
+
key: 'group-upload',
|
|
143
|
+
menuKeys: [],
|
|
144
|
+
html: `<p contenteditable="false" data-signId="enclosure"><span style="font-weight: 700;font-size: 16px;">附件列表:</span></p>`
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
function numSort(editor) {
|
|
150
|
+
let num = 1
|
|
151
|
+
const data = editor.getJSON().content
|
|
152
|
+
data.forEach((item, index) => {
|
|
153
|
+
const id = item.attrs === undefined? null :item.attrs.signId
|
|
154
|
+
if(id) {
|
|
155
|
+
let arr = item.attrs.signId.split('-')[1]
|
|
156
|
+
num = Number(arr) + 1 > num ? Number(arr) + 1 : num
|
|
157
|
+
}
|
|
158
|
+
})
|
|
159
|
+
return num
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
function menusData(data,key) {
|
|
163
|
+
let arr = {}
|
|
164
|
+
data.forEach(item => {
|
|
165
|
+
if (item.key === key) arr = item
|
|
166
|
+
})
|
|
167
|
+
return arr
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
// 随机
|
|
171
|
+
function randomId() {
|
|
172
|
+
const id = Math.random().toString(36).substr(2)
|
|
173
|
+
return id.replace(/[0-9]/g, '')
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
// 时间
|
|
177
|
+
function getTime() {
|
|
178
|
+
let date = new Date()
|
|
179
|
+
let year = date.getFullYear()
|
|
180
|
+
let month = date.getMonth() + 1
|
|
181
|
+
let day = date.getDate() < 10 ? '0' + date.getDate() : date.getDate()
|
|
182
|
+
return year + '年' + month + '月' + day + '日'
|
|
183
|
+
}
|
|
@@ -1,12 +1,116 @@
|
|
|
1
|
+
const num = {
|
|
2
|
+
1: '①',
|
|
3
|
+
2: '②',
|
|
4
|
+
3: '③',
|
|
5
|
+
4: '④',
|
|
6
|
+
5: '⑤',
|
|
7
|
+
6: '⑥',
|
|
8
|
+
7: '⑦',
|
|
9
|
+
8: '⑧',
|
|
10
|
+
9: '⑨',
|
|
11
|
+
10: '⑩',
|
|
12
|
+
11: '⑪',
|
|
13
|
+
12: '⑫',
|
|
14
|
+
13: '⑬',
|
|
15
|
+
14: '⑭',
|
|
16
|
+
15: '⑮',
|
|
17
|
+
16: '⑯',
|
|
18
|
+
17: '⑰',
|
|
19
|
+
18: '⑱',
|
|
20
|
+
19: '⑲',
|
|
21
|
+
20: '⑳'
|
|
22
|
+
}
|
|
1
23
|
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export function butJson (editor,data) {
|
|
24
|
+
export function butJson(editor, data) {
|
|
5
25
|
return {
|
|
6
|
-
|
|
7
|
-
name: '
|
|
8
|
-
key: '
|
|
9
|
-
menuKeys: [
|
|
26
|
+
shortcut: {
|
|
27
|
+
name: '快捷排版',
|
|
28
|
+
key: 'shortcut',
|
|
29
|
+
menuKeys: [
|
|
30
|
+
{
|
|
31
|
+
name: '标 志',
|
|
32
|
+
key: 'signMenu',
|
|
33
|
+
menuKeys: []
|
|
34
|
+
}, {
|
|
35
|
+
name: '红 头',
|
|
36
|
+
key: 'redMenu',
|
|
37
|
+
menuKeys: [],
|
|
38
|
+
html: `<p style="text-align: center;"><span style="color: rgb(225, 60, 57);font-size: 48px;">XXXXXXX(单位)文件</span></p><p data-signId="red" style="text-align: center;"><span style="color: rgb(0, 0, 0);font-size: 16px;">xxx〔xx〕xxxx 号</span></p>`
|
|
39
|
+
}, {
|
|
40
|
+
name: '文章题目',
|
|
41
|
+
key: 'subjectMenu',
|
|
42
|
+
menuKeys: [],
|
|
43
|
+
html: `<p data-signId="subject" style="text-align: center;padding-bottom: 30px;"><span style="color: rgb(0, 0, 0);font-size: 24px;font-family: SimHei;font-weight: 700;">${menusData(data, 'subjectMenu').text}</span></p>`
|
|
44
|
+
}, {
|
|
45
|
+
name: '摘 要',
|
|
46
|
+
key: 'abstractMenu',
|
|
47
|
+
menuKeys: [],
|
|
48
|
+
html: `<p class="abstract" data-signId="abstract"><span style="color: rgb(0, 0, 0);font-size: 14px;font-weight: 700;font-family: SimSun;">摘要:</span><span style="color: rgb(0, 0, 0);font-size: 12px;font-family: KaiTi">摘要内容...</span></p>`
|
|
49
|
+
}, {
|
|
50
|
+
name: '关键词',
|
|
51
|
+
key: 'keywordMenu',
|
|
52
|
+
menuKeys: [],
|
|
53
|
+
html: `<p class="keyword" data-signId="keyword"><span style="color: rgb(0, 0, 0);font-size: 14px;font-weight: 700;font-family: SimSun;">关键词:</span><span style="color: rgb(0, 0, 0);font-size: 12px;font-family: KaiTi">关键词内容...</span></p>`
|
|
54
|
+
}, {
|
|
55
|
+
name: '落 款',
|
|
56
|
+
key: 'paragraphMenu',
|
|
57
|
+
menuKeys: [],
|
|
58
|
+
html: `<span> </span><p data-signId="paragraph" style="text-align: right;"><span style="color: rgb(0, 0, 0);font-size: 14px;font-weight: 700;">落款人名</span></p><p style="text-align: right;"><span style="color: rgb(0, 0, 0);font-size: 14px;font-weight: 700">${getTime()}</span></p>`
|
|
59
|
+
}, {
|
|
60
|
+
name: '致 谢',
|
|
61
|
+
key: 'ackMenu',
|
|
62
|
+
menuKeys: [],
|
|
63
|
+
html: [
|
|
64
|
+
`<p data-signId="ack" contenteditable="false" style="text-align: center;"><span style="color: rgb(0, 0, 0);font-size: 16px;font-weight: bold;">致谢</span></p>`,
|
|
65
|
+
`<p><span style="color: rgb(0, 0, 0);font-size: 14px;font-family: KaiTi;">致谢内容...</span></p>`
|
|
66
|
+
]
|
|
67
|
+
}
|
|
68
|
+
]
|
|
69
|
+
},
|
|
70
|
+
pageMargin: {
|
|
71
|
+
name: '页边距',
|
|
72
|
+
key: 'pageMargin',
|
|
73
|
+
menuKeys: [
|
|
74
|
+
{name: '标准', key: 'standard'},
|
|
75
|
+
{name: '窄', key: 'narrow'},
|
|
76
|
+
{name: '适中', key: 'moderate'},
|
|
77
|
+
{name: '宽', key: 'wide'},
|
|
78
|
+
],
|
|
79
|
+
},
|
|
80
|
+
paragraph: {
|
|
81
|
+
name: '段落',
|
|
82
|
+
key: 'paragraph',
|
|
83
|
+
menuKeys: [
|
|
84
|
+
{name: '缩 进', key: 'indent'},
|
|
85
|
+
{
|
|
86
|
+
name: '行间距', key: 'LineSpace',
|
|
87
|
+
childMenuKeys: [
|
|
88
|
+
{name: '1倍', key: '1'},
|
|
89
|
+
{name: '1.25倍', key: '1.25'},
|
|
90
|
+
{name: '1.5倍', key: '1.5'},
|
|
91
|
+
{name: '2倍', key: '2'},
|
|
92
|
+
{name: '2.5倍', key: '2.5'},
|
|
93
|
+
{name: '3倍', key: '3'}
|
|
94
|
+
]
|
|
95
|
+
},
|
|
96
|
+
],
|
|
97
|
+
},
|
|
98
|
+
alignmentMode: {
|
|
99
|
+
name: '对齐方式',
|
|
100
|
+
key: 'alignmentMode',
|
|
101
|
+
menuKeys: [
|
|
102
|
+
{name: '左对齐', key: 'left'},
|
|
103
|
+
{name: '居 中', key: 'center'},
|
|
104
|
+
{name: '右对齐', key: 'right'}
|
|
105
|
+
]
|
|
106
|
+
},
|
|
107
|
+
color: {
|
|
108
|
+
name: '颜 色',
|
|
109
|
+
key: 'color',
|
|
110
|
+
menuKeys: [
|
|
111
|
+
{name: '文字颜色', key: 'textColor'},
|
|
112
|
+
{name: '背景颜色', key: 'highlight'},
|
|
113
|
+
]
|
|
10
114
|
},
|
|
11
115
|
titleMenu: {
|
|
12
116
|
name: '字体',
|
|
@@ -18,10 +122,10 @@ export function butJson (editor,data) {
|
|
|
18
122
|
{name: '黑体', key: 'SimHei'},
|
|
19
123
|
],
|
|
20
124
|
html: {
|
|
21
|
-
blackCenter4: `<p data-signId="title-1" class="title ${randomId()}" style="text-align: center;"><span style="font-weight: 700;color: rgb(0, 0, 0);font-size: 16px;font-family: SimHei">${menusData(data,'titleMenu').text}</span></p>`,
|
|
22
|
-
blackLeft4: `<p data-signId="title-2" class="title ${randomId()}" style="text-align: left;"><span style="font-weight: 700;color: rgb(0, 0, 0);font-size: 16px;font-family: SimHei">${menusData(data,'titleMenu').text}</span></p>`,
|
|
23
|
-
blackCenter5: `<p data-signId="title-3" class="title ${randomId()}" style="text-align: center;"><span style="font-weight: 700;color: rgb(0, 0, 0);font-size: 14px;font-family: SimHei">${menusData(data,'titleMenu').text}</span></p>`,
|
|
24
|
-
blackLeft5: `<p data-signId="title-4" class="title ${randomId()}" style="text-align: left;"><span style="font-weight: 700;color: rgb(0, 0, 0);font-size: 14px;font-family: SimHei">${menusData(data,'titleMenu').text}</span></p>`,
|
|
125
|
+
blackCenter4: `<p data-signId="title-1" class="title ${randomId()}" style="text-align: center;"><span style="font-weight: 700;color: rgb(0, 0, 0);font-size: 16px;font-family: SimHei">${menusData(data, 'titleMenu').text}</span></p>`,
|
|
126
|
+
blackLeft4: `<p data-signId="title-2" class="title ${randomId()}" style="text-align: left;"><span style="font-weight: 700;color: rgb(0, 0, 0);font-size: 16px;font-family: SimHei">${menusData(data, 'titleMenu').text}</span></p>`,
|
|
127
|
+
blackCenter5: `<p data-signId="title-3" class="title ${randomId()}" style="text-align: center;"><span style="font-weight: 700;color: rgb(0, 0, 0);font-size: 14px;font-family: SimHei">${menusData(data, 'titleMenu').text}</span></p>`,
|
|
128
|
+
blackLeft5: `<p data-signId="title-4" class="title ${randomId()}" style="text-align: left;"><span style="font-weight: 700;color: rgb(0, 0, 0);font-size: 14px;font-family: SimHei">${menusData(data, 'titleMenu').text}</span></p>`,
|
|
25
129
|
}
|
|
26
130
|
},
|
|
27
131
|
textMenu: {
|
|
@@ -48,7 +152,7 @@ export function butJson (editor,data) {
|
|
|
48
152
|
}
|
|
49
153
|
},
|
|
50
154
|
outlineMenu: {
|
|
51
|
-
name: '
|
|
155
|
+
name: '大 纲',
|
|
52
156
|
key: 'outlineMenu',
|
|
53
157
|
menuKeys: [
|
|
54
158
|
{name: '一级标题', key: 'title-1'},
|
|
@@ -59,63 +163,21 @@ export function butJson (editor,data) {
|
|
|
59
163
|
],
|
|
60
164
|
html: {}
|
|
61
165
|
},
|
|
62
|
-
redMenu: {
|
|
63
|
-
name: '添加红头',
|
|
64
|
-
key: 'redMenu',
|
|
65
|
-
menuKeys: [],
|
|
66
|
-
html: `<p style="text-align: center;"><span style="color: rgb(225, 60, 57);font-size: 48px;">XXXXXXX(单位)文件</span></p><p data-signId="red" style="text-align: center;"><span style="color: rgb(0, 0, 0);font-size: 16px;">xxx〔xx〕xxxx 号</span></p>`
|
|
67
|
-
},
|
|
68
|
-
// voiceInput: {
|
|
69
|
-
// name: '语音输入',
|
|
70
|
-
// flip:'关闭语音',
|
|
71
|
-
// key: 'voiceInput',
|
|
72
|
-
// menuKeys: []
|
|
73
|
-
// },
|
|
74
166
|
authorMenu: {
|
|
75
167
|
name: '作者',
|
|
76
168
|
key: 'authorMenu',
|
|
77
169
|
menuKeys: [],
|
|
78
|
-
html: `<p class="author" data-signId="author" style="text-align: center;"><span style="color: rgb(0, 0, 0);font-size: 16px;font-family: KaiT;">${menusData(data,'authorMenu').text}</span></p>`
|
|
79
|
-
},
|
|
80
|
-
subjectMenu: {
|
|
81
|
-
name: '文章题目',
|
|
82
|
-
key: 'subjectMenu',
|
|
83
|
-
menuKeys: [],
|
|
84
|
-
html: `<p data-signId="subject" style="text-align: center;padding-bottom: 30px;"><span style="color: rgb(0, 0, 0);font-size: 24px;font-family: SimHei;font-weight: 700;">${menusData(data,'subjectMenu').text}</span></p>`
|
|
85
|
-
},
|
|
86
|
-
paragraphMenu: {
|
|
87
|
-
name: '添加落款',
|
|
88
|
-
key: 'paragraphMenu',
|
|
89
|
-
menuKeys: [],
|
|
90
|
-
html: `<p data-signId="paragraph" style="text-align: right;"><span style="color: rgb(0, 0, 0);font-size: 14px;font-weight: 700;">落款人名</span></p><p style="text-align: right;"><span style="color: rgb(0, 0, 0);font-size: 14px;font-weight: 700">${getTime()}</span></p>`
|
|
170
|
+
html: `<p class="author" data-signId="author" style="text-align: center;"><span style="color: rgb(0, 0, 0);font-size: 16px;font-family: KaiT;">${menusData(data, 'authorMenu').text}</span></p>`
|
|
91
171
|
},
|
|
92
172
|
numberMenu: {
|
|
93
173
|
name: '参考编号',
|
|
94
174
|
key: 'numberMenu',
|
|
95
175
|
menuKeys: [],
|
|
96
176
|
html: [
|
|
97
|
-
`<sup>[${menusData(data,'numberMenu').text}]</sup>`,
|
|
98
|
-
`<sup>[${menusData(data,'numberMenu').text}]</sup><span> </span>`
|
|
177
|
+
`<sup>[${menusData(data, 'numberMenu').text}]</sup>`,
|
|
178
|
+
`<sup>[${menusData(data, 'numberMenu').text}]</sup><span> </span>`
|
|
99
179
|
]
|
|
100
180
|
},
|
|
101
|
-
keywordMenu: {
|
|
102
|
-
name: '关键词',
|
|
103
|
-
key: 'keywordMenu',
|
|
104
|
-
menuKeys: [],
|
|
105
|
-
html: `<p class="keyword" data-signId="keyword"><span style="color: rgb(0, 0, 0);font-size: 12px;font-weight: 700;font-family: SimSun;">关键词:</span><span style="color: rgb(0, 0, 0);font-size: 12px;font-family: KaiTi">关键词内容...</span></p>`
|
|
106
|
-
},
|
|
107
|
-
abstractMenu: {
|
|
108
|
-
name: '摘要',
|
|
109
|
-
key: 'abstractMenu',
|
|
110
|
-
menuKeys: [],
|
|
111
|
-
html: `<p class="abstract" data-signId="abstract"><span style="color: rgb(0, 0, 0);font-size: 12px;font-weight: 700;font-family: SimSun;">摘要:</span><span style="color: rgb(0, 0, 0);font-size: 12px;font-family: KaiTi">摘要内容...</span></p>`
|
|
112
|
-
},
|
|
113
|
-
literatureMenu: {
|
|
114
|
-
name: '参考文献',
|
|
115
|
-
key: 'literatureMenu',
|
|
116
|
-
menuKeys: [],
|
|
117
|
-
html: `<p class="literature"><span style="color: rgb(0, 0, 0);font-size: 14px;font-family: SimSun">[1]作者.期刊论文名称IJ1.期刊名称,发表年份(第几期):页码</span></p><p class="literature"><span style="color: rgb(0, 0, 0);font-size: 14px;font-family: SimSun">[2]作者.学位论文名称[D1.毕业院校所在城市:毕业院校,论文提交年份:页码</span></p><p class="literature"><span style="color: rgb(0, 0, 0);font-size: 14px;font-family: SimSun">[3]作者.著作名称[M.出版社所在城市:出版社名称,出版年份:页码.</span></p><p class="literature" data-signId="literature"><span style="color: rgb(0, 0, 0);font-size: 14px;font-family: SimSun">[4]作者.文章名称[N].报纸名称,发行日期(版面)</span></p>`
|
|
118
|
-
},
|
|
119
181
|
taggingMenu: {
|
|
120
182
|
name: '注释编号',
|
|
121
183
|
key: 'taggingMenu',
|
|
@@ -128,14 +190,11 @@ export function butJson (editor,data) {
|
|
|
128
190
|
],
|
|
129
191
|
index: numSort(editor)
|
|
130
192
|
},
|
|
131
|
-
|
|
132
|
-
name: '
|
|
133
|
-
key: '
|
|
193
|
+
'group-upload': {
|
|
194
|
+
name: '上传附件',
|
|
195
|
+
key: 'group-upload',
|
|
134
196
|
menuKeys: [],
|
|
135
|
-
html:
|
|
136
|
-
`<p data-signId="ack" contenteditable="false" style="text-align: center;"><span style="color: rgb(0, 0, 0);font-size: 16px;font-weight: bold;">致谢</span></p>`,
|
|
137
|
-
`<p><span style="color: rgb(0, 0, 0);font-size: 14px;font-family: KaiTi;">致谢内容...</span></p>`
|
|
138
|
-
]
|
|
197
|
+
html: `<p contenteditable="false" data-signId="enclosure"><span style="font-weight: 700;font-size: 16px;">附件列表:</span></p>`
|
|
139
198
|
},
|
|
140
199
|
'group-image': {
|
|
141
200
|
name: '插入图片',
|
|
@@ -143,13 +202,78 @@ export function butJson (editor,data) {
|
|
|
143
202
|
menuKeys: [
|
|
144
203
|
{name: '网络图片', key: 'insertImage'},
|
|
145
204
|
{name: '上传图片', key: 'uploadImage'},
|
|
146
|
-
]
|
|
205
|
+
]
|
|
147
206
|
},
|
|
148
|
-
|
|
149
|
-
name: '
|
|
150
|
-
key: '
|
|
151
|
-
menuKeys: [
|
|
152
|
-
|
|
207
|
+
interposition: {
|
|
208
|
+
name: '插入链接',
|
|
209
|
+
key: 'interposition',
|
|
210
|
+
menuKeys: [
|
|
211
|
+
{
|
|
212
|
+
name: '插入图片',
|
|
213
|
+
key: 'group-image',
|
|
214
|
+
childMenuKeys: [
|
|
215
|
+
{name: '网络图片', key: 'insertImage'},
|
|
216
|
+
{name: '上传图片', key: 'uploadImage'},
|
|
217
|
+
]
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
name: '链接注释',
|
|
221
|
+
key: 'taggingMenu',
|
|
222
|
+
menuKeys: [],
|
|
223
|
+
html: [],
|
|
224
|
+
},
|
|
225
|
+
{
|
|
226
|
+
name: '链接文章',
|
|
227
|
+
key: 'article',
|
|
228
|
+
childMenuKeys: [
|
|
229
|
+
{name: '导入链接', key: 'importArticles'},
|
|
230
|
+
{name: '网络链接', key: 'linkArticle'},
|
|
231
|
+
],
|
|
232
|
+
html: [],
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
name: '链接著作',
|
|
236
|
+
key: 'writingsLink',
|
|
237
|
+
childMenuKeys: [
|
|
238
|
+
{name: '导入链接', key: 'importWorks'},
|
|
239
|
+
{name: '网络链接', key: 'linkWorks'},
|
|
240
|
+
],
|
|
241
|
+
html: [],
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
name: '链接视频',
|
|
245
|
+
key: 'videoLink',
|
|
246
|
+
childMenuKeys: [
|
|
247
|
+
],
|
|
248
|
+
html: [],
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
name: '链接课件',
|
|
252
|
+
key: 'linkCourseware',
|
|
253
|
+
childMenuKeys: [
|
|
254
|
+
],
|
|
255
|
+
html: [],
|
|
256
|
+
},
|
|
257
|
+
{
|
|
258
|
+
name: '链接虚仿',
|
|
259
|
+
key: 'linkFake',
|
|
260
|
+
childMenuKeys: [
|
|
261
|
+
],
|
|
262
|
+
html: [],
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
name: '参考文献',
|
|
266
|
+
key: 'literatureMenu',
|
|
267
|
+
childMenuKeys: [
|
|
268
|
+
{name: '期刊论文', key: 'periodical'},
|
|
269
|
+
{name: '学位论文', key: 'dissertation'},
|
|
270
|
+
{name: '著作', key: 'writings'},
|
|
271
|
+
{name: '报纸刊物', key: 'newspaper'},
|
|
272
|
+
{name: '自定义', key: 'customize'},
|
|
273
|
+
],
|
|
274
|
+
html: []
|
|
275
|
+
}
|
|
276
|
+
],
|
|
153
277
|
}
|
|
154
278
|
}
|
|
155
279
|
}
|
|
@@ -158,8 +282,8 @@ function numSort(editor) {
|
|
|
158
282
|
let num = 1
|
|
159
283
|
const data = editor.getJSON().content
|
|
160
284
|
data.forEach((item, index) => {
|
|
161
|
-
const id = item.attrs === undefined? null :item.attrs.signId
|
|
162
|
-
if(id) {
|
|
285
|
+
const id = item.attrs === undefined ? null : item.attrs.signId
|
|
286
|
+
if (id) {
|
|
163
287
|
let arr = item.attrs.signId.split('-')[1]
|
|
164
288
|
num = Number(arr) + 1 > num ? Number(arr) + 1 : num
|
|
165
289
|
}
|
|
@@ -167,7 +291,7 @@ function numSort(editor) {
|
|
|
167
291
|
return num
|
|
168
292
|
}
|
|
169
293
|
|
|
170
|
-
function menusData(data,key) {
|
|
294
|
+
function menusData(data, key) {
|
|
171
295
|
let arr = {}
|
|
172
296
|
data.forEach(item => {
|
|
173
297
|
if (item.key === key) arr = item
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<svg class="icon" :height="height" p-id="5332" t="1714033236657" version="1.1"
|
|
3
|
+
viewBox="0 0 1024 1024" :width="width" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
4
|
+
<path
|
|
5
|
+
d="M874.667 241.067H672v-70.4C672 130.133 637.867 96 597.333 96H426.667C386.133 96 352 130.133 352 170.667v70.4H149.333c-17.066 0-32 14.933-32 32s14.934 32 32 32h53.334v548.266c0 40.534 34.133 74.667 74.666 74.667h469.334c40.533 0 74.666-34.133 74.666-74.667V305.067h53.334c17.066 0 32-14.934 32-32s-14.934-32-32-32zM416 170.667c0-6.4 4.267-10.667 10.667-10.667h170.666c6.4 0 10.667 4.267 10.667 10.667v70.4H416v-70.4z m341.333 682.666c0 6.4-4.266 10.667-10.666 10.667H277.333c-6.4 0-10.666-4.267-10.666-10.667v-544h490.666v544z"
|
|
6
|
+
:fill="fill" p-id="5333"></path>
|
|
7
|
+
<path
|
|
8
|
+
d="M426.667 736c17.066 0 32-14.933 32-32V490.667c0-17.067-14.934-32-32-32s-32 14.933-32 32V704c0 17.067 14.933 32 32 32z m170.666 0c17.067 0 32-14.933 32-32V490.667c0-17.067-14.933-32-32-32s-32 14.933-32 32V704c0 17.067 14.934 32 32 32z"
|
|
9
|
+
:fill="fill" p-id="5334"></path>
|
|
10
|
+
</svg>
|
|
11
|
+
</template>
|
|
12
|
+
<script>
|
|
13
|
+
export default {
|
|
14
|
+
props: {
|
|
15
|
+
fill: {
|
|
16
|
+
type: String,
|
|
17
|
+
default: '#CCCCCC'
|
|
18
|
+
},
|
|
19
|
+
height: {
|
|
20
|
+
type: String,
|
|
21
|
+
default: '16'
|
|
22
|
+
},
|
|
23
|
+
width: {
|
|
24
|
+
type: String,
|
|
25
|
+
default: '16'
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
</script>
|
|
30
|
+
|
|
31
|
+
<style scoped>
|
|
32
|
+
|
|
33
|
+
</style>
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<svg class="icon" :height="height" p-id="5149" t="1714033189032" version="1.1"
|
|
3
|
+
viewBox="0 0 1024 1024" :width="width" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
4
|
+
<path
|
|
5
|
+
d="M145.04 849.8c207.96-24.36 220.2-36.48 220.2-48.72l513.72-511.2c24.48-24.36 24.48-60.84 0-85.2L756.68 82.88c-24.48-24.36-61.2-24.36-85.68 0L157.28 606.32s-12.24 12.12-36.72 219.12c0 12.12 0 12.12 12.24 24.36h12.24zM719.96 119.48l134.52 133.92-73.44 60.84-122.28-121.8 61.2-72.96z m-110.16 109.56l134.52 133.92-379.2 377.28-134.4-133.92 379.08-377.28z m-403.56 426l122.28 121.68c-36.72 0-97.8 12.12-146.76 12.12 0-48.6 12.24-109.44 24.48-133.8z m672.72 255.6H169.52c-12.24 0-24.48 12.12-24.48 24.36-12.24 12.12 0 24.36 24.48 24.36h709.44c12.24 0 24.48-12.12 24.48-24.36 0-12.24-12.24-24.36-24.48-24.36z m0 0"
|
|
6
|
+
:fill="fill" p-id="5150"></path>
|
|
7
|
+
</svg>
|
|
8
|
+
</template>
|
|
9
|
+
<script>
|
|
10
|
+
export default {
|
|
11
|
+
props: {
|
|
12
|
+
fill: {
|
|
13
|
+
type: String,
|
|
14
|
+
default: '#CCCCCC'
|
|
15
|
+
},
|
|
16
|
+
height: {
|
|
17
|
+
type: String,
|
|
18
|
+
default: '16'
|
|
19
|
+
},
|
|
20
|
+
width: {
|
|
21
|
+
type: String,
|
|
22
|
+
default: '16'
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
</script>
|
|
27
|
+
|
|
28
|
+
<style scoped>
|
|
29
|
+
|
|
30
|
+
</style>
|