审稿页面显示

This commit is contained in:
2025-12-04 14:30:51 +08:00
parent 18378cb32a
commit 6cd8b17bf3
19 changed files with 238 additions and 3813 deletions

View File

@@ -154,7 +154,14 @@
<el-input type="textarea" rows="2" v-model="form.approval_content"></el-input>
</el-form-item>
<el-form-item label="Abstract :" prop="abstrart">
<el-input type="textarea" rows="6" v-model="form.abstrart"></el-input>
<el-input
type="textarea"
v-model="form.abstrart"
:autosize="{ minRows: 1, maxRows: 100 }"
class="full-show-no-scroll"
placeholder=""
/>
</el-form-item>
<!-- 话题 -->
<!-- <el-form-item label="Topics :" prop="topics">
@@ -166,29 +173,44 @@
</el-form-item> -->
<el-form-item label="Key words :">
<div v-if="keywordsList&&keywordsList.length > 0">
<el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="handleCheckAllChange" style="color: #006699;">Select All</el-checkbox>
<el-checkbox-group v-model="checkedCities" @change="handleCheckedCitiesChange">
<div v-for="(item, index) in keywordsList" :key="index" style="margin-right:16px;display: inline-block;">
<el-checkbox style="margin-right: 4px;" :label="index + 1" v-model="item.checked">{{item.keyword}}</el-checkbox>
<el-input
:name="index + 1"
v-model="item.ke"
clearable
style="width: 150px; margin-right: 15px; margin-bottom: 3px"
<div v-if="keywordsList && keywordsList.length > 0">
<el-checkbox
:indeterminate="isIndeterminate"
v-model="checkAll"
@change="handleCheckAllChange"
style="color: #006699"
>Select All</el-checkbox
>
</el-input>
<el-checkbox-group v-model="checkedCities" @change="handleCheckedCitiesChange">
<div
v-for="(item, index) in keywordsList"
:key="index"
style="margin-right: 16px; display: inline-block"
>
<el-checkbox style="margin-right: 4px" :label="index + 1" v-model="item.checked">{{
item.keyword
}}</el-checkbox>
<el-input
:name="index + 1"
v-model="item.ke"
clearable
style="width: 150px; margin-right: 15px; margin-bottom: 3px"
>
</el-input>
</div>
</el-checkbox-group>
</div>
</el-checkbox-group>
</div>
<el-button type="text" @click="addfund">
<i class="el-icon-circle-plus-outline">Add</i>
</el-button>
<el-button v-if="checkedCities.length > 0" type="text" @click="deletefund" style="color: #f56c6c;margin-left: 20px;">
<i class="el-icon-remove-outline" style="color: #f56c6c;">Delete</i>
<el-button
v-if="checkedCities.length > 0"
type="text"
@click="deletefund"
style="color: #f56c6c; margin-left: 20px"
>
<i class="el-icon-remove-outline" style="color: #f56c6c">Delete</i>
</el-button>
</el-form-item>
<el-form-item label="Fund :">
@@ -820,9 +842,13 @@
<font style="color: #006699">3.Value:</font> This manuscript belongs to the advanced topic and can attract wide
attention.
<br />
<span style="margin-top:6px"> please download the manuscript template <font @click="dowloadFileTemplate()" style="color: #006699;margin-left: 2px;cursor: pointer;"> <i class="el-icon-download" style="font-weight: bold"></i> Microsoft Word template</font>.
</span>
</p>
<span style="margin-top: 6px">
please download the manuscript template
<font @click="dowloadFileTemplate()" style="color: #006699; margin-left: 2px; cursor: pointer">
<i class="el-icon-download" style="font-weight: bold"></i> Microsoft Word template</font
>.
</span>
</p>
<common-word-html
:articleId="stagingID"
imgHeight="120px"
@@ -1038,7 +1064,6 @@ export default {
ProgressBar
},
data() {
// 自定义校验禁止QQ邮箱
const validateNotQQEmail = (rule, value, callback) => {
// 通用邮箱格式正则(基础校验,匹配大多数标准邮箱格式)
@@ -1602,17 +1627,16 @@ export default {
},
methods: {
handleCheckAllChange(val) {
this.checkedCities = val
? this.keywordsList.map((_, index) => index + 1) // 遍历数组,取 index+1 作为选中值
: [];
this.isIndeterminate = false;
this.checkedCities = val
? this.keywordsList.map((_, index) => index + 1) // 遍历数组,取 index+1 作为选中值
: [];
this.isIndeterminate = false;
},
handleCheckedCitiesChange(){
console.log('this.checkedCities at line 1594:', this.checkedCities)
handleCheckedCitiesChange() {
console.log('this.checkedCities at line 1594:', this.checkedCities);
},
handleDelete(index){
this.keywordsList.splice(index, 1);
handleDelete(index) {
this.keywordsList.splice(index, 1);
},
closeAuthorDialog() {
this.getAuthorList();
@@ -1856,7 +1880,7 @@ this.keywordsList.splice(index, 1);
this.form.journal = '';
this.reviewerof.journal = 1;
console.log('this.form at line 1386:', this.form);
if (localStorage.getItem('ms_journal_alias')) {
localStorage.removeItem('ms_journal_alias');
}
@@ -1960,22 +1984,21 @@ this.keywordsList.splice(index, 1);
deletefund() {
if (!this.checkedCities.length) {
this.$message.error('please select the key word to delete');
return;
}
return;
}
// 2. 将选中的序号index+1转成原始索引index并存入集合提高查询效率
const selectedIndexes = new Set(
this.checkedCities.map(seq => seq - 1) // 序号 - 1 = 原始索引
);
// 2. 将选中的序号index+1转成原始索引index并存入集合提高查询效率
const selectedIndexes = new Set(
this.checkedCities.map((seq) => seq - 1) // 序号 - 1 = 原始索引
);
// 3. 过滤 keywordsList保留索引不在选中集合中的项
this.keywordsList = this.keywordsList.filter((_, index) =>
!selectedIndexes.has(index)
);
this.checkAll = false;
// 4. 清空选中状态和半选状态(删除后无选中项)
this.checkedCities = [];
this.isIndeterminate = false; },
// 3. 过滤 keywordsList保留索引不在选中集合中的项
this.keywordsList = this.keywordsList.filter((_, index) => !selectedIndexes.has(index));
this.checkAll = false;
// 4. 清空选中状态和半选状态(删除后无选中项)
this.checkedCities = [];
this.isIndeterminate = false;
},
//初始化期刊选项
initSelect() {
this.items = this.$store.state.journalList;
@@ -2492,21 +2515,20 @@ this.checkAll = false;
onDeleteTuijian(item, index) {
this.tuiJianForm.splice(index, 1);
},
dowloadFileTemplate(){
var filePath = 'https://submission.tmrjournals.com/public/ArticleTemplate/manuscirpt/ManuscirptWordTemplate.docx';
dowloadFileTemplate() {
var filePath = 'https://submission.tmrjournals.com/public/ArticleTemplate/manuscirpt/ManuscirptWordTemplate.docx';
// 获取heads中的filename文件名
let downloadElement = document.createElement('a');
// 创建下载的链接
downloadElement.href = filePath; // 下载后文件名
// 获取heads中的filename文件名
let downloadElement = document.createElement('a');
// 创建下载的链接
downloadElement.href = filePath; // 下载后文件名
downloadElement.target = '_blank';
document.body.appendChild(downloadElement);
// 点击下载
downloadElement.click();
// 下载完成移除元素
document.body.removeChild(downloadElement);
downloadElement.target = '_blank';
document.body.appendChild(downloadElement);
// 点击下载
downloadElement.click();
// 下载完成移除元素
document.body.removeChild(downloadElement);
},
// 下载文件
dowloadFile(file) {
@@ -4016,6 +4038,30 @@ document.body.removeChild(downloadElement);
margin-left: 10px;
cursor: pointer;
}
/* 穿透Element UI的样式强制覆盖所有限制 */
.full-show-no-scroll::v-deep .el-textarea {
overflow: visible !important;
}
.full-show-no-scroll::v-deep .el-textarea__inner {
white-space: normal !important; /* 强制换行 */
word-wrap: break-word !important; /* 长文本/长单词换行 */
overflow: visible !important; /* 溢出内容显示,不隐藏 */
max-height: none !important; /* 取消最大高度限制 */
resize: none !important; /* 禁止手动调整大小 */
padding: 12px; /* 可选:调整内边距,避免内容贴边 */
}
/* 隐藏滚动条(即使偶尔出现也看不见) */
.full-show-no-scroll::v-deep ::-webkit-scrollbar {
display: none !important;
}
::v-deep .el-textarea__inner {
line-height: 1.5 !important;
font-family: 'Helvetica Neue For Number', 'Elsevier Gulliver', Georgia, serif !important;
}
</style>
<style>