This commit is contained in:
@fawn-nine
2023-07-26 17:30:04 +08:00
parent 09e8452903
commit 581d515cf8
8 changed files with 1013 additions and 49 deletions

View File

@@ -262,7 +262,7 @@
Click here to <img src="../../assets/img/icon_9.png" alt="" Click here to <img src="../../assets/img/icon_9.png" alt=""
class="icon_img"> class="icon_img">
<el-link> <el-link>
<b @click="apointVisible=true">add your citation records.</b> <b @click="apointVisible=true">add valuable references.</b>
</el-link> </el-link>
</p> </p>
</div> </div>

View File

@@ -0,0 +1,486 @@
<template>
<div>
<el-row :gutter="10">
<!-- 主体内容区域 -->
<el-col :md="24" :lg="18">
<el-card shadow="never" class="box-card" style="">
<el-divider content-position="center">ARTICLE INFROMATION</el-divider>
<!-- 文章信息 -->
<div class="tet_list" :model="articleInfo">
<h4>{{articleInfo.title}}</h4>
<h5>
<a :href="articleInfo.website" target="_blank" class="titlink">{{articleInfo.journal_title}}</a>
<span style="margin: 0 10px;"> >> </span>
Manuscript ID: {{articleInfo.accept_sn}}
</h5>
<!-- <p style="display:inline-block;margin: 0 35px;"><b>Type :</b> {{articleInfo.atype}}</p> -->
<p style="display:inline-block; margin: 0 35px;"><b>Submitted time :</b> {{articleInfo.ctime|formatDate()}}</p>
<div style="overflow: hidden;">
<p><b>Abstract :</b> <br>{{articleInfo.abstrart}}</p>
<el-row :gutter="10" style="margin: 30px 0;" class="flexbox">
<el-col :span="8" class="file">
<!-- 稿件主体 -->
<h6>manuscript:</h6>
<div class="file_sty" v-for="item in fileList.manuscript" >
<img src="../../assets/img/icon_0.png" alt="" class="icon_img">
<a :href='mediaUrl+item.file_url' target="_blank" class="txt_pdf">{{item.type_name}}
<span
style="margin-left: 50px;color: #888;font-size: 13px;">{{item.ctime|formatDate()}}</span>
<i class="el-icon-download"
style="margin-left: 20px;color: #66b1ff;font-weight: bold;"></i>
</a><br>
</div>
</el-col>
<el-col :span="8" style="border-left: #eee 1px solid ;" class="file" v-if="fileList.response && fileList.response.length > 0">
<!-- 作者对审稿人的话 -->
<h6>response:</h6>
<div class="file_sty" v-for="item in fileList.response">
<img src="../../assets/img/icon_0.png" alt="" class="icon_img">
<a :href='mediaUrl+item.file_url' target="_blank" class="txt_pdf">response
<span
style="margin-left: 50px;color: #888;font-size: 13px;">{{item.artr_ctime|formatDate()}}</span>
<i class="el-icon-download"
style="margin-left: 20px;color: #66b1ff;font-weight: bold;"></i>
</a><br>
</div>
</el-col>
<el-col :span="8" style="border-left: #eee 1px solid ;" class="file" v-if="fileList.figures && fileList.figures.length > 0">
<!-- 任意类型的文件 -->
<h6>figures:</h6>
<div class="file_sty" v-for="item in fileList.figures" >
<img src="../../assets/img/icon_0.png" alt="" class="icon_img">
<a :href='mediaUrl+item.file_url' target="_blank" class="txt_pdf">figures
<span
style="margin-left: 50px;color: #888;font-size: 13px;">{{item.ctime|formatDate()}}</span>
<i class="el-icon-download"
style="margin-left: 20px;color: #66b1ff;font-weight: bold;"></i>
</a><br>
</div>
</el-col>
</el-row>
</div>
</div>
<!-- end -->
<el-form :model="questionform" ref="question" label-width="300px" label-position="top" :rules="questionformRule">
<el-divider content-position="center">REFEREE'S RECOMMENDATIONS</el-divider>
<el-form-item label="REFEREE'S RECOMMENDATIONS" prop="recommend">
<el-radio-group v-model="questionform.recommend" style="line-height: 30px;">
<el-radio :label="1">Accept</el-radio>
<el-radio :label="2">Reject</el-radio>
<!-- 退修改 -->
<el-radio :label="3">Revison</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="Confidential Comments to the Editor" v-if="questionform.recommend == 3">
<el-input type="textarea" placeholder="please input content" v-model="questionform.content" :rows="8"></el-input>
</el-form-item>
<el-form-item label-width="0" style="text-align: center;">
<el-button type="primary" @click="submit">Submit</el-button>
</el-form-item>
</el-form>
</el-card>
</el-col>
<!-- 既往审稿历史 -->
<el-col :md="24" :lg="6" v-loading="loading">
<el-card shadow="never" class="box-card" style="">
<div slot="header" class="clearfix">
<h4>Peer-review Archive</h4>
</div>
<div class="time">
<el-timeline>
<el-timeline-item reverse="true" :timestamp="item.ctime|formatDatehms" placement="top" v-for="(item, index) in recordList" :key="index">
<el-card>
<h4></h4>
<div>
<div v-if="index == recordList.length-1">
<!-- 初审 -->
<el-tag >Under review</el-tag>
<p style="margin-top: 10px;">Comments: <el-button style="margin-left:10px;" type="text" @click="showUnderReview(item)" icon="el-icon-view">Details</el-button></p>
</div>
<div v-else >
<!-- 复审 -->
<el-tag type="success">Second review</el-tag>
<p style="margin-top: 10px;">Comments: <el-button style="margin-left:10px;" type="text" @click="showSecondReview(item)" icon="el-icon-view">Details</el-button></p>
<p style="" class="stime">
Response time: {{item.stime|formatDatehms}}
</p>
</div>
</div>
</el-card>
</el-timeline-item>
</el-timeline>
</div>
</el-card>
</el-col>
</el-row>
<!-- 初审问卷 -->
<el-dialog title="Feedback questionnaire" :visible.sync="dialogFormVisible" width="900px" @close="closeUnderDia">
<el-form :model="undeQuestion" ref="question" label-width="300px" label-position="top">
<el-divider content-position="center">REFEREE'S ASSESSMENT</el-divider>
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="1.Originality of the topic">
<el-radio-group v-model="undeQuestion.qu1">
<el-radio :label="1">Excellent</el-radio>
<el-radio :label="2">Good</el-radio>
<el-radio :label="3">Fair</el-radio>
<el-radio :label="4">Poor</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="2.Importance in its Field">
<el-radio-group v-model="undeQuestion.qu3">
<el-radio :label="1">Excellent</el-radio>
<el-radio :label="2">Good</el-radio>
<el-radio :label="3">Fair</el-radio>
<el-radio :label="4">Poor</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="3.Does the manuscript fall within the aim and scope of the journal?">
<el-radio-group v-model="undeQuestion.qu6">
<el-radio :label="1">Excellent</el-radio>
<el-radio :label="2">Good</el-radio>
<el-radio :label="3">Fair</el-radio>
<el-radio :label="4">Poor</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="4.English language">
<el-radio-group v-model="undeQuestion.qu8">
<el-radio :label="1">Excellent</el-radio>
<el-radio :label="2">Good</el-radio>
<el-radio :label="3">Fair</el-radio>
<el-radio :label="4">Poor</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="5.Readily Understandable">
<el-radio-group v-model="undeQuestion.qu5">
<el-radio :label="1">Excellent</el-radio>
<el-radio :label="2">Good</el-radio>
<el-radio :label="3">Fair</el-radio>
<el-radio :label="4">Poor</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-collapse>
<el-form-item label="6.Does the title represent manuscript's contents?">
<el-col :span="8">
<el-radio-group v-model="undeQuestion.qu9">
<el-radio :label="true">Yes</el-radio>
<el-radio :label="false">No</el-radio>
</el-radio-group>
</el-col>
<el-col :span="12">
<el-collapse-item name="1" style="margin-top: -10px;">
<template slot="title">
<i class="el-icon-edit"></i>Comments/ Suggestions
</template>
<el-input type="textarea" placeholder="please input content" v-model="undeQuestion.qu9contents" :rows="4"></el-input>
</el-collapse-item>
</el-col>
</el-form-item>
</el-collapse>
</el-col>
</el-row>
<el-collapse>
<el-form-item label="7.Is the Abstract accurate and concise?">
<el-col :span="4">
<el-radio-group v-model="undeQuestion.qu10">
<el-radio :label="true">Yes</el-radio>
<el-radio :label="false">No</el-radio>
</el-radio-group>
</el-col>
<el-col :span="20">
<el-collapse-item name="2" style="margin-top: -10px;">
<template slot="title">
<i class="el-icon-edit"></i>Comments/ Suggestions
</template>
<el-input type="textarea" placeholder="please input content" v-model="undeQuestion.qu10contents" :rows="4"></el-input>
</el-collapse-item>
</el-col>
</el-form-item>
<el-form-item label="8.Are the approach/ methods properly described?">
<el-col :span="4">
<el-radio-group v-model="undeQuestion.qu11">
<el-radio :label="true">Yes</el-radio>
<el-radio :label="false">No</el-radio>
</el-radio-group>
</el-col>
<el-col :span="20">
<el-collapse-item name="3" style="margin-top: -10px;">
<template slot="title">
<i class="el-icon-edit"></i>Comments/ Suggestions
</template>
<el-input type="textarea" placeholder="please input content" v-model="undeQuestion.qu11contents" :rows="4"></el-input>
</el-collapse-item>
</el-col>
</el-form-item>
<el-form-item label="9.Are the conclusions and interpretations sound?">
<el-col :span="4">
<el-radio-group v-model="undeQuestion.qu12">
<el-radio :label="true">Yes</el-radio>
<el-radio :label="false">No</el-radio>
</el-radio-group>
</el-col>
<el-col :span="20">
<el-collapse-item name="4" style="margin-top: -10px;">
<template slot="title">
<i class="el-icon-edit"></i>Comments/ Suggestions
</template>
<el-input type="textarea" placeholder="please input content" v-model="undeQuestion.qu12contents" :rows="4"></el-input>
</el-collapse-item>
</el-col>
</el-form-item>
<el-form-item label="10.Are the references properly cited?">
<el-col :span="4">
<el-radio-group v-model="undeQuestion.qu13">
<el-radio :label="true">Yes</el-radio>
<el-radio :label="false">No</el-radio>
</el-radio-group>
</el-col>
<el-col :span="20">
<el-collapse-item name="5" style="margin-top: -10px;">
<template slot="title">
<i class="el-icon-edit"></i>Comments/ Suggestions
</template>
<el-input type="textarea" placeholder="please input content" v-model="undeQuestion.qu13contents" :rows="4"></el-input>
</el-collapse-item>
</el-col>
</el-form-item>
<el-divider content-position="center">REFEREE'S RECOMMENDATIONS</el-divider>
<el-form-item label="Overall the Paper is Rated">
(Poor------------------------Excellent)
<br />
<el-radio-group v-model="undeQuestion.rated" size="small">
<el-radio-button label="1"></el-radio-button>
<el-radio-button label="2"></el-radio-button>
<el-radio-button label="3"></el-radio-button>
<el-radio-button label="4"></el-radio-button>
<el-radio-button label="5"></el-radio-button>
<el-radio-button label="6"></el-radio-button>
<el-radio-button label="7"></el-radio-button>
<el-radio-button label="8"></el-radio-button>
<el-radio-button label="9"></el-radio-button>
<el-radio-button label="10"></el-radio-button>
</el-radio-group>
<span style="margin-left: 20px;">>Your score:{{undeQuestion.rated}}</span>
</el-form-item>
<el-form-item label="REFEREE'S RECOMMENDATIONS" prop="recommend">
<el-radio-group v-model="undeQuestion.recommend" style="line-height: 30px;">
<el-radio :label="1">Accept with minor revision</el-radio>
<br />
<el-radio :label="2">Accept with major revision</el-radio>
<br />
<el-radio :label="3">Reject in current form, but may be resubmitted</el-radio>
<br />
<el-radio :label="4">Reject, with no resubmission</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="OTHER SPECIFIC CRITICISMS">
<el-radio-group v-model="undeQuestion.other" style="line-height: 30px;">
<el-radio :label="1">Imperfect style</el-radio>
<br />
<el-radio :label="2">Too long</el-radio>
<br />
<el-radio :label="3">References incorrectly presented</el-radio>
<br />
<el-radio :label="4">Typographical and Grammatical errors</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="Comments for the Authors">
<el-input type="textarea" placeholder="please input content" v-model="undeQuestion.comment" :rows="8"></el-input>
</el-form-item>
<el-form-item label="Confidential Comments to the Editor">
<el-input type="textarea" placeholder="please input content" v-model="undeQuestion.confident" :rows="8"></el-input>
</el-form-item>
<el-form-item label="Please choose disclose your name or remain anonymous.">
<el-radio-group v-model="undeQuestion.is_anonymous" style="line-height: 30px;">
<el-radio :label="0">Disclose name</el-radio>
<br />
<el-radio :label="1">Remain anonymous</el-radio>
</el-radio-group>
<p style="line-height: 20px;color: #aaa;font-size: 13px;margin: 12px 0 0 0;">
If you agree to disclose your name, we will acknowledge you by name in the published
PDF. However, if you prefer to remain anonymous, we will still express our gratitude
by thanking you as an anonymous reviewer.
<br />For example, {{articleInfo.journal_title}} would like to thank AAAAAAAA, BBBBBBBB, and other anonymous reviewers for their
invaluable contributions to the peer review process of this paper.
</p>
</el-form-item>
</el-collapse>
</el-form>
</el-dialog>
<!-- 复审问卷 -->
<el-dialog title="Second review questionnaire" :visible.sync="FdialogFormVisible" width="900px" @close="closeSecDia">
<el-form :model="ReReviewQuestion" ref="question" label-width="300px" label-position="top" >
<el-divider content-position="center">REFEREE'S RECOMMENDATIONS</el-divider>
<el-form-item label="REFEREE'S RECOMMENDATIONS" prop="recommend">
<el-radio-group v-model="ReReviewQuestion.recommend" style="line-height: 30px;">
<el-radio :label="1">Accept</el-radio>
<el-radio :label="2">Reject</el-radio>
<!-- 退修改 -->
<el-radio :label="3">Revison</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="Confidential Comments to the Editor" v-if="ReReviewQuestion.recommend == 3">
<el-input type="textarea" placeholder="please input content" v-model="ReReviewQuestion.content" :rows="8"></el-input>
</el-form-item>
</el-form>
</el-dialog>
</div>
</template>
<script>
export default {
data(){
return{
loading: false,
questionform:{
art_rev_rep_id:null,
recommend:null,
content:''
},
// form:{},
questionformRule:{
recommend:[
{ required: true, message: 'Please select your recommendation', trigger: 'blur' },
]
},
recordList:[],
articleInfo:{},
fileList:{},
mediaUrl: this.Common.mediaUrl,
dialogFormVisible:false,
txt_mess:{},
undeQuestion:{},
FdialogFormVisible:false,
ReReviewQuestion:{}
}
},
created(){
this.getHistoryList()
},
methods:{
// 显示复审对话框
showSecondReview(item){
this.FdialogFormVisible = true
this.ReReviewQuestion = item
},
// 关闭初审对话框
closeUnderDia(){
this.dialogFormVisible = false
this.undeQuestion = {}
},
closeSecDia(){
this.FdialogFormVisible = false
this.ReReviewQuestion = {}
},
// 显示初审对话框
showUnderReview(item){
this.dialogFormVisible = true
this.undeQuestion = item
},
// 提交复审
submit(){
this.$refs['question'].validate((valid) => {
if (valid) {
// console.log(this.questionform,'this.questionform')
this.$api
.post('api/Reviewer/questionRepeat', this.questionform)
.then(res => {
this.loading = false;
if (res.code == 0) {
this.$message.success('successed !')
this.$router.push('/peerewer')
} else {
this.$message.error(res.msg);
}
})
.catch(err => {
this.loading = false;
console.log(err);
});
}
})
},
// 获取历史审稿列表
getHistoryList(){
this.loading = true
this.$api
.post('api/Reviewer/getReviewerRepeatDetail', {
'art_rev_id': this.$route.query.Art_id
})
.then(res => {
this.loading = false;
if (res.code == 0) {
this.questionform.art_rev_rep_id = res.data.art_rev_info.question[res.data.art_rev_info.question.length - 1].art_rev_rep_id
this.articleInfo = res.data.article_info
this.fileList = res.data.files
this.recordList = res.data.art_rev_info.question.reverse()
} else {
this.$message.error(res.msg);
}
})
.catch(err => {
this.loading = false;
console.log(err);
});
}
}
}
</script>
<style scoped>
.time p{color: #606266;}
.flexbox{display: flex; }
.file_sty {
margin-bottom: 6px;
}
.titlink {
color: #006699;
text-decoration: underline;
cursor: pointer;
}
.file:not(:first-child){padding-left: 15px !important;}
.file_sty a {
color: #606266;
font-size: 14px;
}
.file_sty a:hover {
text-decoration: underline;
}
.tet_list {
font-size: 20px;
}
.tet_list h5 {
font-size: 15px;
margin: 20px 0 5px 0;
font-weight: normal;
display: inline-block;
}
.tet_list h6 {
margin-top: 0; margin-bottom: 15px;
}
.tet_list p {
font-family: Calibri;
line-height: 22px;
font-size: 16px;
}
</style>

View File

@@ -93,7 +93,7 @@
</div> </div>
<div style="display: flex;margin-left: auto;"> <div style="display: flex;margin-left: auto;">
<div class="fixCard" style="width: 34%;"> <div class="fixCard" style="width: 33%;">
<b style="font-size: 16px;letter-spacing: -0.5px;">Manuscript Files</b> <b style="font-size: 16px;letter-spacing: -0.5px;">Manuscript Files</b>
<p style="height: 10px;"></p> <p style="height: 10px;"></p>
<div class="fi_new" v-if="item.file.coverLetter"> <div class="fi_new" v-if="item.file.coverLetter">
@@ -238,11 +238,11 @@
</p> </p>
</div> </div>
<div style="width: 1%;"></div> <div style="width: 1%;"></div>
<div class="fixCard" style="width: 16%;"> <div class="fixCard" style="width: 17%;">
<b style="font-size: 16px;letter-spacing: -0.5px;">Reviewer Decision</b> <b style="font-size: 16px;letter-spacing: -0.5px;">Reviewer Decision</b>
<p style="height: 5px;"></p> <p style="height: 5px;"></p>
<p v-for="(iken, index) in item.reviewScore" style="line-height: 28px;"> <p v-for="(iken, index) in item.reviewScore" style="line-height: 28px;" :key="index">
Reviewer{{index+1}} score : <b style="color: #db890e;font-size: 18px;">{{iken.rated}}</b> Reviewer{{index+1}} score : <b style="color: #db890e;font-size: 18px;">{{iken.rated}}</b><el-button style="margin-left: 10px;" type="text" @click="crateRevision(iken)" v-if="iken.can_repeat == 1" >Re-review</el-button>
</p> </p>
<p v-if="item.reviewScore.length>0" style="font-size: 15px;margin: 0 0 5px 0;"> <p v-if="item.reviewScore.length>0" style="font-size: 15px;margin: 0 0 5px 0;">
Average : <b style="font-size: 18px;color: #db890e;">{{avegeCount(item.reviewScore)}}</b> Average : <b style="font-size: 18px;color: #db890e;">{{avegeCount(item.reviewScore)}}</b>
@@ -967,6 +967,25 @@
console.log(err); console.log(err);
}); });
}, },
// 创建复审
crateRevision(item){
this.$api
.post('api/Reviewer/startRepeatReviewer', {
'art_rev_id': item.art_rev_id
})
.then(res => {
//console.log(res)
if(res.code == 0){
this.$message.success('A review invitation was successfully sent!')
this.getdate()
}else{
this.$message.error(res.msg)
}
})
.catch(err => {
console.log(err);
});
},
// 更新评分 // 更新评分
refreshScore(row){ refreshScore(row){
this.$api this.$api

View File

@@ -29,7 +29,7 @@
Comments from reviewers Comments from reviewers
</h2> </h2>
<el-collapse v-model="activeComment" v-if="comentDeploy!=''"> <el-collapse v-model="activeComment" v-if="comentDeploy!=''">
<el-collapse-item v-for="(item,index) in comentDeploy" :name="index" <el-collapse-item v-for="(item,index) in comentDeploy" :name="index" :key="index"
class="art_author_list"> class="art_author_list">
<template slot="title"> <template slot="title">
<b class="com_shu">{{index+1}}</b> <b class="com_shu">{{index+1}}</b>
@@ -39,32 +39,61 @@
{{formatDate1(item.ctime)}} {{formatDate1(item.ctime)}}
</font> </font>
</template> </template>
<div class="art_author_coment"> <!-- 时间轴 -->
<p v-if="item.qu9_contents!=''"> <el-timeline v-if="item.question && item.question[0] != null">
<font>Does the title represent manuscript's contents?</font> <el-timeline-item :timestamp="item1.ctime|formatDatehms" placement="top" v-for="(item1, index1) in item.question" :key="index1">
<pre>{{item.qu9_contents}}</pre> <el-card>
</p> <!-- 初审 -->
<p v-if="item.qu10_contents!=''"> <div v-if="index1 == item.question.length-1">
<font>Is the Abstract accurate and concise?</font> <h4><el-tag >Under review</el-tag></h4>
<pre>{{item.qu10_contents}}</pre> <!-- 内容 -->
</p> <div class="art_author_coment">
<p v-if="item.qu11_contents!=''"> <p v-if="item1.qu9_contents!=''">
<font>Are the approach/ methods properly described?</font> <font>Does the title represent manuscript's contents?</font>
<pre>{{item.qu11_contents}}</pre> <pre>{{item1.qu9_contents}}</pre>
</p> </p>
<p v-if="item.qu12_contents!=''"> <p v-if="item1.qu10_contents!=''">
<font>Are the conclusions and interpretations sound?</font> <font>Is the Abstract accurate and concise?</font>
<pre>{{item.qu12_contents}}</pre> <pre>{{item1.qu10_contents}}</pre>
</p> </p>
<p v-if="item.qu13_contents!=''"> <p v-if="item1.qu11_contents!=''">
<font>Are the references properly cited?</font> <font>Are the approach/ methods properly described?</font>
<pre>{{item.qu13_contents}}</pre> <pre>{{item1.qu11_contents}}</pre>
</p> </p>
<p v-if="item.comments!=''"> <p v-if="item1.qu12_contents!=''">
<font>Comments for the Authors</font> <font>Are the conclusions and interpretations sound?</font>
<pre>{{item.comments}}</pre> <pre>{{item1.qu12_contents}}</pre>
</p> </p>
</div> <p v-if="item1.qu13_contents!=''">
<font>Are the references properly cited?</font>
<pre>{{item1.qu13_contents}}</pre>
</p>
<p v-if="item1.comments!=''">
<font>Comments for the Authors</font>
<pre>{{item1.comments}}</pre>
</p>
</div>
</div>
<div v-else>
<!-- 复审 -->
<el-tag type="success">Second review</el-tag>
<p style="margin-top: 20px;" >
<i class="el-icon-check final Accept" v-if="item1.recommend == 1" >{{item1.recommend | getOpinion}}</i>
<i class="el-icon-close final Reject" v-if="item1.recommend == 2" >{{item1.recommend | getOpinion}}</i>
<i class="el-icon-refresh-left final Revison" v-if="item1.recommend == 3" >{{item1.recommend | getOpinion}}</i>
</p>
<p class="commentfs" v-if="item1.recommend == 3" style="margin-bottom: 10px;">
<font style="display: inline-block; margin-right: 20px;">Comments for the Authors</font>
<pre>{{item1.content}}</pre>
</p>
<p style="" class="stime" v-if="item1.stime != 0">
Response time: {{item1.stime|formatDatehms}}
</p>
</div>
</el-card>
</el-timeline-item>
</el-timeline>
<!-- end -->
</el-collapse-item> </el-collapse-item>
</el-collapse> </el-collapse>
<p v-if="comentDeploy==''" style="color: #888888;margin: 0 0 0 10px;">No Comment</p> <p v-if="comentDeploy==''" style="color: #888888;margin: 0 0 0 10px;">No Comment</p>
@@ -508,6 +537,11 @@
// 审稿人意见 // 审稿人意见
this.comentDeploy = res.suggest this.comentDeploy = res.suggest
this.comentDeploy.map(item => {
if(item.question && item.question.length > 0)
item.question = item.question.reverse()
})
// console.log(this.comentDeploy,'this.comentDeploy')
}) })
.catch((err) => { .catch((err) => {
console.log(err); console.log(err);
@@ -861,14 +895,32 @@
}, },
}, },
filters: { filters:{
// 复审意见结果
} getOpinion(value){
switch (value) {
case 1:
return 'Accept'
break;
case 2:
return 'Reject'
break;
case 3:
return 'Revison'
break;
}
},
},
}; };
</script> </script>
<style scoped> <style scoped>
.time p{color: #606266;}
.Accept{color: #67c23a;}
.Reject{color: #909399;}
.Revison{color: #e6a23c;}
.final{ font-size: 20px;}
.top_dao:hover { .top_dao:hover {
text-decoration: underline; text-decoration: underline;
cursor: pointer; cursor: pointer;
@@ -991,7 +1043,6 @@
.art_author_coment {} .art_author_coment {}
.art_author_coment>p { .art_author_coment>p {
margin: 10px 0 0 28px;
line-height: 20px; line-height: 20px;
} }
@@ -999,11 +1050,12 @@
margin-top: 0; margin-top: 0;
} }
.art_author_coment>p>font { .art_author_coment>p>font,.commentfs>font {
display: block; display: block;
margin: 0 0 2px 0; margin: 15px 0 5px 0;
color: #006699; color: #006699;
font-weight: bold; font-weight: bold;
letter-spacing: -0.5px; letter-spacing: -0.5px;
} }
.commentfs{}
</style> </style>

View File

@@ -9,10 +9,11 @@
</el-breadcrumb> </el-breadcrumb>
</div> </div>
<div class="container"> <div class="container">
<el-row> <el-row :gutter="10">
<el-col :span="16"> <el-col :span="16" >
<div class="form-box"> <div class="form-box">
<el-form ref="articleform" :model="detailDate" label-width="200px"> <el-form ref="articleform" :model="detailDate" label-width="130px">
<el-form-item label="Article"> <el-form-item label="Article">
<span>{{detailDate.article}}</span> <span>{{detailDate.article}}</span>
</el-form-item> </el-form-item>
@@ -27,6 +28,9 @@
<el-button style="margin-left:10px;" type="text" @click="dialogFormVisible=true" icon="el-icon-view">See <el-button style="margin-left:10px;" type="text" @click="dialogFormVisible=true" icon="el-icon-view">See
Feedback</el-button> Feedback</el-button>
</el-form-item> </el-form-item>
<el-form-item v-if="canRepeat == 1">
<el-button type="primary" @click="createRevision">Re-review</el-button>
</el-form-item>
<!-- <el-form-item label="Article file"> <!-- <el-form-item label="Article file">
<el-popover placement="right" width="350" trigger="click"> <el-popover placement="right" width="350" trigger="click">
<el-table :data="articlefileList"> <el-table :data="articlefileList">
@@ -153,7 +157,36 @@
</el-form> </el-form>
</div> </div>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8" v-if="recordList && recordList.length > 0">
<div class="clearfix fsheader">
<h4>Peer-review Archive</h4>
</div>
<div class="time">
<el-timeline>
<el-timeline-item reverse="true" :timestamp="item.ctime|formatDatehms" placement="top" v-for="(item, index) in recordList" :key="index">
<el-card>
<h4></h4>
<div>
<div v-if="index == recordList.length-1">
<!-- 初审 -->
<el-tag >Under review</el-tag>
<p style="margin-top: 10px;">Comments: <el-button style="margin-left:10px;" type="text" @click="showUnderReview(item)" icon="el-icon-view">Details</el-button></p>
</div>
<div v-else >
<!-- 复审 -->
<el-tag type="success">Second review</el-tag>
<p style="margin-top: 10px;">Comments: <el-button style="margin-left:10px;" type="text" @click="showSecondReview(item)" icon="el-icon-view">Details</el-button></p>
<p style="" class="stime">
Response time: {{item.stime|formatDatehms}}
</p>
</div>
</div>
</el-card>
</el-timeline-item>
</el-timeline>
</div>
<!-- <div class="tree_box"> <!-- <div class="tree_box">
<h2>State tracking</h2> <h2>State tracking</h2>
<div class="block"> <div class="block">
@@ -390,6 +423,230 @@
</el-collapse> </el-collapse>
</el-form> </el-form>
</el-dialog> </el-dialog>
<!-- 初审问卷 -->
<el-dialog title="Feedback questionnaire" :visible.sync="dialogFormVisible1" width="900px" @close="closeUnderDia">
<el-form :model="undeQuestion" ref="question" label-width="300px" label-position="top">
<el-divider content-position="center">REFEREE'S ASSESSMENT</el-divider>
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="1.Originality of the topic">
<el-radio-group v-model="undeQuestion.qu1">
<el-radio :label="1">Excellent</el-radio>
<el-radio :label="2">Good</el-radio>
<el-radio :label="3">Fair</el-radio>
<el-radio :label="4">Poor</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="2.Importance in its Field">
<el-radio-group v-model="undeQuestion.qu3">
<el-radio :label="1">Excellent</el-radio>
<el-radio :label="2">Good</el-radio>
<el-radio :label="3">Fair</el-radio>
<el-radio :label="4">Poor</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="3.Does the manuscript fall within the aim and scope of the journal?">
<el-radio-group v-model="undeQuestion.qu6">
<el-radio :label="1">Excellent</el-radio>
<el-radio :label="2">Good</el-radio>
<el-radio :label="3">Fair</el-radio>
<el-radio :label="4">Poor</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="4.English language">
<el-radio-group v-model="undeQuestion.qu8">
<el-radio :label="1">Excellent</el-radio>
<el-radio :label="2">Good</el-radio>
<el-radio :label="3">Fair</el-radio>
<el-radio :label="4">Poor</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="5.Readily Understandable">
<el-radio-group v-model="undeQuestion.qu5">
<el-radio :label="1">Excellent</el-radio>
<el-radio :label="2">Good</el-radio>
<el-radio :label="3">Fair</el-radio>
<el-radio :label="4">Poor</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-collapse>
<el-form-item label="6.Does the title represent manuscript's contents?">
<el-col :span="8">
<el-radio-group v-model="undeQuestion.qu9">
<el-radio :label="true">Yes</el-radio>
<el-radio :label="false">No</el-radio>
</el-radio-group>
</el-col>
<el-col :span="12">
<el-collapse-item name="1" style="margin-top: -10px;">
<template slot="title">
<i class="el-icon-edit"></i>Comments/ Suggestions
</template>
<el-input type="textarea" placeholder="please input content" v-model="undeQuestion.qu9contents" :rows="4"></el-input>
</el-collapse-item>
</el-col>
</el-form-item>
</el-collapse>
</el-col>
</el-row>
<el-collapse>
<el-form-item label="7.Is the Abstract accurate and concise?">
<el-col :span="4">
<el-radio-group v-model="undeQuestion.qu10">
<el-radio :label="true">Yes</el-radio>
<el-radio :label="false">No</el-radio>
</el-radio-group>
</el-col>
<el-col :span="20">
<el-collapse-item name="2" style="margin-top: -10px;">
<template slot="title">
<i class="el-icon-edit"></i>Comments/ Suggestions
</template>
<el-input type="textarea" placeholder="please input content" v-model="undeQuestion.qu10contents" :rows="4"></el-input>
</el-collapse-item>
</el-col>
</el-form-item>
<el-form-item label="8.Are the approach/ methods properly described?">
<el-col :span="4">
<el-radio-group v-model="undeQuestion.qu11">
<el-radio :label="true">Yes</el-radio>
<el-radio :label="false">No</el-radio>
</el-radio-group>
</el-col>
<el-col :span="20">
<el-collapse-item name="3" style="margin-top: -10px;">
<template slot="title">
<i class="el-icon-edit"></i>Comments/ Suggestions
</template>
<el-input type="textarea" placeholder="please input content" v-model="undeQuestion.qu11contents" :rows="4"></el-input>
</el-collapse-item>
</el-col>
</el-form-item>
<el-form-item label="9.Are the conclusions and interpretations sound?">
<el-col :span="4">
<el-radio-group v-model="undeQuestion.qu12">
<el-radio :label="true">Yes</el-radio>
<el-radio :label="false">No</el-radio>
</el-radio-group>
</el-col>
<el-col :span="20">
<el-collapse-item name="4" style="margin-top: -10px;">
<template slot="title">
<i class="el-icon-edit"></i>Comments/ Suggestions
</template>
<el-input type="textarea" placeholder="please input content" v-model="undeQuestion.qu12contents" :rows="4"></el-input>
</el-collapse-item>
</el-col>
</el-form-item>
<el-form-item label="10.Are the references properly cited?">
<el-col :span="4">
<el-radio-group v-model="undeQuestion.qu13">
<el-radio :label="true">Yes</el-radio>
<el-radio :label="false">No</el-radio>
</el-radio-group>
</el-col>
<el-col :span="20">
<el-collapse-item name="5" style="margin-top: -10px;">
<template slot="title">
<i class="el-icon-edit"></i>Comments/ Suggestions
</template>
<el-input type="textarea" placeholder="please input content" v-model="undeQuestion.qu13contents" :rows="4"></el-input>
</el-collapse-item>
</el-col>
</el-form-item>
<el-divider content-position="center">REFEREE'S RECOMMENDATIONS</el-divider>
<el-form-item label="Overall the Paper is Rated">
(Poor------------------------Excellent)
<br />
<el-radio-group v-model="undeQuestion.rated" size="small">
<el-radio-button label="1"></el-radio-button>
<el-radio-button label="2"></el-radio-button>
<el-radio-button label="3"></el-radio-button>
<el-radio-button label="4"></el-radio-button>
<el-radio-button label="5"></el-radio-button>
<el-radio-button label="6"></el-radio-button>
<el-radio-button label="7"></el-radio-button>
<el-radio-button label="8"></el-radio-button>
<el-radio-button label="9"></el-radio-button>
<el-radio-button label="10"></el-radio-button>
</el-radio-group>
<span style="margin-left: 20px;">>Your score:{{undeQuestion.rated}}</span>
</el-form-item>
<el-form-item label="REFEREE'S RECOMMENDATIONS" prop="recommend">
<el-radio-group v-model="undeQuestion.recommend" style="line-height: 30px;">
<el-radio :label="1">Accept with minor revision</el-radio>
<br />
<el-radio :label="2">Accept with major revision</el-radio>
<br />
<el-radio :label="3">Reject in current form, but may be resubmitted</el-radio>
<br />
<el-radio :label="4">Reject, with no resubmission</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="OTHER SPECIFIC CRITICISMS">
<el-radio-group v-model="undeQuestion.other" style="line-height: 30px;">
<el-radio :label="1">Imperfect style</el-radio>
<br />
<el-radio :label="2">Too long</el-radio>
<br />
<el-radio :label="3">References incorrectly presented</el-radio>
<br />
<el-radio :label="4">Typographical and Grammatical errors</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="Comments for the Authors">
<el-input type="textarea" placeholder="please input content" v-model="undeQuestion.comment" :rows="8"></el-input>
</el-form-item>
<el-form-item label="Confidential Comments to the Editor">
<el-input type="textarea" placeholder="please input content" v-model="undeQuestion.confident" :rows="8"></el-input>
</el-form-item>
<el-form-item label="Please choose disclose your name or remain anonymous.">
<el-radio-group v-model="undeQuestion.is_anonymous" style="line-height: 30px;">
<el-radio :label="0">Disclose name</el-radio>
<br />
<el-radio :label="1">Remain anonymous</el-radio>
</el-radio-group>
<p style="line-height: 20px;color: #aaa;font-size: 13px;margin: 12px 0 0 0;">
If you agree to disclose your name, we will acknowledge you by name in the published
PDF. However, if you prefer to remain anonymous, we will still express our gratitude
by thanking you as an anonymous reviewer.
<br />For example, {{txt_mess.title}} would like to thank AAAAAAAA, BBBBBBBB, and other anonymous reviewers for their
invaluable contributions to the peer review process of this paper.
</p>
</el-form-item>
</el-collapse>
</el-form>
</el-dialog>
<!-- 复审问卷 -->
<el-dialog title="Second review questionnaire" :visible.sync="FdialogFormVisible" width="900px" @close="closeSecDia">
<el-form :model="ReReviewQuestion" ref="question" label-width="300px" label-position="top" >
<el-divider content-position="center">REFEREE'S RECOMMENDATIONS</el-divider>
<el-form-item label="REFEREE'S RECOMMENDATIONS" prop="recommend">
<el-radio-group v-model="ReReviewQuestion.recommend" style="line-height: 30px;">
<el-radio :label="1">Accept</el-radio>
<el-radio :label="2">Reject</el-radio>
<!-- 退修改 -->
<el-radio :label="3">Revison</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="Confidential Comments to the Editor" v-if="ReReviewQuestion.recommend == 3">
<el-input type="textarea" placeholder="please input content" v-model="ReReviewQuestion.content" :rows="8"></el-input>
</el-form-item>
</el-form>
</el-dialog>
</div> </div>
</template> </template>
@@ -397,6 +654,9 @@
export default { export default {
data() { data() {
return { return {
FdialogFormVisible:false,
dialogFormVisible1:false,
recordList:[],
baseUrl: this.Common.baseUrl, baseUrl: this.Common.baseUrl,
mediaUrl: this.Common.mediaUrl, mediaUrl: this.Common.mediaUrl,
dateId: this.$route.query.id, dateId: this.$route.query.id,
@@ -446,16 +706,81 @@
other: '', other: '',
confident: '', confident: '',
comment: '' comment: ''
} },
canRepeat:null,
undeQuestion:{},
ReReviewQuestion:{}
}; };
}, },
created: function() { created: function() {
this.getDate(); this.getDate();
this.initFileList(); this.initFileList();
this.initquesion(); this.initquesion();
this.getHistoryList()
}, },
computed: {}, computed: {},
methods: { methods: {
// 显示复审对话框
showSecondReview(item){
this.FdialogFormVisible = true
this.ReReviewQuestion = item
},
// 显示初审对话框
showUnderReview(item){
this.dialogFormVisible1 = true
this.undeQuestion = item
},
// 关闭初审对话框
closeUnderDia(){
this.dialogFormVisible1 = false
this.undeQuestion = {}
},
closeSecDia(){
this.FdialogFormVisible = false
this.ReReviewQuestion = {}
},
// 获取历史审稿列表
getHistoryList(){
this.loading = true
this.$api
.post('api/Reviewer/getReviewerRepeatDetail', {
'art_rev_id': this.$route.query.id
})
.then(res => {
this.loading = false;
if (res.code == 0) {
if(res.data.art_rev_info.question && res.data.art_rev_info.question[0] != null){
this.recordList = res.data.art_rev_info.question.reverse()
}
} else {
this.$message.error(res.msg);
}
})
.catch(err => {
this.loading = false;
console.log(err);
});
},
// 创建复审实例
createRevision(){
this.$api
.post('api/Reviewer/startRepeatReviewer', {
'art_rev_id': this.detailDate.artrevid
})
.then(res => {
//console.log(res)
if(res.code == 0){
this.$message.success('A review invitation was successfully sent!')
this.getdate()
}else{
this.$message.error(res.msg)
}
})
.catch(err => {
console.log(err);
});
},
upload_file(type) { upload_file(type) {
return this.baseUrl + 'api/reviewer/up_file/type/' + type; return this.baseUrl + 'api/reviewer/up_file/type/' + type;
}, },
@@ -495,6 +820,7 @@
this.detailDate.state = res.state; this.detailDate.state = res.state;
this.txt_mess = res this.txt_mess = res
this.canRepeat = res.can_repeat
}) })
.catch((err) => { .catch((err) => {
console.log(err); console.log(err);
@@ -639,6 +965,7 @@
<style scoped> <style scoped>
.fsheader{margin-bottom: 15px;}
.dwnbtn { .dwnbtn {
margin-bottom: 5px; margin-bottom: 5px;
} }

View File

@@ -51,6 +51,52 @@
</ul> </ul>
</el-col> </el-col>
<!-- 复审 -->
<el-col :span="24">
<div style="background-color: #ccc;height: 2px;width: 100%;margin:20px 0 35px 0;"></div>
<div class="ma_title" style="height: 100%;">
<h2>
<!-- <img src="../../assets/img/icon_5.png" alt="" class="icon_img"> -->
Second review
</h2>
In this column, the manuscripts that currently need your comments are displayed. You can click
detail to review
or change your comments.
</div>
<ul class="ta1_uli ta1_ulicad">
<li v-for="(item,index) in revisionList" :key="index">
<!-- <h5>{{item.type}}</h5> -->
<div class="btns">
<router-link :to="{path:'/Re_review',query:{Art_id:item.art_rev_id}}" style="display: inline-block; margin-left: 10px;">
<el-button type="success" plain >Re-review</el-button>
</router-link>
</div>
<router-link :to="{path:'/per_text',query:{Art_id:item.art_rev_id}}">
<h3><span
style="margin-right: 6px;color: #006699;">{{index+1}}.</span>{{item.article_title}}
</h3>
</router-link>
<h4>
<span>
<font style="color: #006699;">Journal : </font>{{item.journal_title}}.
</span>
<span>
<font style="color: #006699;">Type : </font>{{item.type}}
</span>
<span style="color: #888;margin-left: 20px;color: #006699;">
{{item.ctime}}
</span><br>
<!-- <span v-if="item.abstrart!=''" style="max-width: 1000px;">
<font style="color: #888;">Abstrart : </font>{{item.abstrart | ellipsis}}
</span> -->
</h4>
</li>
<p v-if="revisionList==''" style="color:#6f6f6f;font-size: 14px;margin: 20px 0 0 30px;">No article
</p>
</ul>
</el-col>
<el-col :span="24" v-if="tableData2!=''"> <el-col :span="24" v-if="tableData2!=''">
<div style="background-color: #ccc;height: 2px;width: 100%;margin:20px 0 35px 0;"></div> <div style="background-color: #ccc;height: 2px;width: 100%;margin:20px 0 35px 0;"></div>
<!-- <el-card class="box-card"> --> <!-- <el-card class="box-card"> -->
@@ -167,6 +213,7 @@
tableData1: [], tableData1: [],
tableData2: [], tableData2: [],
tableData3: [], tableData3: [],
revisionList:[], // 复审列表
TaBle2: { TaBle2: {
user_id: localStorage.getItem('U_id'), user_id: localStorage.getItem('U_id'),
@@ -202,6 +249,7 @@
res.data.lists[i].ctime = Y + M + D; res.data.lists[i].ctime = Y + M + D;
} }
this.tableData1 = res.data.lists; this.tableData1 = res.data.lists;
this.revisionList = res.data.repeats
} else { } else {
this.$message.error(res.msg); this.$message.error(res.msg);
} }
@@ -519,6 +567,7 @@
.mes_alert .el-alert__content { .mes_alert .el-alert__content {
margin-bottom: 10px; margin-bottom: 10px;
} }
.btns{float: right;}
.mes_alert .el-alert__content .el-alert__title { .mes_alert .el-alert__content .el-alert__title {
font-size: 18px !important; font-size: 18px !important;

View File

@@ -23,7 +23,29 @@ import 'quill/dist/quill.bubble.css'
// 注册富文本编辑器组件为全局组件 // 注册富文本编辑器组件为全局组件
Vue.use(VueQuillEditor) Vue.use(VueQuillEditor)
// 时间过滤器
// 定义时间过滤器(不含时分秒)
Vue.filter('formatDate', function(originVal) {
const dt = new Date(originVal * 1000)
const y = dt.getFullYear()
const m = (dt.getMonth() + 1 + '').padStart(2, '0')
const d = (dt.getDate() + '').padStart(2, '0')
const hh = (dt.getHours() + '').padStart(2, '0')
const mm = (dt.getMinutes() + '').padStart(2, '0')
const ss = (dt.getSeconds() + '').padStart(2, '0')
return `${y}-${m}-${d}`
})
// 含时分秒
Vue.filter('formatDatehms', function(originVal) {
const dt = new Date(originVal * 1000)
const y = dt.getFullYear()
const m = (dt.getMonth() + 1 + '').padStart(2, '0')
const d = (dt.getDate() + '').padStart(2, '0')
const hh = (dt.getHours() + '').padStart(2, '0')
const mm = (dt.getMinutes() + '').padStart(2, '0')
const ss = (dt.getSeconds() + '').padStart(2, '0')
return `${y}-${m}-${d} ${hh}:${mm}:${ss}`
})
// 引入wps文档编辑 // 引入wps文档编辑
import mammoth from "mammoth"; import mammoth from "mammoth";

View File

@@ -917,6 +917,15 @@ export default new Router({
title: 'Refernce Editor' title: 'Refernce Editor'
} }
}, },
{
name:'Re-review',
path: '/Re_review', // 审稿人 复审详情页面
component: () => import('../components/page/Re_review'),
meta: {
title: 'Re-review'
}
},
{ {
path: '/404', path: '/404',
component: () => import( /* webpackChunkName: "404" */ component: () => import( /* webpackChunkName: "404" */