Merge branch 'master' of https://git.nuttyreading.com/wangjinlei/tougao_web into Editorial-Board

This commit is contained in:
2025-11-20 10:25:38 +08:00
38 changed files with 674 additions and 723 deletions

View File

@@ -73,7 +73,7 @@
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="Manuscirpt :" prop="manuscirpt" label-width="120px"> <el-form-item label="Manuscript :" prop="manuscirpt" label-width="120px">
<el-upload <el-upload
:on-progress="handleProgress" :on-progress="handleProgress"
ref="uploadFileManuscirpt" ref="uploadFileManuscirpt"
@@ -463,7 +463,7 @@
<div class="el-upload__tip" slot="tip">Only word files can be uploaded(.doc,.docx)</div> <div class="el-upload__tip" slot="tip">Only word files can be uploaded(.doc,.docx)</div>
</el-upload> </el-upload>
</el-form-item> --> </el-form-item> -->
<el-form-item label="Manuscirpt :" prop="manuscirpt" label-width="220px"> <el-form-item label="Manuscript :" prop="manuscirpt" label-width="220px">
<el-upload <el-upload
:on-progress="handleProgress" :on-progress="handleProgress"
ref="uploadFileManuscirpt" ref="uploadFileManuscirpt"
@@ -1342,7 +1342,7 @@ export default {
manuscirpt: [ manuscirpt: [
{ {
required: true, required: true,
message: 'Please upload manuscirpt', message: 'Please upload manuscript',
trigger: 'blur' trigger: 'blur'
} }
], ],
@@ -2675,7 +2675,7 @@ this.checkAll = false;
this.form.manuscirpt = 'manuscirpt/' + res.upurl; this.form.manuscirpt = 'manuscirpt/' + res.upurl;
this.fileL_manuscirpt = [{}]; this.fileL_manuscirpt = [{}];
this.isShowCommonWord = false; this.isShowCommonWord = false;
this.fileL_manuscirpt[0].name = 'Manuscirpt File'; this.fileL_manuscirpt[0].name = 'Manuscript File';
this.fileL_manuscirpt[0].url = 'manuscirpt/' + res.upurl; this.fileL_manuscirpt[0].url = 'manuscirpt/' + res.upurl;
this.contribute(res.upurl, File); this.contribute(res.upurl, File);
@@ -3245,7 +3245,7 @@ this.checkAll = false;
this.fileL_manuscirpt = []; this.fileL_manuscirpt = [];
if (this.form.manuscirpt != '') { if (this.form.manuscirpt != '') {
this.fileL_manuscirpt = [{}]; this.fileL_manuscirpt = [{}];
this.fileL_manuscirpt[0].name = 'Manuscirpt File'; this.fileL_manuscirpt[0].name = 'Manuscript File';
this.fileL_manuscirpt[0].url = this.form.manuscirpt; this.fileL_manuscirpt[0].url = this.form.manuscirpt;
} }
this.fileL_supplementary = []; this.fileL_supplementary = [];

View File

@@ -73,7 +73,7 @@
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="Manuscirpt :" prop="manuscirpt" label-width="120px"> <el-form-item label="Manuscript :" prop="manuscirpt" label-width="120px">
<el-upload <el-upload
:on-progress="handleProgress" :on-progress="handleProgress"
ref="uploadFileManuscirpt" ref="uploadFileManuscirpt"
@@ -431,7 +431,7 @@
<div class="el-upload__tip" slot="tip">Only word files can be uploaded(.doc,.docx)</div> <div class="el-upload__tip" slot="tip">Only word files can be uploaded(.doc,.docx)</div>
</el-upload> </el-upload>
</el-form-item> --> </el-form-item> -->
<el-form-item label="Manuscirpt :" prop="manuscirpt" label-width="220px"> <el-form-item label="Manuscript :" prop="manuscirpt" label-width="220px">
<el-upload <el-upload
:on-progress="handleProgress" :on-progress="handleProgress"
ref="uploadFileManuscirpt" ref="uploadFileManuscirpt"
@@ -1284,7 +1284,7 @@ export default {
manuscirpt: [ manuscirpt: [
{ {
required: true, required: true,
message: 'Please upload manuscirpt', message: 'Please upload manuscript',
trigger: 'blur' trigger: 'blur'
} }
], ],
@@ -1650,7 +1650,7 @@ export default {
} }
//验证文档 //验证文档
if (this.form.manuscirpt == '') { if (this.form.manuscirpt == '') {
this.$message.error('Manuscirpt is required'); this.$message.error('Manuscript is required');
// console.log('file up error'); // console.log('file up error');
return false; return false;
} }
@@ -2549,7 +2549,7 @@ export default {
this.form.manuscirpt = 'manuscirpt/' + res.upurl; this.form.manuscirpt = 'manuscirpt/' + res.upurl;
this.fileL_manuscirpt = [{}]; this.fileL_manuscirpt = [{}];
this.isShowCommonWord = false; this.isShowCommonWord = false;
this.fileL_manuscirpt[0].name = 'Manuscirpt File'; this.fileL_manuscirpt[0].name = 'Manuscript File';
this.fileL_manuscirpt[0].url = 'manuscirpt/' + res.upurl; this.fileL_manuscirpt[0].url = 'manuscirpt/' + res.upurl;
this.contribute(res.upurl) this.contribute(res.upurl)
if(this.form.article_id){ if(this.form.article_id){
@@ -3010,7 +3010,7 @@ export default {
this.fileL_manuscirpt = []; this.fileL_manuscirpt = [];
if (this.form.manuscirpt != '') { if (this.form.manuscirpt != '') {
this.fileL_manuscirpt = [{}]; this.fileL_manuscirpt = [{}];
this.fileL_manuscirpt[0].name = 'Manuscirpt File'; this.fileL_manuscirpt[0].name = 'Manuscript File';
this.fileL_manuscirpt[0].url = this.form.manuscirpt; this.fileL_manuscirpt[0].url = this.form.manuscirpt;
} }
this.fileL_supplementary = []; this.fileL_supplementary = [];

View File

@@ -431,7 +431,7 @@
<div class="el-upload__tip" slot="tip">Only word files can be uploaded(.doc,.docx)</div> <div class="el-upload__tip" slot="tip">Only word files can be uploaded(.doc,.docx)</div>
</el-upload> </el-upload>
</el-form-item> --> </el-form-item> -->
<el-form-item label="Manuscirpt :" prop="manuscirpt" label-width="200px"> <el-form-item label="Manuscript :" prop="manuscirpt" label-width="200px">
<el-upload <el-upload
ref="uploadFileManuscirpt" ref="uploadFileManuscirpt"
class="upload-demo up_newstyle" class="upload-demo up_newstyle"
@@ -1149,7 +1149,7 @@ export default {
manuscirpt: [ manuscirpt: [
{ {
required: true, required: true,
message: 'Please upload manuscirpt', message: 'Please upload manuscript',
trigger: 'blur' trigger: 'blur'
} }
], ],
@@ -1375,7 +1375,7 @@ export default {
} }
//验证文档 //验证文档
if (this.form.manuscirpt == '') { if (this.form.manuscirpt == '') {
this.$message.error('Manuscirpt is required'); this.$message.error('Manuscript is required');
// console.log('file up error'); // console.log('file up error');
return false; return false;
} }
@@ -2232,7 +2232,7 @@ export default {
this.form.manuscirpt = 'manuscirpt/' + res.upurl; this.form.manuscirpt = 'manuscirpt/' + res.upurl;
this.fileL_manuscirpt = [{}]; this.fileL_manuscirpt = [{}];
this.isShowCommonWord = false; this.isShowCommonWord = false;
this.fileL_manuscirpt[0].name = 'Manuscirpt File'; this.fileL_manuscirpt[0].name = 'Manuscript File';
this.fileL_manuscirpt[0].url = 'manuscirpt/' + res.upurl; this.fileL_manuscirpt[0].url = 'manuscirpt/' + res.upurl;
this.onStaging(5); this.onStaging(5);
@@ -2547,7 +2547,7 @@ export default {
this.fileL_manuscirpt = []; this.fileL_manuscirpt = [];
if (this.form.manuscirpt != '') { if (this.form.manuscirpt != '') {
this.fileL_manuscirpt = [{}]; this.fileL_manuscirpt = [{}];
this.fileL_manuscirpt[0].name = 'Manuscirpt File'; this.fileL_manuscirpt[0].name = 'Manuscript File';
this.fileL_manuscirpt[0].url = this.form.manuscirpt; this.fileL_manuscirpt[0].url = this.form.manuscirpt;
} }
this.fileL_supplementary = []; this.fileL_supplementary = [];
@@ -2796,9 +2796,7 @@ export default {
.then((res) => { .then((res) => {
if (res.code == 0) { if (res.code == 0) {
this.form.manuscirptId = res.data.file_id; this.form.manuscirptId = res.data.file_id;
console.log('this.form.manuscirpt at line 2652:', this.form.manuscirpt);
console.log('1111111111111111111111111111');
setTimeout(() => { setTimeout(() => {
// that.getWordTablesList(); // that.getWordTablesList();
// that.getWordimgList(); // that.getWordimgList();

View File

@@ -163,7 +163,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="Manuscirpt"> <el-form-item label="Manuscript">
<el-popover placement="right" width="350" trigger="click"> <el-popover placement="right" width="350" trigger="click">
<el-table :data="manuscirptFileList" empty-text="New messages (0)"> <el-table :data="manuscirptFileList" empty-text="New messages (0)">
<el-table-column width="150" :formatter="filedateformate" property="ctime" align="center" label="date"></el-table-column> <el-table-column width="150" :formatter="filedateformate" property="ctime" align="center" label="date"></el-table-column>
@@ -421,7 +421,7 @@
this.$refs.articleform.validate((valid) => { this.$refs.articleform.validate((valid) => {
//验证文件 //验证文件
// if (this.form.manuscirpt == '') { // if (this.form.manuscirpt == '') {
// this.$message.error('Manuscirpt is required'); // this.$message.error('Manuscript is required');
// console.log('file up error'); // console.log('file up error');
// return false; // return false;
// } // }

View File

@@ -21,31 +21,23 @@
}}</span> }}</span>
<div> <div>
<div class="scoringRules"> <div class="scoringRules">
<div <div style="display: flex; justify-content: space-between; font-size: 16px; margin-bottom: 15px">
style="display: flex; justify-content: space-between; font-size: 16px; margin-bottom: 15px"
>
<div> <div>
<span <span
>H指数: >H指数:
<span :style="form.h_fen && form.h_fen > 0 ? `color:#db890e` : ''">{{ <span :style="form.h_fen && form.h_fen > 0 ? `color:#db890e` : ''">{{ form.h_fen }}</span></span
form.h_fen
}}</span></span
> >
</div> </div>
<div> <div>
<span <span
>图表: >图表:
<span :style="form.b_fen && form.b_fen > 0 ? `color:#db890e` : ''">{{ <span :style="form.b_fen && form.b_fen > 0 ? `color:#db890e` : ''">{{ form.b_fen }}</span></span
form.b_fen
}}</span></span
> >
</div> </div>
<div> <div>
<span <span
>国家: >国家:
<span :style="form.c_fen && form.c_fen > 0 ? `color:#db890e` : ''">{{ <span :style="form.c_fen && form.c_fen > 0 ? `color:#db890e` : ''">{{ form.c_fen }}</span></span
form.c_fen
}}</span></span
> >
</div> </div>
<div> <div>
@@ -224,15 +216,7 @@
<img <img
src="@/assets/img/ai.png" src="@/assets/img/ai.png"
class="beautiful-gradient" class="beautiful-gradient"
style=" style="width: 30px; height: 30px; margin-right: 4px; position: absolute; left: -18px; top: -30px; cursor: pointer"
width: 30px;
height: 30px;
margin-right: 4px;
position: absolute;
left: -18px;
top: -30px;
cursor: pointer;
"
@click="openAI()" @click="openAI()"
/> />
</div> </div>
@@ -244,11 +228,10 @@
<el-row :gutter="24"> <el-row :gutter="24">
<el-col :span="14"> <el-col :span="14">
<div class="art_state_"> <div class="art_state_">
<div class="art_state_message"> <div class="art_state_message">
<p> <p>
<font>Title :</font> <font>Title :</font>
<b style="color: #333;font-weight: bold;"> {{ form.title }}</b> <b style="color: #333; font-weight: bold"> {{ form.title }}</b>
<b <b
v-if="form.articleId" v-if="form.articleId"
@click="corrSpe(form)" @click="corrSpe(form)"
@@ -466,7 +449,11 @@
</el-collapse-item> </el-collapse-item>
</el-collapse> </el-collapse>
</div> </div>
<el-collapse v-model="FileList" class="auth_colla auth_collna_ew research_area" style="margin-top: -15px;margin-bottom: 0;"> <el-collapse
v-model="FileList"
class="auth_colla auth_collna_ew research_area"
style="margin-top: -15px; margin-bottom: 0"
>
<el-collapse-item title="File" name="1"> <el-collapse-item title="File" name="1">
<div class="art_file_"> <div class="art_file_">
<el-row :gutter="24"> <el-row :gutter="24">
@@ -515,7 +502,7 @@
<br clear="both" /> <br clear="both" />
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<h4>Manuscirpt :</h4> <h4>Manuscript :</h4>
<p class="fi_new"> <p class="fi_new">
<!-- <template v-for="item in manuscirptFileList"> --> <!-- <template v-for="item in manuscirptFileList"> -->
<!-- <a href="#"> <!-- <a href="#">
@@ -601,37 +588,32 @@
</el-collapse-item> </el-collapse-item>
</el-collapse> </el-collapse>
<common-word-html :articleId="$route.query.id" style="box-sizing: border-box"></common-word-html> <common-word-html :articleId="$route.query.id" style="box-sizing: border-box"></common-word-html>
</div> </div>
<div style="margin-top: 40px;"> <div style="margin-top: 40px">
<div v-if="![0].includes(form.state)"> <div v-if="![0].includes(form.state)">
<!-- under review --> <!-- under review -->
<el-collapse <el-collapse v-model="underReview" class="auth_colla auth_collna_ew under_review" style="margin-top: -15px">
v-model="underReview" <el-collapse-item title="" name="1">
class="auth_colla auth_collna_ew under_review"
style="margin-top: -15px"
>
<el-collapse-item
title=""
name="1"
>
<template slot="title"> <template slot="title">
<div class="under_review_title"> <div class="under_review_title">
<span style="font-weight: bold; color: #333 !important;font-size: 18px;">Under review</span> <span style="font-weight: bold; color: #333 !important; font-size: 18px">Under review</span>
<span style="font-size: 16px; margin-left: 20px; text-align: right; font-weight: 400" v-if="reviewList.length > 0"> <span
style="font-size: 16px; margin-left: 20px; text-align: right; font-weight: 400"
v-if="reviewList.length > 0"
>
Average score : <b style="font-size: 16px; color: #db890e">{{ avegeCount(reviewList) }}</b> Average score : <b style="font-size: 16px; color: #db890e">{{ avegeCount(reviewList) }}</b>
</span> </span>
<b @click.stop="articleReviewer()" class="btnCliArt" style="" v-if="form.state!=0" > <b @click.stop="articleReviewer()" class="btnCliArt" style="" v-if="form.state != 0">
<i :class="[1,2,4,8].includes(form.state) ? 'el-icon-edit' : 'el-icon-view'" style="margin-right: 5px;"></i>Inviting Reviewer {{ [1,2,4,8].includes(form.state) ? '' : 'History' }} <i
:class="[1, 2, 4, 8].includes(form.state) ? 'el-icon-edit' : 'el-icon-view'"
style="margin-right: 5px"
></i
>Inviting Reviewer {{ [1, 2, 4, 8].includes(form.state) ? '' : 'History' }}
</b> </b>
</div> </div>
</template> </template>
<div class="art_author_" style="padding: 20px;" v-if="reviewList.length > 0"> <div class="art_author_" style="padding: 20px" v-if="reviewList.length > 0">
<div class="fixCard reviewer_decision" style="position: relative"> <div class="fixCard reviewer_decision" style="position: relative">
<div class="overflow-x-auto"> <div class="overflow-x-auto">
<!-- 上面的表格代码放在这里 --> <!-- 上面的表格代码放在这里 -->
@@ -640,7 +622,7 @@
<thead> <thead>
<tr> <tr>
<th class="review_table_index">No.</th> <th class="review_table_index">No.</th>
<th>Name <span style="color: #888">( score )</span> </th> <th>Name <span style="color: #888">( score )</span></th>
<!-- 补充表头文本,原代码是空,建议加上 --> <!-- 补充表头文本,原代码是空,建议加上 -->
<th>1<sup>st</sup> review</th> <th>1<sup>st</sup> review</th>
<!-- 表头按最大重复次数遍历生成2nd、3rd...列 --> <!-- 表头按最大重复次数遍历生成2nd、3rd...列 -->
@@ -665,10 +647,9 @@
> >
</td> </td>
<td style="position: relative; cursor: pointer"> <td style="position: relative; cursor: pointer">
<span style="">{{ iken.realname }}</span> <span style="">{{ iken.realname }}</span>
<span v-if="iken.state != 0" <span
v-if="iken.state != 0"
style=" style="
color: rgb(219, 137, 14); color: rgb(219, 137, 14);
font-weight: 700; font-weight: 700;
@@ -677,16 +658,19 @@
" "
>( {{ iken.rated }} )</span >( {{ iken.rated }} )</span
> >
<span v-if="iken.state != 0" <span
style="color: #888;float: right;margin-right: 20px;" v-if="iken.state != 0"
@click="handleClick(iken,'detail')" style="color: #888; float: right; margin-right: 20px"
@click="handleClick(iken, 'detail')"
>Detail</span >Detail</span
> >
</td> </td>
<!-- 1st review原逻辑不变 --> <!-- 1st review原逻辑不变 -->
<td style="cursor: pointer"> <td style="cursor: pointer">
<span > <span>
<span style="display: inline-block; margin-left: 4px; margin-right: 8px"> <span
style="display: inline-block; margin-left: 4px; margin-right: 8px"
>
<font <font
v-if="iken.recommend == 1 || iken.recommend == 2" v-if="iken.recommend == 1 || iken.recommend == 2"
style=" style="
@@ -727,25 +711,28 @@
<span v-else-if="iken.recommend == 4">Reject</span> <span v-else-if="iken.recommend == 4">Reject</span>
</span> </span>
<span v-if="iken.state != 0" <span
style="color: #888;float: right;margin-right: 20px;" v-if="iken.state != 0"
@click="handleClick(iken,'question')" style="color: #888; float: right; margin-right: 20px"
@click="handleClick(iken, 'question')"
>Detail</span >Detail</span
> >
</td> </td>
<!-- 关键按最大重复次数遍历而非仅遍历当前iken.repeat --> <!-- 关键按最大重复次数遍历而非仅遍历当前iken.repeat -->
<template v-for="(_1, index1) in maxRepeatReviewCount()"> <template v-for="(_1, index1) in maxRepeatReviewCount()">
<td > <td>
<!-- 补全逻辑判断当前评审者的repeat中是否有第index1条数据 --> <!-- 补全逻辑判断当前评审者的repeat中是否有第index1条数据 -->
<span <span
v-if="Array.isArray(iken.repeat) && iken.repeat[index1]" v-if="Array.isArray(iken.repeat) && iken.repeat[index1]"
style="cursor: pointer" style="cursor: pointer"
> >
<span style="display: inline-block; margin-left: 4px; margin-right: 8px"> <span
style="
display: inline-block;
margin-left: 4px;
margin-right: 8px;
"
>
<font <font
v-if="iken.repeat[index1].recommend == 1" v-if="iken.repeat[index1].recommend == 1"
style=" style="
@@ -786,17 +773,17 @@
<span v-else-if="iken.repeat[index1].recommend == 3">Revision</span> <span v-else-if="iken.repeat[index1].recommend == 3">Revision</span>
<span v-else>No reply</span> <span v-else>No reply</span>
<span v-if="[1,2,3].includes(iken.repeat[index1].recommend)" <span
style="color: #888;float: right;margin-right: 20px;" v-if="[1, 2, 3].includes(iken.repeat[index1].recommend)"
@click="handleClick(iken,'re-review',iken.repeat[index1])" style="color: #888; float: right; margin-right: 20px"
@click="handleClick(iken, 're-review', iken.repeat[index1])"
>Detail</span >Detail</span
> >
</span> </span>
<span v-else> <span v-else>
<!-- 无数据:补全空内容(可自定义为“-”“无”等) --> <!-- 无数据:补全空内容(可自定义为“-”“无”等) -->
<span >-</span> <span>-</span>
</span> </span>
</td> </td>
</template> </template>
@@ -810,35 +797,28 @@
</el-collapse> </el-collapse>
<!-- 初审 --> <!-- 初审 -->
</div> </div>
<div v-if="(![0].includes(form.state)&&finalList.length > 0)||form.state==8" style="margin-top: 40px;"> <div v-if="(![0].includes(form.state) && finalList.length > 0) || form.state == 8" style="margin-top: 40px">
<!-- under review --> <!-- under review -->
<el-collapse <el-collapse v-model="finalDecision" class="auth_colla auth_collna_ew under_review" style="margin-top: -15px">
v-model="finalDecision" <el-collapse-item title="" name="1">
class="auth_colla auth_collna_ew under_review"
style="margin-top: -15px"
>
<el-collapse-item
title=""
name="1"
>
<template slot="title"> <template slot="title">
<div class="under_review_title"> <div class="under_review_title">
<span style="font-weight: bold; color: #333 !important;font-size: 18px;">Final Decision</span> <span style="font-weight: bold; color: #333 !important; font-size: 18px">Final Decision</span>
<span v-if="finalList.length > 0" style="font-size: 16px; margin-left: 20px; text-align: right; font-weight: 400"> <span
Comprehensive Score : <b style="font-size: 16px; color: #db890e">{{ finalCount(reviewList) }}</b> v-if="finalList.length > 0"
style="font-size: 16px; margin-left: 20px; text-align: right; font-weight: 400"
>
Comprehensive Score :
<b style="font-size: 16px; color: #db890e">{{ finalCount(reviewList) }}</b>
</span> </span>
<b v-if="form.state != 0" @click.stop="articleEditorialBoard()" class="btnCliArt" style=""> <b v-if="form.state != 0" @click.stop="articleEditorialBoard()" class="btnCliArt" style="">
<i :class="form.state == 8 ? 'el-icon-edit' : 'el-icon-view'" style="margin-right: 5px;"></i> Inviting Editorial Board {{ form.state == 8 ? '' : 'History' }} <i :class="form.state == 8 ? 'el-icon-edit' : 'el-icon-view'" style="margin-right: 5px"></i>
Inviting Editorial Board {{ form.state == 8 ? '' : 'History' }}
</b> </b>
</div> </div>
</template> </template>
<div class="art_author_" style="padding: 20px;" v-if="finalList.length > 0"> <div class="art_author_" style="padding: 20px" v-if="finalList.length > 0">
<div class="fixCard reviewer_decision" style="position: relative"> <div class="fixCard reviewer_decision" style="position: relative">
<div class="overflow-x-auto"> <div class="overflow-x-auto">
<!-- 上面的表格代码放在这里 --> <!-- 上面的表格代码放在这里 -->
@@ -850,8 +830,6 @@
<th>Name</th> <th>Name</th>
<!-- 补充表头文本,原代码是空,建议加上 --> <!-- 补充表头文本,原代码是空,建议加上 -->
<th>Final Decision</th> <th>Final Decision</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@@ -859,36 +837,37 @@
<tr v-for="(iken, reviewerIndex) in finalList"> <tr v-for="(iken, reviewerIndex) in finalList">
<td style="position: relative; cursor: pointer"> <td style="position: relative; cursor: pointer">
Editorial Board {{ reviewerIndex + 1 }} Editorial Board {{ reviewerIndex + 1 }}
</td> </td>
<td style="position: relative; cursor: pointer"> <td style="position: relative; cursor: pointer">
<span style="">{{ iken.realname }}</span> <span style="">{{ iken.realname }}</span>
<span v-if="[1,2,3].includes(iken.state)" <span
style="color: #888; float: right;" v-if="[1, 2, 3].includes(iken.state)"
style="color: #888; float: right"
@click="handleClickFinal(iken)" @click="handleClickFinal(iken)"
>Detail</span >Detail</span
> >
</td> </td>
<!-- 1st review原逻辑不变 --> <!-- 1st review原逻辑不变 -->
<td style="cursor: pointer;font-weight: 700"> <td style="cursor: pointer; font-weight: 700">
<span v-if="iken.state == 1" style="color: #67c23a">Accept</span>
<span v-if="iken.state == 1" style="color: #67c23a;">Accept</span> <span v-else-if="iken.state == 2" style="color: #ff4949">Reject</span>
<span v-else-if="iken.state == 2" style="color: #ff4949;">Reject</span> <span v-else-if="iken.state == 3" style="color: #ffc500">Revision</span>
<span v-else-if="iken.state == 3" style="color: #ffc500;">Revision</span>
<font v-if="iken.state == 5" style="color: #ccc; display: inline-block"> invitation </font>
<font v-if="iken.state == 0" style="color: #67c23a; display: inline-block"> Agree to review </font>
<font v-if="iken.state == 4" style="color: #ccc; display: inline-block"> invalid </font>
<span style="color: #888;font-weight:500;float:right;">{{formatDate_(iken.update_time)}}</span>
<font v-if="iken.state == 5" style="color: #ccc; display: inline-block">
invitation
</font>
<font v-if="iken.state == 0" style="color: #67c23a; display: inline-block">
Agree to review
</font>
<font v-if="iken.state == 4" style="color: #ccc; display: inline-block">
invalid
</font>
<span style="color: #888; font-weight: 500; float: right">{{
formatDate_(iken.update_time)
}}</span>
</td> </td>
<!-- 关键按最大重复次数遍历而非仅遍历当前iken.repeat --> <!-- 关键按最大重复次数遍历而非仅遍历当前iken.repeat -->
</tr> </tr>
</tbody> </tbody>
</table> </table>
@@ -899,11 +878,8 @@
</el-collapse> </el-collapse>
<!-- 初审 --> <!-- 初审 -->
</div> </div>
</div> </div>
</el-col> </el-col>
<el-col :span="10" style="padding: 0"> <el-col :span="10" style="padding: 0">
<!-- 被拒稿件操作 ---> <!-- 被拒稿件操作 --->
@@ -953,7 +929,7 @@
<el-button type="text" @click="changeRepe" icon="el-icon-edit">Change</el-button> <el-button type="text" @click="changeRepe" icon="el-icon-edit">Change</el-button>
</div> </div>
<div> <div>
<span style="display: inline-block; vertical-align: top; margin-top: 7px">Manuscirpt : </span> <span style="display: inline-block; vertical-align: top; margin-top: 7px">Manuscript : </span>
<el-upload <el-upload
style="display: inline-block" style="display: inline-block"
class="upload-demo" class="upload-demo"
@@ -1019,20 +995,22 @@
</el-row> </el-row>
</div> </div>
<el-dialog title="Final decision detail" :visible.sync="FinalDecisionVisible" width="1200px" :close-on-click-modal="false"> <el-dialog title="Final decision detail" :visible.sync="FinalDecisionVisible" width="1200px" :close-on-click-modal="false">
<common-editor-article-detail <common-editor-article-detail
style="margin-top: 20px" style="margin-top: 20px"
:detailDate="{
:detailDate="{ reviewer: finalDecisionData.realname, article_final: finalDecisionData, ctime: formatDate_(finalDecisionData.update_time) }" reviewer: finalDecisionData.realname,
article_final: finalDecisionData,
ctime: formatDate_(finalDecisionData.update_time)
}"
></common-editor-article-detail> ></common-editor-article-detail>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button type="" @click="FinalDecisionVisible=false">Cancal</el-button> <el-button type="" @click="FinalDecisionVisible = false">Cancel</el-button>
</span> </span>
</el-dialog> </el-dialog>
<!-- 审稿详情 start-->
<reviewerDetail ref="reviewerDetail" v-if="reviewerVisible" :reviewerDetail="reviewerDetail" destroy-on-close></reviewerDetail> <reviewerDetail ref="reviewerDetail" v-if="reviewerVisible" :reviewerDetail="reviewerDetail" destroy-on-close></reviewerDetail>
<!-- 审稿详情 end-->
<el-dialog title="Edit H Index" :visible.sync="HEditVisible" width="400px" :close-on-click-modal="false"> <el-dialog title="Edit H Index" :visible.sync="HEditVisible" width="400px" :close-on-click-modal="false">
<div style="margin: 0 0 20px 10px; font-weight: bold">{{ HIxForm.realname }}</div> <div style="margin: 0 0 20px 10px; font-weight: bold">{{ HIxForm.realname }}</div>
<div style="margin: 0 0 20px 10px">Email :{{ HIxForm.email }}</div> <div style="margin: 0 0 20px 10px">Email :{{ HIxForm.email }}</div>
@@ -1163,7 +1141,7 @@
> >
<template #title> <template #title>
<div style="display: inline-block; vertical-align: top"> <div style="display: inline-block; vertical-align: top">
Manuscirpt : Manuscript :
<img <img
src="../../assets/img/icon_0.png" src="../../assets/img/icon_0.png"
style=" style="
@@ -1261,11 +1239,7 @@
</el-collapse> </el-collapse>
<div style="line-height: 20px" v-if="isShowAI"> <div style="line-height: 20px" v-if="isShowAI">
<!-- <p class="beautiful-gradient1">
<span class="title" style="font-size: 18px; font-weight: 700">{{ $t('aiReview.state17') }}</span>
<span style="margin-top: 8px; display: block">{{ currentArticleData.ai_review['overall_evaluation'] }}</span>
</p> -->
<p style="overflow: hidden; margin-bottom: 8px"> <p style="overflow: hidden; margin-bottom: 8px">
<span style="float: left">{{ <span style="float: left">{{
currentArticleData.ai_review.is_finish == 2 currentArticleData.ai_review.is_finish == 2
@@ -1282,9 +1256,6 @@
<p class="titleBox"> <p class="titleBox">
<span class="title" style="color: #fff; font-size: 16px">{{ $t('AI.AIAbstractInfo') }}</span> <span class="title" style="color: #fff; font-size: 16px">{{ $t('AI.AIAbstractInfo') }}</span>
</p> </p>
<!-- {{ currentArticleData.ai_review }} -->
<el-form label-width="240"> <el-form label-width="240">
<el-form-item label="``" v-for="(v, i) in aiReview"> <el-form-item label="``" v-for="(v, i) in aiReview">
<span slot="label" class="title" :style="v.color ? `color:${v.color}` : ''"> <span slot="label" class="title" :style="v.color ? `color:${v.color}` : ''">
@@ -1356,7 +1327,7 @@
</div> </div>
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<!-- <el-button @click="isShowAI = false">取 消</el-button> -->
<el-button type="" @click="isShowAI = false">Close</el-button> <el-button type="" @click="isShowAI = false">Close</el-button>
</span> </span>
</el-dialog> </el-dialog>
@@ -1368,7 +1339,8 @@ import timetalk from './time_talk';
import reviewerDetail from '../../components/page/components/articleDetail/reviewerdetail.vue'; import reviewerDetail from '../../components/page/components/articleDetail/reviewerdetail.vue';
export default { export default {
components: { components: {
timetalk,reviewerDetail timetalk,
reviewerDetail
}, },
data() { data() {
return { return {
@@ -1490,7 +1462,6 @@ export default {
state: '', state: '',
ctime: '', ctime: '',
authorList: [], authorList: [],
transList: [] transList: []
}, },
msgs: [], msgs: [],
@@ -1676,8 +1647,8 @@ export default {
], ],
finalList: [], finalList: [],
reviewList: [], reviewList: [],
underReview:['1'], underReview: ['1'],
finalDecision:['1'], finalDecision: ['1']
}; };
}, },
async created() { async created() {
@@ -1760,10 +1731,14 @@ export default {
art_rev_id: item.art_rev_id art_rev_id: item.art_rev_id
}) })
.then((res) => { .then((res) => {
//console.log(res)
if (res.code == 0) { if (res.code == 0) {
this.$message.success('A review invitation was successfully sent!'); this.$message.success('A review invitation was successfully sent!');
this.getFinalList() this.$nextTick(() => {
setTimeout(() => {
this.getFinalList();
this.$forceUpdate();
}, 1000);
});
} else { } else {
this.$message.error(res.msg); this.$message.error(res.msg);
} }
@@ -1775,16 +1750,14 @@ export default {
.catch(() => {}); .catch(() => {});
}, },
handleClickFinal(data) { handleClickFinal(data) {
this.finalDecisionData = { ...data };
this.finalDecisionData={...data} this.FinalDecisionVisible = true;
this.FinalDecisionVisible=true
}, },
handleClickRemark() { handleClickRemark() {
this.expanded = !this.expanded; this.expanded = !this.expanded;
this.$forceUpdate(); this.$forceUpdate();
}, },
articleReviewer(row) { articleReviewer(row) {
this.$router.push({ this.$router.push({
path: 'articleReviewer', path: 'articleReviewer',
query: { query: {
@@ -1947,15 +1920,12 @@ this.FinalDecisionVisible=true
// console.log('maxItem at line 2142:', maxItem.repeat.length) // console.log('maxItem at line 2142:', maxItem.repeat.length)
return maxItem && maxItem.repeat ? maxItem.repeat.length : 0; return maxItem && maxItem.repeat ? maxItem.repeat.length : 0;
}, },
handleClick(item,type,repeatItem) { handleClick(item, type, repeatItem) {
this.reviewerDetail = item;
this.reviewerDetail=item this.reviewerVisible = true;
this.reviewerVisible=true this.$nextTick(() => {
this.$nextTick(()=>{ this.$refs.reviewerDetail.init(item.art_rev_id, type, repeatItem);
this.$refs.reviewerDetail.init(item.art_rev_id,type,repeatItem) });
})
}, },
goReviewerDetail(id) { goReviewerDetail(id) {
@@ -1974,14 +1944,9 @@ this.FinalDecisionVisible=true
article_id: this.editform.articleId article_id: this.editform.articleId
}) })
.then(async (res) => { .then(async (res) => {
if (res.status == 1) {
if (res.status == 1) { if (res.status == 1) {
this.finalList = [...res.data.final_review]; this.finalList = [...res.data.final_review];
this.reviewList = res.data.review; this.reviewList = res.data.review;
if(this.finalList.length > 0) {
}
}
} }
}) })
.catch((err) => {}); .catch((err) => {});
@@ -2062,7 +2027,6 @@ this.FinalDecisionVisible=true
} }
this.aiReview[0] = aiReview; this.aiReview[0] = aiReview;
} }
}) })
.catch((err) => { .catch((err) => {
// this.$message.error('AI analysis failed'); // this.$message.error('AI analysis failed');
@@ -2305,7 +2269,7 @@ this.FinalDecisionVisible=true
this.$api.post('api/Article/editArticleRemark', this.remark).then((res) => { this.$api.post('api/Article/editArticleRemark', this.remark).then((res) => {
load.close(); load.close();
this.editbox=false this.editbox = false;
this.$message.success('success'); this.$message.success('success');
this.initarticle(); this.initarticle();
// this.$router.go(0); // this.$router.go(0);
@@ -2351,12 +2315,11 @@ this.FinalDecisionVisible=true
}) })
.then((res) => { .then((res) => {
this.$api this.$api.post('api/Workbench/updateArticleState', {
.post('api/Workbench/updateArticleState', {
article_id: this.editform.articleId, article_id: this.editform.articleId,
type: '4,5,6', type: '4,5,6',
account: localStorage.getItem('U_name') account: localStorage.getItem('U_name')
}) });
const dynamicTimestamp = res.article.ctime; const dynamicTimestamp = res.article.ctime;
const dynamicDate = new Date(dynamicTimestamp * 1000); const dynamicDate = new Date(dynamicTimestamp * 1000);
@@ -2559,8 +2522,7 @@ this.FinalDecisionVisible=true
this.manuscirptFileList = res.manuscirpt; this.manuscirptFileList = res.manuscirpt;
this.totalpageFileList = res.totalpage; this.totalpageFileList = res.totalpage;
this.supplementaryFileList = res.supplementary; this.supplementaryFileList = res.supplementary;
this.fileL_articleCopyright = res.figurecopyright?res.figurecopyright:[]; this.fileL_articleCopyright = res.figurecopyright ? res.figurecopyright : [];
}) })
.catch((err) => { .catch((err) => {
console.log(err); console.log(err);
@@ -2643,9 +2605,8 @@ this.FinalDecisionVisible=true
return Y + M + D + ' ' + h + ':' + m + ':' + s; return Y + M + D + ' ' + h + ':' + m + ':' + s;
}, },
onsubmit() { onsubmit() {
if (this.form.manuscirpt == '') { if (this.form.manuscirpt == '') {
this.$message.error('Manuscirpt is required!'); this.$message.error('Manuscript is required!');
return false; return false;
} }
const load = this.$loading({ const load = this.$loading({
@@ -3098,10 +3059,9 @@ td {
color: #006699; color: #006699;
font-weight: normal; font-weight: normal;
margin-left: 40px; margin-left: 40px;
} }
.under_review .btnCliArt{ .under_review .btnCliArt {
border: 1px solid #b3d8ff; border: 1px solid #b3d8ff;
color: #409eff; color: #409eff;
padding: 5px 10px; padding: 5px 10px;
@@ -3109,7 +3069,6 @@ td {
background-color: #ecf5ff; background-color: #ecf5ff;
float: right; float: right;
margin-right: 20px; margin-right: 20px;
} }
.remarkContent { .remarkContent {
margin-right: 10px; margin-right: 10px;
@@ -3129,19 +3088,18 @@ td {
.kuang_communtion { .kuang_communtion {
margin-bottom: 15px; margin-bottom: 15px;
} }
::v-deep .under_review .el-icon-arrow-right{ ::v-deep .under_review .el-icon-arrow-right {
right: 0px !important; right: 0px !important;
left: 0px !important; left: 0px !important;
position: relative !important; position: relative !important;
} }
.under_review_title{ .under_review_title {
width: 100%; width: 100%;
} }
.under_review_title span{ .under_review_title span {
line-height: 30px; line-height: 30px;
}.scoringRules ul li { }
.scoringRules ul li {
list-style: none; list-style: none;
} }
.scoringRules ul .scoringRulesEcharts { .scoringRules ul .scoringRulesEcharts {

View File

@@ -193,7 +193,7 @@
>Only word and compressed files can be uploaded(.doc,.docx,.rar,.zip)</div> >Only word and compressed files can be uploaded(.doc,.docx,.rar,.zip)</div>
</el-upload> --> </el-upload> -->
</el-form-item> </el-form-item>
<el-form-item label="Manuscirpt"> <el-form-item label="Manuscript">
<el-popover placement="right" width="350" trigger="click"> <el-popover placement="right" width="350" trigger="click">
<el-table :data="manuscirptFileList" empty-text="New messages (0)"> <el-table :data="manuscirptFileList" empty-text="New messages (0)">
<el-table-column width="150" :formatter="filedateformate" property="ctime" align="center" label="date"></el-table-column> <el-table-column width="150" :formatter="filedateformate" property="ctime" align="center" label="date"></el-table-column>
@@ -690,7 +690,7 @@
}, },
onsubmit() { onsubmit() {
if (this.form.manuscirpt == '') { if (this.form.manuscirpt == '') {
this.$message.error('Manuscirpt is required'); this.$message.error('Manuscript is required');
console.log('file up error'); console.log('file up error');
return false; return false;
} }

View File

@@ -146,7 +146,7 @@
</a> </a>
</p> </p>
<br clear="both" v-if="totalpageFileList"> <br clear="both" v-if="totalpageFileList">
<h4>Manuscirpt : </h4> <h4>Manuscript : </h4>
<p> <p>
<a v-for="item in manuscirptFileList" :href="mediaUrl + item.file_url"> <a v-for="item in manuscirptFileList" :href="mediaUrl + item.file_url">
<img src="../../assets/img/icon_0.png"> <img src="../../assets/img/icon_0.png">

View File

@@ -142,7 +142,7 @@
</a> </a>
</p> </p>
<br clear="both" v-if="totalpageFileList"> <br clear="both" v-if="totalpageFileList">
<h4>Manuscirpt : </h4> <h4>Manuscript : </h4>
<p> <p>
<a v-for="item in manuscirptFileList" :href="mediaUrl + item.file_url"> <a v-for="item in manuscirptFileList" :href="mediaUrl + item.file_url">
<img src="../../assets/img/icon_0.png"> <img src="../../assets/img/icon_0.png">
@@ -941,7 +941,7 @@
// 上传文件 // 上传文件
saveAgain() { saveAgain() {
if (this.form.manuscirpt == '') { if (this.form.manuscirpt == '') {
this.$message.error('Manuscirpt is required'); this.$message.error('Manuscript is required');
return false; return false;
} }
this.loading = true; this.loading = true;

View File

@@ -239,7 +239,7 @@
</a> </a>
</p> </p>
<br clear="both" v-if="totalpageFileList"> <br clear="both" v-if="totalpageFileList">
<h4>Manuscirpt : </h4> <h4>Manuscript : </h4>
<p> <p>
<a v-for="item in manuscirptFileList" :href="mediaUrl + item.file_url"> <a v-for="item in manuscirptFileList" :href="mediaUrl + item.file_url">
<img src="../../assets/img/icon_0.png"> <img src="../../assets/img/icon_0.png">

View File

@@ -82,7 +82,7 @@
</a> </a>
</p> </p>
<br clear="both" v-if="totalpageFileList"> <br clear="both" v-if="totalpageFileList">
<h4>Manuscirpt : </h4> <h4>Manuscript : </h4>
<p> <p>
<a v-for="item in manuscirptFileList" :href="mediaUrl + item.file_url"> <a v-for="item in manuscirptFileList" :href="mediaUrl + item.file_url">
<img src="../../assets/img/icon_0.png"> <img src="../../assets/img/icon_0.png">
@@ -1024,7 +1024,7 @@
// 上传文件 // 上传文件
onsubmit() { onsubmit() {
if (this.proposalForm.proposal_file == '') { if (this.proposalForm.proposal_file == '') {
this.$message.error('Manuscirpt file is required'); this.$message.error('Manuscript file is required');
return false; return false;
} }
this.loading = true; this.loading = true;

View File

@@ -136,7 +136,7 @@
</a> </a>
</p> </p>
<br clear="both" v-if="totalpageFileList"> <br clear="both" v-if="totalpageFileList">
<h4>Manuscirpt : </h4> <h4>Manuscript : </h4>
<p> <p>
<a v-for="item in manuscirptFileList" :href="mediaUrl + item.file_url"> <a v-for="item in manuscirptFileList" :href="mediaUrl + item.file_url">
<img src="../../assets/img/icon_0.png"> <img src="../../assets/img/icon_0.png">
@@ -826,7 +826,7 @@
// 上传文件 // 上传文件
saveAgain() { saveAgain() {
if (this.form.manuscirpt == '') { if (this.form.manuscirpt == '') {
this.$message.error('Manuscirpt is required'); this.$message.error('Manuscript is required');
return false; return false;
} }
this.loading = true; this.loading = true;

View File

@@ -219,7 +219,7 @@
</a> </a>
</p> </p>
<br clear="both" v-if="totalpageFileList"> <br clear="both" v-if="totalpageFileList">
<h4>Manuscirpt : </h4> <h4>Manuscript : </h4>
<p> <p>
<a v-for="item in manuscirptFileList" :href="mediaUrl + item.file_url"> <a v-for="item in manuscirptFileList" :href="mediaUrl + item.file_url">
<img src="../../assets/img/icon_0.png"> <img src="../../assets/img/icon_0.png">

View File

@@ -350,7 +350,7 @@
</a> </a>
</p> </p>
<br clear="both" v-if="supplementaryFileList"> <br clear="both" v-if="supplementaryFileList">
<h4>Manuscirpt : </h4> <h4>Manuscript : </h4>
<p> <p>
<a v-for="item in manuscirptFileList" :href="mediaUrl + item.file_url"> <a v-for="item in manuscirptFileList" :href="mediaUrl + item.file_url">
<img src="../../assets/img/icon_0.png"> <img src="../../assets/img/icon_0.png">

View File

@@ -275,7 +275,7 @@
</a> </a>
</p> </p>
<br clear="both" v-if="supplementaryFileList"> <br clear="both" v-if="supplementaryFileList">
<h4>Manuscirpt : </h4> <h4>Manuscript : </h4>
<p> <p>
<a v-for="item in manuscirptFileList" :href="mediaUrl + item.file_url"> <a v-for="item in manuscirptFileList" :href="mediaUrl + item.file_url">
<img src="../../assets/img/icon_0.png"> <img src="../../assets/img/icon_0.png">

View File

@@ -330,7 +330,7 @@
</div> </div>
<div class="fi_new" v-if="item.file.manuscirpt"> <div class="fi_new" v-if="item.file.manuscirpt">
<p> <p>
Manuscirpt Manuscript
<sup style="color: #006699">({{ item.file.manuscirpt.length }})</sup> : <sup style="color: #006699">({{ item.file.manuscirpt.length }})</sup> :
<b <b
class="btnUpDown el-icon-arrow-up" class="btnUpDown el-icon-arrow-up"

View File

@@ -721,7 +721,7 @@ export default {
this.fileData = res.upurl; this.fileData = res.upurl;
this.form.manuscirpt = 'manuscirpt/' + res.upurl; this.form.manuscirpt = 'manuscirpt/' + res.upurl;
this.fileL_manuscirpt = [{}]; this.fileL_manuscirpt = [{}];
this.fileL_manuscirpt[0].name = 'Manuscirpt File'; this.fileL_manuscirpt[0].name = 'Manuscript File';
this.fileL_manuscirpt[0].url = 'manuscirpt/' + res.upurl; this.fileL_manuscirpt[0].url = 'manuscirpt/' + res.upurl;
} else { } else {
this.$message.error('service error: ' + res.msg); this.$message.error('service error: ' + res.msg);

View File

@@ -198,7 +198,7 @@
</el-upload> </el-upload>
</p> </p>
<br clear="both"> --> <br clear="both"> -->
<h4><b style="margin-right:5px;color: red;">*</b>Manuscirpt :</h4> <h4><b style="margin-right:5px;color: red;">*</b>Manuscript :</h4>
<p> <p>
<el-upload class="upload-demo" :action="upload_manuscirpt" accept=".docx" <el-upload class="upload-demo" :action="upload_manuscirpt" accept=".docx"
name="manuscirpt" :before-upload="beforeupload_manuscirpt" name="manuscirpt" :before-upload="beforeupload_manuscirpt"
@@ -450,7 +450,7 @@
</a> </a>
</p> </p>
<br clear="both" v-if="supplementaryFileList"> <br clear="both" v-if="supplementaryFileList">
<h4>Manuscirpt : </h4> <h4>Manuscript : </h4>
<p> <p>
<a v-for="item in manuscirptFileList" :href="mediaUrl + item.file_url"> <a v-for="item in manuscirptFileList" :href="mediaUrl + item.file_url">
<img src="../../assets/img/icon_0.png"> <img src="../../assets/img/icon_0.png">

View File

@@ -162,7 +162,7 @@
</a> </a>
</p> </p>
<br clear="both" v-if="supplementaryFileList"> <br clear="both" v-if="supplementaryFileList">
<h4>Manuscirpt : </h4> <h4>Manuscript : </h4>
<p> <p>
<a v-for="item in manuscirptFileList" :href="mediaUrl + item.file_url"> <a v-for="item in manuscirptFileList" :href="mediaUrl + item.file_url">
<img src="../../assets/img/icon_0.png"> <img src="../../assets/img/icon_0.png">

View File

@@ -3,7 +3,7 @@
<div class="crumbs"> <div class="crumbs">
<el-breadcrumb separator="/"> <el-breadcrumb separator="/">
<el-breadcrumb-item> <el-breadcrumb-item>
<i class="el-icon-lx-calendar"></i> Add manuscirpt <i class="el-icon-lx-calendar"></i> Add manuscript
</el-breadcrumb-item> </el-breadcrumb-item>
</el-breadcrumb> </el-breadcrumb>
</div> </div>

View File

@@ -418,7 +418,7 @@ export default {
this.fileData = res.upurl; this.fileData = res.upurl;
this.form.manuscirpt = 'manuscirpt/' + res.upurl; this.form.manuscirpt = 'manuscirpt/' + res.upurl;
this.fileL_manuscirpt = [{}]; this.fileL_manuscirpt = [{}];
this.fileL_manuscirpt[0].name = 'Manuscirpt File'; this.fileL_manuscirpt[0].name = 'Manuscript File';
this.fileL_manuscirpt[0].url = 'manuscirpt/' + res.upurl; this.fileL_manuscirpt[0].url = 'manuscirpt/' + res.upurl;
} else { } else {
this.$message.error('service error: ' + res.msg); this.$message.error('service error: ' + res.msg);

View File

@@ -80,7 +80,7 @@
<!-- </el-dialog> --> <!-- </el-dialog> -->
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button type="" @click="reviewerVisible = false">Cancal</el-button> <el-button type="" @click="reviewerVisible = false">Cancel</el-button>
</span> </span>
</el-dialog> </el-dialog>
</template> </template>

View File

@@ -88,7 +88,7 @@
>Create Html Proofread</el-button >Create Html Proofread</el-button
> >
</div> --> </div> -->
<!-- <el-radio v-model="createType" label="1">Use last manuscirpt version</el-radio> <!-- <el-radio v-model="createType" label="1">Use last manuscript version</el-radio>
<el-radio v-model="createType" label="2">Use new file upload</el-radio> --> <el-radio v-model="createType" label="2">Use new file upload</el-radio> -->
<!-- 使用默认最新稿件生成 --> <!-- 使用默认最新稿件生成 -->
@@ -416,7 +416,7 @@ export default {
this.fileData = res.upurl; this.fileData = res.upurl;
this.form.manuscirpt = 'manuscirpt/' + res.upurl; this.form.manuscirpt = 'manuscirpt/' + res.upurl;
this.fileL_manuscirpt = [{}]; this.fileL_manuscirpt = [{}];
this.fileL_manuscirpt[0].name = 'Manuscirpt File'; this.fileL_manuscirpt[0].name = 'Manuscript File';
this.fileL_manuscirpt[0].url = 'manuscirpt/' + res.upurl; this.fileL_manuscirpt[0].url = 'manuscirpt/' + res.upurl;
} else { } else {
this.$message.error('service error: ' + res.msg); this.$message.error('service error: ' + res.msg);

View File

@@ -1203,7 +1203,7 @@ export default {
this.fileData = res.upurl; this.fileData = res.upurl;
this.form.manuscirpt = 'manuscirpt/' + res.upurl; this.form.manuscirpt = 'manuscirpt/' + res.upurl;
this.fileL_manuscirpt = [{}]; this.fileL_manuscirpt = [{}];
this.fileL_manuscirpt[0].name = 'Manuscirpt File'; this.fileL_manuscirpt[0].name = 'Manuscript File';
this.fileL_manuscirpt[0].url = 'manuscirpt/' + res.upurl; this.fileL_manuscirpt[0].url = 'manuscirpt/' + res.upurl;
} else { } else {
this.$message.error('service error: ' + res.msg); this.$message.error('service error: ' + res.msg);

View File

@@ -496,7 +496,7 @@
v-if="totalItems > 0 && totalNumbers > 0" v-if="totalItems > 0 && totalNumbers > 0"
class="item" class="item"
effect="dark" effect="dark"
:content="`There are ${totalItems} paragraphs with unresolved errors in the Manuscirpt`" :content="`There are ${totalItems} paragraphs with unresolved errors in the Manuscript`"
placement="top-start" placement="top-start"
> >
<span class="info-text" <span class="info-text"

View File

@@ -12,7 +12,7 @@
<el-collapse v-model="activeNames" @change="changeActiveNames" <el-collapse v-model="activeNames" @change="changeActiveNames"
><el-collapse-item name="images" style="" v-if="images.length > 0"> ><el-collapse-item name="images" style="" v-if="images.length > 0">
<template slot="title"> <template slot="title">
<p style="font-weight: bold; color: #222 !important">Manuscirpt Figures ( {{ images.length }} )</p> <p style="font-weight: bold; color: #222 !important">Manuscript Figures ( {{ images.length }} )</p>
<!-- <p style="margin-left: 20px"> <!-- <p style="margin-left: 20px">
<i class="header-icon el-icon-info"></i <i class="header-icon el-icon-info"></i
@@ -125,7 +125,7 @@
</el-collapse-item> </el-collapse-item>
<el-collapse-item name="tables" style="" v-if="tables.length > 0"> <el-collapse-item name="tables" style="" v-if="tables.length > 0">
<template slot="title"> <template slot="title">
<p style="font-weight: bold; color: #222">Manuscirpt Tables ( {{ tables.length }} )</p> <p style="font-weight: bold; color: #222">Manuscript Tables ( {{ tables.length }} )</p>
<!-- <p style="margin-left: 20px"> <!-- <p style="margin-left: 20px">
<i class="header-icon el-icon-info"></i <i class="header-icon el-icon-info"></i

View File

@@ -5,7 +5,7 @@
<el-collapse v-model="activeNames" @change="changeActiveNames" <el-collapse v-model="activeNames" @change="changeActiveNames"
><el-collapse-item name="images" style="" v-if="images.length > 0"> ><el-collapse-item name="images" style="" v-if="images.length > 0">
<template slot="title"> <template slot="title">
<p style="font-weight: bold; color: #222 !important">Manuscirpt Figures ( {{ images.length }} )</p> <p style="font-weight: bold; color: #222 !important">Manuscript Figures ( {{ images.length }} )</p>
<!-- <p style="margin-left: 20px"> <!-- <p style="margin-left: 20px">
<i class="header-icon el-icon-info"></i <i class="header-icon el-icon-info"></i
@@ -85,7 +85,7 @@
</el-collapse-item> </el-collapse-item>
<el-collapse-item name="tables" style="" v-if="tables.length > 0"> <el-collapse-item name="tables" style="" v-if="tables.length > 0">
<template slot="title"> <template slot="title">
<p style="font-weight: bold; color: #222">Manuscirpt Tables ( {{ tables.length }} )</p> <p style="font-weight: bold; color: #222">Manuscript Tables ( {{ tables.length }} )</p>
<!-- <p style="margin-left: 20px"> <!-- <p style="margin-left: 20px">
<i class="header-icon el-icon-info"></i <i class="header-icon el-icon-info"></i

View File

@@ -520,7 +520,7 @@
</el-col> </el-col>
</el-row> </el-row>
<el-col :span="24"> <el-col :span="24">
<h4>Manuscirpt : </h4> <h4>Manuscript : </h4>
<p class="fi_new"> <p class="fi_new">
<a v-for="item in manuscirptFileList" :href="mediaUrl + item.file_url"> <a v-for="item in manuscirptFileList" :href="mediaUrl + item.file_url">
<img src="../../assets/img/icon_0.png"> <img src="../../assets/img/icon_0.png">

View File

@@ -44,7 +44,7 @@
<div class="file_sty" v-for="item in fileList" style="margin-top: 15px"> <div class="file_sty" v-for="item in fileList" style="margin-top: 15px">
<img src="../../assets/img/icon_0.png" alt="" class="icon_img" /> <img src="../../assets/img/icon_0.png" alt="" class="icon_img" />
<a :href="mediaUrl + item.file_url" target="_blank" class="txt_pdf" <a :href="mediaUrl + item.file_url" target="_blank" class="txt_pdf"
>Manuscirpt >Manuscript
<span style="margin-left: 50px; color: #888; font-size: 13px">{{ item.ctime }}</span> <span style="margin-left: 50px; color: #888; font-size: 13px">{{ item.ctime }}</span>
<i class="el-icon-download" style="margin-left: 20px; color: #66b1ff; font-weight: bold"></i> </a <i class="el-icon-download" style="margin-left: 20px; color: #66b1ff; font-weight: bold"></i> </a
><br /> ><br />
@@ -192,7 +192,7 @@ If you're still having trouble with Chrome, you could use other browsers to comp
<div class="file_sty" v-for="(item,i) in article_response" style="margin-top: 15px;width: 50%;float: left"> <div class="file_sty" v-for="(item,i) in article_response" style="margin-top: 15px;width: 50%;float: left">
<img src="../../assets/img/icon_0.png" alt="" class="icon_img" /> <img src="../../assets/img/icon_0.png" alt="" class="icon_img" />
<a :href="mediaUrl + item.file_url" target="_blank" class="txt_pdf" <a :href="mediaUrl + item.file_url" target="_blank" class="txt_pdf"
>Manuscirpt >Manuscript
<span style="margin-left: 10px; color: #888; font-size: 13px">{{ item.artr_ctime }}</span> <span style="margin-left: 10px; color: #888; font-size: 13px">{{ item.artr_ctime }}</span>
<i class="el-icon-download" style="margin-left: 20px; color: #66b1ff; font-weight: bold"></i> <i class="el-icon-download" style="margin-left: 20px; color: #66b1ff; font-weight: bold"></i>

View File

@@ -25,7 +25,7 @@
<div class="file_sty" v-for="item in fileList"> <div class="file_sty" v-for="item in fileList">
<img src="../../assets/img/icon_0.png" alt="" class="icon_img"> <img src="../../assets/img/icon_0.png" alt="" class="icon_img">
<a :href='mediaUrl+item.file_url' target="_blank" class="txt_pdf">Manuscirpt <a :href='mediaUrl+item.file_url' target="_blank" class="txt_pdf">Manuscript
<span style="margin-left: 50px;color: #888;font-size: 13px;">{{item.ctime}}</span> <span style="margin-left: 50px;color: #888;font-size: 13px;">{{item.ctime}}</span>
<i class="el-icon-download" style="margin-left: 20px;color: #66b1ff;font-weight: bold;"></i> <i class="el-icon-download" style="margin-left: 20px;color: #66b1ff;font-weight: bold;"></i>
</a><br> </a><br>

View File

@@ -25,7 +25,7 @@
<div class="file_sty" v-for="item in fileList"> <div class="file_sty" v-for="item in fileList">
<img src="../../assets/img/icon_0.png" alt="" class="icon_img"> <img src="../../assets/img/icon_0.png" alt="" class="icon_img">
<a :href='mediaUrl+item.file_url' target="_blank" class="txt_pdf">Manuscirpt <a :href='mediaUrl+item.file_url' target="_blank" class="txt_pdf">Manuscript
<span style="margin-left: 50px;color: #888;font-size: 13px;">{{item.ctime}}</span> <span style="margin-left: 50px;color: #888;font-size: 13px;">{{item.ctime}}</span>
<i class="el-icon-download" style="margin-left: 20px;color: #66b1ff;font-weight: bold;"></i> <i class="el-icon-download" style="margin-left: 20px;color: #66b1ff;font-weight: bold;"></i>
</a><br> </a><br>

View File

@@ -141,7 +141,7 @@
<br clear="both"> <br clear="both">
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<h4>Manuscirpt : </h4> <h4>Manuscript : </h4>
<p class="fi_new"> <p class="fi_new">
<a v-for="item in manuscirptFileList" :href="mediaUrl + item.file_url"> <a v-for="item in manuscirptFileList" :href="mediaUrl + item.file_url">
<img src="../../assets/img/icon_0.png"> <img src="../../assets/img/icon_0.png">
@@ -730,7 +730,7 @@
}, },
onsubmit() { onsubmit() {
if (this.form.manuscirpt == '') { if (this.form.manuscirpt == '') {
this.$message.error('Manuscirpt is required!'); this.$message.error('Manuscript is required!');
return false; return false;
} }
this.loading = true; this.loading = true;

View File

@@ -253,7 +253,7 @@
</a> </a>
</p> </p>
<br clear="both" v-if="supplementaryFileList"> <br clear="both" v-if="supplementaryFileList">
<h4>Manuscirpt : </h4> <h4>Manuscript : </h4>
<p> <p>
<a v-for="item in manuscirptFileList" :href="mediaUrl + item.file_url"> <a v-for="item in manuscirptFileList" :href="mediaUrl + item.file_url">
<img src="../../assets/img/icon_0.png"> <img src="../../assets/img/icon_0.png">

View File

@@ -25,7 +25,7 @@
<div class="file_sty" v-for="item in fileList"> <div class="file_sty" v-for="item in fileList">
<img src="../../assets/img/icon_0.png" alt="" class="icon_img"> <img src="../../assets/img/icon_0.png" alt="" class="icon_img">
<a :href='mediaUrl+item.file_url' target="_blank" class="txt_pdf">Manuscirpt <a :href='mediaUrl+item.file_url' target="_blank" class="txt_pdf">Manuscript
<span style="margin-left: 50px;color: #888;font-size: 13px;">{{item.ctime}}</span> <span style="margin-left: 50px;color: #888;font-size: 13px;">{{item.ctime}}</span>
<i class="el-icon-download" style="margin-left: 20px;color: #66b1ff;font-weight: bold;"></i> <i class="el-icon-download" style="margin-left: 20px;color: #66b1ff;font-weight: bold;"></i>
</a><br> </a><br>

View File

@@ -25,7 +25,7 @@
<div class="file_sty" v-for="item in fileList"> <div class="file_sty" v-for="item in fileList">
<img src="../../assets/img/icon_0.png" alt="" class="icon_img"> <img src="../../assets/img/icon_0.png" alt="" class="icon_img">
<a :href='mediaUrl+item.file_url' target="_blank" class="txt_pdf">Manuscirpt <a :href='mediaUrl+item.file_url' target="_blank" class="txt_pdf">Manuscript
<span style="margin-left: 50px;color: #888;font-size: 13px;">{{item.ctime}}</span> <span style="margin-left: 50px;color: #888;font-size: 13px;">{{item.ctime}}</span>
<i class="el-icon-download" style="margin-left: 20px;color: #66b1ff;font-weight: bold;"></i> <i class="el-icon-download" style="margin-left: 20px;color: #66b1ff;font-weight: bold;"></i>
</a><br> </a><br>

View File

@@ -116,7 +116,7 @@
<el-button class="more_btn" icon="el-icon-download" type="text" slot="reference">Download</el-button> <el-button class="more_btn" icon="el-icon-download" type="text" slot="reference">Download</el-button>
</el-popover> </el-popover>
</el-form-item> </el-form-item>
<el-form-item label="Manuscirpt"> <el-form-item label="Manuscript">
<!-- <el-link <!-- <el-link
:underline="false" :underline="false"
:href="manuscirptUrl" :href="manuscirptUrl"

View File

@@ -29,7 +29,7 @@
<div class="file_sty" v-for="item in fileList" style="margin-top: 15px"> <div class="file_sty" v-for="item in fileList" style="margin-top: 15px">
<img src="../../assets/img/icon_0.png" alt="" class="icon_img" /> <img src="../../assets/img/icon_0.png" alt="" class="icon_img" />
<a :href="mediaUrl + item.file_url" target="_blank" class="txt_pdf" <a :href="mediaUrl + item.file_url" target="_blank" class="txt_pdf"
>Manuscirpt >Manuscript
<span style="margin-left: 50px; color: #888; font-size: 13px">{{ item.ctime }}</span> <span style="margin-left: 50px; color: #888; font-size: 13px">{{ item.ctime }}</span>
<i class="el-icon-download" style="margin-left: 20px; color: #66b1ff; font-weight: bold"></i> </a <i class="el-icon-download" style="margin-left: 20px; color: #66b1ff; font-weight: bold"></i> </a
><br /> ><br />

View File

@@ -39,7 +39,7 @@
<el-button class="more_btn" icon="el-icon-download" type="text" slot="reference">download</el-button> <el-button class="more_btn" icon="el-icon-download" type="text" slot="reference">download</el-button>
</el-popover> </el-popover>
</el-form-item> </el-form-item>
<el-form-item label="Manuscirpt"> <el-form-item label="Manuscript">
<el-popover placement="right" width="350" trigger="click"> <el-popover placement="right" width="350" trigger="click">
<el-table :data="articlefileList" empty-text="New messages (0)"> <el-table :data="articlefileList" empty-text="New messages (0)">
<el-table-column width="150" :formatter="filedateformate" property="ctime" align="center" label="date"></el-table-column> <el-table-column width="150" :formatter="filedateformate" property="ctime" align="center" label="date"></el-table-column>

View File

@@ -92,19 +92,14 @@ async function loadJournalType() {
async function loadJournalList() { async function loadJournalList() {
try { try {
const localData = store.state.journalList; const localData = store.state.journalList;
console.log('localData at line 93:', localData);
if (localData && Array.isArray(localData) && localData.length > 0) { if (localData && Array.isArray(localData) && localData.length > 0) {
return localData; return localData;
} }
const res = await api.post('api/Article/getJournal', {}); const res = await api.post('api/Article/getJournal', {});
if (res ) { if (res) {
const journalList = res; const journalList = res;
store.commit('setJournalList', journalList); store.commit('setJournalList', journalList);
return journalList; return journalList;
@@ -212,7 +207,7 @@ const i18n = new VueI18n({
messages messages
}); });
//使用钩子函数对路由进行权限跳转 //使用钩子函数对路由进行权限跳转
router.beforeEach(async(to, from, next) => { router.beforeEach(async (to, from, next) => {
try { try {
// 尝试请求接口(即使失败也继续后续逻辑) // 尝试请求接口(即使失败也继续后续逻辑)
await Promise.all([ await Promise.all([