This commit is contained in:
2025-11-18 16:50:41 +08:00
parent 13a70cb12d
commit 591146ed60
7 changed files with 661 additions and 99 deletions

View File

@@ -2,31 +2,12 @@
<div style="height: 100%">
<div
class="container"
style="
height: 100%;
min-width: calc(1000px);
width: calc(100%);
background-color: #fafafa;
padding: 0px 0 0 0;
box-sizing: border-box;
position: relative;
box-sizing: border-box;
"
>
<div
class="right-side"
style="
width: 240px;
float: left;
height: 100%;
background-color: #fff;
box-shadow: 0 1px 3px rgb(16 17 19 / 6%);
border-radius: 4px;
overflow-y: auto;
"
>
<div class="unfetteredBox" style="height: 100%">
<commonCatalogue
:urlList="{
@@ -38,6 +19,7 @@
ref="commonWordHtmlTypeSetting"
@onDragStart="onDragStart"
@huifu="huifu"
:catalogueList="catalogueList"
@onAddComment="onAddComment"
@addImage="handleImageAdd"
@addTable="handleTableAdd"
@@ -52,20 +34,13 @@
<input type="file" ref="fileInput" style="display: none" @change="handleFileChange" />
</div>
</div>
<div style="width: 100%; width: calc(100% - 285px); float: right; height: calc(100% - 0px); background-color: #e4e9ed">
<!-- <div class="toolbar">
<div class="toolbar_item" @click="handleImageAdd('img')">
<img src="@/assets/img/upload.png" style="object-fit: contain" />
<span>Add Figure </span>
</div>
<div class="toolbar_item" @click="handleTableAdd('table')">
<img src="@/assets/img/uploadTable.png" style="object-fit: contain" />
<span>Add Table </span>
</div>
</div> -->
<common-word
<div style="" class="right-content-box">
<!-- title -->
<div v-for="(item, index) in catalogueList" :key="index">
<h1 :class="`title${item.key}`">{{ item.title }}</h1>
</div>
<!-- <common-word
v-if="htmlContent"
ref="commonWord"
:value="htmlContent"
@@ -78,7 +53,6 @@
@loaded="loadedWord"
@onEdit="onEdit"
@addContent="onAddContent"
@changeSort="changeSort"
@onDelete="onDelete"
@onDeletes="onDeletes"
@@ -102,7 +76,7 @@
<template slot="comment">
<div style="" class="commentList annotations"></div>
</template>
</common-word>
</common-word> -->
</div>
</div>
@@ -181,8 +155,7 @@
size="80vw"
>
<el-form ref="editMes" :model="lineStyle" label-width="80px">
<!-- <common-late-x></common-late-x> -->
<!-- :id="`editor-${new Date().getTime()}-${lineStyle.am_id}-${lineStyle.amt_id}-title`" -->
<el-form-item label="Title:">
<common-content
:id="`editor-${new Date().getTime()}-${lineStyle.am_id}-${lineStyle.amt_id}-title`"
@@ -211,7 +184,7 @@
></common-table>
</el-form-item>
<el-form-item label="Note:">
<!-- :id="`editor-${new Date().getTime()}-${lineStyle.am_id}-${lineStyle.amt_id}-note`" -->
<common-content
:id="`editor-${new Date().getTime()}-${lineStyle.am_id}-${lineStyle.amt_id}-note`"
:isAutomaticUpdate="true"
@@ -381,13 +354,13 @@
</el-button>
</span>
</el-dialog>
<common-late-x v-if="showLateX" @close="showLateX = false" @save="saveLateX" :LateXInfo="LateXInfo"></common-late-x>
</div>
</template>
<script>
import commonCatalogue from '@/components/page/components/OnlineProofreading/catalogue.vue'
import commonCatalogue from '@/components/page/components/OnlineProofreading/catalogue.vue';
import bus from '@/components/common/bus';
import { del, isShallow } from 'vue';
@@ -398,6 +371,16 @@ import bottomTinymce from '@/components/page/components/Tinymce';
export default {
data() {
return {
catalogueList: [
{ title: 'Title ', key: '1' },
{ title: 'Author name', key: '2' },
{ title: 'Affialition', key: '3' },
{ title: 'Abstract & Keywords', key: '4' },
{ title: 'Main text', key: '5' },
{ title: 'Back Matter', key: '6' },
{ title: 'Editorial inforation', key: '7' },
{ title: 'Reference ', key: '8' },
],
zoomNum: (window.innerWidth * 0.38) / 850,
uploadWordTables: [],
tablesHtmlVisible: false,
@@ -525,8 +508,7 @@ export default {
},
computed: {
combinedValue() {
// 将两个值组合成一个新的值,可以是字符串、数组、对象等
// return `${this.isFirstComponentLoaded}-${this.isWordComponentLoaded}`;
}
},
watch: {
@@ -551,9 +533,7 @@ export default {
}
},
async created() {
// await this.$api.post('api/Proofread/proofRead', {
// article_id: this.$route.query.id
// });
localStorage.removeItem('scrollPosition');
this.isShowEditComment();
this.getDate();
@@ -562,9 +542,7 @@ export default {
},
mounted() {},
async activated() {
// await this.$api.post('api/Proofread/proofRead', {
// article_id: this.$route.query.id
// });
this.isShowEditComment();
this.getDate();
this.getCommentList();
@@ -573,10 +551,10 @@ export default {
methods: {
async copyArray(data) {
try {
// 将数组内容转换为字符串,使用换行符分隔
const textToCopy = JSON.stringify(data);
// 使用 Clipboard API 复制文本
await navigator.clipboard.writeText(textToCopy);
alert('数组内容已复制到剪贴板!');
} catch (err) {
@@ -677,7 +655,7 @@ export default {
async saveContent(content, am_id) {
var that = this;
var str = content.replace(/^<p>\s*(.*?)\s*<\/p>$/, '$1').trim();
str = await that.$commonJS.decodeHtml(str);
await that.$api
@@ -1172,21 +1150,19 @@ export default {
},
async onAddRow(mainId) {
await this.$api
.post(this.urlList.addRow, {
am_id: mainId,
article_id: this.articleId
})
.then(async (res) => {
if(res.code == 0){
this.getDate();
this.getCommentList();
}else{
if (res.code == 0) {
this.getDate();
this.getCommentList();
} else {
this.$message.error(res.msg);
}
})
.catch((err) => {
this.$message.error(err.msg);
@@ -1259,7 +1235,6 @@ export default {
},
deleteProofreading(data, index) {
console.log('comment at line 480:', data);
},
async cancelSolveComment(data) {
@@ -1381,7 +1356,7 @@ export default {
this.currentId = dataId;
},
async onDrop(event, dataId) {
if (event.dataTransfer.getData('image')) {
const draggedImage = JSON.parse(event.dataTransfer.getData('image'));
@@ -1455,13 +1430,10 @@ export default {
});
},
getWord() {
this.htmlContent = 'true';
},
// 获取数据
async getDate() {
this.imagesList = [];
let urlLInk = '';
let urlTask = {};
@@ -1481,7 +1453,7 @@ export default {
.post(urlLInk, urlTask)
.then(async (res) => {
if (res.code == 0) {
this.Main_List = res.data.list.map(e=>{
this.Main_List = res.data.list.map((e) => {
e.checked = false;
return e;
});
@@ -1495,8 +1467,7 @@ export default {
// setTimeout(async () => {
this.$nextTick(async () => {
await this.getWord();
loading.close();
});
// }, 1000);
@@ -1884,6 +1855,28 @@ export default {
</script>
<style scoped>
.container{
height: 100%;
min-width: calc(1000px);
width: calc(100%);
background-color: #fafafa;
padding: 0px 0 0 0;
box-sizing: border-box;
position: relative;
box-sizing: border-box;
}
.right-side{
width: 240px;
float: left;
height: 100%;
background-color: #fff;
box-shadow: 0 1px 3px rgb(16 17 19 / 6%);
border-radius: 4px;
overflow-y: auto;
}
.right-content-box{
width: 100%; width: calc(100% - 245px); float: right; height: calc(100% - 0px); background-color: #e4e9ed
}
.lineStyle {
border-top: 1px solid #0066994d;
padding: 20px 20px 40px 20px;