Compare commits
5 Commits
591146ed60
...
xu-review
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e88aa21a6f | ||
|
|
9ed3f82c2f | ||
|
|
cff56595c7 | ||
|
|
8e58500e66 | ||
|
|
ea430f6d82 |
@@ -138,26 +138,26 @@
|
||||
<el-menu-item index="RejectedArticles">
|
||||
{{$t('sidebar.ReArticles')}}
|
||||
</el-menu-item>
|
||||
<!-- <el-menu-item index="1" key="1"> -->
|
||||
<a href="http://master.tmrjournals.com" target="_blank" class="linkBar">
|
||||
Management System
|
||||
</a>
|
||||
<!-- </el-menu-item> -->
|
||||
<!-- <el-menu-item index="2" key="2"> -->
|
||||
<a href="https://mail.mxhichina.com/alimail" target="_blank" class="linkBar">
|
||||
Official mailbox
|
||||
</a>
|
||||
<!-- </el-menu-item> -->
|
||||
<!-- <el-menu-item index="3" key="3"> -->
|
||||
<a href="https://www.grammarly.com" target="_blank" class="linkBar">
|
||||
www.grammarly.com
|
||||
</a>
|
||||
<!-- </el-menu-item> -->
|
||||
<!-- <el-menu-item index="4" key="4"> -->
|
||||
<a href="https://quillbot.com" target="_blank" class="linkBar">
|
||||
quillbot.com
|
||||
</a>
|
||||
<!-- </el-menu-item> -->
|
||||
<el-menu-item>
|
||||
<a href="http://master.tmrjournals.com" target="_blank" class="linkBar">
|
||||
Management System
|
||||
</a>
|
||||
</el-menu-item>
|
||||
<el-menu-item>
|
||||
<a href="https://mail.mxhichina.com/alimail" target="_blank" class="linkBar">
|
||||
Official mailbox
|
||||
</a>
|
||||
</el-menu-item>
|
||||
<el-menu-item>
|
||||
<a href="https://www.grammarly.com" target="_blank" class="linkBar">
|
||||
www.grammarly.com
|
||||
</a>
|
||||
</el-menu-item>
|
||||
<el-menu-item>
|
||||
<a href="https://quillbot.com" target="_blank" class="linkBar">
|
||||
quillbot.com
|
||||
</a>
|
||||
</el-menu-item>
|
||||
</el-submenu>
|
||||
</template>
|
||||
</el-menu>
|
||||
@@ -556,11 +556,5 @@
|
||||
color: #fff;
|
||||
display: block;
|
||||
line-height: 50px;
|
||||
padding: 0 0 0 40px;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.linkBar:hover {
|
||||
background: #00527a;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -9,8 +9,8 @@
|
||||
<el-upload class="avatar-uploader" ref="upIconIMg"
|
||||
:action="baseUrl+'api/Ucenter/up_userIcon_file'" :show-file-list="false" name="icon"
|
||||
:on-success="handleAvatarSuccess2" :on-error="handleAvatarError2"
|
||||
:before-upload="beforeAvatarUpload2" style="display: none;">
|
||||
<img v-if="pictureUrl" :src="pictureUrl" class="avatar" accept=".png,.jpg">
|
||||
:before-upload="beforeAvatarUpload2" accept=".png,.jpg" style="display: none;">
|
||||
<img v-if="pictureUrl" :src="pictureUrl" class="avatar">
|
||||
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
||||
</el-upload>
|
||||
<div class="ptmark">Upload avatar</div>
|
||||
|
||||
@@ -326,7 +326,6 @@
|
||||
Only Word and compressed files can be uploaded (file format: .docx).
|
||||
</div>
|
||||
</el-upload>
|
||||
</a>
|
||||
</el-form-item>
|
||||
<el-form-item label="Supplementary Material :" label-width="200px">
|
||||
<el-upload class="upload-demo up_newstyle" :action="upload_supplementary" accept=".zip"
|
||||
|
||||
@@ -127,9 +127,7 @@
|
||||
<span style="margin: 0 4px 0 5px;">Click here to :</span>
|
||||
<b style="color: #5fab3b;">Confirm the Proof</b>
|
||||
</router-link>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="pagination">
|
||||
<el-pagination background layout="total, prev, pager, next" :current-page="query.pageIndex"
|
||||
@@ -291,45 +289,66 @@
|
||||
</el-dialog>
|
||||
|
||||
<!-- 审稿人列表 -->
|
||||
<el-dialog title="Comments from reviewers" :visible.sync="comentVisible" width="800px">
|
||||
<el-collapse v-model="activeComment" v-if="comentDeploy!=''">
|
||||
<el-collapse-item v-for="(item,index) in comentDeploy" :name="index" class="art_author_list">
|
||||
<template slot="title">
|
||||
<b class="com_shu">{{index+1}}</b>
|
||||
Reviewer Comment
|
||||
<font style="margin: 0 0 0 50px;color: #888;">
|
||||
<i class="el-icon-time" style="margin:0 2px 0 0;"></i>
|
||||
{{formatDate1(item.ctime)}}
|
||||
</font>
|
||||
</template>
|
||||
<div class="art_author_coment">
|
||||
<p v-if="item.qu9_contents!=''">
|
||||
<font>Does the title represent manuscript's contents?</font>
|
||||
<pre>{{item.qu9_contents}}</pre>
|
||||
</p>
|
||||
<p v-if="item.qu10_contents!=''">
|
||||
<font>Is the Abstract accurate and concise?</font>
|
||||
<pre>{{item.qu10_contents}}</pre>
|
||||
</p>
|
||||
<p v-if="item.qu11_contents!=''">
|
||||
<font>Are the approach/ methods properly described?</font>
|
||||
<pre>{{item.qu11_contents}}</pre>
|
||||
</p>
|
||||
<p v-if="item.qu12_contents!=''">
|
||||
<font>Are the conclusions and interpretations sound?</font>
|
||||
<pre>{{item.qu12_contents}}</pre>
|
||||
</p>
|
||||
<p v-if="item.qu13_contents!=''">
|
||||
<font>Are the references properly cited?</font>
|
||||
<pre>{{item.qu13_contents}}</pre>
|
||||
</p>
|
||||
<p v-if="item.comments!=''">
|
||||
<font>Comments for the Authors</font>
|
||||
<pre>{{item.comments}}</pre>
|
||||
</p>
|
||||
<el-dialog title="Comments from reviewers" :visible.sync="comentVisible" :close-on-click-modal="false"
|
||||
width="800px">
|
||||
<el-tabs tab-position="left">
|
||||
<el-tab-pane label="Reviewer 1">
|
||||
<div style="padding: 0 10px;">
|
||||
<el-collapse v-model="activeComment" v-if="comentDeploy!=''">
|
||||
<el-collapse-item v-for="(item,index) in comentDeploy" :name="index"
|
||||
class="art_author_list">
|
||||
<template slot="title">
|
||||
<b class="com_shu">{{index+1}}</b>
|
||||
Reviewer Comment
|
||||
<font style="margin: 0 0 0 50px;color: #888;">
|
||||
<i class="el-icon-time" style="margin:0 2px 0 0;"></i>
|
||||
{{formatDate1(item.ctime)}}
|
||||
</font>
|
||||
</template>
|
||||
<div class="art_author_coment">
|
||||
<p v-if="item.qu9_contents!=''">
|
||||
<font>Does the title represent manuscript's contents?</font>
|
||||
<pre>{{item.qu9_contents}}</pre>
|
||||
</p>
|
||||
<p v-if="item.qu10_contents!=''">
|
||||
<font>Is the Abstract accurate and concise?</font>
|
||||
<pre>{{item.qu10_contents}}</pre>
|
||||
</p>
|
||||
<p v-if="item.qu11_contents!=''">
|
||||
<font>Are the approach/ methods properly described?</font>
|
||||
<pre>{{item.qu11_contents}}</pre>
|
||||
</p>
|
||||
<p v-if="item.qu12_contents!=''">
|
||||
<font>Are the conclusions and interpretations sound?</font>
|
||||
<pre>{{item.qu12_contents}}</pre>
|
||||
</p>
|
||||
<p v-if="item.qu13_contents!=''">
|
||||
<font>Are the references properly cited?</font>
|
||||
<pre>{{item.qu13_contents}}</pre>
|
||||
</p>
|
||||
<p v-if="item.comments!=''">
|
||||
<font>Comments for the Authors</font>
|
||||
<pre>{{item.comments}}</pre>
|
||||
</p>
|
||||
<p style="text-align: right;">
|
||||
<el-input type="textarea" rows="3" v-model="item.plycontent" @input="onInput()"
|
||||
placeholder="Please enter..." resize="none" style="margin-bottom: 10px;">
|
||||
</el-input>
|
||||
<el-button size="mini" type="warning" icon="el-icon-chat-line-square"
|
||||
@click="replayMessage(item)">
|
||||
Reply to Reviewer
|
||||
</el-button>
|
||||
</p>
|
||||
</div>
|
||||
</el-collapse-item>
|
||||
</el-collapse>
|
||||
</div>
|
||||
</el-collapse-item>
|
||||
</el-collapse>
|
||||
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="Reviewer 2">Reviewer 2</el-tab-pane>
|
||||
</el-tabs>
|
||||
|
||||
|
||||
<p v-if="comentDeploy==''" style="color: #888888;margin: 0 0 0 10px;">No Comment</p>
|
||||
</el-dialog>
|
||||
|
||||
@@ -364,6 +383,9 @@
|
||||
supplementaryFileList: [],
|
||||
comentDeploy: [],
|
||||
activeComment: [],
|
||||
replyMes: {
|
||||
content: ''
|
||||
},
|
||||
authorList_name: '',
|
||||
editVisible: false,
|
||||
artextVisible: false,
|
||||
@@ -456,10 +478,9 @@
|
||||
.then(res => {
|
||||
// 弹出框
|
||||
this.comentDeploy = res.suggest
|
||||
// this.activeComment = []
|
||||
// for (var i = 0; i < res.suggest.length; i++) {
|
||||
// this.activeComment.push(i)
|
||||
// }
|
||||
for (var i = 0; i < this.comentDeploy.length; i++) {
|
||||
this.comentDeploy[i].plycontent = ''
|
||||
}
|
||||
this.comentVisible = true
|
||||
})
|
||||
.catch(err => {
|
||||
@@ -467,6 +488,28 @@
|
||||
});
|
||||
|
||||
},
|
||||
|
||||
// 回复审稿人
|
||||
replayMessage(e) {
|
||||
if (e.plycontent == '') {
|
||||
this.$message.error('Please fill in the reply content!');
|
||||
return
|
||||
}
|
||||
// 二次确认
|
||||
this.$confirm('Can only reply to the reviewer once, please confirm the content.', 'Tip', {
|
||||
type: 'warning'
|
||||
})
|
||||
.then(() => {
|
||||
|
||||
})
|
||||
.catch(() => {});
|
||||
},
|
||||
|
||||
// 输入框输入
|
||||
onInput() {
|
||||
this.$forceUpdate();
|
||||
},
|
||||
|
||||
// 点击稿件内容文件
|
||||
esy_deta(e) {
|
||||
this.$api
|
||||
|
||||
908
src/components/page/articleList_.vue
Normal file
908
src/components/page/articleList_.vue
Normal file
@@ -0,0 +1,908 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="crumbs">
|
||||
<el-breadcrumb separator="/">
|
||||
<el-breadcrumb-item>
|
||||
<i class="el-icon-lx-cascades"></i> Manuscript list
|
||||
</el-breadcrumb-item>
|
||||
</el-breadcrumb>
|
||||
</div>
|
||||
<div class="container_state">
|
||||
<div class="handle-box" style="margin: 20px 0;">
|
||||
<el-select v-model="query.journal" @change="getdate" placeholder="Please select journal"
|
||||
style="width: 180px;">
|
||||
<el-option :key="0" label="All journals" :value="0"></el-option>
|
||||
<el-option v-for="item in items" :key="item.journal_id" :label="item.title"
|
||||
:value="item.journal_id"></el-option>
|
||||
</el-select>
|
||||
<el-select v-model="query.state" @change="getdate" placeholder="Please select status"
|
||||
style="margin-left:10px;width: 110px;">
|
||||
<el-option :key="0" label="All status" :value="0"></el-option>
|
||||
<el-option :key="1" :label="$t('artstate.state1')" :value="1"></el-option>
|
||||
<el-option :key="2" :label="$t('artstate.state2')" :value="2"></el-option>
|
||||
<el-option :key="3" :label="$t('artstate.state3')" :value="3"></el-option>
|
||||
<el-option :key="4" :label="$t('artstate.state4')" :value="4"></el-option>
|
||||
<el-option :key="5" :label="$t('artstate.state5')" :value="5"></el-option>
|
||||
</el-select>
|
||||
<el-input v-model="query.name" placeholder="Title" style="margin:0 10px;width: 190px;"></el-input>
|
||||
<el-button type="primary" icon="el-icon-search" @click="handleSearch">Search</el-button>
|
||||
<el-button type="primary" icon="el-icon-edit-outline" @click="addArticle"
|
||||
style="float: right;width: 190px;">New
|
||||
Submission</el-button>
|
||||
</div>
|
||||
|
||||
<!-- <el-table :data="tableData" border ref="multipleTable">
|
||||
<el-table-column type="index" label="No." width="55" align="center"></el-table-column>
|
||||
<el-table-column label="Title" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-badge is-dot :hidden="scope.row.editor_act==1?false:true" class="item">
|
||||
{{scope.row.title}}
|
||||
</el-badge>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="journalname" label="Journal" align="center"></el-table-column>
|
||||
<el-table-column prop="accept_sn" label="Manuscript ID" align="center"></el-table-column>
|
||||
<el-table-column prop="state" label="Status" :formatter="stateFormat" align="center" width="100"></el-table-column>
|
||||
<el-table-column label="" width="180" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" type="primary" plain icon="el-icon-tickets" @click="showdetail(scope.row)">detail</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table> -->
|
||||
|
||||
<div shadow="never" v-for="item in tableData" class="mangu_list" :style="item.state,'1' | stateChange">
|
||||
<div style="padding: 20px 20px 20px 20px;position: relative;" :style="item.state,'2' | stateChange">
|
||||
<p class="man_title" @click="esy_mtps(item.article_id)">
|
||||
<el-badge is-dot :hidden="item.editor_act==1?false:true">
|
||||
{{item.title}}
|
||||
</el-badge>
|
||||
</p>
|
||||
<p style="margin-bottom: 8px;">
|
||||
<font style="color: #666b7a;">ID : </font>
|
||||
{{item.accept_sn}}
|
||||
<font style="color: #666b7a;margin-left: 50px;">Type : </font>
|
||||
{{item.type | ellipsis}}
|
||||
</p>
|
||||
<p class="man_con">
|
||||
<!-- <span>{{item.type | ellipsis}}</span> -->
|
||||
<font style="color: #666b7a;">Journal : </font>
|
||||
<b style="font-weight: normal;">{{item.journalname}}</b>
|
||||
</p>
|
||||
<p>
|
||||
<font style="color: #666b7a;">
|
||||
<i class="el-icon-time" style="margin: 0 5px 0 0;"></i>
|
||||
Update Time :
|
||||
</font>
|
||||
<b style="font-weight: normal;margin: 0 0 0 5px;">{{item.ctime}}</b>
|
||||
</p>
|
||||
<div class="man_state" :style="item.state,'3' | stateChange">
|
||||
<b :style="item.state,'4' | stateChange">
|
||||
{{item.state,'tst' | stateChange}}
|
||||
</b>
|
||||
</div>
|
||||
<div class="man_btn">
|
||||
<span @click="esy_mtps(item.article_id)">
|
||||
<i class="el-icon-collection"></i>Manuscript Tracking
|
||||
</span>
|
||||
<font> | </font>
|
||||
<span @click="esy_review(item.article_id)">
|
||||
<i class="el-icon-document-copy"></i>Reviewer Comments
|
||||
</span>
|
||||
<font> | </font>
|
||||
<span @click="esy_deta(item.article_id)">
|
||||
<i class="el-icon-paperclip"></i>My Manuscript
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="man_progess" v-if="item.state==4" :style="item.state,'2' | stateChange">
|
||||
<font style="color: #666b7a;">
|
||||
Current Status :
|
||||
</font>
|
||||
<b style="margin: 0 0 0 5px;color: #5a90e1;">{{item.state,'tst' | stateChange}} </b>
|
||||
<router-link :to="{path:'/articleProcessRevision',query:{id:item.article_id}}" style="color: #333;">
|
||||
<span style="margin: 0 4px 0 5px;">Click here to :</span>
|
||||
<b>Upload Major Revision</b>
|
||||
</router-link>
|
||||
</div>
|
||||
|
||||
<div class="man_progess" v-if="item.state==3&&item.transinfo!=null"
|
||||
:style="item.state,'2' | stateChange">
|
||||
<font style="color: #666b7a;">
|
||||
Current Status :
|
||||
</font>
|
||||
<b style="margin: 0 0 0 5px;color: #333;">{{item.state,'tst' | stateChange}} </b>
|
||||
<router-link :to="{path:'/articleProcessSwitch',query:{id:item.article_id}}" style="color: #333;">
|
||||
<span style="margin: 0 4px 0 5px;">Click here to :</span>
|
||||
<b style="color:#333">Transfer Manuscript</b>
|
||||
</router-link>
|
||||
</div>
|
||||
|
||||
<div class="man_progess" v-if="item.state==7" :style="item.state,'7' | stateChange">
|
||||
<font style="color: #666b7a;">
|
||||
Current Status :
|
||||
</font>
|
||||
<b style="margin: 0 0 0 5px;color: #5fab3b;">{{item.state,'tst' | stateChange}} </b>
|
||||
<router-link :to="{path:'/articleProcessConfirm',query:{id:item.article_id}}" style="color: #333;">
|
||||
<span style="margin: 0 4px 0 5px;">Click here to :</span>
|
||||
<b style="color: #5fab3b;">Confirm the Proof</b>
|
||||
</router-link>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="pagination">
|
||||
<el-pagination background layout="total, prev, pager, next" :current-page="query.pageIndex"
|
||||
:page-size="query.pageSize" :total="Total" @current-change="handlePageChange"></el-pagination>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 文章内容 -->
|
||||
<el-dialog title="Manuscript Basic Information" :visible.sync="artextVisible" width="800px">
|
||||
<div class="art_state_message">
|
||||
<p>
|
||||
<font>Title :</font><b>{{artextForm.title}}</b>
|
||||
</p>
|
||||
<p>
|
||||
<font>ID : </font><b>{{artextForm.accept_sn}}</b>
|
||||
</p>
|
||||
<p>
|
||||
<font>Type :</font><b>{{artextForm.type | ellipsis}}</b>
|
||||
</p>
|
||||
<p v-show="artextForm.type=='A'">
|
||||
<font>Ethical Approval :</font><b>{{artextForm.approval?'Yes':'No'}}</b>
|
||||
</p>
|
||||
<p v-if="artextForm.special_num > 0">
|
||||
<font>Special Issues :</font><b>{{ artextForm.special_title }}</b>
|
||||
</p>
|
||||
<p>
|
||||
<font>Journal :</font><b>{{artextForm | journal_me}}</b>
|
||||
</p>
|
||||
<p>
|
||||
<font>Major :</font><b>{{artextForm.major}}</b>
|
||||
</p>
|
||||
<el-collapse v-model="activeNames" class="auth_colla auth_colla_new">
|
||||
<el-collapse-item :title="authorList_name" name="1">
|
||||
<div v-for="(item, index) in artextForm.authors" class="auth_mess">
|
||||
<h4 style="font-weight: bolder;">
|
||||
<img src="../../assets/img/state_one.png" v-if="item.isSuper"
|
||||
style="width: 15px;margin: 0 2px 0 0;vertical-align: text-bottom;">
|
||||
{{item.firstname}} {{item.lastname}} {{item.isSuper?'#':''}}{{item.isReport?'*':''}}
|
||||
</h4>
|
||||
<div>
|
||||
<p v-if="item.email">
|
||||
<img src="../../assets/img/state_email.png" v-if="item.isReport"
|
||||
style="width: 14px;margin: 0 8px 0 0;vertical-align: text-bottom;">
|
||||
<font>Email : </font>{{item.email}}
|
||||
</p>
|
||||
<p v-if="item.orcid">
|
||||
<font>ORCID iD : </font>{{item.orcid}}
|
||||
</p>
|
||||
<p>
|
||||
<font>First Author : </font>
|
||||
<b v-if="item.isSuper">Yes</b>
|
||||
<b v-if="!item.isSuper">No</b>
|
||||
</p>
|
||||
<p>
|
||||
<font>Corresponding Author :</font>
|
||||
<b v-if="item.isReport">Yes</b>
|
||||
<b v-if="!item.isReport">No</b>
|
||||
</p>
|
||||
<p v-if="item.address">
|
||||
<font>Address : </font>{{item.address}}
|
||||
</p>
|
||||
<p v-if="item.company">
|
||||
<font>Affiliation : </font>{{item.company}}
|
||||
</p>
|
||||
<p v-if="item.department">
|
||||
<font>Department : </font>{{item.department}}
|
||||
</p>
|
||||
<p v-if="item.title">
|
||||
<font>Title : </font>{{item.title}}
|
||||
</p>
|
||||
<p v-if="item.country">
|
||||
<font>Country : </font>{{item.country}}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</el-collapse-item>
|
||||
</el-collapse>
|
||||
<el-collapse class="auth_colla auth_colla_new" style="margin-top: -15px;border-top: 0;">
|
||||
<el-collapse-item>
|
||||
<template slot="title">
|
||||
Abstract
|
||||
<font v-if="artextForm.keywords" style="margin-left: 3px;">, Keywords</font>
|
||||
<font v-if="artextForm.fund" style="margin-left: 3px;">, Fund</font>
|
||||
</template>
|
||||
<p>
|
||||
<font>Abstract :</font><b>{{artextForm.abstrart}}</b>
|
||||
</p>
|
||||
<p v-if="artextForm.keywords">
|
||||
<font>Keywords :</font><b>{{artextForm.keywords}}</b>
|
||||
</p>
|
||||
<p v-if="artextForm.fund">
|
||||
<font>Fund :</font><b>{{artextForm.fund}}</b>
|
||||
</p>
|
||||
</el-collapse-item>
|
||||
</el-collapse>
|
||||
</div>
|
||||
<div class="art_file" style="margin-top: 0;border-top-color:#fff;padding-top: 0;">
|
||||
<h4 v-if="coverLetterFileList">Cover letter : </h4>
|
||||
<p v-if="coverLetterFileList">
|
||||
<a v-for="item in coverLetterFileList" :href="mediaUrl + item.file_url">
|
||||
<img src="../../assets/img/icon_0.png">
|
||||
<span>
|
||||
<font>Uploader : </font>{{item.username}}
|
||||
<i><i class="el-icon-time"></i>{{formatDate(item.ctime)}}</i>
|
||||
</span>
|
||||
<i class="el-icon-download download"></i>
|
||||
</a>
|
||||
</p>
|
||||
<br clear="both" v-if="coverLetterFileList">
|
||||
<h4 v-if="picturesAndTablesFileList">Figures : </h4>
|
||||
<p v-if="picturesAndTablesFileList">
|
||||
<a v-for="item in picturesAndTablesFileList" :href="mediaUrl + item.file_url">
|
||||
<img src="../../assets/img/icon_0.png">
|
||||
<span>
|
||||
<font>Uploader : </font>{{item.username}}
|
||||
<i><i class="el-icon-time"></i>{{formatDate(item.ctime)}}</i>
|
||||
</span>
|
||||
<i class="el-icon-download download"></i>
|
||||
</a>
|
||||
</p>
|
||||
<br clear="both" v-if="picturesAndTablesFileList">
|
||||
<h4 v-if="totalpageFileList">Title page : </h4>
|
||||
<p v-if="totalpageFileList">
|
||||
<a v-for="item in totalpageFileList" :href="mediaUrl + item.file_url">
|
||||
<img src="../../assets/img/icon_0.png">
|
||||
<span>
|
||||
<font>Uploader : </font>{{item.username}}
|
||||
<i><i class="el-icon-time"></i>{{formatDate(item.ctime)}}</i>
|
||||
</span>
|
||||
<i class="el-icon-download download"></i>
|
||||
</a>
|
||||
</p>
|
||||
<br clear="both" v-if="totalpageFileList">
|
||||
<h4 v-if="supplementaryFileList">Supplementary Material : </h4>
|
||||
<p v-if="supplementaryFileList">
|
||||
<a v-for="item in supplementaryFileList" :href="mediaUrl + item.file_url">
|
||||
<img src="../../assets/img/icon_0.png">
|
||||
<span>
|
||||
<font>Uploader : </font>{{item.username}}
|
||||
<i><i class="el-icon-time"></i>{{formatDate(item.ctime)}}</i>
|
||||
</span>
|
||||
<i class="el-icon-download download"></i>
|
||||
</a>
|
||||
</p>
|
||||
<br clear="both" v-if="supplementaryFileList">
|
||||
<h4>Manuscirpt : </h4>
|
||||
<p>
|
||||
<a v-for="item in manuscirptFileList" :href="mediaUrl + item.file_url">
|
||||
<img src="../../assets/img/icon_0.png">
|
||||
<span>
|
||||
<font>Uploader : </font>{{item.username}}
|
||||
<i><i class="el-icon-time"></i>{{formatDate(item.ctime)}}</i>
|
||||
</span>
|
||||
<i class="el-icon-download download"></i>
|
||||
</a>
|
||||
</p>
|
||||
<br clear="both">
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
<!-- 审稿人列表 -->
|
||||
<el-dialog title="Comments from reviewers" :visible.sync="comentVisible" width="800px">
|
||||
<el-collapse v-model="activeComment" v-if="comentDeploy!=''">
|
||||
<el-collapse-item v-for="(item,index) in comentDeploy" :name="index" class="art_author_list">
|
||||
<template slot="title">
|
||||
<b class="com_shu">{{index+1}}</b>
|
||||
Reviewer Comment
|
||||
<font style="margin: 0 0 0 50px;color: #888;">
|
||||
<i class="el-icon-time" style="margin:0 2px 0 0;"></i>
|
||||
{{formatDate1(item.ctime)}}
|
||||
</font>
|
||||
</template>
|
||||
<div class="art_author_coment">
|
||||
<p v-if="item.qu9_contents!=''">
|
||||
<font>Does the title represent manuscript's contents?</font>
|
||||
<pre>{{item.qu9_contents}}</pre>
|
||||
</p>
|
||||
<p v-if="item.qu10_contents!=''">
|
||||
<font>Is the Abstract accurate and concise?</font>
|
||||
<pre>{{item.qu10_contents}}</pre>
|
||||
</p>
|
||||
<p v-if="item.qu11_contents!=''">
|
||||
<font>Are the approach/ methods properly described?</font>
|
||||
<pre>{{item.qu11_contents}}</pre>
|
||||
</p>
|
||||
<p v-if="item.qu12_contents!=''">
|
||||
<font>Are the conclusions and interpretations sound?</font>
|
||||
<pre>{{item.qu12_contents}}</pre>
|
||||
</p>
|
||||
<p v-if="item.qu13_contents!=''">
|
||||
<font>Are the references properly cited?</font>
|
||||
<pre>{{item.qu13_contents}}</pre>
|
||||
</p>
|
||||
<p v-if="item.comments!=''">
|
||||
<font>Comments for the Authors</font>
|
||||
<pre>{{item.comments}}</pre>
|
||||
</p>
|
||||
</div>
|
||||
</el-collapse-item>
|
||||
</el-collapse>
|
||||
<p v-if="comentDeploy==''" style="color: #888888;margin: 0 0 0 10px;">No Comment</p>
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
baseUrl: this.Common.baseUrl,
|
||||
mediaUrl: this.Common.mediaUrl,
|
||||
items: '',
|
||||
query: {
|
||||
username: localStorage.getItem('U_name'),
|
||||
// journal: localStorage.getItem('ms_journal_alias') ? parseInt(localStorage.getItem('ms_journal_alias')) : 0,
|
||||
journal: 0,
|
||||
name: '',
|
||||
state: 0,
|
||||
pageIndex: 1,
|
||||
pageSize: 10
|
||||
},
|
||||
tableData: [],
|
||||
multipleSelection: [],
|
||||
delList: [],
|
||||
activeNames: [],
|
||||
artextForm: {},
|
||||
coverLetterFileList: [],
|
||||
picturesAndTablesFileList: [],
|
||||
totalpageFileList: [],
|
||||
manuscirptFileList: [],
|
||||
supplementaryFileList: [],
|
||||
comentDeploy: [],
|
||||
activeComment: [],
|
||||
authorList_name: '',
|
||||
editVisible: false,
|
||||
artextVisible: false,
|
||||
comentVisible: false,
|
||||
Total: 0
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.initselect();
|
||||
this.getdate();
|
||||
},
|
||||
methods: {
|
||||
//初始化期刊选项
|
||||
initselect() {
|
||||
this.$api
|
||||
.post('api/Article/getJournal')
|
||||
.then(res => {
|
||||
this.items = res;
|
||||
})
|
||||
.catch(err => {
|
||||
console.log(err);
|
||||
});
|
||||
},
|
||||
// 获取文章列表数据
|
||||
getdate() {
|
||||
this.$api
|
||||
.post('api/Article/getArticle', this.query)
|
||||
.then(res => {
|
||||
this.Total = res.total;
|
||||
for (let i = 0; i < res.data.length; i++) {
|
||||
let date = new Date(parseInt(res.data[i].ctime) * 1000);
|
||||
let Y = date.getFullYear() + '-';
|
||||
let M = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) + '-' : date.getMonth() +
|
||||
1 + '-';
|
||||
let D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
|
||||
res.data[i].ctime = Y + M + D;
|
||||
}
|
||||
this.tableData = res.data;
|
||||
})
|
||||
.catch(err => {
|
||||
console.log(err);
|
||||
});
|
||||
},
|
||||
// 触发搜索按钮
|
||||
handleSearch() {
|
||||
this.$set(this.query, 'pageIndex', 1);
|
||||
this.getdate();
|
||||
},
|
||||
//跳转到增加稿件页面
|
||||
addArticle() {
|
||||
this.$router.push('/articleAdd');
|
||||
},
|
||||
|
||||
// 分页导航
|
||||
handlePageChange(val) {
|
||||
this.$set(this.query, 'pageIndex', val);
|
||||
this.getdate();
|
||||
},
|
||||
showdetail(row) {
|
||||
// if(row.state==4){
|
||||
// this.$router.push({path:'articleRevise',query:{id:row.article_id}});
|
||||
// }else{
|
||||
this.$router.push({
|
||||
path: 'articleDetail',
|
||||
query: {
|
||||
id: row.article_id
|
||||
}
|
||||
});
|
||||
// }
|
||||
|
||||
},
|
||||
|
||||
// 点击稿件进程
|
||||
esy_mtps(e) {
|
||||
this.$router.push({
|
||||
path: 'articleProcess',
|
||||
query: {
|
||||
id: e
|
||||
}
|
||||
});
|
||||
},
|
||||
// 点击稿件审稿意见
|
||||
esy_review(e) {
|
||||
// 审稿人意见
|
||||
this.$api
|
||||
.post('api/Article/getArticleDetail', {
|
||||
articleId: e,
|
||||
human: 'author'
|
||||
})
|
||||
.then(res => {
|
||||
// 弹出框
|
||||
this.comentDeploy = res.suggest
|
||||
// this.activeComment = []
|
||||
// for (var i = 0; i < res.suggest.length; i++) {
|
||||
// this.activeComment.push(i)
|
||||
// }
|
||||
this.comentVisible = true
|
||||
})
|
||||
.catch(err => {
|
||||
console.log(err);
|
||||
});
|
||||
|
||||
},
|
||||
// 点击稿件内容文件
|
||||
esy_deta(e) {
|
||||
this.$api
|
||||
.post('api/Article/getArticleDetail', {
|
||||
articleId: e,
|
||||
human: 'author'
|
||||
})
|
||||
.then(res => {
|
||||
this.artextForm = res.article
|
||||
this.artextForm.major = res.major;
|
||||
this.artextForm.authors = []
|
||||
let alist = res.authors;
|
||||
let alist_name = [];
|
||||
for (let i in alist) {
|
||||
this.artextForm.authors.push({
|
||||
art_aut_id: alist[i].art_aut_id,
|
||||
firstname: alist[i].firstname,
|
||||
lastname: alist[i].lastname,
|
||||
orcid: alist[i].orcid,
|
||||
company: alist[i].company,
|
||||
department: alist[i].department,
|
||||
title: alist[i].author_title,
|
||||
country: alist[i].country,
|
||||
email: alist[i].email,
|
||||
address: alist[i].address,
|
||||
isSuper: alist[i].is_super == 1 ? true : false,
|
||||
isReport: alist[i].is_report == 1 ? true : false
|
||||
});
|
||||
if (i == alist.length - 1) {
|
||||
alist_name.push(alist[i].firstname + ' ' + alist[i].lastname)
|
||||
} else {
|
||||
alist_name.push(alist[i].firstname + ' ' + alist[i].lastname + ' , ')
|
||||
}
|
||||
}
|
||||
this.authorList_name = "Author : " + alist_name.join("");
|
||||
// 弹出框
|
||||
this.artextVisible = true
|
||||
})
|
||||
.catch(err => {
|
||||
console.log(err);
|
||||
});
|
||||
this.$api
|
||||
.post('api/Article/getFilelistByArticleID', {
|
||||
articleId: e
|
||||
})
|
||||
.then(res => {
|
||||
this.coverLetterFileList = res.coverLetter;
|
||||
this.picturesAndTablesFileList = res.picturesAndTables;
|
||||
this.manuscirptFileList = res.manuscirpt;
|
||||
this.totalpageFileList = res.totalpage;
|
||||
this.supplementaryFileList = res.supplementary;
|
||||
})
|
||||
.catch(err => {
|
||||
console.log(err);
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
formatDate(timestamp) {
|
||||
var date = new Date(timestamp * 1000); //时间戳为10位需*1000,时间戳为13位的话不需乘1000
|
||||
var Y = date.getFullYear() + '-';
|
||||
var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
|
||||
var D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
|
||||
var h = date.getHours() < 10 ? '0' + date.getHours() : date.getHours();
|
||||
var m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes();
|
||||
var s = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
|
||||
return Y + M + D + ' ' + h + ':' + m + ':' + s;
|
||||
},
|
||||
formatDate1(timestamp) {
|
||||
var date = new Date(timestamp * 1000); //时间戳为10位需*1000,时间戳为13位的话不需乘1000
|
||||
var Y = date.getFullYear() + '-';
|
||||
var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
|
||||
var D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
|
||||
return Y + M + D;
|
||||
},
|
||||
},
|
||||
filters: {
|
||||
// 文章类型
|
||||
ellipsis(value) {
|
||||
let frag = '';
|
||||
switch (value) {
|
||||
case "A":
|
||||
frag = 'Article';
|
||||
break;
|
||||
case 'B':
|
||||
frag = 'Review';
|
||||
break;
|
||||
case 'C':
|
||||
frag = 'Case report';
|
||||
break;
|
||||
case 'P':
|
||||
frag = 'Research proposal';
|
||||
break;
|
||||
case 'N':
|
||||
frag = 'News';
|
||||
break;
|
||||
case 'T':
|
||||
frag = 'Comment';
|
||||
break;
|
||||
case 'CT':
|
||||
frag = 'Correction';
|
||||
break;
|
||||
case 'HT':
|
||||
frag = 'Hypothesis';
|
||||
break;
|
||||
case 'PF':
|
||||
frag = 'Preface';
|
||||
break;
|
||||
case 'ET':
|
||||
frag = 'Editorial';
|
||||
break;
|
||||
case 'RP':
|
||||
frag = 'Report';
|
||||
break;
|
||||
case 'LR':
|
||||
frag = 'Letter';
|
||||
break;
|
||||
case 'EF':
|
||||
frag = 'Empirical formula';
|
||||
break;
|
||||
case 'EM':
|
||||
frag = 'Evidence-based medicine';
|
||||
break;
|
||||
case 'EC':
|
||||
frag = 'Expert consensus';
|
||||
break;
|
||||
case 'LTE':
|
||||
frag = 'Letter to editor';
|
||||
break;
|
||||
case 'QI':
|
||||
frag = 'Questionnaire investigation';
|
||||
break;
|
||||
case 'PT':
|
||||
frag = 'Protocol';
|
||||
break;
|
||||
case 'CS':
|
||||
frag = 'Case Series';
|
||||
break;
|
||||
case 'RT':
|
||||
frag = 'Retraction';
|
||||
break;
|
||||
case 'MR':
|
||||
frag = 'Mini Review';
|
||||
break;
|
||||
default:
|
||||
frag = 'Others';
|
||||
}
|
||||
return frag;
|
||||
},
|
||||
|
||||
// 稿件状态,颜色
|
||||
stateChange(value, num) {
|
||||
let str = '';
|
||||
let sgr = '';
|
||||
let skr = '';
|
||||
let sfr = '';
|
||||
let slr = '';
|
||||
switch (value) {
|
||||
case 0:
|
||||
str = '#e1b0271F;';
|
||||
sfr = '#e1b02705;';
|
||||
sgr = '#e1b0274D;';
|
||||
skr = '#e1b027;';
|
||||
slr = 'Received';
|
||||
break;
|
||||
case 1:
|
||||
str = '#5a90e11F;';
|
||||
sfr = '#5a90e105;';
|
||||
sgr = '#5a90e14D;';
|
||||
skr = '#5a90e1;';
|
||||
slr = 'With editor';
|
||||
break;
|
||||
case 2:
|
||||
str = '#5a90e11F;';
|
||||
sfr = '#5a90e105;';
|
||||
sgr = '#5a90e14D;';
|
||||
skr = '#5a90e1;';
|
||||
slr = 'Under review';
|
||||
break;
|
||||
case 3:
|
||||
str = '#8888881F;';
|
||||
sfr = '#88888805;';
|
||||
sgr = '#8888884D;';
|
||||
skr = '#888888;';
|
||||
slr = 'Reject';
|
||||
break;
|
||||
case 4:
|
||||
str = '#5a90e11F;';
|
||||
sfr = '#5a90e105;';
|
||||
sgr = '#5a90e14D;';
|
||||
skr = '#5a90e1;';
|
||||
slr = 'Revision';
|
||||
break;
|
||||
case 5:
|
||||
str = '#5fab3b1F;';
|
||||
sfr = '#5fab3b05;';
|
||||
sgr = '#5fab3b4D;';
|
||||
skr = '#5fab3b;';
|
||||
slr = 'Accept';
|
||||
break;
|
||||
case 6:
|
||||
str = '#5a90e11F;';
|
||||
sfr = '#5a90e105;';
|
||||
sgr = '#5a90e14D;';
|
||||
skr = '#5a90e1;';
|
||||
slr = 'Pre-accept';
|
||||
break;
|
||||
case 7:
|
||||
str = '#5fab3b1F;';
|
||||
sfr = '#5fab3b05;';
|
||||
sgr = '#5fab3b4D;';
|
||||
skr = '#5fab3b;';
|
||||
slr = 'Proof';
|
||||
break;
|
||||
default:
|
||||
str = '#8888881F;';
|
||||
sfr = '#88888805;';
|
||||
sgr = '#8888884D;';
|
||||
skr = '#888888;';
|
||||
slr = 'error!!';
|
||||
}
|
||||
if (num == '1') {
|
||||
return 'border-color:' + sgr;
|
||||
}
|
||||
if (num == '2') {
|
||||
return 'background-color:' + sfr;
|
||||
}
|
||||
if (num == '3') {
|
||||
return 'background-color:' + str + ';border-color:' + sgr;
|
||||
}
|
||||
if (num == '4') {
|
||||
return 'color:' + skr;
|
||||
}
|
||||
if (num == 'tst') {
|
||||
return slr;
|
||||
}
|
||||
},
|
||||
journal_me(e) {
|
||||
var frag = e.journalname;
|
||||
if (e.special_num > 0) {
|
||||
frag += "(Special Issues)";
|
||||
}
|
||||
return frag;
|
||||
},
|
||||
},
|
||||
computed: {
|
||||
|
||||
}
|
||||
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.container {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.handle-box {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.handle-select {
|
||||
width: 120px;
|
||||
}
|
||||
|
||||
.handle-input {
|
||||
width: 300px;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.table {
|
||||
width: 100%;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.red {
|
||||
color: #ff0000;
|
||||
}
|
||||
|
||||
.mr10 {
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.table-td-thumb {
|
||||
display: block;
|
||||
margin: auto;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
}
|
||||
|
||||
.item {
|
||||
margin-top: 5px;
|
||||
}
|
||||
|
||||
.el-table .hasChange-row {
|
||||
background-color: #ffebe8;
|
||||
}
|
||||
|
||||
.mangu_list {
|
||||
color: #333;
|
||||
margin: 0 0 20px 0;
|
||||
font-size: 14px;
|
||||
/* position: relative; */
|
||||
border-radius: 5px;
|
||||
border: 1px solid #EBEEF5;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.mangu_list .man_title {
|
||||
margin: 2px 100px 10px 0;
|
||||
font-weight: bolder;
|
||||
letter-spacing: -0.5px;
|
||||
font-size: 16px;
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
line-height: 18px;
|
||||
}
|
||||
|
||||
.mangu_list .man_title:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.mangu_list .man_con {
|
||||
margin: 0 0 10px 0;
|
||||
}
|
||||
|
||||
.mangu_list .man_state {
|
||||
position: absolute;
|
||||
right: -1px;
|
||||
top: -1px;
|
||||
border: 1px solid #fff;
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
padding: 6px 18px;
|
||||
letter-spacing: -0.5px;
|
||||
border-top-right-radius: 3px;
|
||||
/* border-top-left-radius: 3px; */
|
||||
}
|
||||
|
||||
.mangu_list .man_progess {
|
||||
padding: 15px 20px;
|
||||
border-top: 1px solid #5a90e126;
|
||||
|
||||
}
|
||||
|
||||
.mangu_list .man_progess i {
|
||||
margin: 0 5px 0 0;
|
||||
}
|
||||
|
||||
|
||||
.mangu_list .man_progess>a>b {
|
||||
margin-left: 5px;
|
||||
color: #5a90e1;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.mangu_list .man_progess>a>b:hover {
|
||||
color: #006699;
|
||||
}
|
||||
|
||||
.mangu_list .man_btn {
|
||||
/* color: #006699; */
|
||||
position: absolute;
|
||||
bottom: 25px;
|
||||
right: 25px;
|
||||
font-size: 15px;
|
||||
}
|
||||
|
||||
.mangu_list .man_btn>span {
|
||||
/* text-decoration: underline; */
|
||||
}
|
||||
|
||||
.mangu_list .man_btn>span:hover {
|
||||
text-decoration: underline;
|
||||
cursor: pointer;
|
||||
color: #06374e;
|
||||
}
|
||||
|
||||
|
||||
.mangu_list .man_btn i {
|
||||
margin: 0 8px 0 0;
|
||||
}
|
||||
|
||||
.mangu_list .man_btn font {
|
||||
margin: 0 18px;
|
||||
}
|
||||
|
||||
.art_state_message {
|
||||
margin: 0 20px 0 0;
|
||||
}
|
||||
|
||||
.art_process_ {
|
||||
border: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.art_process_ .art_process_list:first-child {
|
||||
padding-top: 0;
|
||||
}
|
||||
|
||||
.art_author_list {
|
||||
margin: 0 0 0 5px;
|
||||
}
|
||||
|
||||
.art_author_list .com_shu {
|
||||
background-color: #006699;
|
||||
color: #fff;
|
||||
display: inline-block;
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
line-height: 18px;
|
||||
text-align: center;
|
||||
margin: 0 10px 0 0;
|
||||
}
|
||||
|
||||
.el-collapse {
|
||||
border-bottom: 0;
|
||||
}
|
||||
|
||||
|
||||
.art_author_coment {}
|
||||
|
||||
.art_author_coment>p {
|
||||
margin: 10px 0 0 28px;
|
||||
line-height: 20px;
|
||||
}
|
||||
|
||||
.art_author_coment>p:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.art_author_coment>p>font {
|
||||
display: block;
|
||||
margin: 0 0 2px 0;
|
||||
color: #006699;
|
||||
font-weight: bold;
|
||||
letter-spacing: -0.5px;
|
||||
}
|
||||
</style>
|
||||
@@ -6,39 +6,60 @@
|
||||
</el-breadcrumb>
|
||||
</div>
|
||||
<div class="container">
|
||||
<div style="margin-bottom: 20px;">
|
||||
{{articleMess.title}}
|
||||
</div>
|
||||
<div class="handle-box">
|
||||
<el-button type="primary" icon="el-icon-plus" @click="openAddRev">Reviewer Bank</el-button>
|
||||
<el-button type="primary" icon="el-icon-plus" @click="openSuggRev">Reviewers Suggested By Author
|
||||
({{tableSuggest.length}})</el-button>
|
||||
<!-- <el-button type="primary" icon="el-icon-circle-plus-outline" @click="editVisible1 = true">Supplement</el-button> -->
|
||||
</div>
|
||||
<el-table :data="tableData" border stripe class="table" ref="multipleTable"
|
||||
header-cell-class-name="table-header" empty-text="New messages (0)">
|
||||
<el-table-column type="index" label="No." align="center" width="50"></el-table-column>
|
||||
<!-- <el-table-column prop="art_rev_id" label="ID" align="center" width="60"></el-table-column> -->
|
||||
<el-table-column label="Reviewer" align="center" width="130">
|
||||
<el-table-column label="Base Information" width="320px">
|
||||
<template slot-scope="scope">
|
||||
<el-badge is-dot :hidden="scope.row.reviewer_act == 1 ? false : true" class="item">
|
||||
{{ scope.row.reviewer }}
|
||||
</el-badge>
|
||||
<p class="tab_tie_col">
|
||||
<span>Realname: </span>
|
||||
<b style="font-size: 15px;letter-spacing: -0.5px;">
|
||||
<el-badge is-dot :hidden="scope.row.reviewer_act == 1 ? false : true" class="item">
|
||||
{{ scope.row.reviewer }}
|
||||
</el-badge>
|
||||
</b>
|
||||
</p>
|
||||
<p class="tab_tie_col">
|
||||
<span>Email: </span>{{scope.row.email}}
|
||||
</p>
|
||||
<p class="tab_tie_col">
|
||||
<span>Country: </span>{{scope.row.country}}
|
||||
</p>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="Other Information">
|
||||
<template slot-scope="scope">
|
||||
<p class="tab_tie_col" v-if="scope.row.major_str!=''">
|
||||
<span>Major: </span>{{scope.row.major_str}}
|
||||
</p>
|
||||
<p class="tab_tie_col">
|
||||
<span>Field: </span>{{scope.row.field}}
|
||||
</p>
|
||||
<p class="tab_tie_col" v-if="scope.row.company!=''">
|
||||
<span>Affiliation: </span>{{scope.row.company}}
|
||||
</p>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="country" label="Country" align="center" width="100"></el-table-column>
|
||||
<el-table-column prop="email" label="Email" align="center"></el-table-column>
|
||||
<el-table-column prop="company" label="Company" align="center"></el-table-column>
|
||||
<el-table-column prop="major_str" label="Major"></el-table-column>
|
||||
<el-table-column prop="field" label="Field"></el-table-column>
|
||||
<el-table-column label="state" align="center" width="95">
|
||||
<template slot-scope="scope">
|
||||
{{revstate(scope.row)}}
|
||||
<font style="color: #aaa;display: block;line-height: 18px;font-size: 13px;margin: 5px 0 0 0;">
|
||||
{{formatDate(scope.row.ctime)}}</font>
|
||||
{{formatDate(scope.row.ctime)}}
|
||||
</font>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="" width="110" align="center">
|
||||
<el-table-column label="" width="170" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" type="primary" plain icon="el-icon-tickets"
|
||||
@click="showdetail(scope.row)">Detail</el-button>
|
||||
@click="showdetail(scope.row)">Review comments</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
@@ -47,6 +68,8 @@
|
||||
:page-size="query.pageSize" :total="Total" @current-change="handlePageChange"></el-pagination>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 推荐审稿人弹出层 -->
|
||||
<el-dialog title="Add Suggest Reviewer" :visible.sync="AddSuggest" width="800px">
|
||||
<el-table :data="tableSuggest" border stripe class="table" ref="multipleTable"
|
||||
header-cell-class-name="table-header" empty-text="New messages (0)">
|
||||
@@ -61,258 +84,141 @@
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="AddSuggest = false">Cancel</el-button>
|
||||
<el-button @click="AddSuggest = false">Cancel</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
<el-dialog title="add reviewer" :closeOnClickModal="false" :visible.sync="editVisible" width="80%"
|
||||
v-loading="loading" element-loading-text="Loading..." element-loading-spinner="el-icon-loading"
|
||||
element-loading-background="rgba(0, 0, 0, 0.8)">
|
||||
<el-form ref="editform" :model="editform" label-width="100px">
|
||||
<el-form-item label="state">
|
||||
<el-select v-model="editform.uid" filterable @change="changereviewer()" placeholder="Please select">
|
||||
<el-option :key="0" label="please select" :value="0"></el-option>
|
||||
<el-option v-for="item in reviewerList" :key="item.user_id" :label="item.account"
|
||||
:value="item.user_id"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="Country" v-if="editform.uid != 0">
|
||||
<span>{{ reviewer_data.country }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="Company" v-if="editform.uid != 0">
|
||||
<span>{{ reviewer_data.company }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="Major" v-if="editform.uid != 0">
|
||||
<span>{{ reviewer_data.major_title }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="Field" v-if="editform.uid != 0">
|
||||
<span>{{ reviewer_data.field }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="Introduction" v-if="editform.uid != 0">
|
||||
<span>{{ reviewer_data.introduction }}</span>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="editVisible=false">canel</el-button>
|
||||
<el-button type="primary" @click="saveEdit">save</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
<el-dialog title="Supplement" :visible.sync="editVisible1" width="40%" v-loading="loading"
|
||||
element-loading-text="Loading..." element-loading-spinner="el-icon-loading"
|
||||
element-loading-background="rgba(0, 0, 0, 0.8)">
|
||||
<el-form :model="questionform" 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="questionform.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="questionform.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="questionform.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="questionform.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="questionform.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="questionform.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="questionform.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="questionform.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="questionform.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="questionform.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="questionform.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="questionform.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="questionform.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="questionform.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="questionform.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="questionform.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:{{questionform.rated}}</span>
|
||||
</el-form-item>
|
||||
<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 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="questionform.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="questionform.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="questionform.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="questionform.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-form-item>
|
||||
<el-button type="primary" @click="addArtRev">submit</el-button>
|
||||
</el-form-item>
|
||||
<!-- 审稿列表弹出层 -->
|
||||
<el-dialog :title="this.comentReview+' commtents list'" :visible.sync="detailVisible" width="800px">
|
||||
<div>
|
||||
<p v-if="comentDeploy==''" style="color: #888888;margin: 0 0 0 10px;">No Comment</p>
|
||||
<el-collapse v-model="activeComment" v-if="comentDeploy!=''">
|
||||
<el-collapse-item v-for="(item,index) in comentDeploy" :name="index" class="art_author_list">
|
||||
<template slot="title">
|
||||
<b class="com_shu">{{index+1}}</b>
|
||||
Reviewer Comment - The {{index+1}} time
|
||||
<font style="margin: 0 0 0 50px;color: #888;">
|
||||
<i class="el-icon-time" style="margin:0 2px 0 0;"></i>
|
||||
{{formatDate(item.ctime)}}
|
||||
</font>
|
||||
<font style="margin: 0 0 0 50px;">
|
||||
Status: {{revstate(item)}}
|
||||
</font>
|
||||
</template>
|
||||
<div class="art_author_coment">
|
||||
<el-divider content-position="center">REFEREE'S ASSESSMENT</el-divider>
|
||||
<p style="height: 15px;"></p>
|
||||
<div>
|
||||
<p>
|
||||
1. Originality of the topic
|
||||
<span>{{gradeFour(item.qu1)}}</span>
|
||||
</p>
|
||||
</div>
|
||||
<div>
|
||||
<p>
|
||||
2. Importance in its Field
|
||||
<span>{{gradeFour(item.qu3)}}</span>
|
||||
</p>
|
||||
</div>
|
||||
<div>
|
||||
<p>
|
||||
3. Does the manuscript fall within the aim and scope of the journal?
|
||||
<span>{{gradeFour(item.qu6)}}</span>
|
||||
</p>
|
||||
</div>
|
||||
<div>
|
||||
<p>
|
||||
4. English language
|
||||
<span>{{gradeFour(item.qu8)}}</span>
|
||||
</p>
|
||||
</div>
|
||||
<div>
|
||||
<p>
|
||||
5. Readily Understandable
|
||||
<span>{{gradeFour(item.qu5)}}</span>
|
||||
</p>
|
||||
</div>
|
||||
<div>
|
||||
<p>
|
||||
6. Does the title represent manuscript's contents?
|
||||
<span>{{gradeTwo(item.qu9)}}</span>
|
||||
</p>
|
||||
<p class="quescont">{{item.qu9_contents}}</p>
|
||||
</div>
|
||||
<div>
|
||||
<p>
|
||||
7. Is the Abstract accurate and concise?
|
||||
<span>{{gradeTwo(item.qu10)}}</span>
|
||||
</p>
|
||||
<p class="quescont">{{item.qu10_contents}}</p>
|
||||
</div>
|
||||
<div>
|
||||
<p>
|
||||
8. Are the approach/ methods properly described?
|
||||
<span>{{gradeTwo(item.qu11)}}</span>
|
||||
</p>
|
||||
<p class="quescont">{{item.qu11_contents}}</p>
|
||||
</div>
|
||||
<div>
|
||||
<p>
|
||||
9. Are the conclusions and interpretations sound?
|
||||
<span>{{gradeTwo(item.qu12)}}</span>
|
||||
</p>
|
||||
<p class="quescont">{{item.qu12_contents}}</p>
|
||||
</div>
|
||||
<div>
|
||||
<p>
|
||||
10. Are the references properly cited?
|
||||
<span>{{gradeTwo(item.qu13)}}</span>
|
||||
</p>
|
||||
<p class="quescont">{{item.qu13_contents}}</p>
|
||||
</div>
|
||||
<p style="height: 15px;"></p>
|
||||
<el-divider content-position="center">REFEREE'S RECOMMENDATIONS</el-divider>
|
||||
<p style="height: 15px;"></p>
|
||||
<div>
|
||||
<p>
|
||||
Overall the Paper is Rated
|
||||
<span style="font-size: 20px;">{{item.rated}}</span>
|
||||
</p>
|
||||
</div>
|
||||
<div>
|
||||
<p>
|
||||
REFEREE'S RECOMMENDATIONS
|
||||
<span>{{gradeRcond(item.recommend)}}</span>
|
||||
</p>
|
||||
</div>
|
||||
<div>
|
||||
<p>
|
||||
OTHER SPECIFIC CRITICISMS
|
||||
<span>{{gradeCrti(item.other)}}</span>
|
||||
</p>
|
||||
</div>
|
||||
<div>
|
||||
<p>
|
||||
Comments for the Authors
|
||||
</p>
|
||||
<p class="quescont">{{item.comments}}</p>
|
||||
</div>
|
||||
<div>
|
||||
<p>
|
||||
Confidential Comments to the Editor
|
||||
</p>
|
||||
<p class="quescont">{{item.confidential}}</p>
|
||||
</div>
|
||||
<div>
|
||||
<p>
|
||||
Disclose name or remain anonymous.
|
||||
<span>{{gradeName(item.is_anonymous)}}</span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</el-collapse-item>
|
||||
</el-collapse>
|
||||
</el-form>
|
||||
</div>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="detailVisible = false">Cancel</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
@@ -322,75 +228,26 @@
|
||||
data() {
|
||||
return {
|
||||
baseUrl: this.Common.baseUrl,
|
||||
questionform: {
|
||||
uid: 0,
|
||||
articleId: this.$route.query.id,
|
||||
qu1: '',
|
||||
qu2: '',
|
||||
qu3: '',
|
||||
qu4: '',
|
||||
qu5: '',
|
||||
qu6: '',
|
||||
qu7: '',
|
||||
qu8: '',
|
||||
qu9: '',
|
||||
qu9contents: '',
|
||||
qu10: '',
|
||||
qu10contents: '',
|
||||
qu11: '',
|
||||
qu11contents: '',
|
||||
qu12: '',
|
||||
qu12contents: '',
|
||||
qu13: '',
|
||||
qu13contents: '',
|
||||
qu14: '',
|
||||
qu14contents: '',
|
||||
qu15: '',
|
||||
qu15contents: '',
|
||||
rated: '',
|
||||
recommend: '',
|
||||
other: '',
|
||||
confident: '',
|
||||
comment: ''
|
||||
},
|
||||
txt_mess: {},
|
||||
articleMess: {},
|
||||
activeComment: [],
|
||||
comentReview: '',
|
||||
comentDeploy: [],
|
||||
query: {
|
||||
articleId: this.$route.query.id,
|
||||
article_id: this.$route.query.id,
|
||||
pageIndex: 1,
|
||||
pageSize: 10
|
||||
},
|
||||
editform: {
|
||||
uid: 0,
|
||||
articleId: this.$route.query.id
|
||||
},
|
||||
reviewer_data: {
|
||||
introduction: '',
|
||||
country: '',
|
||||
company: '',
|
||||
major_title: '',
|
||||
field: ''
|
||||
},
|
||||
reviewer_data1: {
|
||||
introduction: '',
|
||||
country: '',
|
||||
company: '',
|
||||
major_title: '',
|
||||
field: ''
|
||||
},
|
||||
editVisible: false,
|
||||
editVisible1: false,
|
||||
AddSuggest: false,
|
||||
detailVisible: false,
|
||||
tableData: [],
|
||||
reviewerList: [],
|
||||
tableSuggest: [],
|
||||
loading: false,
|
||||
Total: 0
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getdate();
|
||||
this.initreviewerList();
|
||||
this.getDate();
|
||||
},
|
||||
computed: {
|
||||
upload_url: function() {
|
||||
@@ -399,7 +256,7 @@
|
||||
},
|
||||
methods: {
|
||||
// 获取编辑列表数据
|
||||
getdate() {
|
||||
getDate() {
|
||||
this.$api
|
||||
.post('api/Article/getReviewerList', this.query)
|
||||
.then((res) => {
|
||||
@@ -417,16 +274,21 @@
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
});
|
||||
this.$api
|
||||
.post('api/Article/getArticleDetail', {
|
||||
articleId: this.query.articleId,
|
||||
human: 'editor'
|
||||
})
|
||||
.then((res) => {
|
||||
this.articleMess = res.article;
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
});
|
||||
},
|
||||
// 分页导航
|
||||
handlePageChange(val) {
|
||||
this.$set(this.query, 'pageIndex', val);
|
||||
this.getdate();
|
||||
},
|
||||
addReviewer() {
|
||||
alert('sssss');
|
||||
},
|
||||
// 添加跳页面
|
||||
|
||||
|
||||
// 添加审稿人
|
||||
openAddRev() {
|
||||
this.$router.push({
|
||||
path: 'articleReviewerAdd',
|
||||
@@ -435,67 +297,15 @@
|
||||
}
|
||||
});
|
||||
},
|
||||
//初始化审查员列表
|
||||
initreviewerList() {
|
||||
this.$api
|
||||
.post('api/Article/getArticleReviewerList', {
|
||||
articleId: this.query.articleId
|
||||
})
|
||||
.then((res) => {
|
||||
this.reviewerList = res.data;
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
});
|
||||
},
|
||||
//保存添加操作
|
||||
saveEdit() {
|
||||
if (this.editform.uid == 0) {
|
||||
this.$message.error('please select a reviewer');
|
||||
} else {
|
||||
this.loading = true;
|
||||
this.$api
|
||||
.post('api/Article/addArticleReviewer', this.editform)
|
||||
.then((res) => {
|
||||
this.loading = false;
|
||||
if (res.code == 0) {
|
||||
this.$message.success('add success');
|
||||
this.$router.go(0);
|
||||
} else {
|
||||
this.$message.error('add error');
|
||||
}
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
});
|
||||
}
|
||||
},
|
||||
addArtRev() {
|
||||
if (this.questionform.uid == 0) {
|
||||
this.$message.error('Please select a reviewer');
|
||||
} else if (this.questionform.is_anonymous == "" && this.questionform.is_anonymous != "0") {
|
||||
this.$message.error('Please choose disclose your name or remain anonymous.');
|
||||
} else {
|
||||
this.loading = true;
|
||||
this.$api.post('api/Article/addArtRev', this.questionform)
|
||||
.then((res) => {
|
||||
this.loading = false;
|
||||
if (res.code == 0) {
|
||||
this.$message.success('add success');
|
||||
this.$router.go(0);
|
||||
} else {
|
||||
this.$message.error('add error');
|
||||
}
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
});
|
||||
}
|
||||
},
|
||||
// 添加推荐审稿人
|
||||
|
||||
|
||||
|
||||
// 弹出添加推荐审稿人
|
||||
openSuggRev() {
|
||||
this.AddSuggest = true
|
||||
},
|
||||
|
||||
// 选择推荐审稿人
|
||||
selSuggest(e) {
|
||||
this.loading = true;
|
||||
this.$api
|
||||
@@ -508,7 +318,7 @@
|
||||
if (res.code == 0) {
|
||||
this.$message.success('Add Success');
|
||||
this.AddSuggest = false
|
||||
this.getdate();
|
||||
this.getDate();
|
||||
} else {
|
||||
this.$message.error('Add Error');
|
||||
}
|
||||
@@ -518,54 +328,41 @@
|
||||
console.log(err);
|
||||
});
|
||||
},
|
||||
|
||||
// 查看审稿人审稿列表
|
||||
showdetail(row) {
|
||||
this.comentReview = row.reviewer
|
||||
if (row.state == 4) {
|
||||
this.$message.error('Review expired!');
|
||||
} else {
|
||||
this.$router.push({
|
||||
path: 'articleReviewerDetail',
|
||||
query: {
|
||||
id: row.art_rev_id
|
||||
return
|
||||
}
|
||||
this.comentDeploy = []
|
||||
|
||||
this.$api
|
||||
.post('api/Reviewer/getQuestion', {
|
||||
artrevid: row.art_rev_id
|
||||
})
|
||||
.then((res) => {
|
||||
if (res.code == 0) {
|
||||
this.comentDeploy.push(res.data)
|
||||
}
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
});
|
||||
}
|
||||
},
|
||||
changereviewer() {
|
||||
if (this.editform.uid !== 0) {
|
||||
this.$api
|
||||
.post('api/Article/getReviewerdetail', {
|
||||
uid: this.editform.uid
|
||||
})
|
||||
.then((res) => {
|
||||
this.reviewer_data.introduction = res.data.introduction;
|
||||
this.reviewer_data.country = res.data.country;
|
||||
this.reviewer_data.company = res.data.company;
|
||||
this.reviewer_data.major_title = res.data.major_title;
|
||||
this.reviewer_data.field = res.data.field;
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
});
|
||||
}
|
||||
},
|
||||
changereviewer1() {
|
||||
if (this.questionform.uid !== 0) {
|
||||
this.$api
|
||||
.post('api/Article/getReviewerdetail', {
|
||||
uid: this.questionform.uid
|
||||
})
|
||||
.then((res) => {
|
||||
this.reviewer_data1.introduction = res.data.introduction;
|
||||
this.reviewer_data1.country = res.data.country;
|
||||
this.reviewer_data1.company = res.data.company;
|
||||
this.reviewer_data1.major_title = res.data.major_title;
|
||||
this.reviewer_data1.field = res.data.field;
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
});
|
||||
}
|
||||
|
||||
this.detailVisible = true
|
||||
|
||||
// this.$router.push({
|
||||
// path: 'articleReviewerDetail',
|
||||
// query: {
|
||||
// id: row.art_rev_id
|
||||
// }
|
||||
// });
|
||||
|
||||
},
|
||||
|
||||
// 审稿建议
|
||||
revstate(row, column, cellValue, index) {
|
||||
let frag = '';
|
||||
if (row.state == 0) {
|
||||
@@ -596,6 +393,72 @@
|
||||
var s = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
|
||||
return Y + M + D + ' ' + h + ':' + m + ':' + s;
|
||||
},
|
||||
|
||||
// 等级
|
||||
gradeTwo(e) {
|
||||
let drage = '';
|
||||
if (e) {
|
||||
drage = 'Yes';
|
||||
} else {
|
||||
drage = 'No';
|
||||
}
|
||||
return drage;
|
||||
},
|
||||
gradeFour(e) {
|
||||
let drage = '';
|
||||
if (e == 1) {
|
||||
drage = 'Excellent';
|
||||
} else if (e == 2) {
|
||||
drage = 'Good';
|
||||
} else if (e == 3) {
|
||||
drage = 'Fair';
|
||||
} else if (e == 4) {
|
||||
drage = 'Poor';
|
||||
}
|
||||
return drage;
|
||||
},
|
||||
gradeRcond(e) {
|
||||
let drage = '';
|
||||
if (e == 1) {
|
||||
drage = 'Accept with minor revision';
|
||||
} else if (e == 2) {
|
||||
drage = 'Accept with major revision';
|
||||
} else if (e == 3) {
|
||||
drage = 'Reject in current form, but may be resubmitted';
|
||||
} else if (e == 4) {
|
||||
drage = 'Reject, with no resubmission';
|
||||
}
|
||||
return drage;
|
||||
},
|
||||
|
||||
gradeCrti(e) {
|
||||
let drage = '';
|
||||
if (e == 1) {
|
||||
drage = 'Imperfect style';
|
||||
} else if (e == 2) {
|
||||
drage = 'Too long';
|
||||
} else if (e == 3) {
|
||||
drage = 'References incorrectly presented';
|
||||
} else if (e == 4) {
|
||||
drage = 'Typographical and Grammatical errors';
|
||||
}
|
||||
return drage;
|
||||
},
|
||||
gradeName(e) {
|
||||
let drage = '';
|
||||
if (e == 0) {
|
||||
drage = 'Disclose name';
|
||||
} else if (e == 1) {
|
||||
drage = 'Remain anonymous';
|
||||
}
|
||||
return drage;
|
||||
},
|
||||
|
||||
// 分页导航
|
||||
handlePageChange(val) {
|
||||
this.$set(this.query, 'pageIndex', val);
|
||||
this.getDate();
|
||||
},
|
||||
}
|
||||
};
|
||||
</script>
|
||||
@@ -649,4 +512,71 @@
|
||||
.el-table .red-row {
|
||||
background: #f05555;
|
||||
}
|
||||
|
||||
.tab_tie_col {
|
||||
margin-bottom: 5px;
|
||||
color: #333;
|
||||
word-wrap: break-word;
|
||||
word-break: normal;
|
||||
}
|
||||
|
||||
.tab_tie_col>span {
|
||||
color: #888;
|
||||
margin: 0 5px 0 0;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.art_author_list {
|
||||
margin: 0 0 0 5px;
|
||||
}
|
||||
|
||||
.art_author_list .com_shu {
|
||||
background-color: #006699;
|
||||
color: #fff;
|
||||
display: inline-block;
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
line-height: 18px;
|
||||
text-align: center;
|
||||
margin: 0 10px 0 0;
|
||||
}
|
||||
|
||||
.el-collapse {
|
||||
border-bottom: 0;
|
||||
}
|
||||
|
||||
|
||||
.art_author_coment {
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.art_author_coment>div {
|
||||
margin: 10px 0 0 28px;
|
||||
line-height: 20px;
|
||||
word-break: break-word;
|
||||
}
|
||||
|
||||
.art_author_coment>div:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.art_author_coment>div>p {
|
||||
display: block;
|
||||
margin: 0 0 2px 0;
|
||||
font-weight: bold;
|
||||
color: #777;
|
||||
letter-spacing: -0.5px;
|
||||
}
|
||||
|
||||
.art_author_coment>div>p>span {
|
||||
color: #006699;
|
||||
margin-left: 30px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.art_author_coment .quescont {
|
||||
margin-left: 14px;
|
||||
color: #006699;
|
||||
line-height: 22px;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="onSubmit">add</el-button>
|
||||
</el-form-item>
|
||||
|
||||
</el-form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
853
src/components/page/per_text_ls.vue
Normal file
853
src/components/page/per_text_ls.vue
Normal file
@@ -0,0 +1,853 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="crumbs">
|
||||
<el-breadcrumb separator="/">
|
||||
<el-breadcrumb-item>
|
||||
<i class="el-icon-collection"></i>
|
||||
<router-link :to="{path:'/peerewer'}">
|
||||
<span class="top_dao"> Reviewer Article</span>
|
||||
</router-link>
|
||||
>> Reviewer Article Detail
|
||||
</el-breadcrumb-item>
|
||||
</el-breadcrumb>
|
||||
</div>
|
||||
<div class="container_l" v-loading="loading" element-loading-text="Loading..."
|
||||
element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 0, 0, 0.8)">
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="10">
|
||||
<iframe ref="mainiframe" :src="pdfUrl" class="lookpdf" frameborder="0"></iframe>
|
||||
</el-col>
|
||||
<el-col :span="14" style="height: 760px;overflow-y: scroll;">
|
||||
<!-- <el-col :span="24"> -->
|
||||
<el-card class="box-card">
|
||||
<div class="tet_list" :model="txt_mess">
|
||||
<h4>{{txt_mess.article_title}}</h4>
|
||||
<h5>
|
||||
<a :href="txt_mess.website" target="_blank" class="titlink">{{txt_mess.title}}</a>
|
||||
<span style="margin: 0 10px;"> >> </span>
|
||||
Manuscript ID: {{txt_mess.accept_sn}}
|
||||
</h5>
|
||||
<p style="display:inline-block;margin: 0 35px;"><b>Type :</b> {{txt_mess.atype}}</p>
|
||||
<p style="display:inline-block;"><b>Submitted time :</b> {{txt_mess.ctime}}</p>
|
||||
<div>
|
||||
<p><b>Abstract :</b> <br>{{txt_mess.abstrart}}</p>
|
||||
<div class="file_sty" v-for="item in fileList" style="margin-top: 15px;">
|
||||
<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}}</span>
|
||||
<i class="el-icon-download"
|
||||
style="margin-left: 20px;color: #66b1ff;font-weight: bold;"></i>
|
||||
</a><br>
|
||||
</div>
|
||||
|
||||
<div class="file_sty" v-for="item in picList">
|
||||
<img src="../../assets/img/icon_0.png" alt="" class="icon_img">
|
||||
<a :href='mediaUrl+item.file_url' target="_blank" class="txt_pdf">Figures And Tables
|
||||
<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><br>
|
||||
</div>
|
||||
|
||||
<p style="margin-top: 5px;color: #999;font-size: 14px;">
|
||||
<b style="color: #e41411;">Download failed?</b>
|
||||
<br>If you have upgraded the Google Chrome browser to version 86, released on
|
||||
October 6,
|
||||
2020,
|
||||
you may have
|
||||
noticed that some file downloads don't work anymore in the browser. You click on the
|
||||
download
|
||||
link and nothing
|
||||
happens.
|
||||
<br>1. Right now, the easiest option available is to
|
||||
<b style="color: #e41411;">right-click on the download link and select "save link
|
||||
as".</b>
|
||||
The download is executed when you do that.
|
||||
<br>2. Please try to use a different browser for downloads. For now, a browser like
|
||||
Firefox,
|
||||
Internet Explorer,
|
||||
Brave, Vivaldi, the new Edge, or Opera all allow the download.
|
||||
</p>
|
||||
</div>
|
||||
<!-- <p class="morSou" v-if="!morShow" @click="morShow=true">
|
||||
<i class="el-icon-bottom"></i>
|
||||
More article information
|
||||
</p>
|
||||
<p class="morSou" v-if="morShow" @click="morShow=false">
|
||||
<i class="el-icon-top"></i>
|
||||
More article information
|
||||
</p> -->
|
||||
</div>
|
||||
</el-card>
|
||||
|
||||
<div style="font-size: 18px;text-align: center;margin: 0px 0px 25px;">My comments</div>
|
||||
<div>
|
||||
<el-card class="box-card conment_list" v-for="(item,index) in conmentList">
|
||||
<p style="margin: 0 0 15px 0;">
|
||||
<b>Comment {{index+1}}</b>
|
||||
</p>
|
||||
<p style="font-size: 14px;color: #666;margin-bottom: 5px;">Reviewer :
|
||||
<b v-if="item.reviewer.user_id==User_Id">{{item.reviewer.account}}</b>
|
||||
<b v-if="item.reviewer.user_id!=User_Id">XXXXXXXXXX</b>
|
||||
</p>
|
||||
|
||||
<p style="font-size: 14px;color: #666;margin-bottom: 5px;">Score :
|
||||
<b>{{item.question.rated}}</b>
|
||||
</p>
|
||||
<p style="font-size: 14px;color: #666;margin-bottom: 5px;">Recommendation :
|
||||
<b v-if="item.question.recommend == 1">Accept with minor revision</b>
|
||||
<b v-if="item.question.recommend == 2">Accept with major revision</b>
|
||||
<b v-if="item.question.recommend == 3">Reject in current form, but may be
|
||||
resubmitted</b>
|
||||
<b v-if="item.question.recommend == 4">Reject, with no resubmission</b>
|
||||
</p>
|
||||
<p style="font-size: 14px;color: #666;margin: 0 0 20px 0;">Reviewed Time :
|
||||
<b>{{item.ctime}}</b>
|
||||
</p>
|
||||
<el-button type="primary" size="mini" @click="ques_visible(item.question)">
|
||||
Referee's Assessment
|
||||
</el-button>
|
||||
</el-card>
|
||||
</div>
|
||||
|
||||
<div style="font-size: 18px;text-align: center;margin: 0px 0px 25px;">All comments</div>
|
||||
<div>
|
||||
<el-card class="box-card conment_list" v-for="(item,index) in conmentList">
|
||||
<p style="margin: 0 0 15px 0;">
|
||||
<b>Comment {{index+1}}</b>
|
||||
</p>
|
||||
<p style="font-size: 14px;color: #666;margin-bottom: 5px;">Reviewer :
|
||||
<b v-if="item.reviewer.user_id==User_Id">{{item.reviewer.account}}</b>
|
||||
<b v-if="item.reviewer.user_id!=User_Id">XXXXXXXXXX</b>
|
||||
</p>
|
||||
<p style="font-size: 14px;color: #666;margin-bottom: 5px;">Score :
|
||||
<b>{{item.question.rated}}</b>
|
||||
</p>
|
||||
<p style="font-size: 14px;color: #666;margin-bottom: 5px;">Recommendation :
|
||||
<b v-if="item.question.recommend == 1">Accept with minor revision</b>
|
||||
<b v-if="item.question.recommend == 2">Accept with major revision</b>
|
||||
<b v-if="item.question.recommend == 3">Reject in current form, but may be
|
||||
resubmitted</b>
|
||||
<b v-if="item.question.recommend == 4">Reject, with no resubmission</b>
|
||||
</p>
|
||||
<p style="font-size: 14px;color: #666;margin: 0 0 20px 0;">Reviewed Time :
|
||||
<b>{{item.ctime}}</b>
|
||||
</p>
|
||||
<el-button type="primary" size="mini" @click="ques_visible(item.question)">
|
||||
Referee's Assessment
|
||||
</el-button>
|
||||
</el-card>
|
||||
</div>
|
||||
|
||||
<!-- 审稿意见出框 -->
|
||||
<el-dialog :visible.sync="questionVisible" width="1000px">
|
||||
<el-form :model="questionform" :rules="rules" 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="24">
|
||||
<el-form-item prop="qu6">
|
||||
<span slot="label">
|
||||
1.Does the manuscript fall within the aim and scope of the journal?
|
||||
<a :href="txt_mess.aim_web" target="_blank" class="jouLink">( Aims & Scope )
|
||||
</a>
|
||||
</span>
|
||||
<el-radio-group v-model="questionform.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="2.Originality of the topic">
|
||||
<el-radio-group v-model="questionform.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="3.Importance in its Field">
|
||||
<el-radio-group v-model="questionform.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="4.English language">
|
||||
<el-radio-group v-model="questionform.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="questionform.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-row>
|
||||
|
||||
|
||||
<el-collapse>
|
||||
<el-form-item label="6.Does the title represent manuscript's contents?">
|
||||
<el-col :span="4">
|
||||
<el-radio-group v-model="questionform.qu9">
|
||||
<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="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="questionform.qu9contents" :rows="4"></el-input>
|
||||
</el-collapse-item>
|
||||
</el-col>
|
||||
</el-form-item>
|
||||
</el-collapse>
|
||||
|
||||
|
||||
<el-collapse>
|
||||
<el-form-item label="7.Is the Abstract accurate and concise?">
|
||||
<el-col :span="4">
|
||||
<el-radio-group v-model="questionform.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="questionform.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="questionform.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="questionform.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="questionform.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="questionform.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="questionform.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="questionform.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" prop="rated">
|
||||
( <span style="color: #e41411;">←←←←← Bad ←←← Poor</span>
|
||||
<span style="width: 10px;display: inline-block;"></span>
|
||||
<span style="color: #369916;">Accept → Superior → Excellent</span>)
|
||||
<br />
|
||||
<el-radio-group v-model="questionform.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 : {{questionform.rated}}</span>
|
||||
</el-form-item>
|
||||
<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 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="questionform.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"
|
||||
v-if="this.txt_mess.atype == 'Comment' || this.txt_mess.atype == 'News'">
|
||||
<el-input type="textarea" placeholder="please input content"
|
||||
v-model="questionform.comment" :rows="8"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="Comments for the Authors" prop="comment"
|
||||
v-if="this.txt_mess.atype != 'Comment' && this.txt_mess.atype != 'News'">
|
||||
<el-input type="textarea" placeholder="please input content"
|
||||
v-model="questionform.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="questionform.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="questionform.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-form-item v-if="this.btn_submit==0">
|
||||
<el-button type="primary" @click="questionSubmit">submit</el-button>
|
||||
</el-form-item>
|
||||
</el-collapse>
|
||||
</el-form>
|
||||
</el-dialog>
|
||||
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import pdf from 'vue-pdf';
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
loading: false,
|
||||
Direct_log: this.$route.query.act,
|
||||
Art_id: this.$route.query.Art_id,
|
||||
// morShow: false,
|
||||
txt_mess: {},
|
||||
fileList: [],
|
||||
picList: [],
|
||||
mediaUrl: this.Common.mediaUrl,
|
||||
User_Id: localStorage.getItem('U_id'),
|
||||
add_edit: {
|
||||
article_id: this.$route.query.Art_id,
|
||||
user_id: localStorage.getItem('U_id'),
|
||||
content: ''
|
||||
},
|
||||
head_line: '',
|
||||
conmentList: [],
|
||||
questionform: {
|
||||
rev_qu_id: '',
|
||||
art_rev_id: this.$route.query.Art_id,
|
||||
qu1: '',
|
||||
qu2: '',
|
||||
qu3: '',
|
||||
qu4: '',
|
||||
qu5: '',
|
||||
qu6: '',
|
||||
qu7: '',
|
||||
qu8: '',
|
||||
qu9: '',
|
||||
qu9contents: '',
|
||||
qu10: '',
|
||||
qu10contents: '',
|
||||
qu11: '',
|
||||
qu11contents: '',
|
||||
qu12: '',
|
||||
qu12contents: '',
|
||||
qu13: '',
|
||||
qu13contents: '',
|
||||
qu14: '',
|
||||
qu14contents: '',
|
||||
qu15: '',
|
||||
qu15contents: '',
|
||||
rated: '',
|
||||
recommend: '',
|
||||
other: '',
|
||||
confident: '',
|
||||
comment: '',
|
||||
is_anonymous: ''
|
||||
},
|
||||
btn_submit: 0,
|
||||
questionVisible:false,
|
||||
pdfUrl: '',
|
||||
rules: {
|
||||
qu6: [{
|
||||
required: true,
|
||||
message: "please select",
|
||||
trigger: "blur"
|
||||
}],
|
||||
rated: [{
|
||||
required: true,
|
||||
message: "please select",
|
||||
trigger: "blur"
|
||||
}],
|
||||
comment: [{
|
||||
required: true,
|
||||
message: "please input content",
|
||||
trigger: "blur"
|
||||
}],
|
||||
recommend: [{
|
||||
required: true,
|
||||
message: "please select",
|
||||
trigger: "blur"
|
||||
}],
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
if (this.Direct_log == null) {
|
||||
this.getData();
|
||||
} else {
|
||||
this.$api
|
||||
.post('api/Chief/autoLoginForChief', {
|
||||
'code': this.Direct_log
|
||||
})
|
||||
.then(res => {
|
||||
if (res.code == 0) {
|
||||
localStorage.setItem('U_role', res.data.roles);
|
||||
localStorage.setItem('U_name', res.data.user.account);
|
||||
localStorage.setItem('U_id', res.data.user.user_id);
|
||||
localStorage.setItem('U_relname', res.data.user.realname);
|
||||
|
||||
this.$api
|
||||
.post('api/Reviewer/agreeReviewerArticle', {
|
||||
art_rev_id: this.Art_id
|
||||
})
|
||||
.then(res => {
|
||||
this.getData();
|
||||
})
|
||||
.catch(err => {
|
||||
this.$message.error(err);
|
||||
});
|
||||
|
||||
} else {
|
||||
this.$message.error(res.msg);
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
this.$message.error(err);
|
||||
});
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
getData() {
|
||||
// 获取文章信息
|
||||
this.$api
|
||||
.post('api/Reviewer/getartrevdate', {
|
||||
'revid': this.Art_id,
|
||||
'human': 'reviewer'
|
||||
})
|
||||
.then(res => {
|
||||
if (res.state != 0) {
|
||||
this.btn_submit = 1
|
||||
}
|
||||
|
||||
let date = new Date(parseInt(res.ctime) * 1000);
|
||||
let Y = date.getFullYear() + '-';
|
||||
let M = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) + '-' : date.getMonth() + 1 +
|
||||
'-';
|
||||
let D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
|
||||
res.ctime = Y + M + D;
|
||||
|
||||
this.txt_mess = res;
|
||||
})
|
||||
.catch(err => {
|
||||
this.$message.error(err);
|
||||
});
|
||||
|
||||
this.$api
|
||||
.post('api/Reviewer/getAFilelistByID ', {
|
||||
'revid': this.Art_id
|
||||
})
|
||||
.then(res => {
|
||||
for (var i = 0; i < res.data.length; i++) {
|
||||
let date = new Date(parseInt(res.data[i].ctime) * 1000);
|
||||
let Y = date.getFullYear() + '-';
|
||||
let M = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) + '-' : date.getMonth() +
|
||||
1 + '-';
|
||||
let D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
|
||||
res.data[i].ctime = Y + M + D;
|
||||
}
|
||||
this.fileList = res.data
|
||||
|
||||
// 获取格式
|
||||
let pdfOut = this.fileList[this.fileList.length - 1].file_url
|
||||
|
||||
if (pdfOut.substring(pdfOut.lastIndexOf('.') + 1) == 'docx') {
|
||||
this.pdfUrl =
|
||||
'https://view.officeapps.live.com/op/view.aspx?src=https://submission.tmrjournals.com/public/' +
|
||||
pdfOut
|
||||
// this.pdfUrl =
|
||||
// 'https://view.xdocin.com/view?src=https://submission.tmrjournals.com/public/' +
|
||||
// pdfOut
|
||||
} else {
|
||||
this.pdfUrl = 'https://submission.tmrjournals.com/public/' + pdfOut
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
this.$message.error(err);
|
||||
});
|
||||
|
||||
this.$api
|
||||
.post('api/Reviewer/getBFilelistByID', {
|
||||
'revid': this.Art_id
|
||||
})
|
||||
.then(res => {
|
||||
for (var i = 0; i < res.data.length; i++) {
|
||||
let date = new Date(parseInt(res.data[i].ctime) * 1000);
|
||||
let Y = date.getFullYear() + '-';
|
||||
let M = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) + '-' : date.getMonth() +
|
||||
1 + '-';
|
||||
let D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
|
||||
res.data[i].ctime = Y + M + D;
|
||||
}
|
||||
this.picList = res.data
|
||||
})
|
||||
.catch(err => {
|
||||
this.$message.error(err);
|
||||
});
|
||||
|
||||
|
||||
//初始化问卷
|
||||
this.$api
|
||||
.post('api/Reviewer/getQuestion', {
|
||||
artrevid: this.Art_id
|
||||
}).then((res) => {
|
||||
if (res.code == 0) {
|
||||
this.questionform.rev_qu_id = res.data.rev_qu_id;
|
||||
this.questionform.qu1 = res.data.qu1;
|
||||
this.questionform.qu2 = res.data.qu2;
|
||||
this.questionform.qu3 = res.data.qu3;
|
||||
this.questionform.qu4 = res.data.qu4;
|
||||
this.questionform.qu5 = res.data.qu5;
|
||||
this.questionform.qu6 = res.data.qu6;
|
||||
this.questionform.qu7 = res.data.qu7;
|
||||
this.questionform.qu8 = res.data.qu8;
|
||||
this.questionform.qu9 = res.data.qu9 == 0 ? false : true;
|
||||
this.questionform.qu9contents = res.data.qu9_contents;
|
||||
this.questionform.qu10 = res.data.qu10 == 0 ? false : true;
|
||||
this.questionform.qu10contents = res.data.qu10_contents;
|
||||
this.questionform.qu11 = res.data.qu11 == 0 ? false : true;
|
||||
this.questionform.qu11contents = res.data.qu11_contents;
|
||||
this.questionform.qu12 = res.data.qu12 == 0 ? false : true;
|
||||
this.questionform.qu12contents = res.data.qu12_contents;
|
||||
this.questionform.qu13 = res.data.qu13 == 0 ? false : true;
|
||||
this.questionform.qu13contents = res.data.qu13_contents;
|
||||
this.questionform.qu14 = res.data.qu14 == 0 ? false : true;
|
||||
this.questionform.qu14contents = res.data.qu14_contents;
|
||||
this.questionform.qu15 = res.data.qu15 == 0 ? false : true;
|
||||
this.questionform.qu15contents = res.data.qu15_contents;
|
||||
this.questionform.rated = res.data.rated;
|
||||
this.questionform.recommend = res.data.recommend;
|
||||
this.questionform.other = res.data.other;
|
||||
this.questionform.confident = res.data.confidential;
|
||||
this.questionform.comment = res.data.comments;
|
||||
this.questionform.is_anonymous = res.data.is_anonymous
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
this.$api
|
||||
.post('api/Reviewer/getAllReviewerObj', {
|
||||
'article_id': '38'
|
||||
})
|
||||
.then(res => {
|
||||
for (var i = 0; i < res.data.reviews.length; i++) {
|
||||
let date = new Date(parseInt(res.data.reviews[i].ctime) * 1000);
|
||||
let Y = date.getFullYear() + '-';
|
||||
let M = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) + '-' : date.getMonth() +
|
||||
1 + '-';
|
||||
let D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
|
||||
res.data.reviews[i].ctime = Y + M + D;
|
||||
}
|
||||
this.conmentList = res.data.reviews
|
||||
})
|
||||
.catch(err => {
|
||||
this.$message.error(err);
|
||||
});
|
||||
|
||||
},
|
||||
|
||||
questionSubmit() {
|
||||
if (this.questionform.is_anonymous == "" && this.questionform.is_anonymous != "0") {
|
||||
this.$message.error('Please choose disclose your name or remain anonymous.');
|
||||
} else {
|
||||
// 验证相加的字数
|
||||
let Char_Cter = this.questionform.qu9contents + ' ' + this.questionform.qu10contents + ' ' +
|
||||
this.questionform.qu11contents + ' ' + this.questionform.qu12contents + ' ' +
|
||||
this.questionform.qu13contents + ' ' + this.questionform.comment
|
||||
if (new RegExp("[\\u4E00-\\u9FFF]+", "g").test(Char_Cter)) {
|
||||
//中文
|
||||
let blankCount = 0;
|
||||
for (let i in Char_Cter.match(/ /g)) {
|
||||
blankCount++
|
||||
}
|
||||
let wenziCount = 0;
|
||||
for (let j = 0; j < Char_Cter.length; j++) {
|
||||
if ((Char_Cter.charCodeAt(j) < 0) || (Char_Cter.charCodeAt(j) > 255)) {
|
||||
wenziCount++
|
||||
}
|
||||
}
|
||||
|
||||
if (blankCount + wenziCount <= 60) {
|
||||
this.$message.error(
|
||||
'We encourage you to enrich your comment further to help improve the peer paper.')
|
||||
this.$message({
|
||||
offset: '380',
|
||||
type: 'error',
|
||||
message: "We encourage you to enrich your comment further to help improve the peer paper."
|
||||
})
|
||||
return false
|
||||
}
|
||||
} else {
|
||||
//英文
|
||||
let blankCount = 0;
|
||||
for (let i in Char_Cter.match(/ /g)) {
|
||||
blankCount++
|
||||
}
|
||||
if (blankCount <= 50) {
|
||||
this.$message.error(
|
||||
'We encourage you to enrich your comment further to help improve the peer paper.');
|
||||
this.$message({
|
||||
offset: '380',
|
||||
type: 'error',
|
||||
message: "We encourage you to enrich your comment further to help improve the peer paper."
|
||||
})
|
||||
return false
|
||||
}
|
||||
}
|
||||
// 提交接口
|
||||
this.loading = true
|
||||
this.$refs.question.validate((valid) => {
|
||||
if (valid) {
|
||||
this.$api
|
||||
.post('api/Reviewer/questionSubmit', this.questionform)
|
||||
.then((res) => {
|
||||
if (res.code == 0) {
|
||||
this.loading = false;
|
||||
this.$message.success('Success!!');
|
||||
this.getData();
|
||||
this.$router.push('/per_text_success');
|
||||
} else {
|
||||
this.loading = false;
|
||||
// this.$message.error('Question submit error!');
|
||||
this.$message.error(res.msg);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
this.loading = false;
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
//初始化问卷
|
||||
ques_visible(e) {
|
||||
this.questionVisible = true
|
||||
}
|
||||
|
||||
},
|
||||
mounted() {
|
||||
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.tet_list {
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
.box-card {
|
||||
margin-bottom: 20px;
|
||||
line-height: 24px;
|
||||
}
|
||||
|
||||
.upload-txtc .el-upload-list__item .el-icon-upload-success {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.tet_list h5 {
|
||||
font-size: 15px;
|
||||
margin: 20px 0 5px 0;
|
||||
font-weight: normal;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.tet_list p {
|
||||
font-family: Calibri;
|
||||
line-height: 22px;
|
||||
font-size: 16px;
|
||||
|
||||
}
|
||||
|
||||
.file_sty {
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
|
||||
.file_sty a {
|
||||
color: #606266;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.file_sty a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.red {
|
||||
color: #ff0000;
|
||||
}
|
||||
|
||||
.el-collapse {
|
||||
border-top: 0;
|
||||
border-bottom: 0;
|
||||
}
|
||||
|
||||
.top_dao:hover {
|
||||
text-decoration: underline;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.icon_img {
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
margin-right: 10px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.trah_c .icon_img {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
margin: 0 20px;
|
||||
}
|
||||
|
||||
.el-divider {
|
||||
background-color: #006699;
|
||||
}
|
||||
|
||||
.container_l {
|
||||
min-width: 1000px;
|
||||
}
|
||||
|
||||
.container_l .box-card {
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.lookpdf {
|
||||
height: 760px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.titlink {
|
||||
color: #006699;
|
||||
text-decoration: underline;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
|
||||
.morSou {
|
||||
color: #006699;
|
||||
text-align: right;
|
||||
font-weight: bold;
|
||||
margin: 5px 0 -10px 0;
|
||||
}
|
||||
|
||||
.morSou i {
|
||||
margin-right: 3px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.morSou:hover {
|
||||
text-decoration: underline;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.jouLink {
|
||||
color: #006699;
|
||||
font-weight: bold;
|
||||
margin: 0 0 0 5px;
|
||||
}
|
||||
|
||||
.jouLink:hover {
|
||||
text-decoration: underline;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.conment_list {
|
||||
display: inline-block;
|
||||
text-align: left;
|
||||
width: 32%;
|
||||
height: 270px;
|
||||
margin: 0 0.5% 1%;
|
||||
}
|
||||
</style>
|
||||
1026
src/components/page/per_text_reex.vue
Normal file
1026
src/components/page/per_text_reex.vue
Normal file
File diff suppressed because it is too large
Load Diff
@@ -614,6 +614,13 @@ export default new Router({
|
||||
title: 'Reviewer article details'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/per_text_ls', //审稿人文章详情-总共
|
||||
component: () => import('../components/page/per_text_ls'),
|
||||
meta: {
|
||||
title: 'Reviewer article details'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/per_text_yq', //审稿人文章详情-邀请
|
||||
component: () => import('../components/page/per_text_yq'),
|
||||
|
||||
@@ -4,8 +4,10 @@ module.exports = {
|
||||
assetsDir: 'static',
|
||||
productionSourceMap: false,
|
||||
devServer: {
|
||||
public: 'http://192.168.110.159:8080/', // 你自己本地的ip地址:端口号
|
||||
// port: '8080',
|
||||
// public: 'http://192.168.110.156:8080/', // 你自己本地的ip地址:端口号
|
||||
// host:'localhost'
|
||||
public:'0.0.0.0:8080/',
|
||||
port: '8080',
|
||||
// open: true,
|
||||
// overlay: {
|
||||
// warnings: false,
|
||||
|
||||
Reference in New Issue
Block a user