tijiao
This commit is contained in:
24
src/App.vue
24
src/App.vue
@@ -1,16 +1,24 @@
|
|||||||
<template>
|
<template>
|
||||||
<div id="app">
|
<div id="app">
|
||||||
<router-view></router-view>
|
<router-view></router-view>
|
||||||
<!-- <keep-alive>
|
<!-- <keep-alive>
|
||||||
<router-view v-if="$route.meta.keepAlive"></router-view>
|
<router-view v-if="$route.meta.keepAlive"></router-view>
|
||||||
</keep-alive>
|
</keep-alive>
|
||||||
<router-view v-if="!$route.meta.keepAlive"></router-view> -->
|
<router-view v-if="!$route.meta.keepAlive"></router-view> -->
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
<script>
|
||||||
|
|
||||||
|
export default {
|
||||||
|
created() {
|
||||||
|
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
@import "./assets/css/main.css";
|
@import './assets/css/main.css';
|
||||||
@import "./assets/css/color-dark.css";
|
@import './assets/css/color-dark.css';
|
||||||
/*深色主题*/
|
/*深色主题*/
|
||||||
/*@import "./assets/css/theme-green/color-green.css"; 浅绿色主题*/
|
/*@import "./assets/css/theme-green/color-green.css"; 浅绿色主题*/
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -64,7 +64,8 @@
|
|||||||
</el-submenu>
|
</el-submenu>
|
||||||
</template>
|
</template>
|
||||||
<!-- 编委 -->
|
<!-- 编委 -->
|
||||||
<template v-if="this.user_cap.includes(',board')">
|
|
||||||
|
<template v-if="this.user_cap.includes(',board')||this.user_cap.includes('board_editor')">
|
||||||
<el-submenu index="7">
|
<el-submenu index="7">
|
||||||
<template slot="title"> <i class="el-icon-notebook-1"></i> {{ $t('sidebar.edit_oria') }} </template>
|
<template slot="title"> <i class="el-icon-notebook-1"></i> {{ $t('sidebar.edit_oria') }} </template>
|
||||||
<!-- <el-menu-item index="editorial">
|
<!-- <el-menu-item index="editorial">
|
||||||
@@ -73,10 +74,18 @@
|
|||||||
<el-menu-item index="edithistory">
|
<el-menu-item index="edithistory">
|
||||||
{{ $t('sidebar.edit_oria2') }}
|
{{ $t('sidebar.edit_oria2') }}
|
||||||
</el-menu-item>
|
</el-menu-item>
|
||||||
|
<el-menu-item index="editPeerewer">
|
||||||
|
{{ $t('sidebar.edit_ewer1') }}
|
||||||
|
</el-menu-item>
|
||||||
|
<el-menu-item index="editPerhistory">
|
||||||
|
{{ $t('sidebar.edit_ewer2') }}
|
||||||
|
</el-menu-item>
|
||||||
</el-submenu>
|
</el-submenu>
|
||||||
</template>
|
</template>
|
||||||
<!-- 主编 -->
|
<!-- 主编 -->
|
||||||
<template v-if="this.user_cap.includes('chief')">
|
|
||||||
|
<template v-if="this.user_cap.includes('chief')||this.user_cap.includes('chief_editor')||this.user_cap.includes('deputy_editor')">
|
||||||
|
|
||||||
<el-submenu index="6">
|
<el-submenu index="6">
|
||||||
<template slot="title"> <i class="el-icon-document-copy"></i> {{ $t('sidebar.man_ing') }} </template>
|
<template slot="title"> <i class="el-icon-document-copy"></i> {{ $t('sidebar.man_ing') }} </template>
|
||||||
<el-menu-item index="managing">
|
<el-menu-item index="managing">
|
||||||
@@ -641,6 +650,73 @@ export default {
|
|||||||
return this.$route.path.replace('/', '');
|
return this.$route.path.replace('/', '');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
mounted() {
|
||||||
|
// if(this.user_cap.includes(',board')||this.user_cap.includes('board_editor')||this.user_cap.includes('chief')||this.user_cap.includes('chief_editor')||this.user_cap.includes('deputy_editor')){
|
||||||
|
// Promise.all([
|
||||||
|
// this.$api
|
||||||
|
// .post('api/Finalreview/lists', {
|
||||||
|
// 'reviewer_id': localStorage.getItem('U_id'),state:5,
|
||||||
|
// 'page': 1,
|
||||||
|
// 'size': 999999,
|
||||||
|
// })
|
||||||
|
|
||||||
|
// ]).then(([res1]) => {
|
||||||
|
// console.log('res1 at line 770:', res1)
|
||||||
|
// const totalCheck = res1.data.total || 0; // 待审核
|
||||||
|
|
||||||
|
|
||||||
|
// if (totalCheck > 0 ) {
|
||||||
|
// const h = this.$createElement;
|
||||||
|
// const messageNodes = [];
|
||||||
|
|
||||||
|
// if (totalCheck > 0) {
|
||||||
|
// messageNodes.push(
|
||||||
|
// h(
|
||||||
|
// 'p',
|
||||||
|
// {
|
||||||
|
// style: {
|
||||||
|
// color: '#006699',
|
||||||
|
// marginTop: '10px',
|
||||||
|
// marginBottom: '4px',
|
||||||
|
// display: 'block', width: '280px' // 设置宽度
|
||||||
|
|
||||||
|
// }
|
||||||
|
// },
|
||||||
|
// `You have received 【${totalCheck}】 invitations .`
|
||||||
|
// )
|
||||||
|
// );
|
||||||
|
|
||||||
|
// // 第二行
|
||||||
|
// messageNodes.push(
|
||||||
|
// h(
|
||||||
|
// 'p',
|
||||||
|
// {
|
||||||
|
// style: {
|
||||||
|
// color: '#888',
|
||||||
|
// display: 'block', width: '280px' // 设置宽度
|
||||||
|
|
||||||
|
// }
|
||||||
|
// },
|
||||||
|
// 'Please process them promptly in the final review history.'
|
||||||
|
// )
|
||||||
|
// );
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// this.$notify({
|
||||||
|
// title: 'Final Review',
|
||||||
|
// message: h('div', {
|
||||||
|
// style: 'width: 200px;'
|
||||||
|
|
||||||
|
// }, messageNodes)
|
||||||
|
// });
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
// }
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
created() {
|
created() {
|
||||||
|
|
||||||
localStorage.setItem('collapse', this.collapse);
|
localStorage.setItem('collapse', this.collapse);
|
||||||
|
|||||||
@@ -224,14 +224,16 @@ const en = {
|
|||||||
rev_ewer: 'Reviewer',
|
rev_ewer: 'Reviewer',
|
||||||
rev_ewer1: 'Peer Review',
|
rev_ewer1: 'Peer Review',
|
||||||
rev_ewer2: 'Review History',
|
rev_ewer2: 'Review History',
|
||||||
|
|
||||||
man_ing: 'Editor-in-Chief',
|
man_ing: 'Editor-in-Chief',
|
||||||
man_ing1: 'Journal information',
|
man_ing1: 'Journal information',
|
||||||
man_ing2: 'Article List',
|
man_ing2: 'Article List',
|
||||||
edit_oria: 'Editorial board member',
|
edit_oria: 'Editorial board member',
|
||||||
edit_oria1: 'Final decision',
|
edit_oria1: 'Final Review',
|
||||||
edit_oria2: 'Accepted manuscript',
|
edit_oria2: 'Accepted manuscript',
|
||||||
edit_ewer: 'Reviewer',
|
edit_ewer: 'Reviewer',
|
||||||
edit_ewer1: 'Peer Review',
|
edit_ewer1: 'Final Review',
|
||||||
|
edit_ewer2: 'Final Review History',
|
||||||
you_thed: 'Young scholar',
|
you_thed: 'Young scholar',
|
||||||
you_thed1: 'Pending review',
|
you_thed1: 'Pending review',
|
||||||
guest: 'Guest editor',
|
guest: 'Guest editor',
|
||||||
@@ -275,7 +277,7 @@ const en = {
|
|||||||
state4: 'Revision',
|
state4: 'Revision',
|
||||||
state5: 'Accept',
|
state5: 'Accept',
|
||||||
state6: 'Pre-accept',
|
state6: 'Pre-accept',
|
||||||
state7: 'Final Decision',
|
state8: 'Final Review',
|
||||||
act1: 'Dealing',
|
act1: 'Dealing',
|
||||||
act2: 'Finished'
|
act2: 'Finished'
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -222,8 +222,8 @@ const zh = {
|
|||||||
edit_oria: '编委',
|
edit_oria: '编委',
|
||||||
edit_oria1: '稿件',
|
edit_oria1: '稿件',
|
||||||
edit_oria2: '历史稿件',
|
edit_oria2: '历史稿件',
|
||||||
edit_ewer1: '审稿',
|
edit_ewer1: '终审',
|
||||||
edit_ewer2: '审稿记录',
|
edit_ewer2: '终审记录',
|
||||||
you_thed: '青年编委',
|
you_thed: '青年编委',
|
||||||
you_thed1: '待审核',
|
you_thed1: '待审核',
|
||||||
guest: '客座编辑',
|
guest: '客座编辑',
|
||||||
@@ -269,7 +269,7 @@ const zh = {
|
|||||||
state5: '接收',
|
state5: '接收',
|
||||||
state6: '预接收',
|
state6: '预接收',
|
||||||
|
|
||||||
state7: '终审',
|
state8: '终审',
|
||||||
act1: '审查中',
|
act1: '审查中',
|
||||||
act2: '已完结'
|
act2: '已完结'
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1889,7 +1889,7 @@ export default {
|
|||||||
input.select(); // 选择实例内容
|
input.select(); // 选择实例内容
|
||||||
document.execCommand('Copy'); // 执行复制
|
document.execCommand('Copy'); // 执行复制
|
||||||
document.body.removeChild(input); // 删除临时实例
|
document.body.removeChild(input); // 删除临时实例
|
||||||
this.$message.success('Invitation code copied successfully!');
|
this.$message.success('invitation code copied successfully!');
|
||||||
},
|
},
|
||||||
|
|
||||||
// 个人信息弹出框
|
// 个人信息弹出框
|
||||||
|
|||||||
@@ -640,7 +640,7 @@
|
|||||||
</p>
|
</p>
|
||||||
<p style="margin: 5px 10px 0 55px; font-size: 14px; line-height: 22px">
|
<p style="margin: 5px 10px 0 55px; font-size: 14px; line-height: 22px">
|
||||||
(Non-essential)
|
(Non-essential)
|
||||||
<br />While authors are welcome to suggest potential reviewers, the final decision on the selection of
|
<br />While authors are welcome to suggest potential reviewers, the final review on the selection of
|
||||||
reviewers is at the discretion of the editorial board. The following criteria are generally considered
|
reviewers is at the discretion of the editorial board. The following criteria are generally considered
|
||||||
when selecting reviewers: <br />1. The reviewer should hold a Ph.D. degree (or equivalent) in a relevant
|
when selecting reviewers: <br />1. The reviewer should hold a Ph.D. degree (or equivalent) in a relevant
|
||||||
field. <br />2. The reviewer should have published at least three articles on the subject matter of the
|
field. <br />2. The reviewer should have published at least three articles on the subject matter of the
|
||||||
|
|||||||
@@ -766,6 +766,10 @@ export default {
|
|||||||
state: 4,
|
state: 4,
|
||||||
title: this.$t('artstate.state4')
|
title: this.$t('artstate.state4')
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
state: 8,
|
||||||
|
title: this.$t('artstate.state8')
|
||||||
|
},
|
||||||
{
|
{
|
||||||
state: 6,
|
state: 6,
|
||||||
title: this.$t('artstate.state6')
|
title: this.$t('artstate.state6')
|
||||||
@@ -1004,6 +1008,9 @@ export default {
|
|||||||
case 5:
|
case 5:
|
||||||
str = this.$t('artstate.state5');
|
str = this.$t('artstate.state5');
|
||||||
break;
|
break;
|
||||||
|
case 8:
|
||||||
|
str = this.$t('artstate.state8');
|
||||||
|
break;
|
||||||
case 6:
|
case 6:
|
||||||
str = this.$t('artstate.state6');
|
str = this.$t('artstate.state6');
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -632,6 +632,9 @@
|
|||||||
case 6:
|
case 6:
|
||||||
str = this.$t('artstate.state6');
|
str = this.$t('artstate.state6');
|
||||||
break;
|
break;
|
||||||
|
case 6:
|
||||||
|
str = this.$t('artstate.state6');
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
return str;
|
return str;
|
||||||
}
|
}
|
||||||
|
|||||||
1128
src/components/page/articleEditorDetail.vue
Normal file
1128
src/components/page/articleEditorDetail.vue
Normal file
File diff suppressed because it is too large
Load Diff
@@ -2,7 +2,7 @@
|
|||||||
<div>
|
<div>
|
||||||
<div class="crumbs">
|
<div class="crumbs">
|
||||||
<el-breadcrumb separator="/">
|
<el-breadcrumb separator="/">
|
||||||
<el-breadcrumb-item> <i class="el-icon-lx-calendar"></i> Manuscript reviewer list </el-breadcrumb-item>
|
<el-breadcrumb-item> <i class="el-icon-lx-calendar"></i> Manuscript final reviewer list </el-breadcrumb-item>
|
||||||
<el-breadcrumb-item>
|
<el-breadcrumb-item>
|
||||||
<div>
|
<div>
|
||||||
<span>ID:{{ articleBaseInfo.accept_sn }} </span>
|
<span>ID:{{ articleBaseInfo.accept_sn }} </span>
|
||||||
@@ -28,24 +28,29 @@
|
|||||||
empty-text="New messages (0)"
|
empty-text="New messages (0)"
|
||||||
>
|
>
|
||||||
<el-table-column type="index" label="No." align="center" width="50"></el-table-column>
|
<el-table-column type="index" label="No." align="center" width="50"></el-table-column>
|
||||||
<el-table-column label="Base Information" width="280px">
|
<el-table-column label="Base Information" width="320px">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<p class="tab_tie_col">
|
<p class="tab_tie_col">
|
||||||
<span>Name: </span>
|
<span>Name: </span>
|
||||||
<el-badge is-dot :hidden="scope.row.reviewer_act == 1 ? false : true" class="item">
|
|
||||||
<b style="font-size: 15px; letter-spacing: -0.5px">{{ scope.row.reviewer }}</b>
|
<b style="font-size: 15px; letter-spacing: -0.5px">{{ scope.row.account }}</b>
|
||||||
</el-badge>
|
|
||||||
</p>
|
</p>
|
||||||
<p class="tab_tie_col">
|
<p class="tab_tie_col">
|
||||||
<span>Realname: </span>
|
<span>Realname: </span>
|
||||||
{{ scope.row.realname }}
|
{{ scope.row.realname }}
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p class="tab_tie_col"><span>Country: </span>{{ scope.row.country }}</p>
|
|
||||||
<p class="tab_tie_col"><span>Email: </span>{{ scope.row.email }}</p>
|
<p class="tab_tie_col"><span>Email: </span>{{ scope.row.email }}</p>
|
||||||
|
|
||||||
|
<p class="tab_tie_col">
|
||||||
|
<span>Identity: </span>
|
||||||
|
<span v-if="scope.row.reviewer_type == 0" style="color: #409eff">Editor-in-Chief</span>
|
||||||
|
<span v-if="scope.row.reviewer_type == 1" style="color: #409eff">Vice Editor-in-Chief</span>
|
||||||
|
<span v-if="scope.row.reviewer_type == 2" style="color: #409eff">Editorial Board Member</span>
|
||||||
|
</p>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="Other Information">
|
<!-- <el-table-column label="Other Information">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<p class="tab_tie_col">
|
<p class="tab_tie_col">
|
||||||
<span>Field: </span>
|
<span>Field: </span>
|
||||||
@@ -57,7 +62,7 @@
|
|||||||
{{ scope.row.company }}
|
{{ scope.row.company }}
|
||||||
</p>
|
</p>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column> -->
|
||||||
<!-- <el-table-column prop="art_rev_id" label="ID" align="center" width="60"></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="Reviewer" align="center" width="130">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
@@ -70,7 +75,7 @@
|
|||||||
<!-- <el-table-column prop="email" label="Email" align="center"></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="company" label="Company" align="center"></el-table-column> -->
|
||||||
<!-- <el-table-column prop="major_str" label="Major"></el-table-column> -->
|
<!-- <el-table-column prop="major_str" label="Major"></el-table-column> -->
|
||||||
<el-table-column label="Research areas" width="260">
|
<el-table-column label="Research areas">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<commonMajorTableList
|
<commonMajorTableList
|
||||||
:user_id="scope.row.reviewer_id"
|
:user_id="scope.row.reviewer_id"
|
||||||
@@ -81,18 +86,22 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<!-- <el-table-column prop="field" label="Field"></el-table-column> -->
|
<!-- <el-table-column prop="field" label="Field"></el-table-column> -->
|
||||||
<el-table-column label="State" align="center" width="130">
|
<el-table-column label="State" align="center" width="180">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<span style="font-size: 16px" v-html="revstate(scope.row)"></span>
|
<span style="font-size: 16px" v-html="revstate(scope.row)"></span>
|
||||||
|
|
||||||
<font style="color: #aaa; display: block; line-height: 18px; font-size: 13px" v-html="formatDate(scope.row.ctime)">
|
<font
|
||||||
|
v-if="scope.row.update_time"
|
||||||
|
style="color: #aaa; display: block; line-height: 18px; font-size: 13px"
|
||||||
|
v-html="formatDate(scope.row.update_time)"
|
||||||
|
>
|
||||||
</font>
|
</font>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="" width="100" align="center">
|
<el-table-column label="" width="100" align="center">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button
|
<el-button
|
||||||
v-show="scope.row.state != 4"
|
v-show="scope.row.state == 1 || scope.row.state == 2 || scope.row.state == 3"
|
||||||
ize="mini"
|
ize="mini"
|
||||||
type="primary"
|
type="primary"
|
||||||
plain
|
plain
|
||||||
@@ -114,40 +123,63 @@
|
|||||||
></el-pagination>
|
></el-pagination>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<el-dialog title="Add Editorial Board Members" :visible.sync="AddSuggest" width="1200px" custom-class="editorialBoardDialog">
|
<el-dialog
|
||||||
|
:close-on-click-modal="false"
|
||||||
<!-- <el-select v-model="editorialBoardForm.type" placeholder="" @change="selectEditorialBoardType" style="margin-bottom: 20px">
|
title="Add Editorial Board Members"
|
||||||
|
:visible.sync="AddSuggest"
|
||||||
|
width="1200px"
|
||||||
|
custom-class="editorialBoardDialog"
|
||||||
|
>
|
||||||
|
<el-select
|
||||||
|
v-model="editorialBoardForm.type"
|
||||||
|
placeholder=""
|
||||||
|
@change="selectEditorialBoardType"
|
||||||
|
style="margin-bottom: 20px; width: 200px"
|
||||||
|
>
|
||||||
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> </el-option>
|
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> </el-option>
|
||||||
</el-select> -->
|
</el-select>
|
||||||
|
|
||||||
|
<el-input clearable v-model="editorialBoardForm.email" style="width: 300px; margin-left: 20px" placeholder="Email "></el-input>
|
||||||
|
|
||||||
|
<el-button type="primary" style="margin-left: 40px" size="mini" @click="search">Search</el-button>
|
||||||
|
<el-button type="primary" plain style="margin-left: 10px" size="mini" @click="reset">Reset</el-button>
|
||||||
|
|
||||||
<el-table
|
<el-table
|
||||||
:data="tableSuggest"
|
:data="tableSuggest"
|
||||||
|
|
||||||
stripe
|
stripe
|
||||||
class="table"
|
class="table"
|
||||||
ref="multipleTable"
|
ref="multipleTable"
|
||||||
header-cell-class-name="table-header"
|
header-cell-class-name="table-header"
|
||||||
empty-text="New messages (0)"
|
empty-text="New messages (0)"
|
||||||
>
|
>
|
||||||
<el-table-column prop="User Message" label="Realname" width="340">
|
|
||||||
|
|
||||||
<template slot-scope="scope">
|
<el-table-column type="index" label="No." align="center" width="50"></el-table-column>
|
||||||
<p style="font-size: 14px;font-weight: bold;margin-top: 2px;">{{scope.row.realname}}</p>
|
<el-table-column prop="User Message" label="Realname" width="340">
|
||||||
<p style="margin: 2px 0 0px 0;">
|
<template slot-scope="scope">
|
||||||
<span style="color: #999;">Email :</span>
|
<p style="font-size: 14px; font-weight: bold; margin-top: 2px">{{ scope.row.realname }}</p>
|
||||||
{{scope.row.email}}
|
<p style="margin: 2px 0 0px 0">
|
||||||
</p>
|
<span style="color: #999">Email :</span>
|
||||||
<p style="margin: 0 0 5px 0;" v-if="scope.row.title!=''">
|
{{ scope.row.email }}
|
||||||
<span style="color: #999;">Identity : </span>
|
</p>
|
||||||
<span v-if="scope.row.type == 0" style="color: #409EFF ;">Editor-in-Chief</span>
|
<p style="margin: 0 0 5px 0" v-if="scope.row.title != ''">
|
||||||
<span v-if="scope.row.type == 1" style="color: #409EFF;">Deputy Editor-in-Chief</span>
|
<span style="color: #999">Identity : </span>
|
||||||
<span v-if="scope.row.type == 2" style="color: #409EFF ;">Member of the Editorial Board</span>
|
<span v-if="scope.row.type == 0" style="color: #409eff">Editor-in-Chief</span>
|
||||||
</p>
|
<span v-if="scope.row.type == 1" style="color: #409eff">Vice Editor-in-Chief</span>
|
||||||
|
<span v-if="scope.row.type == 2" style="color: #409eff">Editorial Board Members</span>
|
||||||
|
</p>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
</template>
|
<el-table-column prop="research_areas" label="Research Areas">
|
||||||
</el-table-column>
|
<template slot-scope="scope">
|
||||||
|
<commonMajorTableList
|
||||||
<el-table-column prop="research_areas" label="Research Areas"></el-table-column>
|
:user_id="scope.row.user_id"
|
||||||
|
:baseInfo="scope.row"
|
||||||
|
:key="scope.row.user_id"
|
||||||
|
:disabled="true"
|
||||||
|
></commonMajorTableList>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
<el-table-column label="" width="120" align="center">
|
<el-table-column label="" width="120" align="center">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
@@ -207,268 +239,44 @@
|
|||||||
<el-button type="primary" @click="saveEdit">save</el-button>
|
<el-button type="primary" @click="saveEdit">save</el-button>
|
||||||
</span>
|
</span>
|
||||||
</el-dialog>
|
</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>
|
<articleEditorDetail :dateId="FinalDetailBaseInfo.id" ref="commonFinalDetail"></articleEditorDetail>
|
||||||
<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-collapse>
|
|
||||||
</el-form>
|
|
||||||
</el-dialog>
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import { Loading } from 'element-ui';
|
||||||
|
import articleEditorDetail from './articleEditorDetail.vue';
|
||||||
import commonMajorTableList from '../page/components/major/tableList.vue';
|
import commonMajorTableList from '../page/components/major/tableList.vue';
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
commonMajorTableList
|
commonMajorTableList,
|
||||||
|
articleEditorDetail
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
FinalDetailBaseInfo: {},
|
||||||
|
|
||||||
options: [
|
options: [
|
||||||
{
|
{
|
||||||
value: 0,
|
value: 0,
|
||||||
label: 'Editor-in-Chief'
|
label: 'Editor-in-Chief'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
value: 1,
|
value: 1,
|
||||||
label: 'Deputy Editor-in-Chief'
|
label: 'Vice Editor-in-Chief'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
value: 2,
|
value: 2,
|
||||||
label: 'Member of the Editorial Board'
|
label: 'Editorial Board Members'
|
||||||
},
|
}
|
||||||
|
],
|
||||||
|
|
||||||
],
|
|
||||||
editorialBoardForm: {
|
editorialBoardForm: {
|
||||||
page: 1,
|
page: 1,
|
||||||
size:10,
|
size: 10,
|
||||||
type:0
|
type: 0
|
||||||
|
|
||||||
},
|
},
|
||||||
majorData: [],
|
majorData: [],
|
||||||
baseUrl: this.Common.baseUrl,
|
baseUrl: this.Common.baseUrl,
|
||||||
@@ -507,10 +315,12 @@ export default {
|
|||||||
txt_mess: {},
|
txt_mess: {},
|
||||||
query: {
|
query: {
|
||||||
articleId: this.$route.query.id,
|
articleId: this.$route.query.id,
|
||||||
article_id: this.$route.query.id,
|
article_id: this.$route.query.id
|
||||||
// page: 1,
|
// page: 1,
|
||||||
// size: 10
|
// size: 10
|
||||||
},
|
},
|
||||||
|
page: 1,
|
||||||
|
size: 10,
|
||||||
editform: {
|
editform: {
|
||||||
uid: 0,
|
uid: 0,
|
||||||
articleId: this.$route.query.id
|
articleId: this.$route.query.id
|
||||||
@@ -537,7 +347,7 @@ export default {
|
|||||||
tableSuggest: [],
|
tableSuggest: [],
|
||||||
loading: false,
|
loading: false,
|
||||||
Total: 0,
|
Total: 0,
|
||||||
editorialBoardTotal: 0,
|
editorialBoardTotal: 0
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
@@ -552,12 +362,22 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
selectEditorialBoardType(type) {
|
selectEditorialBoardType(type) {
|
||||||
console.log('type at line 525:', type)
|
console.log('type at line 525:', type);
|
||||||
this.editorialBoardForm.page = 1;
|
this.editorialBoardForm.page = 1;
|
||||||
this.$forceUpdate();
|
this.$forceUpdate();
|
||||||
this.getEditorialBoardType();
|
this.getEditorialBoardType();
|
||||||
},
|
},
|
||||||
|
search() {
|
||||||
|
this.editorialBoardForm.page = 1;
|
||||||
|
|
||||||
|
this.getEditorialBoardType();
|
||||||
|
},
|
||||||
|
reset() {
|
||||||
|
this.editorialBoardForm.page = 1;
|
||||||
|
this.editorialBoardForm.email = '';
|
||||||
|
|
||||||
|
this.getEditorialBoardType();
|
||||||
|
},
|
||||||
initArticle() {
|
initArticle() {
|
||||||
this.$api
|
this.$api
|
||||||
.post('api/Article/getArticleDetail', {
|
.post('api/Article/getArticleDetail', {
|
||||||
@@ -571,17 +391,29 @@ export default {
|
|||||||
|
|
||||||
// 获取编辑列表数据
|
// 获取编辑列表数据
|
||||||
getdate() {
|
getdate() {
|
||||||
|
const loading = this.$loading({
|
||||||
|
lock: true,
|
||||||
|
text: 'Loading',
|
||||||
|
spinner: 'el-icon-loading',
|
||||||
|
background: 'rgba(0, 0, 0, 0.7)',
|
||||||
|
zIndex: 9999 // 设置一个足够高的层级
|
||||||
|
});
|
||||||
this.$api
|
this.$api
|
||||||
.post('api/Finalreview/getReviewRecord', {
|
.post('api/Finalreview/inviteBoardLists', {
|
||||||
article_id:this.$route.query.id
|
article_id: this.$route.query.id,
|
||||||
|
page: this.page,
|
||||||
|
size: this.size
|
||||||
})
|
})
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
console.log('res at line 562:', res)
|
loading.close();
|
||||||
// this.Total = res.totle;
|
|
||||||
this.tableData = res.data.article_final;
|
console.log('res at line 562:', res);
|
||||||
|
this.Total = res.data.total;
|
||||||
|
|
||||||
|
this.tableData = res.data.lists;
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
|
loading.close();
|
||||||
console.log(err);
|
console.log(err);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
@@ -626,11 +458,17 @@ export default {
|
|||||||
if (this.editform.uid == 0) {
|
if (this.editform.uid == 0) {
|
||||||
this.$message.error('please select a reviewer');
|
this.$message.error('please select a reviewer');
|
||||||
} else {
|
} else {
|
||||||
this.loading = true;
|
const loading = this.$loading({
|
||||||
|
lock: true,
|
||||||
|
text: 'Loading',
|
||||||
|
spinner: 'el-icon-loading',
|
||||||
|
background: 'rgba(0, 0, 0, 0.7)',
|
||||||
|
zIndex: 9999 // 设置一个足够高的层级
|
||||||
|
});
|
||||||
this.$api
|
this.$api
|
||||||
.post('api/Article/addArticleReviewer', this.editform)
|
.post('api/Article/addArticleReviewer', this.editform)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
this.loading = false;
|
loading.close();
|
||||||
if (res.code == 0) {
|
if (res.code == 0) {
|
||||||
this.$message.success('add success');
|
this.$message.success('add success');
|
||||||
this.$router.go(0);
|
this.$router.go(0);
|
||||||
@@ -639,6 +477,7 @@ export default {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
|
loading.close();
|
||||||
console.log(err);
|
console.log(err);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -668,59 +507,119 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
getEditorialBoardType() {
|
getEditorialBoardType() {
|
||||||
|
const loading = this.$loading({
|
||||||
|
lock: true,
|
||||||
|
text: 'Loading',
|
||||||
|
spinner: 'el-icon-loading',
|
||||||
|
background: 'rgba(0, 0, 0, 0.7)',
|
||||||
|
zIndex: 9999 // 设置一个足够高的层级
|
||||||
|
});
|
||||||
this.$api
|
this.$api
|
||||||
.post('api/Finalreview/boardLists', {
|
.post('api/Finalreview/boardLists', {
|
||||||
...this.editorialBoardForm,
|
...this.editorialBoardForm,
|
||||||
article_id: this.query.article_id
|
article_id: this.query.article_id
|
||||||
})
|
})
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
|
loading.close();
|
||||||
this.tableSuggest = res.data.lists;
|
this.tableSuggest = res.data.lists;
|
||||||
this.editorialBoardTotal = res.data.total;
|
this.editorialBoardTotal = res.data.total;
|
||||||
|
this.AddSuggest = true;
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
|
loading.close();
|
||||||
console.log(err);
|
console.log(err);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 添加推荐审稿人
|
// 添加推荐审稿人
|
||||||
async openSuggRev() {
|
async openSuggRev() {
|
||||||
await this.getEditorialBoardType();
|
await this.getEditorialBoardType();
|
||||||
|
|
||||||
this.AddSuggest = true;
|
|
||||||
},
|
},
|
||||||
selSuggest(e) {
|
selSuggest(e) {
|
||||||
this.loading = true;
|
const loading = this.$loading({
|
||||||
|
lock: true,
|
||||||
|
text: 'Loading',
|
||||||
|
spinner: 'el-icon-loading',
|
||||||
|
background: 'rgba(0, 0, 0, 0.7)',
|
||||||
|
zIndex: 9999 // 设置一个足够高的层级
|
||||||
|
});
|
||||||
|
|
||||||
this.$api
|
this.$api
|
||||||
.post('api/Finalreview/invite', {
|
.post('api/Finalreview/invite', {
|
||||||
reviewer_id: e.user_id,
|
reviewer_id: e.user_id,
|
||||||
article_id: this.$route.query.id
|
article_id: this.$route.query.id
|
||||||
})
|
})
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
this.loading = false;
|
loading.close();
|
||||||
if (res.status == 0) {
|
if (res.status == 1) {
|
||||||
this.$message.success('Add Success');
|
this.$message.success('Add Success');
|
||||||
this.AddSuggest = false;
|
this.AddSuggest = false;
|
||||||
this.getdate();
|
this.getdate();
|
||||||
} else {
|
} else {
|
||||||
this.$message.error('Add Error');
|
this.$message.error('Add Error:' + res.msg);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
this.loading = false;
|
loading.close();
|
||||||
console.log(err);
|
console.log(err);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
showdetail(row) {
|
showdetail(row) {
|
||||||
if (row.state == 4) {
|
|
||||||
this.$message.error('Review expired!');
|
|
||||||
} else {
|
this.FinalDetailBaseInfo={...row}
|
||||||
this.$router.push({
|
|
||||||
path: 'articleReviewerDetail',
|
|
||||||
query: {
|
// const loading = this.$loading({
|
||||||
id: row.art_rev_id
|
// lock: true,
|
||||||
}
|
// text: 'Loading',
|
||||||
});
|
// spinner: 'el-icon-loading',
|
||||||
}
|
// background: 'rgba(0, 0, 0, 0.7)',
|
||||||
|
// zIndex: 9999 // 设置一个足够高的层级
|
||||||
|
// });
|
||||||
|
// this.$api
|
||||||
|
// .post('api/Finalreview/view', {
|
||||||
|
// record_id: row.id
|
||||||
|
// // reviewer_id: this.$route.query.reviewer_id
|
||||||
|
// })
|
||||||
|
// .then((res) => {
|
||||||
|
|
||||||
|
// this.detailDate.artrevid = res.art_rev_id;
|
||||||
|
// this.detailDate.article = res.data.article.title;
|
||||||
|
// this.detailDate.reviewer = res.data.article_final.realname;
|
||||||
|
// this.detailDate.ctime = res.data.article_final.update_time;
|
||||||
|
// this.detailDate.article_final = res.data.article_final;
|
||||||
|
// this.detailDate.state = res.state;
|
||||||
|
|
||||||
|
// this.txt_mess = res;
|
||||||
|
|
||||||
|
// this.journal_id = res.journal_id;
|
||||||
|
// this.articleId = res.data.article.article_id;
|
||||||
|
// this.$nextTick(() => {
|
||||||
|
// this.$refs.commonEditor.getData();
|
||||||
|
|
||||||
|
// loading.close();
|
||||||
|
// });
|
||||||
|
|
||||||
|
// this.$forceUpdate();
|
||||||
|
// })
|
||||||
|
// .catch((err) => {
|
||||||
|
// loading.close();
|
||||||
|
// console.log(err);
|
||||||
|
// });
|
||||||
|
|
||||||
|
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.commonFinalDetail.init();
|
||||||
|
});
|
||||||
|
|
||||||
|
// this.$router.push({
|
||||||
|
// path: 'articleEditorDetail',
|
||||||
|
// query: {
|
||||||
|
// id: row.id
|
||||||
|
// }
|
||||||
|
// });
|
||||||
},
|
},
|
||||||
changereviewer() {
|
changereviewer() {
|
||||||
if (this.editform.uid !== 0) {
|
if (this.editform.uid !== 0) {
|
||||||
@@ -760,21 +659,22 @@ export default {
|
|||||||
},
|
},
|
||||||
revstate(row, column, cellValue, index) {
|
revstate(row, column, cellValue, index) {
|
||||||
let frag = '';
|
let frag = '';
|
||||||
|
|
||||||
if (row.state == 0) {
|
if (row.state == 0) {
|
||||||
frag = 'With reviewer';
|
frag = '<text style="color:#67c23a">Agree to review</text>';
|
||||||
} else if (row.state == 1) {
|
} else if (row.state == 1) {
|
||||||
// 大修
|
// 大修
|
||||||
frag = 'Major revision';
|
frag = '<text style="color:#67c23a">Accept</text>';
|
||||||
|
|
||||||
// frag = 'Revision';
|
// frag = 'Revision';
|
||||||
} else if (row.state == 2) {
|
|
||||||
frag = 'Reject';
|
|
||||||
} else if (row.state == 3) {
|
} else if (row.state == 3) {
|
||||||
|
frag = '<text style="color:#0077b8">Revision</text>';
|
||||||
|
} else if (row.state == 2) {
|
||||||
//小修
|
//小修
|
||||||
// frag = 'Accept';
|
// frag = 'Accept';
|
||||||
frag = 'Minor revision';
|
frag = '<text style="color:#f56c6c">Reject</text>';
|
||||||
} else if (row.state == 4) {
|
} else if (row.state == 4) {
|
||||||
frag = '<text style="color:#aaa">invalid</text>';
|
frag = '<text style="color:#888">invalid</text>';
|
||||||
} else if (row.state == 5) {
|
} else if (row.state == 5) {
|
||||||
frag = 'invitation';
|
frag = 'invitation';
|
||||||
}
|
}
|
||||||
@@ -873,11 +773,11 @@ export default {
|
|||||||
margin: 0 5px 0 0;
|
margin: 0 5px 0 0;
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
}
|
}
|
||||||
::v-deep .editorialBoardDialog .el-dialog__body{
|
::v-deep .editorialBoardDialog .el-dialog__body {
|
||||||
padding-top: 10px !important;
|
padding-top: 10px !important;
|
||||||
padding-bottom: 0px !important;
|
padding-bottom: 0px !important;
|
||||||
}
|
}
|
||||||
::v-deep .editorialBoardDialog .el-dialog__body .el-table--mini .el-table__cell{
|
::v-deep .editorialBoardDialog .el-dialog__body .el-table--mini .el-table__cell {
|
||||||
padding: 0px !important
|
padding: 0px !important;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -16,12 +16,13 @@
|
|||||||
:value="item.journal_id"></el-option>
|
:value="item.journal_id"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
<el-select v-model="query.state" @change="getdate" placeholder="Please select status"
|
<el-select v-model="query.state" @change="getdate" placeholder="Please select status"
|
||||||
style="margin-left:10px;width: 110px;">
|
style="margin-left:10px;width: 160px;">
|
||||||
<el-option :key="0" label="All status" :value="0"></el-option>
|
<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="1" :label="$t('artstate.state1')" :value="1"></el-option>
|
||||||
<el-option :key="2" :label="$t('artstate.state2')" :value="2"></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="3" :label="$t('artstate.state3')" :value="3"></el-option>
|
||||||
<el-option :key="4" :label="$t('artstate.state4')" :value="4"></el-option>
|
<el-option :key="4" :label="$t('artstate.state4')" :value="4"></el-option>
|
||||||
|
<el-option :key="4" :label="$t('artstate.state8')" :value="8"></el-option>
|
||||||
<el-option :key="5" :label="$t('artstate.state5')" :value="5"></el-option>
|
<el-option :key="5" :label="$t('artstate.state5')" :value="5"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
<el-input v-model="query.name" placeholder="Title" style="margin:0 10px;width: 190px;"></el-input>
|
<el-input v-model="query.name" placeholder="Title" style="margin:0 10px;width: 190px;"></el-input>
|
||||||
@@ -438,7 +439,42 @@
|
|||||||
<!-- end -->
|
<!-- end -->
|
||||||
</el-collapse-item>
|
</el-collapse-item>
|
||||||
</el-collapse>
|
</el-collapse>
|
||||||
<p v-if="comentDeploy==''" style="color: #888888;margin: 0 0 0 10px;">No Comment</p>
|
|
||||||
|
<el-collapse v-model="activeFinalComment" v-if="comentFinal!=''">
|
||||||
|
<el-collapse-item v-for="(item,index) in comentFinal" :name="index" :key="index"
|
||||||
|
class="art_author_list">
|
||||||
|
<template slot="title">
|
||||||
|
<b class="com_shu">{{index+1}}</b>
|
||||||
|
Final Reviewer Comment
|
||||||
|
<font style="margin: 0 0 0 17px;color: #888;">
|
||||||
|
<i class="el-icon-time" style="margin:0 2px 0 0;"></i>
|
||||||
|
{{item.review_time?item.review_time.split(' ')[0]:''}}
|
||||||
|
|
||||||
|
</font>
|
||||||
|
</template>
|
||||||
|
<!-- 时间轴 -->
|
||||||
|
<el-timeline >
|
||||||
|
<el-card>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- 内容 -->
|
||||||
|
<div class="art_author_coment" style="margin-top: 0px;">
|
||||||
|
|
||||||
|
<p v-if="item.suggest_for_author!=''" style="margin-left: 0;">
|
||||||
|
<font style="margin-top: 0px;">Comments for the Authors</font>
|
||||||
|
<pre style="text-align: justify;">{{item.suggest_for_author}}</pre>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</el-card>
|
||||||
|
</el-timeline>
|
||||||
|
<!-- end -->
|
||||||
|
</el-collapse-item>
|
||||||
|
</el-collapse>
|
||||||
|
|
||||||
|
<p v-if="comentDeploy==''||comentFinal==''" style="color: #888888;margin: 0 0 0 10px;">No Comment</p>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@@ -466,6 +502,7 @@
|
|||||||
},
|
},
|
||||||
tableData: [],
|
tableData: [],
|
||||||
multipleSelection: [],
|
multipleSelection: [],
|
||||||
|
activeFinalComment: [],
|
||||||
delList: [],
|
delList: [],
|
||||||
activeNames: [],
|
activeNames: [],
|
||||||
artextForm: {},
|
artextForm: {},
|
||||||
@@ -475,6 +512,7 @@
|
|||||||
manuscirptFileList: [],
|
manuscirptFileList: [],
|
||||||
supplementaryFileList: [],
|
supplementaryFileList: [],
|
||||||
comentDeploy: [],
|
comentDeploy: [],
|
||||||
|
comentFinal: [],
|
||||||
activeComment: [],
|
activeComment: [],
|
||||||
authorList_name: '',
|
authorList_name: '',
|
||||||
editVisible: false,
|
editVisible: false,
|
||||||
@@ -581,6 +619,7 @@
|
|||||||
if (item.question && item.question.length > 0)
|
if (item.question && item.question.length > 0)
|
||||||
item.question = item.question.reverse()
|
item.question = item.question.reverse()
|
||||||
})
|
})
|
||||||
|
this.comentFinal = res.suggest_final
|
||||||
// this.activeComment = []
|
// this.activeComment = []
|
||||||
// for (var i = 0; i < res.suggest.length; i++) {
|
// for (var i = 0; i < res.suggest.length; i++) {
|
||||||
// this.activeComment.push(i)
|
// this.activeComment.push(i)
|
||||||
@@ -850,6 +889,13 @@ this.$router.push({
|
|||||||
skr = '#5fab3b;';
|
skr = '#5fab3b;';
|
||||||
slr = 'Proof';
|
slr = 'Proof';
|
||||||
break;
|
break;
|
||||||
|
case 8:
|
||||||
|
str = '#5a90e11F;';
|
||||||
|
sfr = '#5a90e105;';
|
||||||
|
sgr = '#5a90e14D;';
|
||||||
|
skr = '#5a90e1;';
|
||||||
|
slr = 'Final Review';
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
str = '#8888881F;';
|
str = '#8888881F;';
|
||||||
sfr = '#88888805;';
|
sfr = '#88888805;';
|
||||||
|
|||||||
@@ -54,12 +54,11 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div v-if="!PreAcpVisible">
|
<div v-if="!PreAcpVisible">
|
||||||
<div v-for="(item, ikgn) in tableData"
|
<div
|
||||||
|
v-for="(item, ikgn) in tableData"
|
||||||
:class="{
|
:class="{
|
||||||
'articleBaseInfo7': item.state==7,
|
articleBaseInfo7: item.state == 8
|
||||||
|
}"
|
||||||
}"
|
|
||||||
>
|
>
|
||||||
<p
|
<p
|
||||||
style="background-color: #0077b8e6; border-top-left-radius: 8px; border-top-right-radius: 8px"
|
style="background-color: #0077b8e6; border-top-left-radius: 8px; border-top-right-radius: 8px"
|
||||||
@@ -228,7 +227,7 @@
|
|||||||
</div> -->
|
</div> -->
|
||||||
<div style="display: flex; margin-left: auto; flex-wrap: nowrap">
|
<div style="display: flex; margin-left: auto; flex-wrap: nowrap">
|
||||||
<div
|
<div
|
||||||
v-if="item.state != 7"
|
v-if="item.state != 8"
|
||||||
class="fixCard manuscript_files"
|
class="fixCard manuscript_files"
|
||||||
:style="`width:${item.state == 0 ? '350px !important;flex-shrink: 0' : '320px !important;flex-shrink: 0'}`"
|
:style="`width:${item.state == 0 ? '350px !important;flex-shrink: 0' : '320px !important;flex-shrink: 0'}`"
|
||||||
>
|
>
|
||||||
@@ -259,7 +258,7 @@
|
|||||||
<i>
|
<i>
|
||||||
<!-- <i class="el-icon-time"></i> -->
|
<!-- <i class="el-icon-time"></i> -->
|
||||||
|
|
||||||
{{ formatDate(ikrm.ctime) }}</i
|
{{ formatDate(ikrm.ctime, item) }}</i
|
||||||
>
|
>
|
||||||
</span>
|
</span>
|
||||||
<a :href="mediaUrl + ikrm.file_url">
|
<a :href="mediaUrl + ikrm.file_url">
|
||||||
@@ -290,7 +289,7 @@
|
|||||||
<span @click="openFile(mediaUrl + ikrm.file_url)" class="openFile">
|
<span @click="openFile(mediaUrl + ikrm.file_url)" class="openFile">
|
||||||
<!-- <font>Uploader {{ ikrmIndex+1 }} </font> -->
|
<!-- <font>Uploader {{ ikrmIndex+1 }} </font> -->
|
||||||
<!-- {{ ikrm.username }} -->
|
<!-- {{ ikrm.username }} -->
|
||||||
<i> <!-- <i class="el-icon-time"></i> -->{{ formatDate(ikrm.ctime) }}</i>
|
<i> <!-- <i class="el-icon-time"></i> -->{{ formatDate(ikrm.ctime, item) }}</i>
|
||||||
</span>
|
</span>
|
||||||
<a :href="mediaUrl + ikrm.file_url">
|
<a :href="mediaUrl + ikrm.file_url">
|
||||||
<i class="el-icon-download download"></i>
|
<i class="el-icon-download download"></i>
|
||||||
@@ -320,7 +319,7 @@
|
|||||||
<span @click="openFile(mediaUrl + ikrm.file_url)" class="openFile">
|
<span @click="openFile(mediaUrl + ikrm.file_url)" class="openFile">
|
||||||
<!-- <font>Uploader {{ikrmIndex}} </font> -->
|
<!-- <font>Uploader {{ikrmIndex}} </font> -->
|
||||||
<!-- {{ ikrm.username }} -->
|
<!-- {{ ikrm.username }} -->
|
||||||
<i> <!-- <i class="el-icon-time"></i> -->{{ formatDate(ikrm.ctime) }}</i>
|
<i> <!-- <i class="el-icon-time"></i> -->{{ formatDate(ikrm.ctime, item) }}</i>
|
||||||
</span>
|
</span>
|
||||||
<a :href="mediaUrl + ikrm.file_url">
|
<a :href="mediaUrl + ikrm.file_url">
|
||||||
<i class="el-icon-download download"></i>
|
<i class="el-icon-download download"></i>
|
||||||
@@ -350,7 +349,7 @@
|
|||||||
<!-- <font>Uploader {{ ikrmIndex+1 }} </font> -->
|
<!-- <font>Uploader {{ ikrmIndex+1 }} </font> -->
|
||||||
|
|
||||||
<!-- {{ ikrm.username }} -->
|
<!-- {{ ikrm.username }} -->
|
||||||
<i> <!-- <i class="el-icon-time"></i> -->{{ formatDate(ikrm.ctime) }}</i>
|
<i> <!-- <i class="el-icon-time"></i> -->{{ formatDate(ikrm.ctime, item) }}</i>
|
||||||
</span>
|
</span>
|
||||||
<a :href="mediaUrl + ikrm.file_url">
|
<a :href="mediaUrl + ikrm.file_url">
|
||||||
<i class="el-icon-download download"></i>
|
<i class="el-icon-download download"></i>
|
||||||
@@ -379,7 +378,7 @@
|
|||||||
<span @click="openFile(mediaUrl + ikrm.file_url)" class="openFile">
|
<span @click="openFile(mediaUrl + ikrm.file_url)" class="openFile">
|
||||||
<!-- <font>Uploader {{ ikrmIndex+1 }} </font> -->
|
<!-- <font>Uploader {{ ikrmIndex+1 }} </font> -->
|
||||||
<!-- { ikrm.username }} -->
|
<!-- { ikrm.username }} -->
|
||||||
<i> <!-- <i class="el-icon-time"></i> -->{{ formatDate(ikrm.ctime) }}</i>
|
<i> <!-- <i class="el-icon-time"></i> -->{{ formatDate(ikrm.ctime, item) }}</i>
|
||||||
</span>
|
</span>
|
||||||
<a :href="mediaUrl + ikrm.file_url">
|
<a :href="mediaUrl + ikrm.file_url">
|
||||||
<i class="el-icon-download download"></i>
|
<i class="el-icon-download download"></i>
|
||||||
@@ -390,7 +389,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div
|
<div
|
||||||
v-if="item.state != 7"
|
v-if="item.state != 8"
|
||||||
class="fixCard"
|
class="fixCard"
|
||||||
:style="`width: ${
|
:style="`width: ${
|
||||||
item.state == 0 ? 'calc(100% - 350px - 230px - 18px)' : 'calc(100% - 350px - 230px - 18px)'
|
item.state == 0 ? 'calc(100% - 350px - 230px - 18px)' : 'calc(100% - 350px - 230px - 18px)'
|
||||||
@@ -494,10 +493,8 @@
|
|||||||
<span v-if="finalCount(item) > 0 && finalCount(item) != 'NaN'">{{ finalCount(item) }}</span>
|
<span v-if="finalCount(item) > 0 && finalCount(item) != 'NaN'">{{ finalCount(item) }}</span>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<template v-if="query.state != 0&&item.state != 7">
|
<template v-if="query.state != 0 && query.state != 8">
|
||||||
|
<div class="fixCard reviewer_decision" style="width: 230px; flex-shrink: 0">
|
||||||
<div class="fixCard reviewer_decision" style="width: 230px; flex-shrink: 0" >
|
|
||||||
|
|
||||||
<b style="font-size: 16px; letter-spacing: -0.5px">Reviewer Decision</b>
|
<b style="font-size: 16px; letter-spacing: -0.5px">Reviewer Decision</b>
|
||||||
<p style="height: 5px"></p>
|
<p style="height: 5px"></p>
|
||||||
<p v-for="(iken, index) in item.reviewScore" style="line-height: 24px" :key="index">
|
<p v-for="(iken, index) in item.reviewScore" style="line-height: 24px" :key="index">
|
||||||
@@ -546,7 +543,7 @@
|
|||||||
</p>
|
</p>
|
||||||
<p style="margin-top: 10px">
|
<p style="margin-top: 10px">
|
||||||
<b @click="articleReviewer(item)" class="btnCliArt">
|
<b @click="articleReviewer(item)" class="btnCliArt">
|
||||||
<i :class="item.state == 7 ? 'el-icon-view' : 'el-icon-edit'"></i> Inviting Reviewer
|
<i :class="item.state == 8 ? 'el-icon-view' : 'el-icon-edit'"></i> Inviting Reviewer
|
||||||
</b>
|
</b>
|
||||||
|
|
||||||
<!-- <el-button size="mini" type="primary" icon="el-icon-user" @click="articleReviewer(item)">
|
<!-- <el-button size="mini" type="primary" icon="el-icon-user" @click="articleReviewer(item)">
|
||||||
@@ -554,55 +551,137 @@
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<template v-if="query.state == 7">
|
<template v-if="query.state == 8">
|
||||||
<div class="fixCard" style="width: 100%;margin-top:10px; flex-shrink: 0">
|
<div class="fixCard reviewer_decision" style="width: 280px; flex-shrink: 0; position: relative">
|
||||||
|
<b style="font-size: 16px; letter-spacing: -0.5px">Reviewer Decision</b>
|
||||||
|
<p style="height: 5px"></p>
|
||||||
|
|
||||||
<b style="font-size: 16px; letter-spacing: -0.5px; color: rgba(0, 119, 184)">Editorial Board Decision</b>
|
<p v-for="(iken, index) in item.reviewScore" style="line-height: 24px" :key="index">
|
||||||
<p style="height: 20px"></p>
|
{{ iken.realname }} : <b style="color: #db890e; font-size: 18px">{{ iken.rated }}</b>
|
||||||
<p v-for="(iken, index) in item.final" style="line-height: 24px" :key="index">
|
<span style="display: inline-block; margin-left: 10px">
|
||||||
Editorial Board {{ index + 1 }} : <b>{{ iken.realname }}</b>
|
|
||||||
<b style="color: #db890e; font-size: 18px;margin-left: 10px;" >
|
|
||||||
<font
|
<font
|
||||||
v-if="index == 0"
|
v-if="iken.state == 0"
|
||||||
style="
|
style="width: 12px; height: 12px; display: block; border-radius: 10px; background-color: #ccc"
|
||||||
width: 12px;
|
|
||||||
height: 12px;
|
|
||||||
display: inline-block;
|
|
||||||
border-radius: 10px;
|
|
||||||
background-color: #ccc;
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
</font>
|
</font>
|
||||||
<font
|
<font
|
||||||
v-if="index == 1"
|
v-if="iken.state == 1 || iken.state == 3"
|
||||||
style="
|
style="
|
||||||
width: 12px;
|
width: 12px;
|
||||||
height: 12px;
|
height: 12px;
|
||||||
display: inline-block;
|
display: block;
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
background-color: #67c23a;
|
background-color: #67c23a;
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
</font>
|
</font>
|
||||||
<font
|
<font
|
||||||
v-if="index == 2"
|
v-if="iken.state == 2"
|
||||||
style="
|
style="
|
||||||
width: 12px;
|
width: 12px;
|
||||||
height: 12px;
|
height: 12px;
|
||||||
display: inline-block;
|
display: block;
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
background-color: #f56c6c;
|
background-color: #f56c6c;
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
</font>
|
</font>
|
||||||
</b>
|
</span>
|
||||||
<el-button style="margin-left: 10px" type="text" icon="el-icon-tickets"
|
<el-button
|
||||||
|
style="margin-left: 10px"
|
||||||
|
type="text"
|
||||||
|
icon="el-icon-tickets"
|
||||||
|
@click="showdetail(iken, 'reviewer')"
|
||||||
>Detail</el-button
|
>Detail</el-button
|
||||||
>
|
>
|
||||||
</p>
|
</p>
|
||||||
|
<!-- <p v-if="item.reviewScore.length > 0" style="font-size: 15px; margin: 0 0 5px 0">
|
||||||
|
Average score: <b style="font-size: 18px; color: #db890e">{{ avegeCount(item.reviewScore) }}</b>
|
||||||
|
</p> -->
|
||||||
|
|
||||||
<p style="margin-top: 20px">
|
<p style="margin-top: 10px">
|
||||||
<b @click="articleEditorialBoard(item)" class="btnCliArt"> <i class="el-icon-edit"></i> Editorial Board </b>
|
<b @click="articleReviewer(item)" class="btnCliArt">
|
||||||
|
<i :class="item.state == 8 ? 'el-icon-view' : 'el-icon-edit'"></i> Inviting Reviewer
|
||||||
|
</b>
|
||||||
|
|
||||||
|
<!-- <el-button size="mini" type="primary" icon="el-icon-user" @click="articleReviewer(item)">
|
||||||
|
Inviting Reviewer</el-button> -->
|
||||||
|
</p>
|
||||||
|
<!-- <p style="height: 20px"></p> -->
|
||||||
|
<!-- <p
|
||||||
|
style="
|
||||||
|
position: absolute;
|
||||||
|
bottom: 10px;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
width: calc(100% - 20px);
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<b @click="articleReviewer(item)" class="btnCliArt">
|
||||||
|
<i :class="item.state == 8 ? 'el-icon-view' : 'el-icon-edit'"></i> Inviting Reviewer
|
||||||
|
</b>
|
||||||
|
</p> -->
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<template v-if="query.state == 8">
|
||||||
|
<div class="fixCard" style="width: calc((100% - 320px - 280px - 18px)); flex-shrink: 0; position: relative">
|
||||||
|
<b style="font-size: 16px; letter-spacing: -0.5px">Editorial Board Decision</b>
|
||||||
|
<p style="height: 20px"></p>
|
||||||
|
<p v-for="(iken, index) in item.final" style="line-height: 24px" :key="index" v-if="iken.state != 4">
|
||||||
|
<span v-if="iken.reviewer_type == 0"> Editor-in-Chief </span>
|
||||||
|
<span v-if="iken.reviewer_type == 1"> Vice Editor-in-Chief </span>
|
||||||
|
<span v-if="iken.reviewer_type == 2"> Editorial Board Members </span>
|
||||||
|
|
||||||
|
: <b>{{ iken.realname }}</b>
|
||||||
|
<span style="color: #db890e; font-size: 14px; margin-left: 10px">
|
||||||
|
<!-- :0同意邀请1接收2拒绝3退修4拒绝邀请5邀请 -->
|
||||||
|
<font v-if="iken.state == 5" style="color: #ccc; display: inline-block"> invitation </font>
|
||||||
|
<font v-if="iken.state == 0" style="color: #67c23a; display: inline-block"> Agree to review </font>
|
||||||
|
<font v-if="iken.state == 1" style="color: #67c23a; display: inline-block">Accept </font>
|
||||||
|
<font
|
||||||
|
v-if="iken.state == 3"
|
||||||
|
style="
|
||||||
|
display: inline-block;
|
||||||
|
|
||||||
|
color: #0077b8;
|
||||||
|
"
|
||||||
|
>
|
||||||
|
Revision
|
||||||
|
</font>
|
||||||
|
<font
|
||||||
|
v-if="iken.state == 2"
|
||||||
|
style="
|
||||||
|
display: inline-block;
|
||||||
|
|
||||||
|
color: #f56c6c;
|
||||||
|
"
|
||||||
|
>
|
||||||
|
Reject
|
||||||
|
</font>
|
||||||
|
<font v-if="iken.state == 4" style="color: #ccc; display: inline-block"> invalid </font>
|
||||||
|
</span>
|
||||||
|
<el-button
|
||||||
|
v-if="iken.state == 1 || iken.state == 2 || iken.state == 3"
|
||||||
|
style="margin-left: 10px"
|
||||||
|
type="text"
|
||||||
|
icon="el-icon-tickets"
|
||||||
|
@click="showdetail(iken, 'Editor')"
|
||||||
|
>Detail</el-button
|
||||||
|
>
|
||||||
|
</p>
|
||||||
|
<p style="height: 20px"></p>
|
||||||
|
<p
|
||||||
|
style="
|
||||||
|
position: absolute;
|
||||||
|
bottom: 10px;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
width: calc(100% - 20px);
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<b @click="articleEditorialBoard(item)" class="btnCliArt">
|
||||||
|
<i class="el-icon-edit"></i> Editorial Board
|
||||||
|
</b>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -638,7 +717,34 @@
|
|||||||
</div>
|
</div>
|
||||||
</div> -->
|
</div> -->
|
||||||
|
|
||||||
<div class="fixCard" style="width: 320px; flex-shrink: 0" v-if="item.state != 7">
|
<div class="fixCard" style="width: 320px; flex-shrink: 0" v-if="query.state == 8">
|
||||||
|
|
||||||
|
<b style="font-size: 16px; letter-spacing: -0.5px">Corresponding Author</b>
|
||||||
|
<p style="height: 10px"></p>
|
||||||
|
<div style="text-align: left">
|
||||||
|
<p v-if="item.realname != ''">
|
||||||
|
<font style="color: #999">Name :</font>
|
||||||
|
{{ item.H.realname }}
|
||||||
|
<span v-if="item.H.phone != ''" style="margin-left: 5px; color: #666">({{ item.H.phone }})</span>
|
||||||
|
</p>
|
||||||
|
<p v-if="item.H.email != ''" style="margin: 8px 0 5px 0; line-height: 22px">
|
||||||
|
<b @click="linkEmail({...item, ...item.H})" class="btnCliArt" style="">
|
||||||
|
<font style="color: #999">Email :</font>
|
||||||
|
{{ item.H.email }}
|
||||||
|
</b>
|
||||||
|
<b @click="linkEmailist({...item, ...item.H})" v-if="item.H.emailh == 1" class="btnCliArt" style="margin-left: 15px">
|
||||||
|
<i class="el-icon-refresh-left"></i> History
|
||||||
|
</b>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<p style="margin-top: 20px">
|
||||||
|
<b @click="articleCommun({...item, ...item.H})" class="btnCliArt">
|
||||||
|
<i class="el-icon-chat-line-square"></i> Communication
|
||||||
|
</b>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="fixCard" style="width: 320px; flex-shrink: 0" v-else>
|
||||||
|
|
||||||
<b style="font-size: 16px; letter-spacing: -0.5px">Corresponding Author</b>
|
<b style="font-size: 16px; letter-spacing: -0.5px">Corresponding Author</b>
|
||||||
<p style="height: 10px"></p>
|
<p style="height: 10px"></p>
|
||||||
<div style="text-align: left">
|
<div style="text-align: left">
|
||||||
@@ -996,7 +1102,7 @@
|
|||||||
<el-option :key="2" label="Under review" :value="2"></el-option>
|
<el-option :key="2" label="Under review" :value="2"></el-option>
|
||||||
<el-option :key="3" label="Reject" :value="3"></el-option>
|
<el-option :key="3" label="Reject" :value="3"></el-option>
|
||||||
<el-option :key="4" label="Revision" :value="4"></el-option>
|
<el-option :key="4" label="Revision" :value="4"></el-option>
|
||||||
<el-option :key="7" label="Final Decision" :value="7"></el-option>
|
<el-option :key="8" label="Final Review" :value="8"></el-option>
|
||||||
<el-option :key="6" label="Pre-accept" :value="6"></el-option>
|
<el-option :key="6" label="Pre-accept" :value="6"></el-option>
|
||||||
<el-option :key="5" label="Accept" :value="5" :disabled="curState == 6 ? false : true"></el-option>
|
<el-option :key="5" label="Accept" :value="5" :disabled="curState == 6 ? false : true"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
@@ -1571,6 +1677,9 @@
|
|||||||
<el-button @click="dialogVisible = false">Cancel</el-button>
|
<el-button @click="dialogVisible = false">Cancel</el-button>
|
||||||
</span>
|
</span>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
|
<articleEditorDetail :dateId="FinalDetailBaseInfo.id" ref="commonFinalDetail"></articleEditorDetail>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -1578,14 +1687,17 @@
|
|||||||
import { Loading } from 'element-ui';
|
import { Loading } from 'element-ui';
|
||||||
import timetalk from './time_talk';
|
import timetalk from './time_talk';
|
||||||
import commonRemarkList from './articleListEditor_A_list.vue';
|
import commonRemarkList from './articleListEditor_A_list.vue';
|
||||||
|
import articleEditorDetail from './articleEditorDetail.vue';
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
timetalk,
|
timetalk,
|
||||||
commonRemarkList
|
commonRemarkList,
|
||||||
|
articleEditorDetail
|
||||||
},
|
},
|
||||||
props: ['journals'],
|
props: ['journals'],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
FinalDetailBaseInfo: {},
|
||||||
dialogVisible: false,
|
dialogVisible: false,
|
||||||
showFullContent: false,
|
showFullContent: false,
|
||||||
majorValueList: [],
|
majorValueList: [],
|
||||||
@@ -1636,7 +1748,7 @@ export default {
|
|||||||
},
|
},
|
||||||
//终审
|
//终审
|
||||||
{
|
{
|
||||||
state: 7
|
state: 8
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
@@ -1890,6 +2002,7 @@ export default {
|
|||||||
// }
|
// }
|
||||||
],
|
],
|
||||||
|
|
||||||
|
editVisible1: false,
|
||||||
bankVisible: false,
|
bankVisible: false,
|
||||||
majorData: {},
|
majorData: {},
|
||||||
googleSearchInfo: ''
|
googleSearchInfo: ''
|
||||||
@@ -1904,6 +2017,47 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
showdetail(row, type) {
|
||||||
|
console.log('row at line 1964:', row);
|
||||||
|
if (type == 'reviewer') {
|
||||||
|
if (row.state == 4) {
|
||||||
|
this.$message.error('Review expired!');
|
||||||
|
} else {
|
||||||
|
this.$router.push({
|
||||||
|
path: 'articleReviewerDetail',
|
||||||
|
query: {
|
||||||
|
id: row.art_rev_id
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this.FinalDetailBaseInfo = { ...row };
|
||||||
|
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.commonFinalDetail.init();
|
||||||
|
});
|
||||||
|
// this.$router.push({
|
||||||
|
// path: 'articleEditorDetail',
|
||||||
|
// query: {
|
||||||
|
// id: row.id
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
}
|
||||||
|
},
|
||||||
|
handleClose() {},
|
||||||
|
async getReviewerData(articleId) {
|
||||||
|
try {
|
||||||
|
const res = await this.$api.post('api/Finalreview/getReviewRecord', { article_id: articleId });
|
||||||
|
if (res.status === 1) {
|
||||||
|
return res.data.article_review; // 返回数据
|
||||||
|
} else {
|
||||||
|
return []; // 如果没有数据,返回空数组
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
console.error('Error fetching data:', error);
|
||||||
|
return []; // 如果发生错误,返回空数组
|
||||||
|
}
|
||||||
|
},
|
||||||
openAIContent() {
|
openAIContent() {
|
||||||
this.dialogVisible = true;
|
this.dialogVisible = true;
|
||||||
},
|
},
|
||||||
@@ -2207,7 +2361,7 @@ export default {
|
|||||||
this.getdate();
|
this.getdate();
|
||||||
},
|
},
|
||||||
// 获取数据
|
// 获取数据
|
||||||
getdate() {
|
async getdate() {
|
||||||
this.query.state == 6 ? (this.PreAcpVisible = true) : (this.PreAcpVisible = false);
|
this.query.state == 6 ? (this.PreAcpVisible = true) : (this.PreAcpVisible = false);
|
||||||
const loading = this.$loading({
|
const loading = this.$loading({
|
||||||
lock: true,
|
lock: true,
|
||||||
@@ -2215,177 +2369,201 @@ export default {
|
|||||||
spinner: 'el-icon-loading',
|
spinner: 'el-icon-loading',
|
||||||
background: 'rgba(0, 0, 0, 0.7)'
|
background: 'rgba(0, 0, 0, 0.7)'
|
||||||
});
|
});
|
||||||
if(this.query.state==7){
|
if (this.query.state == 8) {
|
||||||
this.$api
|
this.$api
|
||||||
.post('api/Finalreview/articleLists', this.query)
|
.post('api/Finalreview/articleLists', {
|
||||||
.then((res) => {
|
...this.query,
|
||||||
console.log('res at line 2219:', res)
|
title: this.query.name,
|
||||||
this.Total = res.data.total;
|
accept_sn: this.query.sn,
|
||||||
this.tableData = res.data.lists;
|
journal_id: this.query.journal
|
||||||
for (let i = 0; i < this.tableData.length; i++) {
|
})
|
||||||
|
|
||||||
|
.then(async (res) => {
|
||||||
|
console.log('res at line 2219:', res);
|
||||||
|
this.Total = res.data.total;
|
||||||
|
this.tableData = res.data.lists;
|
||||||
|
for (let i = 0; i < this.tableData.length; i++) {
|
||||||
|
this.tableData[i].reviewScore = [];
|
||||||
|
await this.$api
|
||||||
|
.post('api/Finalreview/getReviewRecord', { article_id: this.tableData[i].article_id })
|
||||||
|
.then((res) => {
|
||||||
|
console.log('res at line 2356:', res);
|
||||||
|
if (res.status == 1) {
|
||||||
|
this.$set(this.tableData[i], 'reviewScore', res.data.article_review);
|
||||||
|
console.log('.reviewScore at line 2358:', this.tableData[i].reviewScore);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch((error) => {
|
||||||
|
console.error('API call failed:', error);
|
||||||
|
});
|
||||||
|
|
||||||
this.tableData[i].file_cover = 1;
|
this.tableData[i].file_cover = 1;
|
||||||
this.tableData[i].file_figer = 1;
|
this.tableData[i].file_figer = 1;
|
||||||
this.tableData[i].file_total = 1;
|
this.tableData[i].file_total = 1;
|
||||||
this.tableData[i].file_maun = 1;
|
this.tableData[i].file_maun = 1;
|
||||||
this.tableData[i].file_supper = 1;
|
this.tableData[i].file_supper = 1;
|
||||||
if (this.tableData[i].file.coverLetter) {
|
if (this.tableData[i].file.coverLetter) {
|
||||||
if (this.tableData[i].file.coverLetter.length > 1) {
|
if (this.tableData[i].file.coverLetter.length > 1) {
|
||||||
this.tableData[i].file_cover = 0;
|
this.tableData[i].file_cover = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
if (this.tableData[i].file.picturesAndTables) {
|
||||||
if (this.tableData[i].file.picturesAndTables) {
|
if (this.tableData[i].file.picturesAndTables.length > 1) {
|
||||||
if (this.tableData[i].file.picturesAndTables.length > 1) {
|
this.tableData[i].file_figer = 0;
|
||||||
this.tableData[i].file_figer = 0;
|
}
|
||||||
}
|
}
|
||||||
}
|
if (this.tableData[i].file.totalpage) {
|
||||||
if (this.tableData[i].file.totalpage) {
|
if (this.tableData[i].file.totalpage.length > 1) {
|
||||||
if (this.tableData[i].file.totalpage.length > 1) {
|
this.tableData[i].file_total = 0;
|
||||||
this.tableData[i].file_total = 0;
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
if (this.tableData[i].file.manuscirpt) {
|
if (this.tableData[i].file.manuscirpt) {
|
||||||
if (
|
// if (
|
||||||
this.tableData[i].file.coverLetter ||
|
// this.tableData[i].file.coverLetter ||
|
||||||
this.tableData[i].file.picturesAndTables ||
|
// this.tableData[i].file.picturesAndTables ||
|
||||||
this.tableData[i].file.totalpage ||
|
// this.tableData[i].file.totalpage ||
|
||||||
this.tableData[i].file.supplementary
|
// this.tableData[i].file.supplementary
|
||||||
) {
|
// ) {
|
||||||
if (this.tableData[i].file.manuscirpt.length > 1) {
|
if (this.tableData[i].file.manuscirpt.length > 1) {
|
||||||
this.tableData[i].file_maun = 0;
|
console.log('this.tableData at line 2343:', this.tableData[i].file);
|
||||||
|
this.$set(this.tableData[i], 'file_maun', 0);
|
||||||
|
|
||||||
|
console.log('this.tableData at line 23431:', this.tableData[i]);
|
||||||
|
// this.tableData[i].file_maun = 0;
|
||||||
|
|
||||||
|
this.$forceUpdate();
|
||||||
|
}
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
if (this.tableData[i].file.supplementary) {
|
||||||
|
if (this.tableData[i].file.supplementary.length > 1) {
|
||||||
|
this.tableData[i].file_supper = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// for (let j = 0; j < this.tableData[i].length; j++) {
|
||||||
|
|
||||||
|
// if (this.tableData[i].review[j].rated != null) {
|
||||||
|
// this.tableData[i].reviewScore.push(this.tableData[i].review[j]);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
this.tableData[i].reportList = [...this.tableData[i].reports];
|
||||||
|
console.log('.reportList at line 1265:', this.tableData[i].reportList);
|
||||||
|
}
|
||||||
|
for (let i = 0; i < res.data.count_num.length; i++) {
|
||||||
|
for (let j = 0; j < this.statList.length; j++) {
|
||||||
|
if (i == this.statList[j].state) {
|
||||||
|
this.statList[j].num = res.data.count_num[i];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (this.tableData[i].file.supplementary) {
|
this.$forceUpdate();
|
||||||
if (this.tableData[i].file.supplementary.length > 1) {
|
loading.close();
|
||||||
this.tableData[i].file_supper = 0;
|
})
|
||||||
}
|
.catch((err) => {
|
||||||
}
|
console.log(err);
|
||||||
|
loading.close();
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
this.$api
|
||||||
|
.post('api/Article/getArticleForEditor', this.query)
|
||||||
|
.then((res) => {
|
||||||
|
this.Total = res.total;
|
||||||
|
this.tableData = res.data;
|
||||||
|
for (let i = 0; i < this.tableData.length; i++) {
|
||||||
|
// if (this.query.state == 0) {
|
||||||
|
// this.fetchMajorData(this.tableData[i].article_id); // 加载第一个用户的数据
|
||||||
|
// }
|
||||||
|
|
||||||
this.tableData[i].reviewScore = [];
|
this.tableData[i].file_cover = 1;
|
||||||
for (let j = 0; j < this.tableData[i].review.length; j++) {
|
this.tableData[i].file_figer = 1;
|
||||||
if (this.tableData[i].review[j].rated != null) {
|
this.tableData[i].file_total = 1;
|
||||||
this.tableData[i].reviewScore.push(this.tableData[i].review[j]);
|
this.tableData[i].file_maun = 1;
|
||||||
|
this.tableData[i].file_supper = 1;
|
||||||
|
if (this.tableData[i].file.coverLetter) {
|
||||||
|
if (this.tableData[i].file.coverLetter.length > 1) {
|
||||||
|
this.tableData[i].file_cover = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (this.tableData[i].file.picturesAndTables) {
|
||||||
|
if (this.tableData[i].file.picturesAndTables.length > 1) {
|
||||||
|
this.tableData[i].file_figer = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (this.tableData[i].file.totalpage) {
|
||||||
|
if (this.tableData[i].file.totalpage.length > 1) {
|
||||||
|
this.tableData[i].file_total = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (this.tableData[i].file.manuscirpt) {
|
||||||
|
if (
|
||||||
|
this.tableData[i].file.coverLetter ||
|
||||||
|
this.tableData[i].file.picturesAndTables ||
|
||||||
|
this.tableData[i].file.totalpage ||
|
||||||
|
this.tableData[i].file.supplementary
|
||||||
|
) {
|
||||||
|
if (this.tableData[i].file.manuscirpt.length > 1) {
|
||||||
|
this.tableData[i].file_maun = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (this.tableData[i].file.supplementary) {
|
||||||
|
if (this.tableData[i].file.supplementary.length > 1) {
|
||||||
|
this.tableData[i].file_supper = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
this.tableData[i].reportList = [...this.tableData[i].reports];
|
this.tableData[i].reviewScore = [];
|
||||||
console.log('.reportList at line 1265:', this.tableData[i].reportList);
|
for (let j = 0; j < this.tableData[i].review.length; j++) {
|
||||||
|
if (this.tableData[i].review[j].rated != null) {
|
||||||
|
this.tableData[i].reviewScore.push(this.tableData[i].review[j]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
this.tableData[i].reportList = [...this.tableData[i].reports];
|
||||||
for (let i = 0; i < res.state_num.length; i++) {
|
console.log('.reportList at line 1265:', this.tableData[i].reportList);
|
||||||
for (let j = 0; j < this.statList.length; j++) {
|
// if (this.tableData[i].reports.length == 1) {
|
||||||
if (i == this.statList[j].state) {
|
// for (let j = 0; j < this.tableData[i].reports.length; j++) {
|
||||||
this.statList[j].num = res.state_num[i];
|
// if (
|
||||||
}
|
// this.tableData[i].reports[j].author_account != '' &&
|
||||||
|
// this.tableData[i].reports[j].author_account != null
|
||||||
|
// ) {
|
||||||
|
// if (this.tableData[i].reports[j].author_account.google_time == 0) {
|
||||||
|
// this.tableData[i].reports[j].Hindex = 0;
|
||||||
|
// this.tableData[i].reportList.push(this.tableData[i].reports[j]);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// } else if (this.tableData[i].reports.length > 1) {
|
||||||
|
// for (let j = 0; j < this.tableData[i].reports.length; j++) {
|
||||||
|
// if (
|
||||||
|
// this.tableData[i].reports[j].author_account != '' &&
|
||||||
|
// this.tableData[i].reports[j].author_account != null
|
||||||
|
// ) {
|
||||||
|
// this.tableData[i].reports[j].Hindex = this.tableData[i].reports[j].author_account.google_index;
|
||||||
|
// if (this.tableData[i].reports[j].author_account.google_time == 0) {
|
||||||
|
// this.tableData[i].reportList = this.tableData[i].reports;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
}
|
for (let i = 0; i < res.state_num.length; i++) {
|
||||||
loading.close();
|
for (let j = 0; j < this.statList.length; j++) {
|
||||||
})
|
if (i == this.statList[j].state) {
|
||||||
.catch((err) => {
|
this.statList[j].num = res.state_num[i];
|
||||||
console.log(err);
|
|
||||||
loading.close();
|
|
||||||
});
|
|
||||||
}else{
|
|
||||||
this.$api
|
|
||||||
.post('api/Article/getArticleForEditor', this.query)
|
|
||||||
.then((res) => {
|
|
||||||
this.Total = res.total;
|
|
||||||
this.tableData = res.data;
|
|
||||||
for (let i = 0; i < this.tableData.length; i++) {
|
|
||||||
// if (this.query.state == 0) {
|
|
||||||
// this.fetchMajorData(this.tableData[i].article_id); // 加载第一个用户的数据
|
|
||||||
// }
|
|
||||||
|
|
||||||
this.tableData[i].file_cover = 1;
|
|
||||||
this.tableData[i].file_figer = 1;
|
|
||||||
this.tableData[i].file_total = 1;
|
|
||||||
this.tableData[i].file_maun = 1;
|
|
||||||
this.tableData[i].file_supper = 1;
|
|
||||||
if (this.tableData[i].file.coverLetter) {
|
|
||||||
if (this.tableData[i].file.coverLetter.length > 1) {
|
|
||||||
this.tableData[i].file_cover = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (this.tableData[i].file.picturesAndTables) {
|
|
||||||
if (this.tableData[i].file.picturesAndTables.length > 1) {
|
|
||||||
this.tableData[i].file_figer = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (this.tableData[i].file.totalpage) {
|
|
||||||
if (this.tableData[i].file.totalpage.length > 1) {
|
|
||||||
this.tableData[i].file_total = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (this.tableData[i].file.manuscirpt) {
|
|
||||||
if (
|
|
||||||
this.tableData[i].file.coverLetter ||
|
|
||||||
this.tableData[i].file.picturesAndTables ||
|
|
||||||
this.tableData[i].file.totalpage ||
|
|
||||||
this.tableData[i].file.supplementary
|
|
||||||
) {
|
|
||||||
if (this.tableData[i].file.manuscirpt.length > 1) {
|
|
||||||
this.tableData[i].file_maun = 0;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (this.tableData[i].file.supplementary) {
|
loading.close();
|
||||||
if (this.tableData[i].file.supplementary.length > 1) {
|
})
|
||||||
this.tableData[i].file_supper = 0;
|
.catch((err) => {
|
||||||
}
|
console.log(err);
|
||||||
}
|
loading.close();
|
||||||
|
});
|
||||||
this.tableData[i].reviewScore = [];
|
}
|
||||||
for (let j = 0; j < this.tableData[i].review.length; j++) {
|
|
||||||
if (this.tableData[i].review[j].rated != null) {
|
|
||||||
this.tableData[i].reviewScore.push(this.tableData[i].review[j]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
this.tableData[i].reportList = [...this.tableData[i].reports];
|
|
||||||
console.log('.reportList at line 1265:', this.tableData[i].reportList);
|
|
||||||
// if (this.tableData[i].reports.length == 1) {
|
|
||||||
// for (let j = 0; j < this.tableData[i].reports.length; j++) {
|
|
||||||
// if (
|
|
||||||
// this.tableData[i].reports[j].author_account != '' &&
|
|
||||||
// this.tableData[i].reports[j].author_account != null
|
|
||||||
// ) {
|
|
||||||
// if (this.tableData[i].reports[j].author_account.google_time == 0) {
|
|
||||||
// this.tableData[i].reports[j].Hindex = 0;
|
|
||||||
// this.tableData[i].reportList.push(this.tableData[i].reports[j]);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// } else if (this.tableData[i].reports.length > 1) {
|
|
||||||
// for (let j = 0; j < this.tableData[i].reports.length; j++) {
|
|
||||||
// if (
|
|
||||||
// this.tableData[i].reports[j].author_account != '' &&
|
|
||||||
// this.tableData[i].reports[j].author_account != null
|
|
||||||
// ) {
|
|
||||||
// this.tableData[i].reports[j].Hindex = this.tableData[i].reports[j].author_account.google_index;
|
|
||||||
// if (this.tableData[i].reports[j].author_account.google_time == 0) {
|
|
||||||
// this.tableData[i].reportList = this.tableData[i].reports;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
}
|
|
||||||
for (let i = 0; i < res.state_num.length; i++) {
|
|
||||||
for (let j = 0; j < this.statList.length; j++) {
|
|
||||||
if (i == this.statList[j].state) {
|
|
||||||
this.statList[j].num = res.state_num[i];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
loading.close();
|
|
||||||
})
|
|
||||||
.catch((err) => {
|
|
||||||
console.log(err);
|
|
||||||
loading.close();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
},
|
},
|
||||||
// 触发搜索按钮
|
// 触发搜索按钮
|
||||||
handleSearch() {
|
handleSearch() {
|
||||||
@@ -3039,8 +3217,8 @@ if(this.query.state==7){
|
|||||||
case 6:
|
case 6:
|
||||||
str = this.$t('artstate.state6');
|
str = this.$t('artstate.state6');
|
||||||
break;
|
break;
|
||||||
case 7:
|
case 8:
|
||||||
str = this.$t('artstate.state7');
|
str = this.$t('artstate.state8');
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
str = 'error!!';
|
str = 'error!!';
|
||||||
@@ -3081,12 +3259,16 @@ if(this.query.state==7){
|
|||||||
},
|
},
|
||||||
|
|
||||||
// 时间
|
// 时间
|
||||||
formatDate(timestamp) {
|
formatDate(timestamp, data) {
|
||||||
var date = new Date(timestamp * 1000); //时间戳为10位需*1000,时间戳为13位的话不需乘1000
|
if (data.state == 8) {
|
||||||
var Y = date.getFullYear() + '-';
|
return timestamp;
|
||||||
var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
|
} else {
|
||||||
var D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
|
var date = new Date(timestamp * 1000); //时间戳为10位需*1000,时间戳为13位的话不需乘1000
|
||||||
return Y + M + D;
|
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;
|
||||||
|
}
|
||||||
},
|
},
|
||||||
colorIndex2(time) {
|
colorIndex2(time) {
|
||||||
if (time != 0) {
|
if (time != 0) {
|
||||||
|
|||||||
@@ -283,6 +283,10 @@ export default {
|
|||||||
res.msg[i].color = '#27727B';
|
res.msg[i].color = '#27727B';
|
||||||
res.msg[i].icon = 'el-icon-star-off';
|
res.msg[i].icon = 'el-icon-star-off';
|
||||||
}
|
}
|
||||||
|
if (res.msg[i].state_to == 8) {
|
||||||
|
res.msg[i].color = '#0ebee1';
|
||||||
|
res.msg[i].icon = 'el-icon-document';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
this.artMes = res.article;
|
this.artMes = res.article;
|
||||||
this.artMes.laststate = res.msg[res.msg.length - 1].state_to;
|
this.artMes.laststate = res.msg[res.msg.length - 1].state_to;
|
||||||
@@ -372,6 +376,13 @@ export default {
|
|||||||
break;
|
break;
|
||||||
case 6:
|
case 6:
|
||||||
str = 'Pre-accept';
|
str = 'Pre-accept';
|
||||||
|
break;
|
||||||
|
case 7:
|
||||||
|
str = 'Proof';
|
||||||
|
break;
|
||||||
|
case 8:
|
||||||
|
str = 'Final Review';
|
||||||
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
str = 'error!!';
|
str = 'error!!';
|
||||||
|
|||||||
@@ -98,6 +98,45 @@
|
|||||||
</el-collapse>
|
</el-collapse>
|
||||||
<p v-if="comentDeploy==''" style="color: #888888;margin: 0 0 0 10px;">No Comment</p>
|
<p v-if="comentDeploy==''" style="color: #888888;margin: 0 0 0 10px;">No Comment</p>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="art_author_">
|
||||||
|
<h2>
|
||||||
|
Comments from Final reviewers
|
||||||
|
</h2>
|
||||||
|
<el-collapse v-model="activeFinalComment" v-if="comentFinal!=''">
|
||||||
|
<el-collapse-item v-for="(item,index) in comentFinal" :name="index" :key="index"
|
||||||
|
class="art_author_list">
|
||||||
|
<template slot="title">
|
||||||
|
<b class="com_shu">{{index+1}}</b>
|
||||||
|
Final Reviewer Comment
|
||||||
|
<font style="margin: 0 0 0 50px;color: #888;">
|
||||||
|
<i class="el-icon-time" style="margin:0 2px 0 0;"></i>
|
||||||
|
{{item.review_time?item.review_time.split(' ')[0]:''}}
|
||||||
|
|
||||||
|
</font>
|
||||||
|
</template>
|
||||||
|
<!-- 时间轴 -->
|
||||||
|
<el-timeline >
|
||||||
|
<el-card>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- 内容 -->
|
||||||
|
<div class="art_author_coment" style="margin-top: 0px;">
|
||||||
|
|
||||||
|
<p v-if="item.suggest_for_author!=''">
|
||||||
|
<font style="margin-top: 0px;">Comments for the Authors</font>
|
||||||
|
<pre style="text-align: justify;">{{item.suggest_for_author}}</pre>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</el-card>
|
||||||
|
</el-timeline>
|
||||||
|
<!-- end -->
|
||||||
|
</el-collapse-item>
|
||||||
|
</el-collapse>
|
||||||
|
<p v-if="comentFinal==''" style="color: #888888;margin: 0 0 0 10px;">No Comment</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="art_author_">
|
<div class="art_author_">
|
||||||
<h2 :style="{'margin-bottom':(ComEditor==''?'0':'20px')}">
|
<h2 :style="{'margin-bottom':(ComEditor==''?'0':'20px')}">
|
||||||
@@ -444,6 +483,7 @@
|
|||||||
loading: false,
|
loading: false,
|
||||||
Detailvisible: false,
|
Detailvisible: false,
|
||||||
activeComment: [],
|
activeComment: [],
|
||||||
|
activeFinalComment: [],
|
||||||
activeNames: ['2'],
|
activeNames: ['2'],
|
||||||
authorList_name: '',
|
authorList_name: '',
|
||||||
artMes: {
|
artMes: {
|
||||||
@@ -463,6 +503,7 @@
|
|||||||
ad_content: ''
|
ad_content: ''
|
||||||
},
|
},
|
||||||
comentDeploy: [],
|
comentDeploy: [],
|
||||||
|
comentFinal: [],
|
||||||
talkMsgs: [],
|
talkMsgs: [],
|
||||||
ComEditor: [],
|
ComEditor: [],
|
||||||
ComRespe: [],
|
ComRespe: [],
|
||||||
@@ -545,6 +586,10 @@
|
|||||||
if(item.question && item.question.length > 0)
|
if(item.question && item.question.length > 0)
|
||||||
item.question = item.question.reverse()
|
item.question = item.question.reverse()
|
||||||
})
|
})
|
||||||
|
|
||||||
|
// 审稿人意见
|
||||||
|
this.comentFinal = res.suggest_final
|
||||||
|
|
||||||
// console.log(this.comentDeploy,'this.comentDeploy')
|
// console.log(this.comentDeploy,'this.comentDeploy')
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
|
|||||||
@@ -3,76 +3,46 @@
|
|||||||
<el-form :model="questionform" :rules="isEdit ? rules : {}" ref="question" label-width="300px" label-position="top">
|
<el-form :model="questionform" :rules="isEdit ? rules : {}" ref="question" label-width="300px" label-position="top">
|
||||||
<el-divider content-position="center">REFEREE'S ASSESSMENT</el-divider>
|
<el-divider content-position="center">REFEREE'S ASSESSMENT</el-divider>
|
||||||
|
|
||||||
<p
|
<el-form-item label="Processing Status" prop="state">
|
||||||
v-if="questionform.score && Number(questionform.score) > 0 && pagetype == 'Editor'"
|
|
||||||
style="margin: 30px 0; font-size: 20px; padding-left: 0px; box-sizing: border-box"
|
|
||||||
>
|
|
||||||
<span
|
|
||||||
style="
|
|
||||||
border: 1px solid #409eff85;
|
|
||||||
border-radius: 4px;
|
|
||||||
|
|
||||||
background-color: #fff;
|
|
||||||
padding: 8px 30px 8px 10px;
|
|
||||||
border-radius: 12px;
|
|
||||||
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
font-weight: bold;
|
|
||||||
font-size: 18px;
|
|
||||||
color: #333;
|
|
||||||
"
|
|
||||||
>
|
|
||||||
Automated Scoring for Reviewer's Opinions :
|
|
||||||
<span style="font-weight: bold; font-weight: bold; font-size: 26px; color: #2c3e50; margin-left: 10px">{{
|
|
||||||
Number(questionform.score)
|
|
||||||
}}</span>
|
|
||||||
</span>
|
|
||||||
</p>
|
|
||||||
<el-form-item label="" prop="recommend">
|
|
||||||
<!-- Accept(录用)、Revision(退修)、Reject(退稿) -->
|
<!-- Accept(录用)、Revision(退修)、Reject(退稿) -->
|
||||||
<!-- 1接收2拒绝3退修4拒绝邀请 -->
|
<!-- 1接收2拒绝3退修4拒绝邀请 -->
|
||||||
<!--
|
|
||||||
<div class="btn btn-accept ">Accept</div>
|
|
||||||
<div class="btn btn-revision ">Revision</div>
|
|
||||||
<div class="btn btn-reject">Reject</div> -->
|
|
||||||
<!--
|
|
||||||
<div class="btn btn1">Accept</div>
|
|
||||||
<div class="btn btn2">Revision</div>
|
|
||||||
<div class="btn btn3">Reject</div> -->
|
|
||||||
<el-radio-group v-model="questionform.recommend" style="line-height: 30px">
|
|
||||||
<el-radio :label="2" :disabled="!isEdit && questionform.recommend != 2">Accept</el-radio>
|
|
||||||
<br />
|
|
||||||
<el-radio :label="3" :disabled="!isEdit && questionform.recommend != 3">Revision</el-radio>
|
|
||||||
<br />
|
|
||||||
<el-radio :label="4" :disabled="!isEdit && questionform.recommend != 4">Reject</el-radio>
|
|
||||||
|
|
||||||
|
|
||||||
|
<el-radio-group v-model="questionform.state" style="line-height: 30px">
|
||||||
|
<el-radio :label="1" :disabled="!isEdit && questionform.state != 1 && questionform.state != 0">Accept</el-radio>
|
||||||
|
|
||||||
|
<br />
|
||||||
|
<el-radio :label="3" :disabled="!isEdit && questionform.state != 3 && questionform.state != 0">Revision</el-radio>
|
||||||
|
<br />
|
||||||
|
<el-radio :label="2" :disabled="!isEdit && questionform.state != 2 && questionform.state != 0">Reject</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="Confidential Comments to the Editor" >
|
<template>
|
||||||
<el-input
|
<el-form-item label="Comments for the Authors" prop="suggest_for_author">
|
||||||
:readonly="!isEdit"
|
<el-input v-if="isEdit"
|
||||||
|
:autosize="{ minRows: 2, maxRows: 8 }"
|
||||||
|
|
||||||
|
type="textarea"
|
||||||
|
placeholder="please input content"
|
||||||
|
v-model="questionform.suggest_for_author"
|
||||||
|
></el-input>
|
||||||
|
<div v-else style="color: #888;">
|
||||||
|
{{ questionform.suggest_for_editor }}
|
||||||
|
</div>
|
||||||
|
</el-form-item>
|
||||||
|
</template>
|
||||||
|
<el-form-item label="Confidential Comments to the Editor" prop="suggest_for_editor">
|
||||||
|
<el-input v-if="isEdit"
|
||||||
|
|
||||||
type="textarea"
|
type="textarea"
|
||||||
placeholder="please input content"
|
placeholder="please input content"
|
||||||
v-model="questionform.suggest_for_editor"
|
v-model="questionform.suggest_for_editor"
|
||||||
:autosize="{ minRows: 2, maxRows: 10 }"
|
:autosize="{ minRows: 2, maxRows: 10 }"
|
||||||
></el-input>
|
></el-input>
|
||||||
|
<div v-else style="color: #888;">
|
||||||
|
{{ questionform.suggest_for_editor }}
|
||||||
|
</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<template >
|
|
||||||
<el-form-item label="Comments for the Authors">
|
|
||||||
<el-input
|
|
||||||
:autosize="{ minRows: 2, maxRows: 8 }"
|
|
||||||
:readonly="!isEdit"
|
|
||||||
type="textarea"
|
|
||||||
placeholder="please input content"
|
|
||||||
v-model="questionform.suggest_for_author"
|
|
||||||
></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
|
|
||||||
</template>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- <el-form-item label="Please choose disclose your name or remain anonymous" v-if="isEdit">
|
<!-- <el-form-item label="Please choose disclose your name or remain anonymous" v-if="isEdit">
|
||||||
@@ -96,9 +66,9 @@
|
|||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item> -->
|
</el-form-item> -->
|
||||||
<!-- 暂时注销 -->
|
<!-- 暂时注销 -->
|
||||||
<!-- v-if="this.btn_submit == 0" -->
|
<!-- -->
|
||||||
<el-form-item >
|
<el-form-item>
|
||||||
<el-button type="primary" @click="questionSubmit" style="float: right;">submit</el-button>
|
<el-button type="primary" @click="questionSubmit" style="float: right" v-if="this.btn_submit == 0">submit</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
@@ -157,6 +127,7 @@ export default {
|
|||||||
form: {
|
form: {
|
||||||
handler(e) {
|
handler(e) {
|
||||||
this.baseQuestionform = JSON.parse(JSON.stringify(e)); // 深拷贝,防止直接改 props
|
this.baseQuestionform = JSON.parse(JSON.stringify(e)); // 深拷贝,防止直接改 props
|
||||||
|
console.log('this.baseQuestionform at line 134:', this.baseQuestionform);
|
||||||
},
|
},
|
||||||
immediate: true,
|
immediate: true,
|
||||||
deep: true
|
deep: true
|
||||||
@@ -179,124 +150,60 @@ export default {
|
|||||||
rules: {}
|
rules: {}
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
mounted() {
|
||||||
this.getData();
|
this.getData();
|
||||||
},
|
},
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
getData() {
|
getData() {
|
||||||
// Fetch article data
|
// Fetch article data
|
||||||
this.questionform = { ...this.baseQuestionform };
|
this.questionform = {
|
||||||
if (this.baseQuestionform.type != 1) {
|
reviewer_id: this.baseQuestionform.reviewer_id,
|
||||||
this.isNewForm = true;
|
article_id: this.baseQuestionform.article_id,
|
||||||
this.rules = {
|
record_id: this.baseQuestionform.record_id,
|
||||||
rated: [{ required: true, message: 'please select', trigger: 'blur' }],
|
state: this.baseQuestionform.state,
|
||||||
comment: [{ required: true, message: 'please input content', trigger: 'blur' }],
|
suggest_for_editor: this.baseQuestionform.suggest_for_editor,
|
||||||
other: [{ required: true, message: 'please input content', trigger: 'blur' }],
|
suggest_for_author: this.baseQuestionform.suggest_for_author
|
||||||
recommend: [{ required: true, message: 'please select', trigger: 'blur' }]
|
};
|
||||||
};
|
|
||||||
if (this.txt_mess.atype == 'REVIEW' || this.txt_mess.atype == 'MINI REVIEW') {
|
this.rules = {
|
||||||
for (let i = 1; i <= 12; i++) {
|
state: [{ required: true, message: 'Please select the manuscript processing status', trigger: 'blur' }],
|
||||||
this.rules[`qu${i}`] = [{ required: true, message: 'please select', trigger: 'blur' }];
|
suggest_for_editor: [{ required: true, message: 'please Input Comments for the Editor', trigger: 'blur' }],
|
||||||
}
|
suggest_for_author: [{ required: true, message: 'please Input Comments for the Authors', trigger: 'blur' }]
|
||||||
} else {
|
};
|
||||||
for (let i = 1; i <= 14; i++) {
|
|
||||||
this.rules[`qu${i}`] = [{ required: true, message: 'please select', trigger: 'blur' }];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
this.isNewForm = false;
|
|
||||||
this.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' }]
|
|
||||||
};
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
questionSubmit() {
|
questionSubmit() {
|
||||||
|
if (this.questionform.state == 0) {
|
||||||
|
this.$message.error('Please select the manuscript processing status.');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
const regex = /[\u4E00-\u9FA5\uF900-\uFA2D]{1,}/;
|
const regex = /[\u4E00-\u9FA5\uF900-\uFA2D]{1,}/;
|
||||||
if (this.questionform.comment && this.questionform.comment != '') {
|
if (this.questionform.suggest_for_author && this.questionform.suggest_for_author != '') {
|
||||||
if (regex.test(this.questionform.comment)) {
|
if (regex.test(this.questionform.suggest_for_author)) {
|
||||||
// 如果输入的是中文,则清空输入框
|
// 如果输入的是中文,则清空输入框
|
||||||
this.$message.error('Comments for the Authors cannot use Chinese.');
|
this.$message.error('Comments for the Authors cannot use Chinese.');
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (this.questionform.confident && this.questionform.confident != '') {
|
if (this.questionform.suggest_for_editor && this.questionform.suggest_for_editor != '') {
|
||||||
if (regex.test(this.questionform.confident)) {
|
if (regex.test(this.questionform.suggest_for_editor)) {
|
||||||
// 如果输入的是中文,则清空输入框
|
// 如果输入的是中文,则清空输入框
|
||||||
this.$message.error('Confidential Comments to the Editor cannot be in Chinese.');
|
this.$message.error('Comments for the Editor cannot use Chinese.');
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// let Char_Cter = null;
|
// let Char_Cter = null;
|
||||||
// // 验证相加的字数
|
// // 验证相加的字数
|
||||||
// if (this.isNewForm) {
|
|
||||||
// Char_Cter = [
|
|
||||||
// this.questionform.qu5contents,
|
|
||||||
// this.questionform.qu6contents,
|
|
||||||
// this.questionform.qu7contents,
|
|
||||||
// this.questionform.qu8contents,
|
|
||||||
// this.questionform.qu9contents,
|
|
||||||
// this.questionform.qu10contents,
|
|
||||||
// this.questionform.qu11contents,
|
|
||||||
// this.questionform.qu12contents,
|
|
||||||
// this.questionform.qu13contents,
|
|
||||||
// this.questionform.qu14contents,
|
|
||||||
// this.questionform.comment
|
|
||||||
// ].join(' ');
|
|
||||||
// } else {
|
|
||||||
// Char_Cter = [
|
|
||||||
// this.questionform.qu9contents,
|
|
||||||
// this.questionform.qu10contents,
|
|
||||||
// this.questionform.qu11contents,
|
|
||||||
// this.questionform.qu12contents,
|
|
||||||
// this.questionform.qu13contents,
|
|
||||||
// this.questionform.comment
|
|
||||||
// ].join(' ');
|
|
||||||
// }
|
|
||||||
|
|
||||||
if (new RegExp('[\\u4E00-\\u9FFF]+', 'g').test(Char_Cter)) {
|
// Char_Cter = [
|
||||||
//中文
|
|
||||||
let blankCount = 0;
|
// this.questionform.suggest_for_editor,
|
||||||
for (let i in Char_Cter.match(/ /g)) {
|
// this.questionform.suggest_for_author,
|
||||||
blankCount++;
|
// ].join(' ');
|
||||||
}
|
|
||||||
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.loading = true;
|
||||||
|
|
||||||
@@ -310,11 +217,10 @@ export default {
|
|||||||
});
|
});
|
||||||
this.$api
|
this.$api
|
||||||
.post('api/Finalreview/review', {
|
.post('api/Finalreview/review', {
|
||||||
...this.questionform,
|
...this.questionform
|
||||||
|
|
||||||
})
|
})
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
if (res.code == 0) {
|
if (res.status == 1) {
|
||||||
loading.close();
|
loading.close();
|
||||||
this.$message.success('Success!!');
|
this.$message.success('Success!!');
|
||||||
this.$emit('refresh');
|
this.$emit('refresh');
|
||||||
@@ -370,7 +276,7 @@ export default {
|
|||||||
width: 110px;
|
width: 110px;
|
||||||
height: 32px;
|
height: 32px;
|
||||||
line-height: 32px;
|
line-height: 32px;
|
||||||
border:1px solid #888;
|
border: 1px solid #888;
|
||||||
color: #888;
|
color: #888;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -380,13 +286,13 @@ export default {
|
|||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
box-shadow: 0 4px 6px rgba(40, 167, 69, 0.2);
|
box-shadow: 0 4px 6px rgba(40, 167, 69, 0.2);
|
||||||
}
|
}
|
||||||
.btn1{
|
.btn1 {
|
||||||
color: #28a745;
|
color: #28a745;
|
||||||
}
|
}
|
||||||
.btn2{
|
.btn2 {
|
||||||
color: #ffc107;
|
color: #ffc107;
|
||||||
}
|
}
|
||||||
.btn3{
|
.btn3 {
|
||||||
color: #dc3545;
|
color: #dc3545;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -409,7 +315,6 @@ export default {
|
|||||||
box-shadow: 0 4px 6px rgba(255, 193, 7, 0.2);
|
box-shadow: 0 4px 6px rgba(255, 193, 7, 0.2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.btn-revision:hover {
|
.btn-revision:hover {
|
||||||
background-color: #e0a800;
|
background-color: #e0a800;
|
||||||
box-shadow: 0 6px 8px rgba(255, 193, 7, 0.3);
|
box-shadow: 0 6px 8px rgba(255, 193, 7, 0.3);
|
||||||
@@ -429,7 +334,6 @@ export default {
|
|||||||
box-shadow: 0 4px 6px rgba(220, 53, 69, 0.2);
|
box-shadow: 0 4px 6px rgba(220, 53, 69, 0.2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.btn-reject:hover {
|
.btn-reject:hover {
|
||||||
background-color: #c82333;
|
background-color: #c82333;
|
||||||
box-shadow: 0 6px 8px rgba(220, 53, 69, 0.3);
|
box-shadow: 0 6px 8px rgba(220, 53, 69, 0.3);
|
||||||
@@ -449,4 +353,8 @@ export default {
|
|||||||
transform: none;
|
transform: none;
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
}
|
}
|
||||||
|
::v-deep .el-form-item__label{
|
||||||
|
font-weight: bold !important;
|
||||||
|
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<div class="crumbs">
|
<div class="crumbs">
|
||||||
<el-breadcrumb separator="/">
|
<el-breadcrumb separator="/">
|
||||||
<el-breadcrumb-item>
|
<el-breadcrumb-item>
|
||||||
<i class="el-icon-collection"></i> <span class="top_dao"> Peer Review</span>
|
<i class="el-icon-collection"></i> <span class="top_dao"> Final Review</span>
|
||||||
</el-breadcrumb-item>
|
</el-breadcrumb-item>
|
||||||
</el-breadcrumb>
|
</el-breadcrumb>
|
||||||
</div>
|
</div>
|
||||||
@@ -25,21 +25,21 @@
|
|||||||
<ul class="ta1_uli ta1_ulicad">
|
<ul class="ta1_uli ta1_ulicad">
|
||||||
<li v-for="(item,index) in tableData1">
|
<li v-for="(item,index) in tableData1">
|
||||||
<!-- <h5>{{item.type}}</h5> -->
|
<!-- <h5>{{item.type}}</h5> -->
|
||||||
<router-link :to="{path:'/per_text',query:{Art_id:item.art_rev_id}}">
|
<router-link :to="{path:'/edit_per_text',query:{Art_id:item.id}}">
|
||||||
<h3><span
|
<h3><span
|
||||||
style="margin-right: 6px;color: #006699;">{{index+1}}.</span>{{item.article_title}}
|
style="margin-right: 6px;color: #006699;">{{index+1}}.</span>{{item.title }}
|
||||||
</h3>
|
</h3>
|
||||||
<el-button type="primary" plain style="float: right;">Review</el-button>
|
<el-button type="primary" plain style="float: right;">Final Review</el-button>
|
||||||
</router-link>
|
</router-link>
|
||||||
<h4>
|
<h4>
|
||||||
<span>
|
<span>
|
||||||
<font style="color: #006699;">Journal : </font>{{item.journal_title}}.
|
<font style="color: #006699;">Journal : </font>{{item.journal_name}}
|
||||||
</span>
|
</span>
|
||||||
<span>
|
<span>
|
||||||
<font style="color: #006699;">Type : </font>{{item.type}}
|
<font style="color: #006699;">Type : </font>{{item.article_type_name}}
|
||||||
</span>
|
</span>
|
||||||
<span style="color: #888;margin-left: 20px;color: #006699;">
|
<span style="color: #888;margin-left: 20px;color: #006699;">
|
||||||
{{item.ctime}}
|
{{item.agree_review_time}}
|
||||||
</span><br>
|
</span><br>
|
||||||
<!-- <span v-if="item.abstrart!=''" style="max-width: 1000px;">
|
<!-- <span v-if="item.abstrart!=''" style="max-width: 1000px;">
|
||||||
<font style="color: #888;">Abstrart : </font>{{item.abstrart | ellipsis}}
|
<font style="color: #888;">Abstrart : </font>{{item.abstrart | ellipsis}}
|
||||||
@@ -51,60 +51,8 @@
|
|||||||
</ul>
|
</ul>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
<!-- 复审 -->
|
|
||||||
|
|
||||||
|
|
||||||
<el-col :span="24" v-if="tableData2!=''">
|
|
||||||
<div style="background-color: #ccc;height: 2px;width: 100%;margin:20px 0 35px 0;"></div>
|
|
||||||
<!-- <el-card class="box-card"> -->
|
|
||||||
<div class="ma_title" style="margin-bottom: 5px;">
|
|
||||||
<h2>
|
|
||||||
<!-- <img src="../../assets/img/icon_1.png" alt="" class="icon_img"> -->
|
|
||||||
Invitation for review
|
|
||||||
</h2>
|
|
||||||
This list will show you the manuscript that the editor invited you to review. You can click on
|
|
||||||
the details to
|
|
||||||
check the content and then decide whether to review the manuscript. In addtion, you can also
|
|
||||||
refuse to review
|
|
||||||
the manuscript.
|
|
||||||
</div>
|
|
||||||
<ul class="ta1_uli ta1_ulicad">
|
|
||||||
<li v-for="(item,index) in tableData2">
|
|
||||||
<div>
|
|
||||||
<router-link :to="{path:'/per_text_yq',query:{Art_id:item.art_rev_id}}">
|
|
||||||
<h3><span
|
|
||||||
style="margin-right: 6px;color: #006699;">{{index+1}}.</span>{{item.title}}
|
|
||||||
</h3>
|
|
||||||
<el-button type="primary" plain style="float: right;">Detail</el-button>
|
|
||||||
</router-link>
|
|
||||||
</div>
|
|
||||||
<h4>
|
|
||||||
<span>
|
|
||||||
<font style="color: #006699;">Journal : </font>{{item.journal_title}}.
|
|
||||||
</span>
|
|
||||||
<span>
|
|
||||||
<font style="color: #006699;">Type : </font>{{item.type}}
|
|
||||||
</span>
|
|
||||||
<span style="color: #888;margin-left: 20px;color: #006699;">
|
|
||||||
{{item.ctime}}
|
|
||||||
</span><br>
|
|
||||||
<span v-if="item.abstrart!=''" style="max-width: 1000px;">
|
|
||||||
<font style="color: #006699;">Abstract : </font>{{item.abstrart | ellipsis}}
|
|
||||||
</span>
|
|
||||||
</h4>
|
|
||||||
|
|
||||||
<div style="margin-top: 10px;">
|
|
||||||
<el-button type="success" plain @click="wen_nowrw(item.art_rev_id)">Review</el-button>
|
|
||||||
<!-- <el-button type="success" plain @click="wen_agree(item.art_rev_id)" style="margin: 0 10px 0 20px;">Review
|
|
||||||
later</el-button> -->
|
|
||||||
<el-button type="danger" plain @click="wen_refuse(item.art_rev_id)">Reject to review
|
|
||||||
</el-button>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
<!-- </el-card> -->
|
|
||||||
</el-col>
|
|
||||||
|
|
||||||
<!-- <el-col :span="24">
|
<!-- <el-col :span="24">
|
||||||
<div style="background-color: #ccc;height: 2px;width: 100%;margin: 30px 0 5px 0;"></div>
|
<div style="background-color: #ccc;height: 2px;width: 100%;margin: 30px 0 5px 0;"></div>
|
||||||
</el-col>
|
</el-col>
|
||||||
@@ -164,7 +112,9 @@
|
|||||||
return {
|
return {
|
||||||
user_name: localStorage.getItem('U_relname'),
|
user_name: localStorage.getItem('U_relname'),
|
||||||
query: {
|
query: {
|
||||||
user_id: localStorage.getItem('U_id')
|
reviewer_id: localStorage.getItem('U_id'),
|
||||||
|
pageIndex: 1,
|
||||||
|
pageSize: 9999,
|
||||||
},
|
},
|
||||||
Art_id: this.$route.query.Art_id,
|
Art_id: this.$route.query.Art_id,
|
||||||
tableData1: [],
|
tableData1: [],
|
||||||
@@ -177,7 +127,7 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
TaBle3: {
|
TaBle3: {
|
||||||
user_id: localStorage.getItem('U_id'),
|
reviewer_id: localStorage.getItem('U_id'),
|
||||||
journal_id: 0,
|
journal_id: 0,
|
||||||
pageIndex: 1,
|
pageIndex: 1,
|
||||||
pageSize: 5
|
pageSize: 5
|
||||||
@@ -195,16 +145,16 @@
|
|||||||
// 获取数据
|
// 获取数据
|
||||||
getData() {
|
getData() {
|
||||||
this.$api
|
this.$api
|
||||||
.post('api/Reviewer/getReviewerListPending', this.query)
|
.post('api/Finalreview/lists', {...this.query,state:0})
|
||||||
.then(res => {
|
.then(res => {
|
||||||
if (res.code == 0) {
|
if (res.status == 1) {
|
||||||
for (let i = 0; i < res.data.lists.length; i++) {
|
for (let i = 0; i < res.data.lists.length; i++) {
|
||||||
let date = new Date(parseInt(res.data.lists[i].ctime) * 1000);
|
let date = new Date(parseInt(res.data.lists[i].agree_review_time) * 1000);
|
||||||
let Y = date.getFullYear() + '-';
|
let Y = date.getFullYear() + '-';
|
||||||
let M = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) + '-' : date
|
let M = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) + '-' : date
|
||||||
.getMonth() + 1 + '-';
|
.getMonth() + 1 + '-';
|
||||||
let D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
|
let D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
|
||||||
res.data.lists[i].ctime = Y + M + D;
|
res.data.lists[i].agree_review_time = Y + M + D;
|
||||||
}
|
}
|
||||||
this.tableData1 = res.data.lists;
|
this.tableData1 = res.data.lists;
|
||||||
this.revisionList = res.data.repeats
|
this.revisionList = res.data.repeats
|
||||||
@@ -216,66 +166,9 @@
|
|||||||
this.$message.error(err);
|
this.$message.error(err);
|
||||||
});
|
});
|
||||||
|
|
||||||
this.$api
|
|
||||||
.post('api/Reviewer/getInvitatReviewList', this.TaBle2)
|
|
||||||
.then(res => {
|
|
||||||
if (res.code == 0) {
|
|
||||||
if (res.data.articles != '') {
|
|
||||||
for (let i = 0; i < res.data.articles.length; i++) {
|
|
||||||
let date = new Date(parseInt(res.data.articles[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.articles[i].ctime = Y + M + D;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
this.tableData2 = res.data.articles;
|
|
||||||
} else {
|
|
||||||
this.$message.error(res.msg);
|
|
||||||
}
|
|
||||||
})
|
|
||||||
.catch(err => {
|
|
||||||
this.$message.error(err);
|
|
||||||
});
|
|
||||||
|
|
||||||
this.$api
|
|
||||||
.post('api/Reviewer/getAllReviewerList', this.TaBle3)
|
|
||||||
.then(res => {
|
|
||||||
if (res.code == 0) {
|
|
||||||
if (res.data.articles != '') {
|
|
||||||
for (let i = 0; i < res.data.articles.length; i++) {
|
|
||||||
let date = new Date(parseInt(res.data.articles[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.articles[i].ctime = Y + M + D;
|
|
||||||
|
|
||||||
if (res.data.articles[i].abstrart.length > 380) {
|
|
||||||
res.data.articles[i].isShowMore = true;
|
|
||||||
res.data.articles[i].isDescStatus = true;
|
|
||||||
res.data.articles[i].abstrart_ = JSON.parse(JSON.stringify(res.data.articles[i]
|
|
||||||
.abstrart)).slice(0, 380);
|
|
||||||
res.data.articles[i].abstrart_ = res.data.articles[i].abstrart_.slice(0, res
|
|
||||||
.data.articles[i].abstrart_.lastIndexOf(
|
|
||||||
" "));
|
|
||||||
} else {
|
|
||||||
res.data.articles[i].isShowMore = false;
|
|
||||||
res.data.articles[i].isDescStatus = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
this.tableData3 = res.data.articles;
|
|
||||||
this.link_Tota3 = res.data.count || 0;
|
|
||||||
} else {
|
|
||||||
this.$message.error(res.msg);
|
|
||||||
}
|
|
||||||
})
|
|
||||||
.catch(err => {
|
|
||||||
this.$message.error(err);
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
// 分页导航
|
// 分页导航
|
||||||
handlePageChange3(val) {
|
handlePageChange3(val) {
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<div class="crumbs">
|
<div class="crumbs">
|
||||||
<el-breadcrumb separator="/">
|
<el-breadcrumb separator="/">
|
||||||
<el-breadcrumb-item>
|
<el-breadcrumb-item>
|
||||||
<i class="el-icon-collection"></i> <span class="top_dao"> Review History</span>
|
<i class="el-icon-collection"></i> <span class="top_dao"> Final Review History</span>
|
||||||
</el-breadcrumb-item>
|
</el-breadcrumb-item>
|
||||||
</el-breadcrumb>
|
</el-breadcrumb>
|
||||||
</div>
|
</div>
|
||||||
<div class="container_l">
|
<div class="container_l">
|
||||||
<!-- <div v-for="item in dynamicTags"
|
<!-- <div v-for="item in dynamicTags"
|
||||||
style="background-color: #f0f9eb;border-radius: 5px;border:1px solid #e1f3d8;color: #67c23a;font-size: 14px;padding: 8px 15px;margin: 0 0 20px 0;">
|
style="background-color: #f0f9eb;border-radius: 5px;border:1px solid #e1f3d8;color: #67c23a;font-size: 14px;padding: 8px 15px;margin: 0 0 20px 0;">
|
||||||
<el-button type="success" icon="el-icon-close" circle @click='handleClose'
|
<el-button type="success" icon="el-icon-close" circle @click='handleClose'
|
||||||
style="float: right;margin: 17px 5px 0 0;"></el-button>
|
style="float: right;margin: 17px 5px 0 0;"></el-button>
|
||||||
@@ -16,238 +16,363 @@
|
|||||||
<p style="margin: 5px 0;">{{item.title}}</p>
|
<p style="margin: 5px 0;">{{item.title}}</p>
|
||||||
<p>{{item.content}}</p>
|
<p>{{item.content}}</p>
|
||||||
</div> -->
|
</div> -->
|
||||||
<el-row :gutter="20">
|
<el-row :gutter="20">
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<el-card class="box-card" v-loading="loading" element-loading-text="Loading..."
|
<el-card
|
||||||
element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 0, 0, 0.8)">
|
class="box-card"
|
||||||
<el-table :data="tableData3" border class="table" ref="multipleTable"
|
v-loading="loading"
|
||||||
header-cell-class-name="table-header" empty-text="New messages (0)">
|
element-loading-text="Loading..."
|
||||||
<el-table-column prop="article_title" label="Article Title"></el-table-column>
|
element-loading-spinner="el-icon-loading"
|
||||||
<el-table-column prop="journal_title" label="Journal"></el-table-column>
|
element-loading-background="rgba(0, 0, 0, 0.8)"
|
||||||
<el-table-column prop="ctime" label="Reviewed time" width="140"></el-table-column>
|
>
|
||||||
<el-table-column label="Article Status" width="130" align="center">
|
<el-table
|
||||||
<template slot-scope="scope">
|
:data="tableData3"
|
||||||
<b v-if="scope.row.astate == 0">Received</b>
|
border
|
||||||
<b v-if="scope.row.astate == 1">With editor</b>
|
class="table"
|
||||||
<b v-if="scope.row.astate == 2">Under review</b>
|
ref="multipleTable"
|
||||||
<b v-if="scope.row.astate == 3">Reject</b>
|
header-cell-class-name="table-header"
|
||||||
<b v-if="scope.row.astate == 4">Revision</b>
|
empty-text="New messages (0)"
|
||||||
<b v-if="scope.row.astate == 5">Accept</b>
|
>
|
||||||
<b v-if="scope.row.astate == 6">Pre-accept</b>
|
<el-table-column prop="title" label="Article Title"></el-table-column>
|
||||||
</template>
|
<el-table-column prop="journal_name" label="Journal"></el-table-column>
|
||||||
</el-table-column>
|
<el-table-column prop="ctime" label="Final Reviewed Time" width="180"></el-table-column>
|
||||||
<el-table-column label="State" align="center" width="120">
|
<el-table-column label="Article Status" width="160" align="center">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<span style="font-size: 16px;"v-html="revstate(scope.row)"></span>
|
<b v-if="scope.row.article_state == 0">Received</b>
|
||||||
|
<b v-if="scope.row.article_state == 1">With editor</b>
|
||||||
|
<b v-if="scope.row.article_state == 2">Under review</b>
|
||||||
|
<b v-if="scope.row.article_state == 3">Reject</b>
|
||||||
|
<b v-if="scope.row.article_state == 4">Revision</b>
|
||||||
|
<b v-if="scope.row.article_state == 5">Accept</b>
|
||||||
|
<b v-if="scope.row.article_state == 8">Final Review</b>
|
||||||
|
|
||||||
|
<b v-if="scope.row.astate == 6">Pre-accept</b>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="State" align="center" width="210">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span style="font-size: 16px" v-html="revstate(scope.row)"></span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
</template>
|
<el-table-column label=" " width="230">
|
||||||
</el-table-column>
|
<template slot-scope="scope">
|
||||||
<el-table-column label="Recommendation" width="160" align="center">
|
<el-button @click="showDetail(scope.$index, scope.row)"
|
||||||
<template slot-scope="scope">
|
v-if="scope.row.state == 1 || scope.row.state == 3 || scope.row.state == 2"
|
||||||
<b v-if="scope.row.recommend == 1||scope.row.recommend == 2">Accept</b>
|
type="primary"
|
||||||
<b v-if="scope.row.recommend == 3||scope.row.recommend == 4">Reject</b>
|
plain
|
||||||
</template>
|
style="margin-right: 10px"
|
||||||
</el-table-column>
|
><i class="el-icon-tickets"></i> Detail
|
||||||
<el-table-column label=" " width="230">
|
</el-button>
|
||||||
<template slot-scope="scope">
|
|
||||||
<router-link
|
|
||||||
:to="{path:'/perhistory_commen',query:{Art_id:scope.row.article_id,Rev_id:scope.row.art_rev_id}}"
|
|
||||||
v-if="(scope.row.astate==3||scope.row.astate==5)&&(scope.row.journal_id==1||scope.row.journal_id==9||scope.row.article_id>1598)">
|
|
||||||
<el-button type="primary" plain style="margin-right: 10px;">All Comments
|
|
||||||
</el-button>
|
|
||||||
</router-link>
|
|
||||||
<el-button type="warning" plain @click="cerFicte(scope.$index, scope.row)"
|
|
||||||
v-if="scope.row.state==1||scope.row.state==2||scope.row.state==3">Certificate
|
|
||||||
</el-button>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
</el-table>
|
|
||||||
<div class="pagination">
|
|
||||||
<el-pagination layout="total, prev, pager, next" :current-page="TaBle3.pageIndex"
|
|
||||||
:page-size="TaBle3.pageSize" :total="link_Tota3" @current-change="handlePageChange3">
|
|
||||||
</el-pagination>
|
|
||||||
</div>
|
|
||||||
</el-card>
|
|
||||||
|
|
||||||
<!-- 证书弹出框 -->
|
<el-button
|
||||||
<el-dialog :visible.sync="cerVisible" width="600px">
|
type="success"
|
||||||
<el-image class="table-td-thumb rev_digol" :src="this.IMG_Url"></el-image>
|
size="mini"
|
||||||
</el-dialog>
|
@click="saveNow(scope.$index, scope.row)"
|
||||||
|
v-if="scope.row.state == 5"
|
||||||
|
>Final Review Now
|
||||||
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
type="danger"
|
||||||
|
size="mini"
|
||||||
|
@click="saveRef(scope.$index, scope.row)"
|
||||||
|
v-if="scope.row.state == 5"
|
||||||
|
>Reject
|
||||||
|
</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<div class="pagination">
|
||||||
|
<el-pagination
|
||||||
|
layout="total, prev, pager, next"
|
||||||
|
:current-page="TaBle3.pageIndex"
|
||||||
|
:page-size="TaBle3.pageSize"
|
||||||
|
:total="link_Tota3"
|
||||||
|
@current-change="handlePageChange3"
|
||||||
|
>
|
||||||
|
</el-pagination>
|
||||||
|
</div>
|
||||||
|
</el-card>
|
||||||
|
|
||||||
<el-dialog :visible.sync="feilVisible" width="600px">
|
<!-- 证书弹出框 -->
|
||||||
<h2 style="text-align: center;">No certificate</h2>
|
<el-dialog :visible.sync="cerVisible" width="600px">
|
||||||
<span slot="footer" class="dialog-footer">
|
<el-image class="table-td-thumb rev_digol" :src="this.IMG_Url"></el-image>
|
||||||
<el-button type="primary" @click="feilVisible=false">OK</el-button>
|
</el-dialog>
|
||||||
</span>
|
|
||||||
</el-dialog>
|
|
||||||
|
|
||||||
</el-col>
|
<el-dialog :visible.sync="feilVisible" width="600px">
|
||||||
</el-row>
|
<h2 style="text-align: center">No certificate</h2>
|
||||||
</div>
|
<span slot="footer" class="dialog-footer">
|
||||||
</div>
|
<el-button type="primary" @click="feilVisible = false">OK</el-button>
|
||||||
|
</span>
|
||||||
|
</el-dialog>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<el-dialog destroy-on-close title="Final Reviewe Detail" :visible.sync="editVisible1" width="1200px">
|
||||||
|
|
||||||
|
<common-editor-article
|
||||||
|
type="questionform"
|
||||||
|
ref="commonEditor"
|
||||||
|
pagetype="Editor"
|
||||||
|
:form="detailDate.article_final"
|
||||||
|
:txt_mess="{}"
|
||||||
|
:btn_submit="1"
|
||||||
|
:articleId="articleId"
|
||||||
|
:journal_id="journal_id"
|
||||||
|
></common-editor-article>
|
||||||
|
<span slot="footer" class="dialog-footer">
|
||||||
|
<el-button @click="editVisible1 = false">Cancel</el-button>
|
||||||
|
</span>
|
||||||
|
</el-dialog>
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
loading: false,
|
detailDate: {},
|
||||||
query: {
|
editVisible1: false,
|
||||||
user_id: localStorage.getItem('U_id')
|
loading: false,
|
||||||
},
|
query: {
|
||||||
tableData3: [],
|
reviewer_id: localStorage.getItem('U_id'),
|
||||||
TaBle3: {
|
page: 1,
|
||||||
user_id: localStorage.getItem('U_id'),
|
size: 10
|
||||||
pageIndex: 1,
|
},
|
||||||
pageSize: 10
|
tableData3: [],
|
||||||
},
|
TaBle3: {
|
||||||
link_Tota3: 0,
|
user_id: localStorage.getItem('U_id'),
|
||||||
IMG_Url: '',
|
pageIndex: 1,
|
||||||
cerVisible: false,
|
pageSize: 10
|
||||||
feilVisible: false,
|
},
|
||||||
dynamicTags: [{
|
link_Tota3: 0,
|
||||||
label: 'Submission System 2.0',
|
IMG_Url: '',
|
||||||
title: 'Update Notifications',
|
cerVisible: false,
|
||||||
content: "The reviewers can check all reviewers ' comments when the manuscripts get final decision."
|
feilVisible: false,
|
||||||
}],
|
dynamicTags: [
|
||||||
};
|
{
|
||||||
},
|
label: 'Submission System 2.0',
|
||||||
mounted() {
|
title: 'Update Notifications',
|
||||||
|
content: "The reviewers can check all reviewers ' comments when the manuscripts get final review."
|
||||||
|
}
|
||||||
|
]
|
||||||
|
};
|
||||||
|
},
|
||||||
|
mounted() {},
|
||||||
|
created() {
|
||||||
|
this.loading = true;
|
||||||
|
this.getTable();
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
showDetail(i,data){
|
||||||
|
this.getDate(data.id)
|
||||||
|
},
|
||||||
|
// 同意
|
||||||
|
saveNow(i, data) {
|
||||||
|
// 二次确认
|
||||||
|
this.$confirm('Are you sure you want to agree?', 'Tips', {
|
||||||
|
type: 'warning'
|
||||||
|
})
|
||||||
|
.then(() => {
|
||||||
|
this.$api
|
||||||
|
.post('api/Finalreview/review', {
|
||||||
|
article_id: data.article_id,
|
||||||
|
record_id: data.id,
|
||||||
|
reviewer_id: localStorage.getItem('U_id'),
|
||||||
|
state: 0
|
||||||
|
})
|
||||||
|
.then((res) => {
|
||||||
|
if (res.status == 1) {
|
||||||
|
this.$message.success('Review now successfully!');
|
||||||
|
this.$router.push('/edit_per_text?Art_id=' + data.id);
|
||||||
|
} else {
|
||||||
|
this.$message.error(res.msg);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
this.$message.error(err);
|
||||||
|
});
|
||||||
|
})
|
||||||
|
.catch(() => {});
|
||||||
|
},
|
||||||
|
|
||||||
},
|
// 拒绝
|
||||||
created() {
|
saveRef(i, data) {
|
||||||
this.loading = true;
|
// 二次确认
|
||||||
this.getTable();
|
this.$confirm('Are you sure you want to refuse?', 'Tips', {
|
||||||
},
|
type: 'warning'
|
||||||
methods: {
|
})
|
||||||
revstate(row, column, cellValue, index) {
|
.then(() => {
|
||||||
|
this.$api
|
||||||
|
.post('api/Finalreview/review', {
|
||||||
|
article_id: data.article_id,
|
||||||
|
record_id: data.id,
|
||||||
|
reviewer_id: localStorage.getItem('U_id'),
|
||||||
|
state: 4
|
||||||
|
})
|
||||||
|
.then((res) => {
|
||||||
|
if (res.status == 1) {
|
||||||
|
this.loading = true;
|
||||||
|
this.getTable();
|
||||||
|
// this.$router.push('/edit_per_text?Art_id=' + this.record_id);
|
||||||
|
} else {
|
||||||
|
this.$message.error(res.msg);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
this.$message.error(err);
|
||||||
|
});
|
||||||
|
})
|
||||||
|
.catch(() => {});
|
||||||
|
},
|
||||||
|
revstate(row, column, cellValue, index) {
|
||||||
let frag = '';
|
let frag = '';
|
||||||
if (row.state == 0) {
|
if (row.state == 0) {
|
||||||
frag = 'With reviewer';
|
frag = 'Agree to review';
|
||||||
} else if (row.state == 1) {
|
} else if (row.state == 1) {
|
||||||
// 大修
|
// 大修
|
||||||
frag = 'Major revision';
|
frag = 'Accept';
|
||||||
|
|
||||||
// frag = 'Revision';
|
// frag = 'Revision';
|
||||||
} else if (row.state == 2) {
|
|
||||||
frag = 'Reject';
|
|
||||||
} else if (row.state == 3) {
|
} else if (row.state == 3) {
|
||||||
|
frag = 'Revision';
|
||||||
|
} else if (row.state == 2) {
|
||||||
//小修
|
//小修
|
||||||
// frag = 'Accept';
|
// frag = 'Accept';
|
||||||
frag = 'Minor revision';
|
frag = 'Reject';
|
||||||
} else if (row.state == 4) {
|
} else if (row.state == 4) {
|
||||||
frag = '<text style="color:#aaa">invalid</text>';
|
frag = '<text style="color:#888">invalid</text>';
|
||||||
} else if (row.state == 5) {
|
} else if (row.state == 5) {
|
||||||
frag = 'invitation';
|
frag = 'invitation';
|
||||||
}
|
}
|
||||||
|
|
||||||
return frag;
|
return frag;
|
||||||
},
|
},
|
||||||
// 获取数据
|
getDate(record_id) {
|
||||||
getTable() {
|
const loading = this.$loading({
|
||||||
this.$api
|
lock: true,
|
||||||
.post('api/Reviewer/getReviewerDetail1', this.query)
|
text: 'Loading',
|
||||||
.then(res => {
|
spinner: 'el-icon-loading',
|
||||||
if (res.code == 0) {
|
background: 'rgba(0, 0, 0, 0.7)',
|
||||||
this.getData();
|
zIndex: 9999 // 设置一个足够高的层级
|
||||||
} else {
|
});
|
||||||
this.$message.error(res.msg);
|
this.$api
|
||||||
}
|
.post('api/Finalreview/view', {
|
||||||
})
|
record_id: record_id
|
||||||
.catch(err => {
|
|
||||||
this.$message.error(err);
|
|
||||||
});
|
|
||||||
},
|
|
||||||
|
|
||||||
getData() {
|
})
|
||||||
this.$api
|
.then((res) => {
|
||||||
.post('api/Reviewer/getReviewerListHistory', this.TaBle3)
|
loading.close();
|
||||||
.then(res => {
|
this.detailDate.artrevid = res.art_rev_id;
|
||||||
this.loading = false
|
this.detailDate.article = res.data.article.title;
|
||||||
if (res.code == 0) {
|
this.detailDate.reviewer = res.data.article_final.realname;
|
||||||
if (res.data.lists != '') {
|
this.detailDate.ctime = res.data.article_final.update_time;
|
||||||
for (let i = 0; i < res.data.lists.length; i++) {
|
this.detailDate.article_final = res.data.article_final;
|
||||||
if (res.data.lists[i].recommenttime == null) {
|
this.detailDate.state = res.state;
|
||||||
res.data.lists[i].ctime = ''
|
|
||||||
} else {
|
|
||||||
let date = new Date(parseInt(res.data.lists[i].recommenttime) * 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.lists[i].ctime = Y + M + D;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
this.tableData3 = res.data.lists;
|
|
||||||
this.link_Tota3 = res.data.count || 0;
|
|
||||||
} else {
|
|
||||||
this.$message.error(res.msg);
|
|
||||||
}
|
|
||||||
})
|
|
||||||
.catch(err => {
|
|
||||||
this.loading = false
|
|
||||||
this.$message.error(err);
|
|
||||||
});
|
|
||||||
},
|
|
||||||
|
|
||||||
// 分页导航
|
this.txt_mess = res;
|
||||||
handlePageChange3(val) {
|
this.canRepeat = res.can_repeat;
|
||||||
this.loading = true;
|
this.journal_id = res.journal_id;
|
||||||
this.$set(this.TaBle3, 'pageIndex', val);
|
this.articleId = res.data.article.article_id;
|
||||||
this.getData();
|
this.editVisible1 = true;
|
||||||
},
|
|
||||||
|
|
||||||
// 证书弹出层
|
this.$nextTick(() => {
|
||||||
cerFicte(index, row) {
|
this.$refs.commonEditor.getData();
|
||||||
this.$api
|
|
||||||
.post('api/Reviewer/getZSimg', {
|
|
||||||
'art_rev_id': row.art_rev_id
|
|
||||||
})
|
|
||||||
.then(res => {
|
|
||||||
if (res.code == 0) {
|
|
||||||
this.IMG_Url = this.Common.mediaUrl + res.data.icon
|
|
||||||
this.cerVisible = true;
|
|
||||||
} else {
|
|
||||||
this.$message.error(res.msg);
|
|
||||||
this.feilVisible = true;
|
|
||||||
}
|
|
||||||
})
|
|
||||||
.catch(err => {
|
|
||||||
this.$message.error(err);
|
|
||||||
});
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
// 关闭标签
|
});
|
||||||
handleClose(tag) {
|
|
||||||
// this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1);
|
|
||||||
this.dynamicTags = []
|
|
||||||
},
|
|
||||||
},
|
|
||||||
filters: {
|
|
||||||
|
|
||||||
},
|
this.$forceUpdate();
|
||||||
watch: {
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.log(err);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 获取数据
|
||||||
|
getTable() {
|
||||||
|
this.$api
|
||||||
|
.post('api/Finalreview/lists', this.query)
|
||||||
|
.then((res) => {
|
||||||
|
if (res.status == 1) {
|
||||||
|
this.loading = false;
|
||||||
|
|
||||||
}
|
if (res.data.lists != '') {
|
||||||
};
|
for (let i = 0; i < res.data.lists.length; i++) {
|
||||||
|
if (res.data.lists[i].update_time == null) {
|
||||||
|
res.data.lists[i].ctime = '';
|
||||||
|
} else {
|
||||||
|
let date = new Date(parseInt(res.data.lists[i].update_time) * 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.lists[i].ctime = Y + M + D;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.tableData3 = res.data.lists;
|
||||||
|
this.link_Tota3 = res.data.total || 0;
|
||||||
|
} else {
|
||||||
|
this.loading = false;
|
||||||
|
this.$message.error(res.msg);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
this.loading = false;
|
||||||
|
this.$message.error(err);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
// 分页导航
|
||||||
|
handlePageChange3(val) {
|
||||||
|
this.loading = true;
|
||||||
|
this.$set(this.TaBle3, 'pageIndex', val);
|
||||||
|
this.getData();
|
||||||
|
},
|
||||||
|
|
||||||
|
// 证书弹出层
|
||||||
|
cerFicte(index, row) {
|
||||||
|
this.$api
|
||||||
|
.post('api/Reviewer/getZSimg', {
|
||||||
|
art_rev_id: row.art_rev_id
|
||||||
|
})
|
||||||
|
.then((res) => {
|
||||||
|
if (res.code == 0) {
|
||||||
|
this.IMG_Url = this.Common.mediaUrl + res.data.icon;
|
||||||
|
this.cerVisible = true;
|
||||||
|
} else {
|
||||||
|
this.$message.error(res.msg);
|
||||||
|
this.feilVisible = true;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
this.$message.error(err);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
// 关闭标签
|
||||||
|
handleClose(tag) {
|
||||||
|
// this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1);
|
||||||
|
this.dynamicTags = [];
|
||||||
|
}
|
||||||
|
},
|
||||||
|
filters: {},
|
||||||
|
watch: {}
|
||||||
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
.table {
|
.table {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.rev_digol .el-image__placeholder {
|
.rev_digol .el-image__placeholder {
|
||||||
background-image: url(../../assets/img/loading.gif);
|
background-image: url(../../assets/img/loading.gif);
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
background-position: center center;
|
background-position: center center;
|
||||||
background-size: 440px 300px;
|
background-size: 440px 300px;
|
||||||
width: 560px;
|
width: 560px;
|
||||||
height: 400px;
|
height: 400px;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -4,10 +4,10 @@
|
|||||||
<el-breadcrumb separator="/">
|
<el-breadcrumb separator="/">
|
||||||
<el-breadcrumb-item>
|
<el-breadcrumb-item>
|
||||||
<i class="el-icon-collection"></i>
|
<i class="el-icon-collection"></i>
|
||||||
<router-link :to="{ path: '/peerewer' }">
|
<router-link :to="{ path: '/editPeerewer' }">
|
||||||
<span class="top_dao"> Final Decision Article</span>
|
<span class="top_dao"> Final Review Article</span>
|
||||||
</router-link>
|
</router-link>
|
||||||
>> Final Decision Article Detail
|
>> Final Review Article Detail
|
||||||
</el-breadcrumb-item>
|
</el-breadcrumb-item>
|
||||||
</el-breadcrumb>
|
</el-breadcrumb>
|
||||||
</div>
|
</div>
|
||||||
@@ -33,7 +33,8 @@
|
|||||||
Manuscript ID: {{ txt_mess.accept_sn }}
|
Manuscript ID: {{ txt_mess.accept_sn }}
|
||||||
</h5>
|
</h5>
|
||||||
<p style="display: inline-block; margin: 0 35px"><b>Type :</b> {{ txt_mess.atype }}</p>
|
<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>
|
<p style="display: inline-block"><b>Submitted time :</b> {{ txt_mess.ctime?txt_mess.ctime.split(' ')[0]:'' }}</p>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<p><b>Abstract :</b> <br />{{ txt_mess.abstrart }}</p>
|
<p><b>Abstract :</b> <br />{{ txt_mess.abstrart }}</p>
|
||||||
<div class="file_sty" v-for="item in fileList" style="margin-top: 15px">
|
<div class="file_sty" v-for="item in fileList" style="margin-top: 15px">
|
||||||
@@ -82,6 +83,69 @@ If you're still having trouble with Chrome, you could use other browsers to comp
|
|||||||
|
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
<el-collapse v-model="activeNames" accordion v-if="conmentList.length > 0" style="margin-top: 10px;">
|
||||||
|
|
||||||
|
<el-collapse-item name="1">
|
||||||
|
<template slot="title">
|
||||||
|
<div class="review_title">
|
||||||
|
|
||||||
|
<b>Peer-review Archive</b>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</template>
|
||||||
|
<div v-for="(item, index) in conmentList" class="comment_item">
|
||||||
|
<p style="margin-top: 4px;margin-bottom: 4px;font-weight: bold;"><span style="color:#006699;font-size: 16px !important;">Comment {{ index+1 }}</span>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</p>
|
||||||
|
<p><span class="comment_item_recommend_title">Reviewer : </span>
|
||||||
|
|
||||||
|
<b v-if="item.reviewer_id == User_Id">{{ item.realname }}</b>
|
||||||
|
<b v-if="item.reviewer_id != User_Id">XXXXXXXXXX</b>
|
||||||
|
|
||||||
|
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
|
||||||
|
<span class="comment_item_recommend_title"
|
||||||
|
>Recommendation : </span>
|
||||||
|
|
||||||
|
<span class="comment_item_recommend"><b v-if="item.question.recommend == 1">Minor revision</b>
|
||||||
|
<b v-if="item.question.recommend == 2">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</b></span>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
|
||||||
|
<span class="comment_item_recommend_title"
|
||||||
|
>Score : </span>
|
||||||
|
|
||||||
|
<span>{{item.question.score}}</span>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<span class="comment_item_recommend_title">Reviewed Time : </span>
|
||||||
|
<span class="">{{ item.ctime?item.ctime.split(' ')[0]:'' }}</span>
|
||||||
|
|
||||||
|
<el-button type="primary" v-if="item.question&&item.question.art_rev_id" size="mini" @click="ques_visible(item.question)"
|
||||||
|
|
||||||
|
style="padding: 4px 10px;margin-left: 20px;">Referee's Assessment</el-button>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</el-collapse-item>
|
||||||
|
|
||||||
|
</el-collapse>
|
||||||
<!-- <p class="morSou" v-if="!morShow" @click="morShow=true">
|
<!-- <p class="morSou" v-if="!morShow" @click="morShow=true">
|
||||||
<i class="el-icon-bottom"></i>
|
<i class="el-icon-bottom"></i>
|
||||||
More article information
|
More article information
|
||||||
@@ -95,272 +159,37 @@ If you're still having trouble with Chrome, you could use other browsers to comp
|
|||||||
|
|
||||||
<el-card class="box-card" v-if="this.add_apply == 1">
|
<el-card class="box-card" v-if="this.add_apply == 1">
|
||||||
Thank you for your time and consideration on the manuscript. We are sorry that this manuscript has went through peer
|
Thank you for your time and consideration on the manuscript. We are sorry that this manuscript has went through peer
|
||||||
review and the final decision has been obtained according to the timetable. Accordingly, your review process has
|
review and the final review has been obtained according to the timetable. Accordingly, your review process has
|
||||||
been discontinued. Your comments do not need to be submitted now. We would like to express our sincere gratitude for
|
been discontinued. Your comments do not need to be submitted now. We would like to express our sincere gratitude for
|
||||||
your contributions as well.
|
your contributions as well.
|
||||||
</el-card>
|
</el-card>
|
||||||
|
|
||||||
<el-card class="box-card" v-if="this.add_apply == 0">
|
|
||||||
|
<el-card class="box-card" v-if="this.add_apply == 0&&questionform.article_id">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- 审稿人表单修改 -->
|
<!-- 审稿人表单修改 -->
|
||||||
<!-- Accept(录用)、Revision(退修)、Reject(退稿) -->
|
<!-- Accept(录用)、Revision(退修)、Reject(退稿) -->
|
||||||
<common-editor-article @refresh="getData" type="questionform" :form="questionform" :txt_mess="txt_mess" :btn_submit="btn_submit" :articleId="articleId" :journal_id="journal_id"></common-editor-article>
|
<common-editor-article @refresh="getData" type="questionform" :form="questionform" :txt_mess="txt_mess" :btn_submit="btn_submit" :articleId="articleId" :journal_id="journal_id"></common-editor-article>
|
||||||
<!-- <el-form :model="questionform" :rules="rules" ref="question" label-width="300px" label-position="top">
|
</el-card>
|
||||||
<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">Minor revision</el-radio>
|
|
||||||
<br />
|
|
||||||
<el-radio :label="2">Major revision</el-radio>
|
|
||||||
<br />
|
|
||||||
|
|
||||||
<div v-if="journal_id == 1 || journal_id == 23 || journal_id == 10">
|
|
||||||
<el-radio :label="3">Reject in current form, but may be resubmitted</el-radio>
|
|
||||||
<br />
|
|
||||||
<el-radio :label="4">Reject</el-radio>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div v-else>
|
|
||||||
<el-radio :label="4">Reject</el-radio>
|
|
||||||
</div>
|
|
||||||
</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="" v-if="articleId">
|
|
||||||
<common-word-html :articleId="articleId" style="box-sizing: border-box"
|
|
||||||
></common-word-html>
|
|
||||||
</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-card>
|
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- 证书弹出框 -->
|
||||||
|
<el-dialog :visible.sync="questionVisible" width="1000px">
|
||||||
|
<!-- 审稿人表单修改 -->
|
||||||
|
<!-- 不显示给编辑的话 -->
|
||||||
|
<common-review-article
|
||||||
|
:form="questionform1"
|
||||||
|
type="questionform"
|
||||||
|
:txt_mess="txt_mess"
|
||||||
|
:confident="false"
|
||||||
|
:btn_submit="1"
|
||||||
|
:articleId="articleId"
|
||||||
|
:journal_id="journal_id"
|
||||||
|
></common-review-article>
|
||||||
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -369,6 +198,10 @@ import pdf from 'vue-pdf';
|
|||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
activeNames:['1'],
|
||||||
|
questionVisible: false,
|
||||||
|
User_Id: localStorage.getItem('U_id'),
|
||||||
|
|
||||||
loading: false,
|
loading: false,
|
||||||
articleId: null,
|
articleId: null,
|
||||||
Direct_log: this.$route.query.act,
|
Direct_log: this.$route.query.act,
|
||||||
@@ -376,6 +209,7 @@ export default {
|
|||||||
// morShow: false,
|
// morShow: false,
|
||||||
txt_mess: {},
|
txt_mess: {},
|
||||||
fileList: [],
|
fileList: [],
|
||||||
|
conmentList: [],
|
||||||
picList: [],
|
picList: [],
|
||||||
SMList: [], //补充材料
|
SMList: [], //补充材料
|
||||||
mediaUrl: this.Common.mediaUrl,
|
mediaUrl: this.Common.mediaUrl,
|
||||||
@@ -385,42 +219,14 @@ export default {
|
|||||||
content: ''
|
content: ''
|
||||||
},
|
},
|
||||||
head_line: '',
|
head_line: '',
|
||||||
|
questionform1:{},
|
||||||
questionform: {
|
questionform: {
|
||||||
rev_qu_id: '',
|
article_id: '',
|
||||||
|
reviewer_id: '',
|
||||||
|
|
||||||
art_rev_id: this.$route.query.Art_id,
|
art_rev_id: this.$route.query.Art_id,
|
||||||
qu1: '',
|
record_id: this.$route.query.Art_id,
|
||||||
qu2: '',
|
|
||||||
qu3: '',
|
|
||||||
qu4: '',
|
|
||||||
qu5: '',
|
|
||||||
qu5contents: '',
|
|
||||||
qu6: '',
|
|
||||||
qu6contents: '',
|
|
||||||
qu7: '',
|
|
||||||
qu7contents: '',
|
|
||||||
qu8: '',
|
|
||||||
qu8contents: '',
|
|
||||||
qu9: '',
|
|
||||||
qu9contents: '',
|
|
||||||
qu10: '',
|
|
||||||
qu10contents: '',
|
|
||||||
qu11: '',
|
|
||||||
qu11contents: '',
|
|
||||||
qu12: '',
|
|
||||||
qu12contents: '',
|
|
||||||
qu13: '',
|
|
||||||
qu13contents: '',
|
|
||||||
qu14: '',
|
|
||||||
qu14contents: '',
|
|
||||||
qu15: '',
|
|
||||||
qu15contents: '',
|
|
||||||
rated: '',
|
|
||||||
recommend: '',
|
|
||||||
other: '',
|
|
||||||
confident: '',
|
|
||||||
comment: '',
|
|
||||||
is_anonymous: '',
|
|
||||||
type: '',
|
|
||||||
},
|
},
|
||||||
add_apply: 0,
|
add_apply: 0,
|
||||||
btn_submit: 0,
|
btn_submit: 0,
|
||||||
@@ -459,65 +265,72 @@ export default {
|
|||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
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
|
this.getData();
|
||||||
.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: {
|
methods: {
|
||||||
|
//初始化问卷
|
||||||
|
ques_visible(e) {
|
||||||
|
this.questionVisible = true;
|
||||||
|
this.questionform1.rev_qu_id = e.rev_qu_id;
|
||||||
|
this.questionform1.art_rev_id = e.art_rev_id;
|
||||||
|
this.questionform1.qu1 = e.qu1;
|
||||||
|
this.questionform1.qu2 = e.qu2;
|
||||||
|
this.questionform1.qu3 = e.qu3;
|
||||||
|
this.questionform1.qu4 = e.qu4;
|
||||||
|
this.questionform1.qu5 = e.qu5;
|
||||||
|
this.questionform1.qu6 = e.qu6;
|
||||||
|
this.questionform1.qu7 = e.qu7;
|
||||||
|
this.questionform1.qu8 = e.qu8;
|
||||||
|
this.questionform1.qu9 = e.qu9 == 0 ? false : true;
|
||||||
|
this.questionform1.qu9contents = e.qu9_contents;
|
||||||
|
this.questionform1.qu10 = e.qu10 == 0 ? false : true;
|
||||||
|
this.questionform1.qu10contents = e.qu10_contents;
|
||||||
|
this.questionform1.qu11 = e.qu11 == 0 ? false : true;
|
||||||
|
this.questionform1.qu11contents = e.qu11_contents;
|
||||||
|
this.questionform1.qu12 = e.qu12 == 0 ? false : true;
|
||||||
|
this.questionform1.qu12contents = e.qu12_contents;
|
||||||
|
this.questionform1.qu13 = e.qu13 == 0 ? false : true;
|
||||||
|
this.questionform1.qu13contents = e.qu13_contents;
|
||||||
|
this.questionform1.qu14 = e.qu14 == 0 ? false : true;
|
||||||
|
this.questionform1.qu14contents = e.qu14_contents;
|
||||||
|
this.questionform1.qu15 = e.qu15 == 0 ? false : true;
|
||||||
|
this.questionform1.qu15contents = e.qu15_contents;
|
||||||
|
this.questionform1.rated = e.rated;
|
||||||
|
this.questionform1.recommend = e.recommend;
|
||||||
|
this.questionform1.other = e.other;
|
||||||
|
this.questionform1.confident = e.confidential;
|
||||||
|
this.questionform1.comment = e.comments;
|
||||||
|
this.questionform1.is_anonymous = e.is_anonymous;
|
||||||
|
this.questionform1.type = e.type;
|
||||||
|
this.questionform1.score = e.score;
|
||||||
|
},
|
||||||
getData() {
|
getData() {
|
||||||
// 获取文章信息
|
// 获取文章信息
|
||||||
this.$api
|
this.$api
|
||||||
.post('api/Reviewer/getartrevdate', {
|
.post('api/Finalreview/view', {
|
||||||
revid: this.Art_id,
|
record_id: this.Art_id,
|
||||||
human: 'reviewer'
|
|
||||||
|
'reviewer_id': localStorage.getItem('U_id'),
|
||||||
})
|
})
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
this.articleId=res.article_id
|
this.articleId=res.data.article.article_id
|
||||||
if (res.state != 0) {
|
|
||||||
|
this.questionform ={...this.questionform,...res.data.article_final}
|
||||||
|
console.log('this.questionform at line 224:', this.questionform)
|
||||||
|
if (res.data.article_final.state != 0) {
|
||||||
this.btn_submit = 1;
|
this.btn_submit = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
let date = new Date(parseInt(res.ctime) * 1000);
|
this.txt_mess = res.data.article;
|
||||||
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;
|
|
||||||
this.journal_id = res.journal_id;
|
this.journal_id = res.journal_id;
|
||||||
console.log('journal_id', this.journal_id);
|
this.conmentList = res.data.article_review;
|
||||||
|
|
||||||
|
// console.log('journal_id', this.journal_id);
|
||||||
|
|
||||||
// 文章状态
|
// 文章状态
|
||||||
if (res.astate == 2) {
|
if (res.data.article_final.state == 0) {
|
||||||
this.add_apply = 0;
|
this.add_apply = 0;
|
||||||
} else {
|
} else {
|
||||||
this.add_apply = 1;
|
this.add_apply = 1;
|
||||||
@@ -528,8 +341,8 @@ export default {
|
|||||||
});
|
});
|
||||||
|
|
||||||
this.$api
|
this.$api
|
||||||
.post('api/Reviewer/getAFilelistByID ', {
|
.post('api/Finalreview/getArticleFile ', {
|
||||||
revid: this.Art_id
|
record_id: this.Art_id
|
||||||
})
|
})
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
for (var i = 0; i < res.data.length; i++) {
|
for (var i = 0; i < res.data.length; i++) {
|
||||||
@@ -539,7 +352,9 @@ export default {
|
|||||||
let D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
|
let D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
|
||||||
res.data[i].ctime = Y + M + D;
|
res.data[i].ctime = Y + M + D;
|
||||||
}
|
}
|
||||||
this.fileList = res.data;
|
this.fileList = [res.data.manuscirpt];
|
||||||
|
this.picList = res.data.picturesAndTables;
|
||||||
|
this.SMList = res.data.supplementary;
|
||||||
|
|
||||||
// 获取格式
|
// 获取格式
|
||||||
let pdfOut = this.fileList[this.fileList.length - 1].file_url;
|
let pdfOut = this.fileList[this.fileList.length - 1].file_url;
|
||||||
@@ -558,179 +373,13 @@ export default {
|
|||||||
this.$message.error(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/getCFilelistByID', {
|
|
||||||
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.SMList = 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.questionform.type= res.data.type;this.questionform.score = res.data.score;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
|
|
||||||
questionSubmit() {
|
|
||||||
if (this.questionform.is_anonymous == '' && this.questionform.is_anonymous != '0') {
|
|
||||||
this.$message.error('Please choose disclose your name or remain anonymous.');
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
const regex = /[\u4E00-\u9FA5\uF900-\uFA2D]{1,}/;
|
|
||||||
if (this.questionform.comment && this.questionform.comment != '') {
|
|
||||||
if (regex.test(this.questionform.comment)) {
|
|
||||||
// 如果输入的是中文,则清空输入框
|
|
||||||
this.$message.error('Comments for the Authors cannot use Chinese.');
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (this.questionform.confident && this.questionform.confident != '') {
|
|
||||||
if (regex.test(this.questionform.confident)) {
|
|
||||||
// 如果输入的是中文,则清空输入框
|
|
||||||
this.$message.error('Confidential Comments to the Editor cannot be in Chinese.');
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// 验证相加的字数
|
|
||||||
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;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
mounted() {}
|
mounted() {}
|
||||||
};
|
};
|
||||||
@@ -866,4 +515,45 @@ export default {
|
|||||||
.css-138 {
|
.css-138 {
|
||||||
display: none;
|
display: none;
|
||||||
} */
|
} */
|
||||||
|
::v-deep .el-descriptions__title{
|
||||||
|
font-size: 12px !important;
|
||||||
|
color: #606266 !important;
|
||||||
|
|
||||||
|
}
|
||||||
|
::v-deep .el-descriptions__header{
|
||||||
|
|
||||||
|
margin-bottom: 4px !important;
|
||||||
|
}
|
||||||
|
::v-deep .el-collapse-item__wrap{
|
||||||
|
|
||||||
|
border-bottom: none !important;
|
||||||
|
}
|
||||||
|
::v-deep .el-collapse-item__header{
|
||||||
|
|
||||||
|
border-bottom: none !important;
|
||||||
|
|
||||||
|
/* */
|
||||||
|
}
|
||||||
|
.comment_item{
|
||||||
|
border-top: 1px solid #EBEEF5;
|
||||||
|
padding-top: 8px;
|
||||||
|
padding-bottom: 8px;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
.review_title{
|
||||||
|
|
||||||
|
}
|
||||||
|
.comment_item_recommend_title{
|
||||||
|
color: #888;
|
||||||
|
margin: 0 5px 0 0;
|
||||||
|
font-weight: 600;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
.comment_item_recommend b{
|
||||||
|
font-weight: 600 !important;
|
||||||
|
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -5,9 +5,9 @@
|
|||||||
<el-breadcrumb-item>
|
<el-breadcrumb-item>
|
||||||
<i class="el-icon-collection"></i>
|
<i class="el-icon-collection"></i>
|
||||||
<router-link :to="{ path: '/peerewer' }">
|
<router-link :to="{ path: '/peerewer' }">
|
||||||
<span class="top_dao"> Final Decision Article</span>
|
<span class="top_dao"> Final Review Article</span>
|
||||||
</router-link>
|
</router-link>
|
||||||
>> Final Decision completed
|
>> Final Review Completed
|
||||||
</el-breadcrumb-item>
|
</el-breadcrumb-item>
|
||||||
</el-breadcrumb>
|
</el-breadcrumb>
|
||||||
</div>
|
</div>
|
||||||
@@ -45,17 +45,18 @@
|
|||||||
p-id="29681"
|
p-id="29681"
|
||||||
></path>
|
></path>
|
||||||
</svg>
|
</svg>
|
||||||
<p>Final Decision completed !</p>
|
<p>Final Review completed !</p>
|
||||||
<br clear="both" />
|
<br clear="both" />
|
||||||
</div>
|
</div>
|
||||||
<!-- 暂时去掉 -->
|
<!-- 暂时去掉 -->
|
||||||
<div class="suss_page_2">
|
<div class="suss_page_2">
|
||||||
Dear Editor-in-Chief, We have received all of your review comments.<br />
|
Dear {{ getUserName() }}, We have received all of your review comments.<br />
|
||||||
|
|
||||||
The editorial team would like to express our sincere respect and gratitude to you for your meticulous review and
|
The editorial team would like to express our sincere respect and gratitude to you for your meticulous review and
|
||||||
guidance as the final reviewer of this journal.
|
guidance as the final reviewer of this journal.
|
||||||
</div>
|
</div>
|
||||||
<div class="suss_page_3">
|
<div class="suss_page_3">
|
||||||
<a href="/editpeerewer">Return to Peer Review page</a>
|
<a href="/editPeerewer">Return to Final Review page</a>
|
||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
</div>
|
</div>
|
||||||
@@ -65,10 +66,27 @@
|
|||||||
<script>
|
<script>
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {};
|
return {
|
||||||
|
user_cap: localStorage.getItem('U_role')
|
||||||
|
};
|
||||||
},
|
},
|
||||||
created() {},
|
created() {},
|
||||||
methods: {}
|
methods: {
|
||||||
|
getUserName() {
|
||||||
|
// <span v-if="scope.row.reviewer_type == 0" style="color: #409eff">Editor-in-Chief</span>
|
||||||
|
// <span v-if="scope.row.reviewer_type == 1" style="color: #409eff">Vice Editor-in-Chief</span>
|
||||||
|
|
||||||
|
// if (this.user_cap.includes(',board') || this.user_cap.includes('board_editor')) {
|
||||||
|
// return 'Editorial Board Member';
|
||||||
|
// } else if (this.user_cap.includes('chief') || this.user_cap.includes('chief_editor')) {
|
||||||
|
// return 'Editor-in-Chief';
|
||||||
|
// } else if (this.user_cap.includes('deputy_editor')) {
|
||||||
|
// return 'Vice Editor-in-Chief';
|
||||||
|
// }
|
||||||
|
|
||||||
|
return localStorage.getItem('U_relname');
|
||||||
|
}
|
||||||
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
299
src/components/page/edit_per_text_yq.vue
Normal file
299
src/components/page/edit_per_text_yq.vue
Normal file
@@ -0,0 +1,299 @@
|
|||||||
|
<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-card class="box-card">
|
||||||
|
<div class="tet_list" :model="txt_mess">
|
||||||
|
<h4>{{txt_mess.article_title}}</h4>
|
||||||
|
<h5>{{txt_mess.title}}<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>
|
||||||
|
<p v-if="txt_mess.major!=undefined"><b>Major : </b>{{txt_mess.majorList}}</p>
|
||||||
|
<p><b>Abstract :</b> <br>{{txt_mess.abstrart}}</p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</el-card>
|
||||||
|
|
||||||
|
<el-card class="box-card" style="font-size: 15px;line-height: 24px;">
|
||||||
|
<el-row :gutter="20" class="trah_c">
|
||||||
|
<el-col :span="1"><img src="../../assets/img/icon_8.png" alt="" class="icon_img"></el-col>
|
||||||
|
|
||||||
|
<el-col :span="22" >
|
||||||
|
<p style="padding-left: 10px;">
|
||||||
|
You can decide to review or reject it.
|
||||||
|
</p>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<div style="text-align: center;margin-top: 12px;">
|
||||||
|
<el-button type="success" @click="saveNow()" style="margin-right: 20px;width: 250px;">Review Now
|
||||||
|
</el-button>
|
||||||
|
<el-button type="danger" @click="saveRef()" style="width: 250px;">Reject to review</el-button>
|
||||||
|
</div>
|
||||||
|
</el-card>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
loading: false,
|
||||||
|
Direct_log: this.$route.query.act,
|
||||||
|
record_id: this.$route.query.r_id,
|
||||||
|
a_id: this.$route.query.a_id,
|
||||||
|
txt_mess: {},
|
||||||
|
fileList: [],
|
||||||
|
picList: [],
|
||||||
|
mediaUrl: this.Common.mediaUrl
|
||||||
|
}
|
||||||
|
},
|
||||||
|
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.record_id
|
||||||
|
})
|
||||||
|
.then(res => {
|
||||||
|
if (res.code == 0) {
|
||||||
|
this.$message.success('Review now successfully!');
|
||||||
|
this.getData();
|
||||||
|
} else {
|
||||||
|
this.$message.error(res.msg);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch(err => {
|
||||||
|
this.$message.error(err);
|
||||||
|
this.loading = false;
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
this.$message.error(res.msg);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch(err => {
|
||||||
|
this.$message.error(err);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
getData() {
|
||||||
|
// 获取文章信息
|
||||||
|
this.$api
|
||||||
|
.post('api/Finalreview/view', {
|
||||||
|
'record_id': this.record_id,
|
||||||
|
'reviewer_id': localStorage.getItem('U_id'),
|
||||||
|
|
||||||
|
})
|
||||||
|
.then(res => {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
this.txt_mess = {...res.data.article,majorList:res.data.article.major?res.data.article.major.join(','):[]}
|
||||||
|
|
||||||
|
})
|
||||||
|
.catch(err => {
|
||||||
|
this.$message.error(err);
|
||||||
|
});
|
||||||
|
|
||||||
|
this.$api
|
||||||
|
.post('api/Reviewer/getAFilelistByID ', {
|
||||||
|
'revid': this.record_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
|
||||||
|
})
|
||||||
|
.catch(err => {
|
||||||
|
this.$message.error(err);
|
||||||
|
});
|
||||||
|
|
||||||
|
this.$api
|
||||||
|
.post('api/Reviewer/getBFilelistByID', {
|
||||||
|
'revid': this.record_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);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// 同意
|
||||||
|
saveNow() {
|
||||||
|
// 二次确认
|
||||||
|
this.$confirm('Are you sure you want to agree?', 'Tips', {
|
||||||
|
type: 'warning'
|
||||||
|
})
|
||||||
|
.then(() => {
|
||||||
|
this.$api
|
||||||
|
.post('api/Finalreview/review', {
|
||||||
|
article_id: this.a_id,
|
||||||
|
record_id: this.record_id,
|
||||||
|
reviewer_id: localStorage.getItem('U_id'),
|
||||||
|
state: 0,
|
||||||
|
|
||||||
|
})
|
||||||
|
.then(res => {
|
||||||
|
if (res.status == 1) {
|
||||||
|
this.$message.success('Review now successfully!');
|
||||||
|
this.$router.push('/edit_per_text?Art_id=' + this.record_id);
|
||||||
|
} else {
|
||||||
|
this.$message.error(res.msg);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch(err => {
|
||||||
|
this.$message.error(err);
|
||||||
|
});
|
||||||
|
})
|
||||||
|
.catch(() => {});
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
// 拒绝
|
||||||
|
saveRef() {
|
||||||
|
// 二次确认
|
||||||
|
this.$confirm('Are you sure you want to refuse?', 'Tips', {
|
||||||
|
type: 'warning'
|
||||||
|
})
|
||||||
|
.then(() => {
|
||||||
|
this.$api
|
||||||
|
.post('api/Finalreview/review', {
|
||||||
|
article_id: this.a_id,
|
||||||
|
record_id: this.record_id,
|
||||||
|
reviewer_id: localStorage.getItem('U_id'),
|
||||||
|
state: 4,
|
||||||
|
|
||||||
|
})
|
||||||
|
.then(res => {
|
||||||
|
if (res.status == 1) {
|
||||||
|
this.$router.go(-1)
|
||||||
|
} else {
|
||||||
|
this.$message.error(res.msg);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch(err => {
|
||||||
|
this.$message.error(err);
|
||||||
|
});
|
||||||
|
})
|
||||||
|
.catch(() => {});
|
||||||
|
},
|
||||||
|
},
|
||||||
|
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;
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.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;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -138,7 +138,7 @@
|
|||||||
<el-button type="success" plain @click="wen_nowrw(item.art_rev_id)">Review</el-button>
|
<el-button type="success" plain @click="wen_nowrw(item.art_rev_id)">Review</el-button>
|
||||||
<!-- <el-button type="success" plain @click="wen_agree(item.art_rev_id)" style="margin: 0 10px 0 20px;">Review
|
<!-- <el-button type="success" plain @click="wen_agree(item.art_rev_id)" style="margin: 0 10px 0 20px;">Review
|
||||||
later</el-button> -->
|
later</el-button> -->
|
||||||
<el-button type="danger" plain @click="wen_refuse(item.art_rev_id)">Reject to review
|
<el-button type="danger" plain @click="wen_refuse(item.art_rev_id)">Reject
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
|
|||||||
@@ -33,6 +33,7 @@
|
|||||||
<b v-if="scope.row.astate == 3">Reject</b>
|
<b v-if="scope.row.astate == 3">Reject</b>
|
||||||
<b v-if="scope.row.astate == 4">Revision</b>
|
<b v-if="scope.row.astate == 4">Revision</b>
|
||||||
<b v-if="scope.row.astate == 5">Accept</b>
|
<b v-if="scope.row.astate == 5">Accept</b>
|
||||||
|
<b v-if="scope.row.astate == 8">Final Review</b>
|
||||||
<b v-if="scope.row.astate == 6">Pre-accept</b>
|
<b v-if="scope.row.astate == 6">Pre-accept</b>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
@@ -109,7 +110,7 @@
|
|||||||
dynamicTags: [{
|
dynamicTags: [{
|
||||||
label: 'Submission System 2.0',
|
label: 'Submission System 2.0',
|
||||||
title: 'Update Notifications',
|
title: 'Update Notifications',
|
||||||
content: "The reviewers can check all reviewers ' comments when the manuscripts get final decision."
|
content: "The reviewers can check all reviewers ' comments when the manuscripts get final review."
|
||||||
}],
|
}],
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ If you're still having trouble with Chrome, you could use other browsers to comp
|
|||||||
|
|
||||||
<el-card class="box-card" v-if="this.add_apply == 1">
|
<el-card class="box-card" v-if="this.add_apply == 1">
|
||||||
Thank you for your time and consideration on the manuscript. We are sorry that this manuscript has went through peer
|
Thank you for your time and consideration on the manuscript. We are sorry that this manuscript has went through peer
|
||||||
review and the final decision has been obtained according to the timetable. Accordingly, your review process has
|
review and the final review has been obtained according to the timetable. Accordingly, your review process has
|
||||||
been discontinued. Your comments do not need to be submitted now. We would like to express our sincere gratitude for
|
been discontinued. Your comments do not need to be submitted now. We would like to express our sincere gratitude for
|
||||||
your contributions as well.
|
your contributions as well.
|
||||||
</el-card>
|
</el-card>
|
||||||
|
|||||||
@@ -378,6 +378,14 @@ export default new Router({
|
|||||||
},
|
},
|
||||||
hidden: true
|
hidden: true
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: '/articleEditorDetail',
|
||||||
|
component: () => import('../components/page/articleEditorDetail'),
|
||||||
|
meta: {
|
||||||
|
title: 'Article detail'
|
||||||
|
},
|
||||||
|
hidden: true
|
||||||
|
},
|
||||||
{
|
{
|
||||||
path: '/articleReviewerAdd',
|
path: '/articleReviewerAdd',
|
||||||
component: () => import('../components/page/articleReviewerAdd.vue'),
|
component: () => import('../components/page/articleReviewerAdd.vue'),
|
||||||
@@ -664,13 +672,13 @@ export default new Router({
|
|||||||
path: '/editPeerewer', //审稿人进行中列表
|
path: '/editPeerewer', //审稿人进行中列表
|
||||||
component: () => import('../components/page/edit_per_ewer'),
|
component: () => import('../components/page/edit_per_ewer'),
|
||||||
meta: {
|
meta: {
|
||||||
title: 'Peer Review'
|
title: 'Final Review'
|
||||||
}
|
}
|
||||||
}, {
|
}, {
|
||||||
path: '/editPerhistory', //审稿人历史列表
|
path: '/editPerhistory', //审稿人历史列表
|
||||||
component: () => import('../components/page/edit_per_history'),
|
component: () => import('../components/page/edit_per_history'),
|
||||||
meta: {
|
meta: {
|
||||||
title: 'Review History',
|
title: 'Final Review History',
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -693,7 +701,8 @@ export default new Router({
|
|||||||
path: '/edit_per_text', //审稿人文章详情
|
path: '/edit_per_text', //审稿人文章详情
|
||||||
component: () => import('../components/page/edit_per_text'),
|
component: () => import('../components/page/edit_per_text'),
|
||||||
meta: {
|
meta: {
|
||||||
title: 'Final decision article details'
|
title: 'Final review article details'
|
||||||
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -703,6 +712,13 @@ export default new Router({
|
|||||||
title: 'Reviewer article details'
|
title: 'Reviewer article details'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: '/edit_per_text_yq', //审稿人文章详情-邀请
|
||||||
|
component: () => import('../components/page/edit_per_text_yq'),
|
||||||
|
meta: {
|
||||||
|
title: 'Final review article details'
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
path: '/per_text_success', //审稿人文章-审稿成功页
|
path: '/per_text_success', //审稿人文章-审稿成功页
|
||||||
component: () => import('../components/page/per_text_success'),
|
component: () => import('../components/page/per_text_success'),
|
||||||
|
|||||||
Reference in New Issue
Block a user