This commit is contained in:
xulu
2021-08-31 09:19:27 +08:00
parent 95f5b46be8
commit 0e0fb27136
28 changed files with 4969 additions and 2585 deletions

View File

@@ -61,7 +61,7 @@ a {
.content_l .link_jour {
position: fixed;
top: 65px;
top: 72px;
right: 50%;
margin-right: -640px;
font-weight: bold;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 KiB

After

Width:  |  Height:  |  Size: 198 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

View File

@@ -1,258 +1,325 @@
<template>
<div class="header">
<!-- 折叠按钮 -->
<div class="collapse-btn" @click="collapseChage">
<i v-if="!collapse" class="el-icon-s-fold"></i>
<i v-else class="el-icon-s-unfold"></i>
</div>
<div class="logo">
<img src="../../assets/img/logo.png" />
{{ $t('system.title') }}
</div>
<div class="header-right">
<div class="header-user-con">
<div class="changelang">
<el-dropdown trigger="click" @command="chengelang">
<span class="el-dropdown-link">
language
<i class="el-icon-arrow-down el-icon--right"></i>
</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item command="en">english</el-dropdown-item>
<el-dropdown-item command="zh">中文简体</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
<!-- 全屏显示 -->
<div class="btn-fullscreen" @click="handleFullScreen">
<el-tooltip effect="dark" :content="fullscreen ? $t('system.noscreen') : $t('system.screen')" placement="bottom">
<i class="el-icon-rank"></i>
</el-tooltip>
</div>
<!-- 消息中心 -->
<div class="header">
<!-- 折叠按钮 -->
<div class="collapse-btn" @click="collapseChage">
<i v-if="!collapse" class="el-icon-s-fold"></i>
<i v-else class="el-icon-s-unfold"></i>
</div>
<div class="logo">
<img src="../../assets/img/logo.png" />
{{ $t('system.title') }}
</div>
<div class="header-right">
<div class="header-user-con">
<div class="changelang">
<el-dropdown trigger="click" @command="chengelang">
<span class="el-dropdown-link">
language
<i class="el-icon-arrow-down el-icon--right"></i>
</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item command="en">english</el-dropdown-item>
<el-dropdown-item command="zh">中文简体</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
<!-- 全屏显示 -->
<div class="btn-fullscreen" @click="handleFullScreen">
<el-tooltip effect="dark" :content="fullscreen ? $t('system.noscreen') : $t('system.screen')" placement="bottom">
<i class="el-icon-rank"></i>
</el-tooltip>
</div>
<!-- 消息中心 -->
<!-- 身份切换 -->
<span style="font-size: 14px;margin-right: 8px;" v-if="this.user_cap.includes('author')">View as :</span>
<el-dropdown class="link_role" trigger="click" v-if="this.user_cap.includes('author')">
<span style="color: #fff;cursor: pointer;">
Author<i class="el-icon-arrow-down el-icon--right"></i>
</span>
<el-dropdown-menu :default-active="onRoutes" router slot="dropdown" style="cursor: pointer;">
<router-link :to="{path:'/dashboard'}">
<el-dropdown-item>Author</el-dropdown-item>
</router-link>
<router-link :to="{path:'/managing'}" v-if="this.user_cap.includes('chief')">
<el-dropdown-item>Editor-in-Chief</el-dropdown-item>
</router-link>
<router-link :to="{path:'/editorial'}" v-if="this.user_cap.includes('board')">
<el-dropdown-item>Editorial board member</el-dropdown-item>
</router-link>
<router-link :to="{path:'/peerewer'}" v-if="this.user_cap.includes('reviewer')">
<el-dropdown-item>Reviewer</el-dropdown-item>
</router-link>
<!-- <router-link :to="{path:'/youthed'}" v-if="this.user_cap.includes('yboard')">
<el-dropdown-item>Young scientist member</el-dropdown-item>
</router-link> -->
</el-dropdown-menu>
</el-dropdown>
<!-- 用户头像 -->
<div class="user-avator" @click="skip_link()" v-if="hasorcie">
<el-tooltip class="item" effect="light" content="Link to Orcid" placement="bottom-end">
<img src="../../assets/img/orcid.png" />
</el-tooltip>
</div>
<div class="user-avator" @click="skip_check()" v-else>
<el-tooltip class="item" effect="light" content="Connect to ORCID" placement="bottom-end">
<img src="../../assets/img/orcno.png" />
</el-tooltip>
</div>
<!-- 用户名下拉菜单 -->
<el-dropdown class="user-name" trigger="click" @command="handleCommand">
<span class="el-dropdown-link">
{{ username }}
<i class="el-icon-caret-bottom"></i>
</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item divided command="loginout">{{ $t('system.loyout') }}</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</div>
</div>
<!-- 用户头像 -->
<div class="user-avator" @click="skip_link()" v-if="hasorcie">
<el-tooltip class="item" effect="light" content="Link to Orcid" placement="bottom-end">
<img src="../../assets/img/orcid.png" />
</el-tooltip>
</div>
<div class="user-avator" @click="skip_check()" v-else>
<el-tooltip class="item" effect="light" content="Connect to ORCID" placement="bottom-end">
<img src="../../assets/img/orcno.png" />
</el-tooltip>
</div>
<!-- 用户名下拉菜单 -->
<el-dropdown class="user-name" trigger="click" @command="handleCommand">
<span class="el-dropdown-link">
{{ username }}
<i class="el-icon-caret-bottom"></i>
</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item divided command="loginout">{{ $t('system.loyout') }}</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</div>
</div>
</template>
<script>
import bus from '../common/bus';
export default {
data() {
return {
collapse: false,
fullscreen: false,
name: 'unknown user',
message: 2,
hasorcie: false,
orcid: '',
orcidLink:
'https://orcid.org/oauth/authorize?client_id=APP-PKF0BGRP6DWM6FUB&response_type=code&scope=/authenticate&redirect_uri=https://submission.tmrjournals.com/orcidBind',
langArr: [
{ value: 'zh', label: '中文' },
{ value: 'en', label: 'English' }
]
};
},
created() {
this.initORCID();
},
computed: {
username() {
let username = localStorage.getItem('U_name');
return username ? username : this.name;
},
userrole() {
let userrole = localStorage.getItem('U_status');
if (userrole == 1) {
return this.$t('total.author');
} else if (userrole == 2) {
return this.$t('total.editor');
} else if (userrole == 'admin') {
return this.$t('total.admin');
} else {
return this.$t('total.reviewers');
}
}
},
methods: {
// 用户名下拉菜单选择事件
handleCommand(command) {
if (command == 'loginout') {
localStorage.removeItem('U_name');
localStorage.removeItem('U_status');
this.$router.push('/login');
}
},
// 侧边栏折叠
collapseChage() {
this.collapse = !this.collapse;
bus.$emit('collapse', this.collapse);
},
//判断orcid
initORCID() {
this.$api
.post('api/user/checkOrcid', { account: localStorage.getItem('U_name') })
.then((res) => {
this.hasorcie = res.userinfo.orcid == '' ? false : true;
this.orcid = res.userinfo.orcid;
})
.catch((err) => {
console.log(err);
});
},
// 全屏事件
handleFullScreen() {
let element = document.documentElement;
if (this.fullscreen) {
if (document.exitFullscreen) {
document.exitFullscreen();
} else if (document.webkitCancelFullScreen) {
document.webkitCancelFullScreen();
} else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen();
} else if (document.msExitFullscreen) {
document.msExitFullscreen();
}
} else {
if (element.requestFullscreen) {
element.requestFullscreen();
} else if (element.webkitRequestFullScreen) {
element.webkitRequestFullScreen();
} else if (element.mozRequestFullScreen) {
element.mozRequestFullScreen();
} else if (element.msRequestFullscreen) {
// IE11
element.msRequestFullscreen();
}
}
this.fullscreen = !this.fullscreen;
},
//切换语言
chengelang(commond) {
localStorage.setItem('langs', commond);
this.$router.go(0);
},
skip_link() {
location.href = 'https://orcid.org/'+this.orcid;
},
skip_check(){
location.href = this.orcidLink;
}
},
mounted() {
if (document.body.clientWidth < 1000) {
this.collapseChage();
}
}
};
import bus from '../common/bus';
export default {
data() {
return {
collapse: false,
fullscreen: false,
name: 'unknown user',
message: 2,
hasorcie: false,
link_path: '',
user_cap: localStorage.getItem('U_role'),
orcid: '',
orcidLink: 'https://orcid.org/oauth/authorize?client_id=APP-PKF0BGRP6DWM6FUB&response_type=code&scope=/authenticate&redirect_uri=https://submission.tmrjournals.com/orcidBind',
langArr: [{
value: 'zh',
label: '中文'
},
{
value: 'en',
label: 'English'
}
]
};
},
created() {
this.initORCID();
},
computed: {
username() {
let username = localStorage.getItem('U_name');
return username ? username : this.name;
},
onRoutes() {
0
return this.$route.path.replace('/', '');
},
userrole() {
let userrole = localStorage.getItem('U_status');
if (userrole == 1) {
return this.$t('total.author');
} else if (userrole == 2) {
return this.$t('total.editor');
} else if (userrole == 'admin') {
return this.$t('total.admin');
} else {
return this.$t('total.reviewers');
}
}
},
methods: {
// 用户名下拉菜单选择事件
handleCommand(command) {
if (command == 'loginout') {
localStorage.removeItem('U_role');
localStorage.removeItem('U_id');
localStorage.removeItem('U_name');
localStorage.removeItem('U_status');
localStorage.removeItem('journal_id');
localStorage.removeItem('journal_title');
this.$router.push('/login');
}
},
// 侧边栏折叠
collapseChage() {
this.collapse = !this.collapse;
bus.$emit('collapse', this.collapse);
},
//判断orcid
initORCID() {
this.$api
.post('api/user/checkOrcid', {
account: localStorage.getItem('U_name')
})
.then((res) => {
this.hasorcie = res.userinfo.orcid == '' ? false : true;
this.orcid = res.userinfo.orcid;
})
.catch((err) => {
console.log(err);
});
},
// 全屏事件
handleFullScreen() {
let element = document.documentElement;
if (this.fullscreen) {
if (document.exitFullscreen) {
document.exitFullscreen();
} else if (document.webkitCancelFullScreen) {
document.webkitCancelFullScreen();
} else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen();
} else if (document.msExitFullscreen) {
document.msExitFullscreen();
}
} else {
if (element.requestFullscreen) {
element.requestFullscreen();
} else if (element.webkitRequestFullScreen) {
element.webkitRequestFullScreen();
} else if (element.mozRequestFullScreen) {
element.mozRequestFullScreen();
} else if (element.msRequestFullscreen) {
// IE11
element.msRequestFullscreen();
}
}
this.fullscreen = !this.fullscreen;
},
//切换语言
chengelang(commond) {
localStorage.setItem('langs', commond);
this.$router.go(0);
},
skip_link() {
location.href = 'https://orcid.org/' + this.orcid;
},
skip_check() {
location.href = this.orcidLink;
}
},
mounted() {
if (document.body.clientWidth < 1000) {
this.collapseChage();
}
},
watch: {
$route: {
handler: function(route) {
this.link_path = route.path
},
immediate: true
}
}
};
</script>
<style scoped>
.header {
position: relative;
box-sizing: border-box;
width: 100%;
height: 70px;
font-size: 22px;
color: #fff;
}
.collapse-btn {
float: left;
padding: 0 21px;
cursor: pointer;
line-height: 70px;
}
.header .logo {
float: left;
width: 350px;
vertical-align: middle;
line-height: 70px;
}
.header .logo img {
width: 90px;
height: 25px;
vertical-align: middle;
}
.header-right {
float: right;
padding-right: 50px;
}
.header-user-con {
display: flex;
height: 70px;
align-items: center;
}
.btn-fullscreen {
transform: rotate(45deg);
margin-right: 5px;
font-size: 24px;
}
.changelang {
position: relative;
width: 90px;
height: 30px;
}
.btn-fullscreen {
position: relative;
width: 30px;
height: 30px;
text-align: center;
border-radius: 15px;
cursor: pointer;
}
.btn-bell-badge {
position: absolute;
right: 0;
top: -2px;
width: 8px;
height: 8px;
border-radius: 4px;
background: #f56c6c;
color: #fff;
}
.btn-bell .el-icon-bell {
color: #fff;
}
.user-name {
margin-left: 10px;
}
.user-avator {
margin-left: 20px;
}
.user-avator img {
display: block;
width: 20px;
height: 20px;
}
.el-dropdown-link {
color: #fff;
cursor: pointer;
}
.el-dropdown-menu__item {
text-align: center;
}
#colgreen {
color: rgb(142, 150, 74);
}
.header {
position: relative;
box-sizing: border-box;
width: 100%;
height: 70px;
font-size: 22px;
color: #fff;
}
.collapse-btn {
float: left;
padding: 0 21px;
cursor: pointer;
line-height: 70px;
}
.header .logo {
float: left;
width: 350px;
vertical-align: middle;
line-height: 70px;
}
.header .logo img {
width: 90px;
height: 25px;
vertical-align: middle;
}
.header-right {
float: right;
padding-right: 50px;
}
.header-user-con {
display: flex;
height: 70px;
align-items: center;
}
.btn-fullscreen {
transform: rotate(45deg);
margin-right: 5px;
font-size: 24px;
}
.changelang {
position: relative;
width: 90px;
height: 30px;
}
.btn-fullscreen {
position: relative;
width: 30px;
height: 30px;
text-align: center;
border-radius: 15px;
cursor: pointer;
}
.btn-bell-badge {
position: absolute;
right: 0;
top: -2px;
width: 8px;
height: 8px;
border-radius: 4px;
background: #f56c6c;
color: #fff;
}
.btn-bell .el-icon-bell {
color: #fff;
}
.user-name {
margin-left: 10px;
}
.user-avator {
margin-left: 20px;
}
.user-avator img {
display: block;
width: 20px;
height: 20px;
}
.el-dropdown-link {
color: #fff;
cursor: pointer;
}
.el-dropdown-menu__item {
text-align: center;
}
#colgreen {
color: rgb(142, 150, 74);
}
</style>

View File

@@ -3,33 +3,31 @@
<div>
<div class="logo">
<img src="../../assets/img/bit_bug.png" alt="" style="width: 80px;margin-right: 10px;">
<!-- <span style="color:#1c66c0" v-if="this.link_path == '/managing'">Chief editor</span>
<span style="color:#e26a2d" v-if="this.link_path == '/editorial'">Editorial board</span>
<span style="color:#4640c4" v-if="this.link_path == '/peerewer'">Reviewer</span>
<span style="color:#cc3646" v-if="this.link_path == '/youthed'">Youth editorial board</span> -->
<span v-if="this.link_path == '/managing' || this.link_path == '/man_text'">Chief editor :</span>
<span v-if="this.link_path == '/editorial'">Editorial board :</span>
<span v-if="this.link_path == '/peerewer'">Reviewer :</span>
<span v-if="this.link_path == '/youthed'">Youth editorial board :</span>
<!-- <span v-if="this.link_path == '/managing'">主编 :</span>
<span v-if="this.link_path == '/editorial'">编委 :</span>
<span v-if="this.link_path == '/peerewer'">审稿人 :</span>
<span v-if="this.link_path == '/youthed'">青年编委 :</span> -->
{{user_name}}
</div>
<div class="group">
Window for manucripts <br/>of Traditional Medicine Research
</div>
<div class="header-right">
<div style="font-size: 18px;text-align: right;">
<!-- <span style="color:#1c66c0" v-if="this.link_path == '/managing'">Chief editor</span>
<span style="color:#e26a2d" v-if="this.link_path == '/editorial'">Editorial board</span>
<span style="color:#4640c4" v-if="this.link_path == '/peerewer'">Reviewer</span>
<span style="color:#cc3646" v-if="this.link_path == '/youthed'">Youth editorial board</span> -->
<span v-if="this.link_path == '/managing' || this.link_path == '/man_text'">Editor-in-Chief :</span>
<span v-if="this.link_path == '/editorial' || this.link_path == '/edit_text'">Editorial board member :</span>
<span v-if="this.link_path == '/peerewer' || this.link_path == '/per_text'">Reviewer :</span>
<!-- <span v-if="this.link_path == '/youthed'">Young scientist member :</span> -->
<b style="margin-left: 5px;">{{user_name}}</b>
</div>
<div class="header-user-con">
<!-- 身份切换 -->
<el-dropdown class="link_role" trigger="click">
<span>
View as :
<span v-if="this.link_path == '/managing' || this.link_path == '/man_text'">Chief editor</span>
<span v-if="this.link_path == '/editorial'">Editorial board</span>
<span v-if="this.link_path == '/peerewer'">Reviewer</span>
<span v-if="this.link_path == '/youthed'">Youth editorial board</span>
<span v-if="this.link_path == '/managing' || this.link_path == '/man_text'">Editor-in-Chief</span>
<span v-if="this.link_path == '/editorial' || this.link_path == '/edit_text'">Editorial board member</span>
<span v-if="this.link_path == '/peerewer' || this.link_path == '/per_text'">Reviewer</span>
<!-- <span v-if="this.link_path == '/youthed'">Young scientist member</span> -->
<i class="el-icon-arrow-down el-icon--right"></i>
</span>
<el-dropdown-menu :default-active="onRoutes" router slot="dropdown">
@@ -37,17 +35,17 @@
<el-dropdown-item>Author</el-dropdown-item>
</router-link>
<router-link :to="{path:'/managing'}" v-if="this.user_cap.includes('chief')">
<el-dropdown-item>Chief editor</el-dropdown-item>
<el-dropdown-item>Editor-in-Chief</el-dropdown-item>
</router-link>
<router-link :to="{path:'/editorial'}" v-if="this.user_cap.includes('board')">
<el-dropdown-item>Editorial board</el-dropdown-item>
<el-dropdown-item>Editorial board member</el-dropdown-item>
</router-link>
<router-link :to="{path:'/peerewer'}" v-if="this.user_cap.includes('reviewer')">
<el-dropdown-item>Reviewer</el-dropdown-item>
</router-link>
<router-link :to="{path:'/youthed'}" v-if="this.user_cap.includes('yboard')">
<el-dropdown-item>Youth editorial board</el-dropdown-item>
</router-link>
<!-- <router-link :to="{path:'/youthed'}" v-if="this.user_cap.includes('yboard')">
<el-dropdown-item>Young scientist member</el-dropdown-item>
</router-link> -->
</el-dropdown-menu>
</el-dropdown>
@@ -73,7 +71,7 @@
user_id: localStorage.getItem('U_id')
},
link_path: '',
user_name: localStorage.getItem('U_name'),
user_name: localStorage.getItem('U_relname'),
user_cap: localStorage.getItem('U_role'),
cate_role: []
@@ -161,7 +159,9 @@
margin-top: 20px;
}
.header-user-con {}
.header-user-con {
text-align: right;
}
.link_role {
font-weight: bold;

View File

@@ -1,299 +1,274 @@
<template>
<div class="sidebar">
<el-menu
class="sidebar-el-menu"
:default-active="onRoutes"
:collapse="collapse"
background-color="#324157"
text-color="#bfcbd9"
active-text-color="#20a0ff"
unique-opened
router
>
<template v-for="item in items">
<template v-if="item.subs">
<el-submenu :index="item.index" :key="item.index">
<template slot="title">
<i :class="item.icon"></i>
<span slot="title">{{ item.title }}</span>
</template>
<template v-for="subItem in item.subs">
<el-submenu
v-if="subItem.subs"
:index="subItem.index"
:key="subItem.index"
>
<template slot="title">{{ subItem.title }}</template>
<el-menu-item
v-for="(threeItem,i) in subItem.subs"
:key="i"
:index="threeItem.index"
>{{ threeItem.title }}</el-menu-item>
</el-submenu>
<el-menu-item
v-else
:index="subItem.index"
:key="subItem.index"
>{{ subItem.title }}</el-menu-item>
</template>
</el-submenu>
</template>
<template v-else>
<el-menu-item :index="item.index" :key="item.index">
<i :class="item.icon"></i>
<span slot="title">{{ item.title }}</span>
</el-menu-item>
</template>
</template>
</el-menu>
</div>
<div class="sidebar">
<el-menu class="sidebar-el-menu" :default-active="onRoutes" :collapse="collapse" background-color="#324157"
text-color="#bfcbd9" active-text-color="#20a0ff" unique-opened router>
<template v-for="item in items">
<template v-if="item.subs">
<el-submenu :index="item.index" :key="item.index">
<template slot="title">
<i :class="item.icon"></i>
<span slot="title">{{ item.title }}</span>
</template>
<template v-for="subItem in item.subs">
<el-submenu v-if="subItem.subs" :index="subItem.index" :key="subItem.index">
<template slot="title">{{ subItem.title }}</template>
<el-menu-item v-for="(threeItem,i) in subItem.subs" :key="i" :index="threeItem.index">{{ threeItem.title }}</el-menu-item>
</el-submenu>
<el-menu-item v-else :index="subItem.index" :key="subItem.index">{{ subItem.title }}</el-menu-item>
</template>
</el-submenu>
</template>
<template v-else>
<el-menu-item :index="item.index" :key="item.index">
<i :class="item.icon"></i>
<span slot="title">{{ item.title }}</span>
</el-menu-item>
</template>
</template>
</el-menu>
</div>
</template>
<script>
import bus from '../common/bus';
export default {
data() {
return {
collapse: false,
userrole:localStorage.getItem('U_status'),
items:[],
author_items: [
{
icon: 'el-icon-lx-home',
index: 'dashboard',
title: this.$t('sidebar.main')
},
{
icon: 'el-icon-lx-cascades',
index: '1',
title: this.$t('sidebar.author'),
subs:[
{
index:'articleList',
title:this.$t('sidebar.author1')
},
{
index:'articleAdd',
title:this.$t('sidebar.author2')
}
]
}
// {
// icon: 'el-icon-user',
// index: '2',
// title: this.$t('sidebar.reviewerArticle'),
// subs:[
// {
// index:'authorApplyReviewer',
// title:this.$t('sidebar.authorApplyReviewer')
// }
// ]
// }
],
editor_items:[
{
icon: 'el-icon-lx-home',
index: 'dashboard',
title: this.$t('sidebar.main')
},
{
icon: 'el-icon-lx-copy',
index: '2',
title: this.$t('sidebar.editor'),
subs:[
{
index:'articleListEditor',
title:this.$t('sidebar.editor1')
}
]
},
{
icon:'el-icon-paperclip',
index:'4',
title:this.$t('sidebar.editmber'),
subs:[
{
index:'editmbereditor',
title:this.$t('sidebar.editmber1')
}
]
},
{
icon:'el-icon-s-custom',
index:'3',
title:this.$t('sidebar.reviewer'),
subs:[
{
index:'reviewerApplyList',
title:this.$t('sidebar.reviewer1')
},
{
index:'reviewerList',
title:this.$t('sidebar.reviewer2')
},
{
index:'reviewerImport',
title:this.$t('sidebar.reviewer3')
}
]
}
],
admin_items:[
{
icon: 'el-icon-lx-home',
index: 'dashboard',
title: this.$t('sidebar.main')
},
{
icon: 'el-icon-user',
index: '2',
title: this.$t('sidebar.editormanage'),
subs:[
{
index:'editorList',
title:this.$t('sidebar.editormanage1')
},
{
index:'editorAdd',
title:this.$t('sidebar.editormanage2')
}
]
},
{
icon:'el-icon-notebook-1',
index:'3',
title:this.$t('sidebar.journal'),
subs:[
{
index:'journalList',
title:this.$t('sidebar.journal1')
},
{
index:'journalAdd',
title:this.$t('sidebar.journal2')
}
]
},
{
icon:'el-icon-search',
index:'4',
title:this.$t('sidebar.monitor'),
subs:[
{
index:'monitorManuscript',
title:this.$t('sidebar.monitor1')
},
]
import bus from '../common/bus';
export default {
data() {
return {
collapse: false,
userrole: localStorage.getItem('U_status'),
user_cap: localStorage.getItem('U_role'),
items: [],
author_items: [{
icon: 'el-icon-lx-home',
index: 'dashboard',
title: this.$t('sidebar.main')
},
{
icon: 'el-icon-lx-cascades',
index: '1',
title: this.$t('sidebar.author'),
subs: [{
index: 'articleList',
title: this.$t('sidebar.author1')
},
{
index: 'articleAdd',
title: this.$t('sidebar.author2')
},
{
index: 'authorApplyReviewer',
title: this.$t('sidebar.authorApplyReviewer')
}
]
}
// {
// icon: 'el-icon-user',
// index: '2',
// title: this.$t('sidebar.reviewerArticle'),
// subs:[
// {
// index:'authorApplyReviewer',
// title:this.$t('sidebar.authorApplyReviewer')
// }
// ]
// }
],
editor_items: [{
icon: 'el-icon-lx-home',
index: 'dashboard',
title: this.$t('sidebar.main')
},
{
icon: 'el-icon-lx-copy',
index: '2',
title: this.$t('sidebar.editor'),
subs: [{
index: 'articleListEditor',
title: this.$t('sidebar.editor1')
}]
},
{
icon: 'el-icon-paperclip',
index: '4',
title: this.$t('sidebar.editmber'),
subs: [{
index: 'editmbereditor',
title: this.$t('sidebar.editmber1')
}, {
index: 'editmbereditormoshi',
title: this.$t('sidebar.editmber2')
}, ]
},
{
icon: 'el-icon-s-custom',
index: '3',
title: this.$t('sidebar.reviewer'),
subs: [{
index: 'reviewerApplyList',
title: this.$t('sidebar.reviewer1')
},
{
index: 'reviewerList',
title: this.$t('sidebar.reviewer2')
},
{
index: 'reviewerImport',
title: this.$t('sidebar.reviewer3')
}
]
}
],
admin_items: [{
icon: 'el-icon-lx-home',
index: 'dashboard',
title: this.$t('sidebar.main')
},
{
icon: 'el-icon-connection',
index: '5',
title: this.$t('sidebar.chief'),
subs: [{
index: 'chiefeditor',
title: this.$t('sidebar.chief1')
}
// {
// index: 'chiefperiod',
// title: this.$t('sidebar.chief2')
// }
]
},
{
icon: 'el-icon-user',
index: '2',
title: this.$t('sidebar.editormanage'),
subs: [{
index: 'editorList',
title: this.$t('sidebar.editormanage1')
},
{
index: 'editorAdd',
title: this.$t('sidebar.editormanage2')
}
]
},
{
icon: 'el-icon-notebook-1',
index: '3',
title: this.$t('sidebar.journal'),
subs: [{
index: 'journalList',
title: this.$t('sidebar.journal1')
},
{
index: 'journalAdd',
title: this.$t('sidebar.journal2')
}
]
},
{
icon: 'el-icon-search',
index: '4',
title: this.$t('sidebar.monitor'),
subs: [{
index: 'monitorManuscript',
title: this.$t('sidebar.monitor1')
}, ]
},
{
icon:'el-icon-connection',
index:'5',
title:this.$t('sidebar.chief'),
subs:[
{
index:'chiefeditor',
title:this.$t('sidebar.chief1')
},
{
index:'chiefperiod',
title:this.$t('sidebar.chief2')
}
]
}
// {
// icon:'el-icon-user-solid',
// index:'4',
// title:this.$t('sidebar.reviewer'),
// subs:[
// {
// index:'adminImportReviewer',
// title:this.$t('sidebar.reviewerimport')
// },
// {
// index:'adminImportreviewerError',
// title:this.$t('sidebar.reviewerimporterror')
// }
// ]
// }
],
reviewer_items:[
{
icon: 'el-icon-lx-home',
index: 'dashboard',
title: this.$t('sidebar.main')
},
{
icon: 'el-icon-lx-cascades',
index: '1',
title: this.$t('sidebar.author'),
subs:[
{
index:'articleList',
title:this.$t('sidebar.author1')
},
{
index:'articleAdd',
title:this.$t('sidebar.author2')
}
]
},
{
icon: 'el-icon-user',
index: '2',
title: this.$t('sidebar.reviewerArticle'),
subs:[
{
index:'reviewerArticleList',
title:this.$t('sidebar.reviewerArticle1')
}
]
}
}
// {
// icon:'el-icon-user-solid',
// index:'4',
// title:this.$t('sidebar.reviewer'),
// subs:[
// {
// index:'adminImportReviewer',
// title:this.$t('sidebar.reviewerimport')
// },
// {
// index:'adminImportreviewerError',
// title:this.$t('sidebar.reviewerimporterror')
// }
// ]
// }
],
reviewer_items: [{
icon: 'el-icon-lx-home',
index: 'dashboard',
title: this.$t('sidebar.main')
},
{
icon: 'el-icon-lx-cascades',
index: '1',
title: this.$t('sidebar.author'),
subs: [{
index: 'articleList',
title: this.$t('sidebar.author1')
},
{
index: 'articleAdd',
title: this.$t('sidebar.author2')
}
]
},
{
icon: 'el-icon-user',
index: '2',
title: this.$t('sidebar.reviewerArticle'),
subs: [{
index: 'reviewerArticleList',
title: this.$t('sidebar.reviewerArticle1')
}]
}
]
};
},
computed: {
onRoutes() {
return this.$route.path.replace('/', '');
}
},
created() {
if(this.userrole==2){ //其余的身份(显示作者)
this.items = this.author_items;
}else if(this.userrole ==1){ //编辑
this.items = this.editor_items;
}else if(this.userrole==0){ //超级管理员
this.items = this.admin_items;
}
// else if(this.userrole=='reviewer'){
// this.items = this.reviewer_items;
// }
// 通过 Event Bus 进行组件间通信,来折叠侧边栏
bus.$on('collapse', msg => {
this.collapse = msg;
bus.$emit('collapse-content', msg);
});
}
};
]
};
},
computed: {
onRoutes() {
return this.$route.path.replace('/', '');
}
},
created() {
if (this.userrole == 2 && this.user_cap.includes('reviewer')) { //审稿人
this.items = this.reviewer_items;
} else if (this.userrole == 2) { //其余的身份(显示作者)
this.items = this.author_items;
} else if (this.userrole == 1) { //编辑
this.items = this.editor_items;
} else if (this.userrole == 0) { //超级管理员
this.items = this.admin_items;
}
// else if(this.userrole=='reviewer'){
// this.items = this.reviewer_items;
// }
// 通过 Event Bus 进行组件间通信,来折叠侧边栏
bus.$on('collapse', msg => {
this.collapse = msg;
bus.$emit('collapse-content', msg);
});
}
};
</script>
<style scoped>
.sidebar {
display: block;
position: absolute;
left: 0;
top: 70px;
bottom: 0;
overflow-y: scroll;
}
.sidebar::-webkit-scrollbar {
width: 0;
}
.sidebar-el-menu:not(.el-menu--collapse) {
width: 250px;
}
.sidebar > ul {
height: 100%;
}
.sidebar {
display: block;
position: absolute;
left: 0;
top: 70px;
bottom: 0;
overflow-y: scroll;
}
.sidebar::-webkit-scrollbar {
width: 0;
}
.sidebar-el-menu:not(.el-menu--collapse) {
width: 250px;
}
.sidebar>ul {
height: 100%;
}
</style>

View File

@@ -3,7 +3,7 @@ const en = {
system: {
title: 'Submission System',
repassword: 'Forgot your password?',
register: 'Not registered yet? Register now.',
register: 'Register',
orcidlogin: 'Login with your ORCID iD',
login: 'Log in',
forgetpwd: 'Find Your Password',
@@ -51,7 +51,7 @@ const en = {
chief2: 'Journal list',
editmber: 'Editorial management',
editmber1: 'Editorial board list',
editmber2: 'Journal List'
editmber2: 'Matching pattern'
},
home: {
authortop: 'Author guide',

View File

@@ -51,7 +51,7 @@ const zh = {
chief2: '期刊列表',
editmber: '编委管理',
editmber1: '编委列表',
editmber2: '期刊列表'
editmber2: '编委匹配'
},
home: {
authortop: '用户指南',

View File

@@ -2,7 +2,7 @@
<div>
<el-row :gutter="20">
<el-row :gutter="20">
<el-col :span="4" v-if="this.usercap.includes('chief')">
<!-- <el-col :span="4" v-if="this.usercap.includes('chief')">
<router-link target="_blank" :to="{path:'/managing'}">
<div class="grid-jue1">
<svg t="1629185957321" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"
@@ -15,8 +15,8 @@
<p>{{$t('charact.role1')}}</p>
</div>
</router-link>
</el-col>
<el-col :span="4" v-if="this.usercap.includes('board')">
</el-col> -->
<!-- <el-col :span="4" v-if="this.usercap.includes('board')">
<router-link target="_blank" :to="{path:'/editorial'}">
<div class="grid-jue2">
<svg t="1629186126715" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"
@@ -60,8 +60,9 @@
<p>{{$t('charact.role4')}}</p>
</div>
</router-link>
</el-col>
</el-col> -->
</el-row>
<el-col :span="10" v-show="userrole=='reviewer'||userrole==1">
<el-card shadow="hover">
<div slot="header" class="clearfix">

View File

@@ -15,24 +15,104 @@
<!-- <el-button slot="prepend" icon="el-icon-lx-lock"></el-button> -->
</el-input>
</el-form-item>
<!-- <el-form-item prop="code">
<el-row :span="24">
<el-col :span="16">
<el-input size="small" v-model="param.code" auto-complete="off" placeholder="captcha">
<i slot="prefix" class="el-icon-key" />
</el-input>
</el-col>
<el-col :span="8">
<div class="login-code">
<img :src="param.image" @click="refreshCode" alt="captcha" class="captchaimg" />
</div>
</el-col>
</el-row>
</el-form-item> -->
<div class="login-btn">
<el-button type="primary" @click="submitForm()">{{ $t('system.login') }}</el-button>
</div>
<el-row style="text-align: left">
<el-col :span="24">
<el-link :underline="false" type="primary" @click="doRetrieve()">{{ $t('system.repassword') }}</el-link>
<el-col :span="12">
<el-link :underline="false" type="primary" @click="doRetrieve()" style="font-size:12px">{{ $t('system.repassword') }}</el-link>
</el-col>
<el-col :span="24">
<el-link :underline="false" type="primary" @click="doRegister()">{{ $t('system.register') }}</el-link>
<el-col :span="12" style="text-align: right;padding-right: 15px;">
<el-link :underline="false" type="primary" @click="doRegister()" style="font-size:12px">{{ $t('system.register') }}</el-link>
</el-col>
<el-col :span="24" style="margin-top: 5px">
<el-link :underline="false" type="primary" @click="skip_check()">
<img class="orcid" src="../../assets/img/orcid.png" style="float: left; margin: -1px 5px 0 0" />{{$t('system.orcidlogin')}}
<el-link :underline="false" type="primary" @click="skip_check()" style="font-size:12px">
<img class="orcid" src="../../assets/img/orcid.png" style="float: left; margin: -1px 5px 0 0;" />{{$t('system.orcidlogin')}}
</el-link>
</el-col>
</el-row>
</el-form>
</div>
<el-dialog title="Please select your role." :close-on-click-modal="showCLO" :show-close="showCLO" :visible.sync="roleVisible"
width="400px" class="show_CLO">
<p @click="Auth()">
<svg t="1629711630755" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2987"
width="25" height="25" style="margin: 0 10px -5px 0;">
<path d="M512 512m-512 0a512 512 0 1 0 1024 0 512 512 0 1 0-1024 0Z" fill="#7FA7DA" p-id="2988"></path>
<path d="M504.723 728.44l-36.378-25.19c-5.317-3.719-7.773-10.387-6.124-16.697l30.488-118.104a15.659 15.659 0 0 0-2.13-12.494l-6.543-9.975c-1.832-2.756-2.706-6.006-2.55-9.314v-1.27c0.41-8.037 6.934-14.463 15.015-14.797h29.431c8.086 0.326 14.594 6.76 15.021 14.797v1.27c0.149 3.309-0.717 6.559-2.521 9.314l-6.381 9.762c-2.465 3.818-3.179 8.531-1.893 12.889l25.613 87.398c48.098-45.078 119.96-76.627 202.328-85.217-31.28-31.619-69.935-55.099-112.602-68.203a15.012 15.012 0 0 1-9.791-11.244 15.053 15.053 0 0 1 4.721-14.174c57.816-53.109 77.1-136.276 48.602-209.417-28.504-73.164-98.977-121.342-177.49-121.342S362.554 194.61 334.017 267.774c-28.503 73.142-9.185 156.309 48.6 209.417a15.1 15.1 0 0 1 4.66 14.238c-1.112 5.227-4.895 9.494-9.941 11.174a264.929 264.929 0 0 0-122.337 79.787 192.465 192.465 0 0 0-49.745 112.816c2.634 28.223 21.614 52.26 48.473 61.387a335.914 335.914 0 0 0 82.538 23.311 1114.479 1114.479 0 0 0 156.52 13.727c-0.036-1.384-0.074-2.767-0.074-4.156-0.003-21.173 4.193-41.649 12.012-61.035z"
fill="#FFFFFF" p-id="2989"></path>
<path d="M687.203 779.904a336.495 336.495 0 0 0 82.342-23.311c26.645-9.01 45.563-32.736 48.48-60.734-0.656-17.986-4.598-35.742-11.654-52.287a226.86 226.86 0 0 0-37.459-61.182 269.965 269.965 0 0 0-10.814-11.578c-82.368 8.59-154.23 40.139-202.328 85.217l8.875 30.285a15.732 15.732 0 0 1-6.129 17.182l-35.984 24.959a15.65 15.65 0 0 1-17.787 0l-0.021-0.015c-7.818 19.386-12.014 39.861-12.014 61.034 0 1.39 0.038 2.772 0.074 4.156a1114.705 1114.705 0 0 0 194.419-13.726z"
fill="#FFFFFF" opacity=".4" p-id="2990"></path>
</svg>
Author</p>
<p @click="Chie()">
<svg t="1629711490391" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2531"
width="25" height="25" style="margin: 0 10px -5px 0;">
<path d="M512 512m-512 0a512 512 0 1 0 1024 0 512 512 0 1 0-1024 0Z" fill="#40F4B1" p-id="2532"></path>
<path d="M822.487 729.079a126.154 126.154 0 0 0-36.875-89.307 126.16 126.16 0 0 0-89.255-37.008c-69.625 0-126.097 56.443-126.122 126.067-0.035 69.639 56.36 126.121 125.995 126.193 69.64 0.076 126.157-56.295 126.257-125.945z m-144.181 50.9v-32.838h-33.021c-9.965 0-18.05-8.073-18.05-18.063 0-9.963 8.085-18.052 18.05-18.052h32.92v-33.02c0-9.964 8.087-18.063 18.063-18.063 9.979 0 18.05 8.099 18.05 18.063v33.02h33.021c9.979 0 18.052 8.089 18.052 18.052 0 9.988-8.072 18.063-18.052 18.063l0.089-0.185h-33.005v33.022c0 9.962-8.089 18.049-18.063 18.049-9.968 0-18.054-8.088-18.054-18.048z"
fill="#FFFFFF" p-id="2533"></path>
<path d="M452.472 248.657a218.07 218.07 0 0 0-12.502-72.986c-140.39 20.077-244.619 140.352-244.556 282.155v6.307c63.757 11.461 129.321-5.964 178.968-47.585 49.638-41.598 78.254-103.114 78.09-167.891z"
fill="#FFFFFF" opacity=".4" p-id="2534"></path>
<path d="M764.74 443.625a284.676 284.676 0 0 0-103.307-205.977A284.582 284.582 0 0 0 439.49 175.67c25.99 73.28 11.083 154.857-39.168 214.197-50.236 59.354-128.24 87.528-204.81 73.98 2.208 99.91 56.703 191.328 143.531 240.791 11.118 6.378 16.281 19.655 12.417 31.878-17.596 23.415-26.614 64.813-30.566 87.467a13.616 13.616 0 0 0 3.069 11.114 13.617 13.617 0 0 0 10.464 4.787l230.064-0.564a13.742 13.742 0 0 0 12.322-8.013 13.72 13.72 0 0 0-1.978-14.565 146.431 146.431 0 0 1-30.665-112.204 146.655 146.655 0 0 1 63.071-100.79 146.58 146.58 0 0 1 117.05-20.91c6.246 1.472 12.678-1.693 15.327-7.534a283.56 283.56 0 0 0 25.122-131.679z m-195.914 28.973a88.195 88.195 0 0 1-45.906 77.306 88.12 88.12 0 0 1-130.546-77.306h-0.382a20.628 20.628 0 0 1 9.855-18.996 20.582 20.582 0 0 1 21.398 0 20.6 20.6 0 0 1 9.854 18.996 47.004 47.004 0 0 0 24.493 41.214c0.049 0.118 0.097 0.242 0.149 0.36a47.033 47.033 0 0 0 46.972-0.612c14.428-8.564 23.189-24.176 23.008-40.962a20.593 20.593 0 0 1 9.854-18.995 20.58 20.58 0 0 1 21.397 0 20.626 20.626 0 0 1 9.854 18.995z"
fill="#FFFFFF" p-id="2535"></path>
</svg>
Editor-in-Chief</p>
<p @click="Edit()">
<svg t="1629711441707" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2223"
width="25" height="25" style="margin: 0 10px -5px 0;">
<path d="M512 512m-512 0a512 512 0 1 0 1024 0 512 512 0 1 0-1024 0Z" fill="#4186F5" p-id="2224"></path>
<path d="M512.029 499.191c92.589 0 167.168-74.101 167.168-167.333 0-93.231-74.579-167.342-167.168-167.342-92.573 0-167.151 74.111-167.151 167.342 0 93.234 74.578 167.333 167.151 167.333z"
fill="#FFFFFF" p-id="2225"></path>
<path d="M578.89 529.91H444.596c-32.669 0-63.64 7.526-91.455 20.98 64.716 18.081 113.848 46.562 136.153 80.324 0.521-0.349 1.05-0.69 1.6-1.021l20.849-11.089 20.849 11.089c12.859 7.722 18.009 20.583 10.3 33.438L515.985 745.5c39.281 24.745 52.706 59.31 66.504 93.009 121.685-0.007 214.991-0.65 214.991-66.871v-12.855c0-126.017-97.721-228.873-218.59-228.873z"
fill="#FFFFFF" p-id="2226"></path>
<path d="M245.204 812.252c33.354 25.9 107.015 26.252 195.792 26.257 13.798-33.699 27.223-68.264 66.504-93.009l-13.333-40.567c-28.347 54.746-126.231 97.296-248.963 107.319z"
fill="#FFFFFF" p-id="2227"></path>
<path d="M353.141 550.891c-75.094 36.324-127.136 115.936-127.136 207.892v12.855c0 17.908 6.835 31.013 19.199 40.614 122.731-10.023 220.616-52.573 248.963-107.319l-13.574-41.301c-7.38-12.306-2.971-24.614 8.7-32.417-22.304-33.763-71.436-62.243-136.152-80.324z"
fill="#FFFFFF" opacity=".4" p-id="2228"></path>
</svg>
Editorial board member</p>
<p @click="Revi()">
<svg t="1629711454087" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2378"
width="25" height="25" style="margin: 0 10px -5px 0;">
<path d="M512 512m-512 0a512 512 0 1 0 1024 0 512 512 0 1 0-1024 0Z" fill="#CF89AE" p-id="2379"></path>
<path d="M416.015 744.196c-4.438-85.765 48.841-162.493 91.021-198.598 6.661-6.778 11.096-11.283 17.754-15.805-8.881-20.309-15.542-42.879-15.542-67.705 0-78.995 62.16-144.433 142.076-144.433 55.499 0 102.125 31.6 126.547 76.725V299.6c0-51.909-42.181-92.529-93.235-92.529H457.847c5.938 16.911 9.145 34.846 9.145 53.429 0 49.305-22.479 94.079-59.07 127.114h23.635c4.579 0 8.106 2.135 9.864 5.669 0.764 1.536 1.186 3.342 1.221 5.347 0.001 0.091 0.012 0.178 0.012 0.27 0 0.093-0.011 0.181-0.012 0.273-0.035 2.004-0.457 3.808-1.22 5.344-1.758 3.534-5.285 5.669-9.864 5.669h-53.782c-34.946 21.597-77.765 34.313-124.027 34.313-18.321 0-36.101-1.996-53.067-5.745V726.15c0 49.65 42.181 90.273 93.235 90.273h173.166c-31.09-11.284-48.847-33.849-51.068-72.227zM287.252 489.173c0-6.759 4.447-11.274 11.111-11.274h133.191c6.66 0 11.098 4.518 11.097 11.274v0.002c0.001 6.772-4.437 11.286-11.097 11.286H298.363c-4.451 0-11.111-4.512-11.111-11.286v-0.002z m88.801 90.284c0 4.651-2.096 8.235-5.569 10.021-0.632 0.324-1.31 0.591-2.027 0.791a12.861 12.861 0 0 1-3.497 0.461h-66.595c-3.94 0-7.095-1.585-9.024-4.271-1.333-1.857-2.086-4.236-2.086-7.002v-0.002c0-2.837 0.788-5.269 2.182-7.146 0.063-0.085 0.119-0.177 0.185-0.259 0.024-0.029 0.052-0.057 0.077-0.087 1.951-2.398 4.964-3.794 8.667-3.794h66.595c6.659 0 11.093 4.507 11.093 11.286v0.002h-0.001z"
fill="#FFFFFF" p-id="2380"></path>
<path d="M442.651 398.9c0 0.093-0.011 0.181-0.012 0.273 0.003-0.091 0.012-0.179 0.012-0.273zM441.419 393.283c0.764 1.536 1.185 3.342 1.221 5.347-0.036-2.005-0.456-3.811-1.221-5.347zM431.556 410.186h-53.781l-0.001 0.001 53.782-0.001c4.579 0.001 8.106-2.134 9.864-5.668-1.758 3.533-5.286 5.668-9.864 5.668zM370.483 589.479zM287.254 579.457c0 2.766 0.753 5.145 2.086 7.002-1.332-1.857-2.085-4.237-2.086-7.002zM298.365 568.169c-3.703 0-6.716 1.396-8.667 3.794 1.951-2.4 4.965-3.794 8.667-3.794zM370.483 589.479c3.474-1.786 5.569-5.37 5.569-10.021v-0.001c0.001 4.651-2.095 8.235-5.569 10.022zM289.437 572.309c0.063-0.085 0.119-0.177 0.185-0.259-0.067 0.082-0.122 0.174-0.185 0.259zM298.363 477.898h133.191c6.659 0 11.096 4.517 11.097 11.274v-0.001c0.001-6.757-4.437-11.274-11.097-11.274l-133.191 0.001c-6.664-0.001-11.111 4.516-11.111 11.273v0.001c0.001-6.757 4.448-11.274 11.111-11.274zM751.233 572.678c-24.429-22.569-44.41-27.078-51.066-27.078 28.863-15.805 46.616-47.403 46.616-83.505 0-54.162-42.166-97.044-95.46-97.044-53.274 0-95.443 42.882-93.232 97.044 0 36.102 17.768 65.456 46.614 83.505h-11.091c-0.002 0-22.206 0-55.503 27.078-33.301 27.085-73.258 85.758-71.032 153.475 2.209 67.7 73.251 67.7 177.588 67.7 104.341 0 175.386 0 177.601-67.7 2.221-67.717-39.959-124.142-71.035-153.475zM287.252 398.899c0-6.77 6.66-11.284 11.111-11.284h109.555l0.002-0.001H298.363c-4.451 0-11.111 4.513-11.111 11.285z"
fill="#FFFFFF" p-id="2381"></path>
<path d="M377.771 410.187h-79.408c-4.451 0-11.111-4.516-11.111-11.286 0-6.772 6.66-11.286 11.111-11.286H407.92c36.592-33.035 59.07-77.809 59.07-127.114 0-18.583-3.205-36.519-9.145-53.429H293.913c-51.053 0-93.235 40.622-93.235 92.529v139.155c16.966 3.75 34.746 5.745 53.067 5.745 46.263-0.001 89.081-12.718 124.026-34.314z"
fill="#FFFFFF" opacity=".4" p-id="2382"></path>
<path d="M298.363 410.186c-4.451 0-11.11-4.515-11.111-11.286 0 6.77 6.66 11.287 11.111 11.286l79.408 0.001 0.002-0.001h-79.41z"
fill="#FFFFFF" p-id="2383"></path>
</svg>
Reviewer</p>
<p @click="Yout()">
<svg t="1629711576551" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2835"
width="25" height="25" style="margin: 0 10px -5px 0;">
<path d="M512 512m-512 0a512 512 0 1 0 1024 0 512 512 0 1 0-1024 0Z" fill="#F9A336" p-id="2836"></path>
<path d="M478.863 281.379c27.563-14.681 61.525-10.109 84.158 11.295a13.88 13.88 0 0 0 12.704 3.952 215.253 215.253 0 0 0 51.233-18.685c4.016-2.174 6.773-6.108 7.419-10.591 0.655-4.485-0.902-9.027-4.147-12.209l-36.441-36.196c-46.007-45.536-120.585-45.536-166.592 0L271.128 372.822l-2.682 3.643c-8.651 11.974-13.281 26.356-13.203 41.098V578.62c25.404-10.901 52.646-16.99 80.321-17.993l-0.301-0.2c0-11.891 9.744-21.537 21.746-21.537h294.363c11.416 0.765 20.271 10.153 20.271 21.492 0 11.323-8.854 20.721-20.271 21.479H440c40.799 19.337 74.749 50.416 97.407 89.174h30.764c11.424 0.774 20.279 10.167 20.279 21.491s-8.856 20.718-20.279 21.5H556.65c16.915 52.178 13.7 108.718-9.022 158.681h106.43c64.85-0.22 117.337-52.293 117.451-116.518V544.697l-1.189-122.13c-0.136-17.984-7.241-35.232-19.854-48.183l-2.494-2.551-44.171-43.762c-5.039-4.889-12.898-5.513-18.675-1.465-29.428 19.615-62.386 33.467-97.084 40.814a15.084 15.084 0 0 0-9.945 8.248c-13.644 27.883-43.87 43.905-74.868 39.676-30.998-4.228-55.739-27.729-61.277-58.221-5.556-30.5 9.349-61.077 36.911-75.744z"
fill="#FFFFFF" p-id="2837"></path>
<path d="M527.873 314.113c-5.848-0.307-11.581 1.751-15.827 5.729a21.042 21.042 0 0 0-6.721 15.315c-0.487 11.875 8.777 21.889 20.757 22.421h4.473c20.946 0 109.208-3.917 176.913-67.441l1.104-1.085c28.229-32.735 39.854-76.425 31.565-118.678-1.2-7.956-6.762-14.581-14.438-17.202-7.678-2.626-16.176-0.792-22.059 4.765-5.885 5.532-8.166 13.848-5.896 21.576 5.448 28.407-2.155 57.744-20.768 80.039-62.245 57.128-148.122 54.561-149.103 54.561z"
fill="#FFFFFF" p-id="2838"></path>
<path d="M365.451 671.15h171.955c-22.657-38.772-56.607-69.856-97.406-89.191h-83.09c-11.891-0.06-21.535-9.562-21.646-21.335a224.283 224.283 0 0 0-80.021 17.995v177.574c0.057 64.312 52.625 116.461 117.539 116.614h174.745a219.692 219.692 0 0 0 9.045-158.697H365.451c-8.108 0.551-15.84-3.428-20.053-10.294a21.415 21.415 0 0 1 0-22.372c4.213-6.885 11.945-10.844 20.053-10.294z"
fill="#FFFFFF" opacity=".4" p-id="2839"></path>
</svg>
Young scientist member</p>
</el-dialog>
</div>
</template>
@@ -40,11 +120,18 @@
export default {
data: function() {
return {
baseUrl: this.Common.baseUrl,
aa: localStorage.getItem('ms_journal'),
orcidLink: 'https://orcid.org/oauth/authorize?client_id=APP-PKF0BGRP6DWM6FUB&response_type=code&scope=/authenticate&redirect_uri=https://submission.tmrjournals.com/orcidLink',
roleVisible: false,
showCLO: false,
user_cap: '',
param: {
username: '',
password: ''
password: '',
// code: '',
// image: '',
// random_num: ''
},
rules: {
username: [{
@@ -56,10 +143,18 @@
required: true,
message: 'Please input a password',
trigger: 'blur'
}],
code: [{
required: true,
message: 'Please enter the captcha.',
trigger: 'blur'
}]
}
};
},
created: function() {
this.getCaptcha();
},
methods: {
submitForm() {
//登录操作
@@ -68,7 +163,6 @@
this.$api
.post('api/User/checkLogin', this.param)
.then((res) => {
console.log(res);
if (res.code == 1) {
this.$message.error('Login failed, user name or password error!');
return false;
@@ -80,30 +174,82 @@
localStorage.setItem('U_role', 'superadmin');
localStorage.setItem('U_name', res.userinfo.account);
localStorage.setItem('U_id', res.userinfo.user_id);
this.$router.push('/');
} else if (res.data.roles.includes('editor')) {
localStorage.setItem('U_status', '1'); //编辑
localStorage.setItem('U_role', res.data.roles);
localStorage.setItem('U_name', res.data.userinfo.account);
localStorage.setItem('U_id', res.data.userinfo.user_id);
this.$router.push('/');
} else {
localStorage.setItem('U_status', '2'); //其余的身份
localStorage.setItem('U_role', res.data.roles);
localStorage.setItem('U_name', res.data.userinfo.account);
localStorage.setItem('U_id', res.data.userinfo.user_id);
localStorage.setItem('U_relname', res.data.userinfo.realname);
this.roleVisible = true;
this.user_cap = res.data.roles;
}
this.$router.push('/');
}
})
.catch((err) => {
console.log(err);
this.$message.error(err);
});
} else {
this.$message.error('Please enter the correct account and password');
console.log('error submit!!');
this.$message.error('error submit!!');
return false;
}
});
},
// 分角色登录
Auth() { //作者
if (this.user_cap.includes('author')) {
this.$router.push('/');
} else {
this.$message.error("Sorry, you can not login as Author, please contact publisher@tmrjournals.com.");
}
},
Chie() { //主编
if (this.user_cap.includes('chief')) {
this.$router.push('/managing');
} else {
this.$message.error("Sorry, you can not login as Editor-in-Chief, please contact publisher@tmrjournals.com.");
}
},
Edit() { //编委
if (this.user_cap.includes('board')) {
this.$router.push('/editorial');
} else {
this.$message.error("Sorry, you can not login as Editorial board member, please contact publisher@tmrjournals.com.");
}
},
Revi() { //审稿人
if (this.user_cap.includes('reviewer')) {
this.$router.push('/peerewer');
} else {
this.$message.error("Sorry, you can not login as Reviewer, please contact publisher@tmrjournals.com.");
}
},
Yout() { //青年编委
if (this.user_cap.includes('yboard')) {
this.$message.error('!')
// this.$router.push('/youthed');
} else {
this.$message.error("Sorry, you can not login as Young scientist member, please contact publisher@tmrjournals.com.");
}
},
// 验证码
refreshCode() {
this.getCaptcha();
},
getCaptcha() {
this.param.random_num = Math.random();
this.param.image = this.baseUrl + 'api/User/retrieveCaptcha?a=' + this.param.random_num;
},
doRegister() {
//注册页面
this.$router.push({
@@ -130,16 +276,16 @@
width: 100%;
height: 100%;
background-image: url(../../assets/img/login-bg.jpg);
background-size: 100%;
background-size: cover;
}
.ms-title {
width: 100%;
line-height: 50px;
line-height: 70px;
text-align: center;
font-size: 20px;
color: #fff;
border-bottom: 1px solid #ddd;
color: #000;
/* border-bottom: 1px solid #ddd; */
}
.ms-login {
@@ -149,12 +295,13 @@
width: 350px;
margin: -190px 0 0 -175px;
border-radius: 5px;
background: rgba(255, 255, 255, 0.3);
background: #fff;
/* background: rgba(255, 255, 255, 0.3); */
overflow: hidden;
}
.ms-content {
padding: 30px 30px;
padding: 0px 30px 30px 30px;
}
.login-btn {
@@ -178,4 +325,20 @@
width: 15px;
height: 15px;
}
.captchaimg {
margin-top: 2px;
margin-left: 4px;
}
.show_CLO p {
color: #000;
cursor: pointer;
font-size: 18px;
margin-bottom: 20px;
}
.show_CLO p:hover {
text-decoration: underline;
}
</style>

View File

@@ -1,72 +1,40 @@
<template>
<div class="login-wrap">
<div class="ms-login">
<div class="ms-title">User Register</div>
<el-form
class="ms-content"
:rules="registerRules"
ref="registerForm"
:model="registerForm"
label-width="0"
>
<!-- 用户名 -->
<el-form-item prop="username">
<el-input
size="small"
v-model="registerForm.username"
auto-complete="off"
placeholder="username"
>
<i slot="prefix" class="el-icon-user"></i>
</el-input>
</el-form-item>
<!-- 密码 -->
<el-form-item prop="password">
<el-input
size="small"
v-model="registerForm.password"
auto-complete="off"
placeholder="password"
show-password
>
<i slot="prefix" class="el-icon-lock"></i>
</el-input>
</el-form-item>
<!-- 姓名 -->
<el-form-item prop="name">
<el-input
size="small"
v-model="registerForm.name"
auto-complete="off"
placeholder="realname"
>
<i slot="prefix" class="el-icon-edit-outline"></i>
</el-input>
</el-form-item>
<!-- 手机 -->
<el-form-item prop="phone">
<el-input
size="small"
v-model="registerForm.phone"
auto-complete="off"
placeholder="phone"
>
<i slot="prefix" class="el-icon-mobile-phone" />
</el-input>
</el-form-item>
<!-- 邮件 -->
<el-form-item prop="email">
<el-input
size="small"
v-model="registerForm.email"
auto-complete="off"
placeholder="email"
>
<i slot="prefix" class="el-icon-message"></i>
</el-input>
</el-form-item>
<!-- ORCID -->
<!-- <el-form-item prop="orcid" v-if="registerForm.usertype === '1'">
<div class="login-wrap">
<div class="ms-login">
<div class="ms-title">User Register</div>
<el-form class="ms-content" :rules="registerRules" ref="registerForm" :model="registerForm" label-width="0">
<!-- 用户名 -->
<el-form-item prop="username">
<el-input size="small" v-model="registerForm.username" auto-complete="off" placeholder="username">
<i slot="prefix" class="el-icon-user"></i>
</el-input>
</el-form-item>
<!-- 密码 -->
<el-form-item prop="password">
<el-input size="small" v-model="registerForm.password" auto-complete="off" placeholder="password" show-password>
<i slot="prefix" class="el-icon-lock"></i>
</el-input>
</el-form-item>
<!-- 姓名 -->
<el-form-item prop="name">
<el-input size="small" v-model="registerForm.name" auto-complete="off" placeholder="realname">
<i slot="prefix" class="el-icon-edit-outline"></i>
</el-input>
</el-form-item>
<!-- 手机 -->
<el-form-item prop="phone">
<el-input size="small" v-model="registerForm.phone" auto-complete="off" placeholder="phone">
<i slot="prefix" class="el-icon-mobile-phone" />
</el-input>
</el-form-item>
<!-- 邮件 -->
<el-form-item prop="email">
<el-input size="small" v-model="registerForm.email" auto-complete="off" placeholder="email">
<i slot="prefix" class="el-icon-message"></i>
</el-input>
</el-form-item>
<!-- ORCID -->
<!-- <el-form-item prop="orcid" v-if="registerForm.usertype === '1'">
<el-input
size="small"
v-model="registerForm.orcid"
@@ -77,227 +45,212 @@
</el-input>
</el-form-item> -->
<!-- 验证码 -->
<el-form-item prop="code">
<el-row :span="24">
<el-col :span="16">
<el-input
size="small"
v-model="registerForm.code"
auto-complete="off"
placeholder="captcha"
>
<i slot="prefix" class="el-icon-key" />
</el-input>
</el-col>
<el-col :span="8">
<div class="login-code">
<img
:src="image"
@click="refreshCode"
alt="captcha"
class="captchaimg"
/>
</div>
</el-col>
</el-row>
</el-form-item>
<!-- 按钮 -->
<el-row type="flex" justify="center">
<el-col :span="6">
<el-form-item>
<el-button
size="small"
type="primary"
@click.native.prevent="handleRegister"
class="register-submit"
>Register</el-button>
</el-form-item>
</el-col>
<el-col :span="14"></el-col>
<el-col :span="4">
<el-link :underline="false" type="primary" href="/" class="rebacklogin">Go login</el-link>
</el-col>
</el-row>
</el-form>
</div>
</div>
<!-- 验证码 -->
<el-form-item prop="code">
<el-row :span="24">
<el-col :span="16">
<el-input size="small" v-model="registerForm.code" auto-complete="off" placeholder="captcha">
<i slot="prefix" class="el-icon-key" />
</el-input>
</el-col>
<el-col :span="8">
<div class="login-code">
<img :src="image" @click="refreshCode" alt="captcha" class="captchaimg" />
</div>
</el-col>
</el-row>
</el-form-item>
<!-- 按钮 -->
<el-row type="flex" justify="center">
<el-col :span="6">
<el-form-item>
<el-button size="small" type="primary" @click.native.prevent="handleRegister" class="register-submit">Register</el-button>
</el-form-item>
</el-col>
<el-col :span="14"></el-col>
<el-col :span="4">
<el-link :underline="false" type="primary" href="/" class="rebacklogin">Go login</el-link>
</el-col>
</el-row>
</el-form>
</div>
</div>
</template>
<script>
export default {
data: function() {
return {
baseUrl: this.Common.baseUrl,
//验证码图片
image: '',
registerForm: {
//用户名
username: '',
//密码
password: '',
//姓名
name: '',
//手机
phone: '',
//邮件
email: '',
//ORCID
// orcid: '',
//验证码的值
code: '',
//验证码key
random_num: 0
export default {
data: function() {
return {
baseUrl: this.Common.baseUrl,
//验证码图片
image: '',
registerForm: {
//用户名
username: '',
//密码
password: '',
//姓名
name: '',
//手机
phone: '',
//邮件
email: '',
//ORCID
// orcid: '',
//验证码的值
code: '',
//验证码key
random_num: 0
},
registerRules: {
username: [
{
required: true,
message: 'Please enter your username.',
trigger: 'blur'
}
],
password: [
{
required: true,
message: 'Please enter your password.',
trigger: 'blur'
},
{
min: 6,
message: 'The password number cannot be less than 6 characters.',
trigger: 'blur'
}
],
name: [
{
required: true,
message: 'Please enter your real name.',
trigger: 'blur'
}
],
phone: [
{
required: true,
message: 'Please enter the correct mobile phone number.',
trigger: 'blur'
}
],
email: [
{
required: true,
message: 'Please enter your email address.',
trigger: 'blur'
},
{
type: 'email',
message: 'Email address format errorexample@gmail.com.',
trigger: 'blur'
}
],
code:[
{
required:true,
message:'Captcha code cannot be empty.',
trigger:'blur'
}
]
}
};
},
created: function() {
this.getCaptcha();
},
methods: {
refreshCode() {
this.getCaptcha();
},
handleRegister() {
this.$refs.registerForm.validate(valid => {
if (valid) {
this.$api
.post('api/user/register', this.registerForm)
.then(res => {
if(res == 'existence'){//重复注册
this.$message.error('Failed to register, user name email is occupied!');
return false;
}else if(res == 'errcaptcha'){
this.$message.error('Verification code error!');
return false;
}else{
this.$message.success('register success');
this.$router.push('/');
}
})
.catch(err => {
console.log(err);
});
} else {
this.$message.error('The registration information is incorrect. Please check and submit again');
console.log('error submit!!');
return false;
}
});
},
getCaptcha() {
this.registerForm.random_num = Math.random();
this.image = this.baseUrl+'api/User/testCaptcha?a=' + this.registerForm.random_num;
}
}
};
},
registerRules: {
username: [{
required: true,
message: 'Please enter your username.',
trigger: 'blur'
}],
password: [{
required: true,
message: 'Please enter your password.',
trigger: 'blur'
},
{
min: 6,
message: 'The password number cannot be less than 6 characters.',
trigger: 'blur'
}
],
name: [{
required: true,
message: 'Please enter your real name.',
trigger: 'blur'
}],
phone: [{
required: true,
message: 'Please enter the correct mobile phone number.',
trigger: 'blur'
}],
email: [{
required: true,
message: 'Please enter your email address.',
trigger: 'blur'
},
{
type: 'email',
message: 'Email address format errorexample@gmail.com.',
trigger: 'blur'
}
],
code: [{
required: true,
message: 'Captcha code cannot be empty.',
trigger: 'blur'
}]
}
};
},
created: function() {
this.getCaptcha();
},
methods: {
refreshCode() {
this.getCaptcha();
},
handleRegister() {
this.$refs.registerForm.validate(valid => {
if (valid) {
this.$api
.post('api/user/register', this.registerForm)
.then(res => {
if (res == 'existence') { //重复注册
this.$message.error('Failed to register, user name email is occupied!');
return false;
} else if (res == 'errcaptcha') {
this.$message.error('Verification code error!');
return false;
} else {
this.$message.success('register success');
this.$router.push('/');
}
})
.catch(err => {
console.log(err);
});
} else {
this.$message.error('The registration information is incorrect. Please check and submit again');
console.log('error submit!!');
return false;
}
});
},
getCaptcha() {
this.registerForm.random_num = Math.random();
this.image = this.baseUrl + 'api/User/testCaptcha?a=' + this.registerForm.random_num;
}
}
};
</script>
<style scoped>
.login-wrap {
position: relative;
width: 100%;
height: 100%;
background-image: url(../../assets/img/login-bg.jpg);
background-size: 100%;
}
.ms-title {
width: 100%;
line-height: 50px;
text-align: center;
font-size: 20px;
color: #fff;
border-bottom: 1px solid #ddd;
}
.ms-login {
position: absolute;
left: 50%;
top: 50%;
width: 500px;
margin: -190px 0 0 -175px;
border-radius: 5px;
background: rgba(255, 255, 255, 0.3);
overflow: hidden;
}
.ms-content {
padding: 30px 30px;
}
.login-btn {
text-align: center;
}
.login-btn button {
width: 100%;
height: 36px;
margin-bottom: 10px;
}
.login-tips {
font-size: 12px;
line-height: 30px;
color: #fff;
}
.register-submit {
margin: auto;
}
.rebacklogin {
padding-top: 13px;
}
.captchaimg {
margin-top: 2px;
margin-left: 8px;
}
</style>
.login-wrap {
position: relative;
width: 100%;
height: 100%;
background-image: url(../../assets/img/login-bg.jpg);
background-size: cover;
}
.ms-title {
width: 100%;
line-height: 70px;
text-align: center;
font-size: 20px;
color: #000;
/* border-bottom: 1px solid #ddd; */
}
.ms-login {
position: absolute;
left: 50%;
top: 50%;
width: 500px;
margin: -240px 0 0 -250px;
border-radius: 5px;
background: #fff;
/* background: rgba(255, 255, 255, 0.3); */
overflow: hidden;
}
.ms-content {
padding: 0 30px 30px 30px;
}
.login-btn {
text-align: center;
}
.login-btn button {
width: 100%;
height: 36px;
margin-bottom: 10px;
}
.login-tips {
font-size: 12px;
line-height: 30px;
color: #fff;
}
.register-submit {
margin: auto;
}
.rebacklogin {
padding-top: 13px;
}
.captchaimg {
margin-top: 2px;
margin-left: 8px;
}
</style>

View File

@@ -1,205 +1,207 @@
<template>
<div class="login-wrap">
<div class="ms-login">
<div class="ms-title">{{$t('system.forgetpwd')}}</div>
<el-form
:model="param"
:rules="rules"
ref="retrieve"
label-width="0px"
class="ms-content"
>
<el-form-item prop="username">
<el-input v-model="param.username" placeholder="username">
<i slot="prefix" class="el-icon-lx-people" />
</el-input>
</el-form-item>
<el-form-item prop="code">
<el-row :span="24">
<el-col :span="16">
<el-input
size="small"
v-model="param.code"
auto-complete="off"
placeholder="captcha"
>
<i slot="prefix" class="el-icon-key" />
</el-input>
</el-col>
<el-col :span="8">
<div class="login-code">
<img
:src="param.image"
@click="refreshCode"
alt="captcha"
class="captchaimg"
/>
</div>
</el-col>
</el-row>
</el-form-item>
<el-row>
<el-col :span="16">
<div class="login-btn">
<el-button type="primary" @click="submitForm">Submit</el-button>
</div>
</el-col>
<el-col :span="8">
<div class="backlink">
<el-link type="primary" href="/">Go login</el-link>
</div>
</el-col>
</el-row>
<!--<el-row style="text-align: center; margin-top: -10px;;">
<div class="login-wrap">
<div class="ms-login">
<div class="ms-title">{{$t('system.forgetpwd')}}</div>
<el-form :model="param" :rules="rules" ref="retrieve" label-width="0px" class="ms-content">
<el-form-item prop="username">
<el-input v-model="param.username" placeholder="username">
<i slot="prefix" class="el-icon-lx-people" />
</el-input>
</el-form-item>
<el-form-item prop="code">
<el-row :span="24">
<el-col :span="16">
<el-input size="small" v-model="param.code" auto-complete="off" placeholder="captcha">
<i slot="prefix" class="el-icon-key" />
</el-input>
</el-col>
<el-col :span="8">
<div class="login-code">
<img :src="param.image" @click="refreshCode" alt="captcha" class="captchaimg" />
</div>
</el-col>
</el-row>
</el-form-item>
<el-row>
<el-col :span="16">
<div class="login-btn">
<el-button type="primary" @click="submitForm">Submit</el-button>
</div>
</el-col>
<el-col :span="8">
<div class="backlink">
<el-link type="primary" href="/">Go login</el-link>
</div>
</el-col>
</el-row>
<!--<el-row style="text-align: center; margin-top: -10px;;">
<el-link type="primary">忘记密码</el-link>
<el-link type="primary" @click="doRegister()">用户注册</el-link>
</el-row>-->
</el-form>
</div>
</div>
</el-form>
</div>
</div>
</template>
<script>
export default {
data: function() {
return {
baseUrl: this.Common.baseUrl,
email: '',
param: {
image: '',
username: '',
code: '',
random_num: ''
},
rules: {
username: [{ required: true, message: 'Please enter your username.', trigger: 'blur' }],
code: [{ required: true, message: 'Please enter the captcha.', trigger: 'blur' }]
}
};
},
created: function() {
this.getCaptcha();
},
methods: {
submitForm() {
this.$refs.retrieve.validate(valid => {
if (valid) {
this.$api
.post('api/user/retrieveGetEmail', this.param)
.then(res => {
if (res.code == 0) {
this.email = res.email;
this.open();
} else {
this.$message.error(res.msg);
return false;
}
})
.catch(err => {
console.log(err);
});
} else {
this.$message.error('请输入正确的账号和密码');
console.log('error submit!!');
return false;
}
});
},
refreshCode() {
this.getCaptcha();
},
getCaptcha() {
this.param.random_num = Math.random();
this.param.image = this.baseUrl+'api/User/retrieveCaptcha?a=' + this.param.random_num;
},
open() {
var content = '将有一封邮件发送到您的邮箱:' + this.email + ',后续操作将在邮件内进行。';
this.$confirm(content, '确认信息', {
distinguishCancelAndClose: true,
confirmButtonText: '确认发送',
cancelButtonText: '放弃'
})
.then(() => {
this.$api
.post('api/User/retrievePushEmail', { email: this.email })
.then(res => {
console.log(res);
if (res.code == 0) {
this.$message({
type: 'success',
message: '发送成功'
});
this.$router.push('/');
} else {
this.$message({
type: 'warning',
message: res.msg
});
}
})
.catch(err => {
console.log(err);
});
})
.catch(action => {
this.$message({
type: 'info',
message: action === 'cancel' ? '放弃保存并离开页面' : '停留在当前页面'
});
});
}
}
};
export default {
data: function() {
return {
baseUrl: this.Common.baseUrl,
email: '',
param: {
image: '',
username: '',
code: '',
random_num: ''
},
rules: {
username: [{
required: true,
message: 'Please enter your username.',
trigger: 'blur'
}],
code: [{
required: true,
message: 'Please enter the captcha.',
trigger: 'blur'
}]
}
};
},
created: function() {
this.getCaptcha();
},
methods: {
submitForm() {
this.$refs.retrieve.validate(valid => {
if (valid) {
this.$api
.post('api/user/retrieveGetEmail', this.param)
.then(res => {
if (res.code == 0) {
this.email = res.email;
this.open();
} else {
this.$message.error(res.msg);
return false;
}
})
.catch(err => {
console.log(err);
});
} else {
this.$message.error('请输入正确的账号和密码');
console.log('error submit!!');
return false;
}
});
},
refreshCode() {
this.getCaptcha();
},
getCaptcha() {
this.param.random_num = Math.random();
this.param.image = this.baseUrl + 'api/User/retrieveCaptcha?a=' + this.param.random_num;
},
open() {
var content = '将有一封邮件发送到您的邮箱:' + this.email + ',后续操作将在邮件内进行。';
this.$confirm(content, '确认信息', {
distinguishCancelAndClose: true,
confirmButtonText: '确认发送',
cancelButtonText: '放弃'
})
.then(() => {
this.$api
.post('api/User/retrievePushEmail', {
email: this.email
})
.then(res => {
console.log(res);
if (res.code == 0) {
this.$message({
type: 'success',
message: '发送成功'
});
this.$router.push('/');
} else {
this.$message({
type: 'warning',
message: res.msg
});
}
})
.catch(err => {
console.log(err);
});
})
.catch(action => {
this.$message({
type: 'info',
message: action === 'cancel' ? '放弃保存并离开页面' : '停留在当前页面'
});
});
}
}
};
</script>
<style scoped>
.login-wrap {
position: relative;
width: 100%;
height: 100%;
background-image: url(../../assets/img/login-bg.jpg);
background-size: 100%;
}
.ms-title {
width: 100%;
line-height: 50px;
text-align: center;
font-size: 20px;
color: #fff;
border-bottom: 1px solid #ddd;
}
.ms-login {
position: absolute;
left: 50%;
top: 50%;
width: 350px;
margin: -190px 0 0 -175px;
border-radius: 5px;
background: rgba(255, 255, 255, 0.3);
overflow: hidden;
}
.ms-content {
padding: 30px 30px;
}
.login-btn {
text-align: center;
}
.login-btn button {
width: 40%;
height: 36px;
margin-bottom: 10px;
}
.login-tips {
font-size: 12px;
line-height: 30px;
color: #fff;
}
.captchaimg {
margin-top: 2px;
margin-left: 4px;
}
.backlink {
text-align: left;
padding-top: 12px;
}
</style>
.login-wrap {
position: relative;
width: 100%;
height: 100%;
background-image: url(../../assets/img/login-bg.jpg);
background-size: 100% 100%;
}
.ms-title {
width: 100%;
line-height: 70px;
text-align: center;
font-size: 20px;
color: #000;
/* border-bottom: 1px solid #ddd; */
}
.ms-login {
position: absolute;
left: 50%;
top: 50%;
width: 350px;
margin: -190px 0 0 -175px;
border-radius: 5px;
background: #fff;
overflow: hidden;
}
.ms-content {
padding: 30px 30px;
}
.login-btn {
text-align: center;
}
.login-btn button {
width: 40%;
height: 36px;
margin-bottom: 10px;
}
.login-tips {
font-size: 12px;
line-height: 30px;
color: #fff;
}
.captchaimg {
margin-top: 2px;
margin-left: 4px;
}
.backlink {
text-align: left;
padding-top: 12px;
}
</style>

View File

@@ -1,158 +1,170 @@
<template>
<div class="login-wrap">
<div class="ms-login">
<div class="ms-title">修改密码</div>
<el-form
:model="param"
:rules="rules"
ref="retrieveact"
label-width="0px"
class="ms-content"
>
<el-form-item prop="password">
<el-input v-model="param.password" placeholder="password">
<i slot="prefix" class="el-icon-key" />
</el-input>
</el-form-item>
<el-form-item prop="repassword">
<el-input v-model="param.repassword" placeholder="repassword">
<i slot="prefix" class="el-icon-key" />
</el-input>
</el-form-item>
<div class="login-btn">
<el-button type="primary" @click="submitForm">提交</el-button>
</div>
</el-form>
</div>
</div>
<div class="login-wrap">
<div class="ms-login">
<div class="ms-title">修改密码</div>
<el-form :model="param" :rules="rules" ref="retrieveact" label-width="0px" class="ms-content">
<el-form-item prop="password">
<el-input v-model="param.password" placeholder="password">
<i slot="prefix" class="el-icon-key" />
</el-input>
</el-form-item>
<el-form-item prop="repassword">
<el-input v-model="param.repassword" placeholder="repassword">
<i slot="prefix" class="el-icon-key" />
</el-input>
</el-form-item>
<div class="login-btn">
<el-button type="primary" @click="submitForm">提交</el-button>
</div>
</el-form>
</div>
</div>
</template>
<script>
export default {
data: function() {
var validatePass2 = (rule, value, callback) => {
if (value === '') {
callback(new Error('Please repeat enter your password'));
} else if (value !== this.param.password) {
callback(new Error('The two input passwords are inconsistent!'));
} else {
callback();
}
};
return {
param: {
actkey: this.$route.query.actkey,
password: '',
repassword: ''
},
rules: {
password: [{ required: true, message: 'Please enter your password.', trigger: 'blur' }],
repassword: [{ required: true, validator: validatePass2, trigger: 'blur' }]
}
};
},
created: function() {
this.check_key();
},
methods: {
check_key() {
this.$api
.post('api/user/checkActkey', { actkey: this.param.actkey })
.then(res => {
if (res.code == 1) {
this.$alert('无效的连接参数', '非法访问', {
confirmButtonText: '确定',
callback: action => {
this.$router.push('/');
}
});
}
})
.catch(err => {
console.log(err);
});
},
submitForm() {
this.$refs.retrieveact.validate(valid => {
if (valid) {
this.$api
.post('api/user/retrieve', this.param)
.then(res => {
if (res.code == 0) {
this.$message({
type: 'success',
message: 'success'
});
this.$router.push('/');
} else {
this.$message({
type: 'info',
message: res.msg
});
}
})
.catch(err => {
console.log(err);
});
} else {
this.$message.error('Please enter the correct account and password.');
console.log('error submit!!');
return false;
}
});
}
}
};
export default {
data: function() {
var validatePass2 = (rule, value, callback) => {
if (value === '') {
callback(new Error('Please repeat enter your password'));
} else if (value !== this.param.password) {
callback(new Error('The two input passwords are inconsistent!'));
} else {
callback();
}
};
return {
param: {
actkey: this.$route.query.actkey,
password: '',
repassword: ''
},
rules: {
password: [{
required: true,
message: 'Please enter your password.',
trigger: 'blur'
}],
repassword: [{
required: true,
validator: validatePass2,
trigger: 'blur'
}]
}
};
},
created: function() {
this.check_key();
},
methods: {
check_key() {
this.$api
.post('api/user/checkActkey', {
actkey: this.param.actkey
})
.then(res => {
if (res.code == 1) {
this.$alert('无效的连接参数', '非法访问', {
confirmButtonText: '确定',
callback: action => {
this.$router.push('/');
}
});
}
})
.catch(err => {
console.log(err);
});
},
submitForm() {
this.$refs.retrieveact.validate(valid => {
if (valid) {
this.$api
.post('api/user/retrieve', this.param)
.then(res => {
if (res.code == 0) {
this.$message({
type: 'success',
message: 'success'
});
this.$router.push('/');
} else {
this.$message({
type: 'info',
message: res.msg
});
}
})
.catch(err => {
console.log(err);
});
} else {
this.$message.error('Please enter the correct account and password.');
console.log('error submit!!');
return false;
}
});
}
}
};
</script>
<style scoped>
.login-wrap {
position: relative;
width: 100%;
height: 100%;
background-image: url(../../assets/img/login-bg.jpg);
background-size: 100%;
}
.ms-title {
width: 100%;
line-height: 50px;
text-align: center;
font-size: 20px;
color: #fff;
border-bottom: 1px solid #ddd;
}
.ms-login {
position: absolute;
left: 50%;
top: 50%;
width: 350px;
margin: -190px 0 0 -175px;
border-radius: 5px;
background: rgba(255, 255, 255, 0.3);
overflow: hidden;
}
.ms-content {
padding: 30px 30px;
}
.login-btn {
text-align: center;
}
.login-btn button {
width: 40%;
height: 36px;
margin-bottom: 10px;
}
.login-tips {
font-size: 12px;
line-height: 30px;
color: #fff;
}
.captchaimg {
margin-top: 2px;
margin-left: 4px;
}
.backlink {
text-align: left;
padding-top: 12px;
}
</style>
.login-wrap {
position: relative;
width: 100%;
height: 100%;
background-image: url(../../assets/img/login-bg.jpg);
background-size: 100%;
}
.ms-title {
width: 100%;
line-height: 50px;
text-align: center;
font-size: 20px;
color: #fff;
border-bottom: 1px solid #ddd;
}
.ms-login {
position: absolute;
left: 50%;
top: 50%;
width: 350px;
margin: -190px 0 0 -175px;
border-radius: 5px;
background: rgba(255, 255, 255, 0.3);
overflow: hidden;
}
.ms-content {
padding: 30px 30px;
}
.login-btn {
text-align: center;
}
.login-btn button {
width: 40%;
height: 36px;
margin-bottom: 10px;
}
.login-tips {
font-size: 12px;
line-height: 30px;
color: #fff;
}
.captchaimg {
margin-top: 2px;
margin-left: 4px;
}
.backlink {
text-align: left;
padding-top: 12px;
}
</style>

File diff suppressed because it is too large Load Diff

View File

@@ -11,18 +11,28 @@
<div class="handle-box">
<el-button type="primary" icon="el-icon-circle-plus-outline" @click="addEditor">add</el-button>
</div>
<div class="handle-box" :rules="rules">
<el-select v-model="query.journal_id" placeholder="请选择期刊" @change="chan_id" style="width: 300px;">
<el-option label="All" :key="0" :value="0"></el-option>
<el-option v-for="item in df_jour" :label="item.title" :key="item.journal_id" :value="item.journal_id"></el-option>
</el-select>
</div>
<el-table :data="tableData" border stripe class="table" ref="multipleTable" header-cell-class-name="table-header">
<el-table-column prop="account" label="username" align="center"></el-table-column>
<el-table-column prop="journal.title" label="journal" align="center"></el-table-column>
<el-table-column prop="realname" label="realname" align="center"></el-table-column>
<el-table-column prop="phone" label="phone" align="center"></el-table-column>
<el-table-column prop="phone" label="phone" align="center" width="150px"></el-table-column>
<el-table-column prop="email" label="email" align="center"></el-table-column>
<el-table-column label="" width="100" align="center">
<template slot-scope="scope">
<el-button type="text" icon="el-icon-edit" @click="handleEdit(scope.$index, scope.row)">Edit</el-button>
<el-button type="text" icon="el-icon-delete" class="red" @click="handleDelete(scope.$index, scope.row)">Delete</el-button>
</template>
</el-table-column>
</el-table>
<div class="pagination">
<el-pagination background layout="total, prev, pager, next" :current-page="query.pageIndex" :page-size="query.pageSize"
:total="Total" @current-change="handlePageChange"></el-pagination>
</div>
</div>
<!-- 添加弹出框 -->
@@ -34,6 +44,12 @@
<el-form-item label="email" prop="email">
<el-input v-model="addForm.email" @blur='saerEm_U()'></el-input>
</el-form-item>
<el-form-item label="journal" prop="journal_id">
<el-select v-model="addForm.journal_id" filterable placeholder="Please select a responsible Journal" value-key="groupID"
style="width: 300px;">
<el-option v-for="item in df_jour" :label="item.title" :key="item.journal_id" :value="item.journal_id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="realname" prop="realname">
<el-input v-model="addForm.realname"></el-input>
</el-form-item>
@@ -53,29 +69,32 @@
</span>
</el-dialog>
<!-- 编辑弹出框 -->
<el-dialog title="Edit editor" :visible.sync="editVisible" width="40%">
<el-form ref="edit_Form" :model="editForm" :rules="rules" label-width="150px">
<el-form-item label="account" prop="account">
<template slot-scope="scope">
{{editForm.account}}
</template>
<!-- 已有信息弹出框 -->
<el-dialog title="Add editorial board" :visible.sync="oldVisible" width="40%">
<el-form ref="old_Form" :model="oldForm" :rules="rules" label-width="100px">
<el-form-item label="account">
{{oldForm.account}}
</el-form-item>
<el-form-item label="email" prop="email">
<template slot-scope="scope">
{{editForm.email}}
</template>
<el-form-item label="email">
{{oldForm.email}}
</el-form-item>
<el-form-item label="realname" prop="realname">
<el-input v-model="editForm.realname"></el-input>
<el-form-item label="journal" prop="journal_id">
<el-select v-model="oldForm.journal_id" filterable placeholder="Please select a responsible Journal" value-key="groupID"
style="width: 300px;">
<el-option v-for="item in df_jour" :label="item.title" :key="item.journal_id" :value="item.journal_id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="phone" prop="phone">
<el-input v-model="editForm.phone"></el-input>
<el-form-item label="realname">
{{oldForm.realname}}
</el-form-item>
<el-form-item label="phone">
{{oldForm.phone}}
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="editVisible = false">Cancel</el-button>
<el-button type="primary" @click="saveEdit(editForm)">OK</el-button>
<el-button @click="oldVisible = false">Cancel</el-button>
<el-button type="primary" @click="saveOld(oldForm)">OK</el-button>
</span>
</el-dialog>
@@ -87,14 +106,20 @@
data() {
return {
tableData: [],
editVisible: false,
df_jour: [],
addVisible: false,
oldVisible: false,
addForm: {},
oldForm: {},
aid: -1,
idx: -1,
id: -1,
btn_alert: false,
addForm: {},
editForm: {},
Total: 0,
query: {
journal_id: 0,
pageIndex: 1,
pageSize: 10
},
rules: {
account: [{
required: true,
@@ -115,6 +140,11 @@
},
trigger: "blur"
}],
journal_id: [{
required: true,
message: 'Please select a responsible Journal',
trigger: 'blur'
}],
password: [{
required: true,
message: 'Please input password',
@@ -132,16 +162,41 @@
this.getdate();
},
methods: {
// 获取编辑列表数据
getdate() {
// 获取主编列表数据
this.$api
.post('api/Chief/getChiefList')
.post('api/Chief/getChiefList',this.query)
.then(res => {
this.tableData = res.data.chiefs;
this.Total = res.data.count || 0;
})
.catch(err => {
this.$message.error(err);
});
// 获取全部期刊
this.$api
.post('api/Chief/getAllJournals')
.then(res => {
if (res.code == 0) {
this.df_jour = res.data.journals;
} else {
this.$message.error(res.msg);
}
})
.catch(err => {
this.$message.error(err);
});
},
// 下拉分类搜索
chan_id(event) {
this.getdate();
},
// 分页导航
handlePageChange(val) {
this.$set(this.query, 'pageIndex', val);
this.getdate();
},
// 添加操作
@@ -160,21 +215,14 @@
.then(res => {
if (res.code == 0) {
if (res.data.user_info != null) {
this.$confirm('该账户已存在,是否将该账户新增主编身份', '提示', {
this.$confirm('This user already exists, do you want to add this user as journal editor', 'Tips', {
type: 'warning'
})
.then(() => {
this.addVisible = false;
this.$refs.add_Form.resetFields();
this.$api
.post('api/Chief/addChief', res.data.user_info)
.then(res => {
this.$message.success(`添加成功`);
this.getdate();
})
.catch(err => {
this.$message.error(err);
});
this.oldVisible = true;
this.oldForm = res.data.user_info;
})
.catch(() => {});
this.btn_alert = true
@@ -200,21 +248,14 @@
.then(res => {
if (res.code == 0) {
if (res.data.user_info != null) {
this.$confirm('该账户已存在,是否将该账户新增主编身份', '提示', {
this.$confirm('This user already exists, do you want to add this user as journal editor', 'Tips', {
type: 'warning'
})
.then(() => {
this.addVisible = false;
this.$refs.add_Form.resetFields();
this.$api
.post('api/Chief/addChief', res.data.user_info)
.then(res => {
this.$message.success(`添加成功`);
this.getdate();
})
.catch(err => {
this.$message.error(err);
});
this.oldVisible = true;
this.oldForm = res.data.user_info;
})
.catch(() => {});
this.btn_alert = true
@@ -243,7 +284,7 @@
if (res.code == 0) {
this.addVisible = false;
this.$refs.add_Form.resetFields();
this.$message.success(`添加成功`);
this.$message.success(`Added successfully`);
this.getdate();
} else {
this.$message.error(res.msg);
@@ -257,26 +298,21 @@
}
});
} else {
this.$message.error("两次新密码输入不一致");
this.$message.error("The two passwords are inconsistent");
}
},
// 编辑操作
handleEdit(index, row) {
this.idx = index;
this.editForm = Object.assign({}, row);
this.editVisible = true;
},
// 保存编辑
saveEdit(editForm) {
this.$refs.edit_Form.validate((valid) => {
// 保存old添加
saveOld(oldForm) {
this.$refs.old_Form.validate((valid) => {
if (valid) {
this.$api
.post('api/Chief/editChief', this.editForm)
.post('api/Chief/addJournalBoardHas', this.oldForm)
.then(res => {
if (res.code == 0) {
this.editVisible = false;
this.$message.success(`更改第 ${this.idx + 1} 行成功`);
this.oldVisible = false;
this.$refs.old_Form.resetFields();
this.$message.success(`Added successfully`);
this.getdate();
} else {
this.$message.error(res.msg);
@@ -286,11 +322,34 @@
this.$message.error(err);
});
} else {
this.$message.error('error submit!!');
return false;
}
});
},
// 删除操作
handleDelete(index, row) {
// 二次确认删除
this.$confirm('Are you sure you want to delete', 'Tips', {
type: 'warning'
})
.then(() => {
this.$api
.post('api/Chief/delChiefToJournal ', row)
.then(res => {
if (res.code == 0) {
this.$message.success('Delete succeeded');
this.getdate();
} else {
this.$message.error(res.msg);
}
})
.catch(err => {
this.$message.error(err);
});
})
.catch(() => {});
}
}
};
</script>
@@ -304,4 +363,8 @@
width: 100%;
font-size: 14px;
}
.red {
color: #ff0000;
}
</style>

View File

@@ -0,0 +1,268 @@
<template>
<div>
<!-- 期刊下拉菜单 -->
<el-dropdown class="link_jour" trigger="click" @command="handlejournal">
<span>
{{ this.cate_title }}<i class="el-icon-arrow-down el-icon--right"></i>
</span>
<el-dropdown-menu :default-active="onRoutes" router slot="dropdown">
<el-dropdown-item v-for="item in cate_jour" :command="item" :index="item.journal_id">
<i :class="item.icon"></i>{{ item.title }}
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<div class="crumbs">
<el-breadcrumb separator="/">
<el-breadcrumb-item>
<i class="el-icon-collection"></i> <span class="top_dao">{{this.head_line}}</span>
</el-breadcrumb-item>
</el-breadcrumb>
</div>
<div class="container container_l">
<el-row :gutter="24">
<el-col :span="16">
<div class="ma_title">
<svg t="1629527802392" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1650"
width="20" height="20" style="margin-bottom: -3px;margin-right: 6px;">
<path d="M188.09 651.19V257.35c0-17.13-0.12-34.27 0-51.4a82.49 82.49 0 0 1 0.56-9.16l-1.07 8a71.88 71.88 0 0 1 4.77-17.7l-3 7.17a65.69 65.69 0 0 1 5.08-9.55c0.48-0.74 1-1.47 1.49-2.19q2.67-3.62-2.29 2.95c1.07-1.06 2-2.31 3-3.39s2.13-2.12 3.26-3.11c5.41-4.73-5.17 3.35-1.05 0.81a65.75 65.75 0 0 1 8.82-4.76l-7.16 3a50.69 50.69 0 0 1 10.88-3l-8 1.07c8-1 16.36-0.45 24.41-0.45h23c15.7 0 30.73-13.8 30-30s-13.18-30-30-30h-40.7c-12.16 0.13-22.91 3-33.85 8-31.57 14.52-48.1 50.18-48.15 83.53q-0.06 38.93 0 77.86v289.88c0 25.06-0.43 50.16 0 75.22v1.06c0 15.69 13.8 30.73 30 30s30-13.18 30-30z"
fill="#0071C3" p-id="1651"></path>
<path d="M918.68 647.94h-15.5V314.68c0-16.09 0.33-32.22 0-48.31v-0.69a28.79 28.79 0 0 0-1.4-8.74 27.62 27.62 0 0 0-7.43-12.57l-60.5-57.69-96.32-91.86-21.95-20.93a28.66 28.66 0 0 0-2.38-2 27.37 27.37 0 0 0-18.92-6.79H386.56c-21.68 0-43.37-0.15-65.05 0-33.19 0.23-66.24 19.24-79.86 50.21-5.43 12.37-8.56 24.66-8.65 38.29v494.34H105.32c-16.28 0-30.12 13.81-30.12 30.13v250.58c0 16.28 13.8 30.12 30.12 30.12h719.9c30.73 0 61.51 0.52 92.23 0h1.23c16.28 0 30.12-13.8 30.12-30.12V678.07c0-16.29-13.8-30.13-30.12-30.13zM797.82 235.55h-33.93c-5.19 0-10.43 0.17-15.63-0.17a61.29 61.29 0 0 1-7-1.93 57.29 57.29 0 0 1-5.73-3.29l-0.24-0.16c-0.94-0.83-1.87-1.66-2.76-2.55s-1.73-1.83-2.56-2.77l-0.15-0.23a58.37 58.37 0 0 1-3.3-5.74 62.29 62.29 0 0 1-2-7.64c-1-12.39-0.06-25.25-0.06-37.56v-8l9.08 8.66z m-504.58-82.16q0-2.05 0.15-4.11a60.48 60.48 0 0 1 2-7.12 56.34 56.34 0 0 1 3.29-5.74l0.15-0.23c0.83-0.94 1.67-1.88 2.56-2.77s1.82-1.72 2.76-2.56l0.24-0.15a56.34 56.34 0 0 1 5.74-3.29 62.66 62.66 0 0 1 7.63-2c12.3-1 25.07-0.05 37.27-0.05h292.13c5.64 0 11.29 0 16.94 0.08-0.09 27.46-0.21 54.92 0 82.38 0.23 23.51 9.58 46.83 26.69 63.18a89.83 89.83 0 0 0 61.5 24.84c19.24 0.17 38.48 0 57.72 0h32.87v318.57c0 11.17-0.16 22.35-0.15 33.52H649.67a25.15 25.15 0 0 0-9.42 1.08c-6.88 2.23-14.81 6.75-17.91 13.65a28.06 28.06 0 0 0-3.08 6.7 154.44 154.44 0 0 1-10.53 18.4c-1.22 1.83-2.51 3.61-3.79 5.39-0.25 0.31-0.5 0.63-0.76 0.94q-4.71 5.7-9.95 10.93-5 5-10.4 9.47l-0.49 0.38c1.35-1 2.34-1.66-0.07 0.13l-1.46 1.06c0.31-0.26 0.68-0.55 1.05-0.83-0.42 0.3-0.84 0.62-1.22 1-1.36 1-2.73 1.95-4.13 2.89a155.31 155.31 0 0 1-22 12.3 157.66 157.66 0 0 1-31.63 8.67 160.51 160.51 0 0 1-33.09 0 157.38 157.38 0 0 1-31.62-8.67 155.09 155.09 0 0 1-21.47-11.91c-1.78-1.18-3.52-2.41-5.25-3.66 0.33 0.28 0.69 0.57 1.08 0.91-0.48-0.41-1-0.8-1.47-1.19a0.71 0.71 0 0 0-0.14-0.1 25.52 25.52 0 0 1-2.61-2.19c-3.07-2.62-6-5.36-8.91-8.21q-5-5-9.5-10.38l-1.16-1.43a203.68 203.68 0 0 1-3.45-4.86 157.45 157.45 0 0 1-13.91-25.5c-4.07-9.39-16.39-14.92-26-14.92h-73.14V212.58c0-19.73-0.15-39.46 0-59.19z m288.18 563c-0.11 0.1-0.23 0.21-0.33 0.32 0.08-0.08 0.2-0.19 0.33-0.31z m262 182.12H198.78c-21.08 0-42.22-0.34-63.33-0.32v-190h212.27c23.5 42.08 64.93 74 111.35 86.61 53.34 14.47 113.4 3.89 157.42-29.9 20.29-15.57 37.82-34.5 50.34-56.71h221.72v190.33z"
fill="#0071C3" p-id="1652"></path>
<path d="M431.3 715l0.72 0.58 0.39 0.28c-2-1.7-2.91-2.41-3.14-2.57zM583.34 714.88l-0.48 0.36z" fill="#0071C3"
p-id="1653"></path>
<path d="M368.17 379.84h240c15.69 0 30.73-13.8 30-30s-13.18-30-30-30h-240c-15.69 0-30.73 13.8-30 30s13.18 30 30 30zM368.17 507.91H719c16.16 0 32.37 0.33 48.53 0h0.69c15.69 0 30.73-13.8 30-30s-13.18-30-30-30H417.39c-16.16 0-32.37-0.33-48.53 0h-0.69c-15.69 0-30.73 13.8-30 30s13.18 30 30 30z"
fill="#FD9A16" p-id="1654"></path>
</svg>
The manuscripts are ready to get final decisions.
</div>
<ul class="ta1_uli">
<li v-for="item in tableData1">
<h5>{{item.type}}</h5>
<router-link target="_blank" :to="{path:'/edit_text',query:{Art_id:item.article_id}}">
<h3>{{item.title}}</h3>
</router-link>
<h6>{{item.author}}</h6>
<h4><span>{{head_line}}.</span><span style="color: #888;">Submitted time: {{item.ctime}}</span><span>{{item.accept_sn}}</span></h4>
</li>
<p v-if="tableData1==''" style="color:#6f6f6f;font-size: 14px;margin-top: 20px;">No article</p>
</ul>
</el-col>
<el-col :span="8">
<div class="ma_title">
<svg t="1629527662744" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3890"
width="20" height="20" style="margin-bottom: -3px;margin-right: 6px;">
<path d="M277.79 206l1.7-1.34-1.49 1.16zM812.16 272.94l-0.06-0.08-0.25-0.31 2 2.69-0.86-1.17zM743.76 805.56l0.08-0.07 0.31-0.24c-1.42 1.06-2.26 1.7-2.69 2l1.17-0.86z"
fill="#0071C3" p-id="3891"></path>
<path d="M929.43 366.16c-24.2-71.91-66.72-137.68-123.37-188.29C749.14 127 679.34 90.48 604.51 74.74 527.24 58.48 445.43 62.36 370.59 88 298.35 112.79 232.42 156 182 213.47c-50.73 57.81-86.91 128.47-101.75 204.11a479.79 479.79 0 0 0-7.92 60.89c-1 15.88 14.71 31.06 30.36 30.36 17.34-0.78 29.23-13.35 30.35-30.36q0.81-12.27 2.32-24.47a412.41 412.41 0 0 1 26.27-96.3 411.4 411.4 0 0 1 26.79-51.54q8.07-13.12 17.1-25.62c1.3-1.81 2.62-3.6 4-5.39l1.44-1.9c3-3.8 6.06-7.58 9.2-11.29a413.71 413.71 0 0 1 42.49-43.31q5.52-4.85 11.2-9.5l4-3.2 0.16-0.13 0.99-0.82 3.16-2.48-2.68 2.12c0.66-0.52 1.37-1.07 1.85-1.42q12-9 24.73-17.17A411.38 411.38 0 0 1 364.44 155a412 412 0 0 1 96.16-26.21 419.29 419.29 0 0 1 102.11 0 412.31 412.31 0 0 1 96.36 26.29A411.16 411.16 0 0 1 710.79 182q13 8 25.43 17 3 2.15 5.88 4.33l1.31 1c4 3.14 7.87 6.31 11.72 9.57a411.9 411.9 0 0 1 43.41 42.71q4.8 5.49 9.41 11.14c1.32 1.61 2.61 3.23 3.9 4.86l-1.24-1.64 1.55 2c1 1.25 2.71 3.58 1.73 2.3q8.72 11.65 16.6 23.91a413 413 0 0 1 31.24 58.65A412.49 412.49 0 0 1 888 454a419.12 419.12 0 0 1 0 102.09 412.39 412.39 0 0 1-26.29 96.37 412.61 412.61 0 0 1-26.92 51.73q-8 13-17 25.42-2.14 3-4.34 5.88c-0.32 0.44-0.66 0.87-1 1.31-3.13 4-6.3 7.88-9.57 11.72a411.9 411.9 0 0 1-42.71 43.41q-5.48 4.8-11.13 9.41-2.43 2-4.87 3.91l1.63-1.25-2 1.55c-1.24 1-3.57 2.7-2.3 1.72q-11.65 8.72-23.9 16.6a413.08 413.08 0 0 1-58.66 31.24 412.28 412.28 0 0 1-96.19 26.22 420 420 0 0 1-102.13 0 412.94 412.94 0 0 1-96.68-26.43 412.57 412.57 0 0 1-76.35-43.43c-2.72-2-5.4-4-8.08-6l-0.48-0.39q-2.42-1.9-4.79-3.85-8.93-7.28-17.42-15a419.54 419.54 0 0 1-32.18-32.88 24.54 24.54 0 0 0-2-2h172.43c15.88 0 31.09-14 30.35-30.35s-13.33-30.36-30.35-30.36H166.91c-15.23 0-32 14-30.36 30.36l6.84 70.2q5.46 55.9 10.9 111.83l2.5 25.58c0.8 8.24 2.85 15.43 8.89 21.47 5.27 5.26 13.9 9.23 21.47 8.89 15.12-0.68 32-13.43 30.35-30.36l-6.84-70.2q-1.72-17.76-3.46-35.52a441.21 441.21 0 0 0 194.12 108.39c80.95 20.81 168.56 18.41 247.94-8 71.79-23.91 137.5-66.07 188.25-122.32 51-56.48 87.7-125.89 103.88-200.34 16.81-77.33 13.3-159.36-11.96-234.46z"
fill="#0071C3" p-id="3892"></path>
<path d="M466.71 289.7v215.35c0 16.48 13.91 30.26 30.36 30.36l72.83 0.41 116.69 0.67 26.71 0.15c15.89 0.09 31.09-14 30.36-30.35-0.74-16.53-13.34-30.26-30.36-30.36l-72.83-0.42-116.69-0.67-26.71-0.15 30.35 30.36V289.7c0-15.88-14-31.09-30.35-30.36s-30.36 13.34-30.36 30.36z"
fill="#FD9A16" p-id="3893"></path>
</svg>
Accepted manuscripts.
</div>
<ul class="ta1_uli">
<li v-for="item in tableData2">
<h5>{{item.type}}</h5>
<router-link target="_blank" :to="{path:'/edit_text',query:{Art_id:item.article_id}}">
<h3>{{item.title}}</h3>
</router-link>
<h6>{{item.author}}</h6>
<h4><span>{{head_line}}.</span><br>
<span style="color: #888;">Submitted time: {{item.ctime}}</span><span>{{item.accept_sn}}</span></h4>
</li>
<p v-if="tableData2==''" style="color:#6f6f6f;font-size: 14px;margin-top: 20px;">No historical articles</p>
</ul>
</el-col>
</el-row>
</div>
</div>
</template>
<script>
export default {
data() {
return {
Direct_log: this.$route.query.act,
head_line: "",
query: {
user_id: localStorage.getItem('U_id')
},
tableData1: [],
tableData2: [],
link_Tota2: 0,
cate_title: [],
cate_jour: []
};
},
mounted() {
},
created() {
if (this.Direct_log == null) {
this.getTable();
} 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.userinfo.realname);
this.getTable();
} else {
this.$message.error(res.msg);
}
})
.catch(err => {
this.$message.error(err);
});
}
},
methods: {
// 获取数据
getTable() {
this.$api
.post('api/Board/getBoardJournals', this.query)
.then(res => {
if (res.code == 0) {
this.cate_jour = res.data.journals
this.cate_title = this.cate_jour[0].title
localStorage.setItem('journal_title', this.cate_jour[0].title);
localStorage.setItem('journal_id', this.cate_jour[0].journal_id);
this.head_line = this.cate_jour[0].title;
this.query.journal_id = this.cate_jour[0].journal_id;
this.getData();
} else {
this.$message.error(res.msg);
}
})
.catch(err => {
this.$message.error(err);
});
},
getData() {
this.$api
.post('api/Board/getBoardPendArticle', this.query)
.then(res => {
if (res.code == 0) {
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.tableData1 = res.data.articles;
} else {
this.$message.error(res.msg);
}
})
.catch(err => {
this.$message.error(err);
});
this.$api
.post('api/Board/getBoardHistArticles', this.query)
.then(res => {
if (res.code == 0) {
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);
});
},
// 期刊下拉菜单点击
handlejournal(command) {
this.cate_title = command.title;
localStorage.setItem('journal_title', command.title);
localStorage.setItem('journal_id', command.journal_id);
this.head_line = command.title;
this.query.journal_id = command.journal_id;
this.getData();
}
},
computed: {
onRoutes() {
0
return this.$route.path.replace('/', '');
}
},
watch: {
}
};
</script>
<style scoped>
.ma_title {
margin-bottom: 5px;
font-weight: bold;
color: #006699;
}
.ta1_uli li {
list-style: none;
border-bottom: 2px solid #dcdcdc;
/* box-shadow: 0 0 10px #e1e1e1; */
padding: 10px 20px 20px 20px;
background-color: #fff;
margin-top: 20px;
}
.ta1_uli li:hover {
/* background: #fafafa; */
}
.ta1_uli li h3 {
color: #000;
margin-top: 8px;
font-family: "Helvetica Neue", Helvetica, Georgia, sans-serif;
}
.ta1_uli li h3:hover {
text-decoration: underline;
}
.ta1_uli li h4 {
/* color: #6f6f6f; */
margin-top: 8px;
font-weight: normal;
font-size: 15px;
line-height: 22px;
}
.ta1_uli li h4 span {
margin-right: 10px;
}
.ta1_uli li h5 {
color: #006699;
margin-top: 5px;
padding-bottom: 10px;
font-weight: normal;
border-bottom: 1px solid #f1f1f1;
}
.ta1_uli li h6 {
font-weight: normal;
font-family: Calibri;
font-size: 16px;
margin-top: 10px;
}
</style>

View File

@@ -0,0 +1,408 @@
<template>
<div>
<div class="crumbs">
<el-breadcrumb separator="/">
<el-breadcrumb-item>
<i class="el-icon-collection"></i>
<router-link :to="{path:'/editorial'}">
<span class="top_dao">{{this.head_line}}</span>
</router-link>
</el-breadcrumb-item>
</el-breadcrumb>
</div>
<div class="container container_l">
<el-row :gutter="24">
<el-col :span="16">
<div class="tet_list" :model="txt_mess">
<h4>{{txt_mess.title}}</h4>
<h5>{{this.head_line}}<span style="margin: 0 10px;">>></span> Manuscript ID: {{txt_mess.accept_sn}}</h5>
<p>{{txt_mess.author}}</p>
<div class="file_sty" v-for="item in fileList">
<svg t="1629609240510" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"
p-id="3814" width="15" height="15" style="margin: 20px 10px -2px 0;">
<path d="M1024.00906 393.054v548.774c0 45.39-36.776 82.166-82.146 82.166H266.89306c-38.776 0-71.268-26.868-79.9-63.006l-0.33-46.976-1.916-279.754V82.166C184.74506 36.778 221.52306 0 266.89306 0h364.064c32.718 0 138.682 90.346 232.346 185.494C948.76506 272.338 1024.00906 363.178 1024.00906 393.054z"
fill="#DDEAFB" p-id="3815"></path>
<path d="M1024.00906 393.054v201.028c0-0.226-0.02-0.454-0.02-0.7-6.182-246.666-207.106-258.08-272.812-323.784l112.124-84.104C948.76506 272.338 1024.00906 363.178 1024.00906 393.054z"
fill="#CBE2FF" p-id="3816"></path>
<path d="M630.94506 0H429.91706c0.226 0 0.454 0.02 0.7 0.02 246.666 6.182 258.08 207.106 323.784 272.812l84.104-112.124C751.66106 75.244 660.82106 0 630.94506 0z"
fill="#CBE2FF" p-id="3817"></path>
<path d="M1024.00706 393.064v34.754c0-73.17-59.334-132.506-132.506-132.506h-80.648c-45.368 0-82.16-36.794-82.16-82.16V132.506C728.69506 59.334 669.35906 0 596.18906 0h34.754c62.58 0 122.616 24.866 166.866 69.114l157.086 157.086a236.004 236.004 0 0 1 69.112 166.864z"
fill="#BED8FB" p-id="3818"></path>
<path d="M885.28906 480.062H323.45506a15.452 15.452 0 1 1 0-30.904H885.28906a15.452 15.452 0 1 1 0 30.904zM885.28906 562.26H323.45506a15.452 15.452 0 1 1 0-30.904H885.28906a15.452 15.452 0 1 1 0 30.904zM885.28906 644.456H323.45506a15.452 15.452 0 1 1 0-30.904H885.28906a15.452 15.452 0 1 1 0 30.904zM745.13906 726.654H323.45506a15.452 15.452 0 1 1 0-30.904h421.682a15.452 15.452 0 0 1 15.452 15.452 15.448 15.448 0 0 1-15.45 15.452zM529.84306 252.076H323.45506a15.452 15.452 0 1 1 0-30.904h206.388a15.452 15.452 0 1 1 0 30.904z"
fill="#617881" p-id="3819"></path>
<path d="M566.48706 957.136a1159.306 1159.306 0 0 1-1.504 14.568 48.352 48.352 0 0 1-15.658 30.74 47.908 47.908 0 0 1-28.578 12.362 2959.96 2959.96 0 0 1-466.258 0 47.912 47.912 0 0 1-28.578-12.362 48.348 48.348 0 0 1-15.658-30.74 1159.306 1159.306 0 0 1-1.504-14.568c-9.642-96.094-11.312-192.19-4.986-288.264 0.804-12.156 1.73-24.292 2.782-36.448a1705.496 1705.496 0 0 1 3.708-38.116c2.494-23.138 21.036-41.268 44.236-43.102a2960.442 2960.442 0 0 1 466.258 0c23.2 1.834 41.742 19.964 44.236 43.102a1705.496 1705.496 0 0 1 3.708 38.116c1.05 12.156 1.978 24.292 2.782 36.448 6.304 96.074 4.636 192.17-4.986 288.264z"
fill="#80B4FB" p-id="3820"></path>
<path d="M571.47306 668.872c-34.984 85.71-172.286 216.83-283.854 250.146C176.05106 885.704 38.74906 754.584 3.76506 668.872c0.804-12.156 1.73-24.292 2.782-36.448 38.982 85.69 172.266 211.206 281.074 243.698 108.828-32.492 242.132-158.008 281.074-243.698 1.048 12.156 1.974 24.292 2.778 36.448zM566.48706 957.136a1159.306 1159.306 0 0 1-1.504 14.568 48.352 48.352 0 0 1-15.658 30.74c-3.956-31.338-37.642-82.888-87.606-132.914a15.476 15.476 0 0 1 0.02-21.86 15.474 15.474 0 0 1 21.86 0.022c29.216 29.256 53.63 59.4 70.628 87.194 4.72 7.704 8.82 15.12 12.26 22.25zM113.51906 869.53c-49.964 50.026-83.65 101.576-87.606 132.914a48.348 48.348 0 0 1-15.658-30.74 1159.306 1159.306 0 0 1-1.504-14.568c3.44-7.128 7.54-14.546 12.26-22.252 16.998-27.794 41.414-57.938 70.628-87.194a15.474 15.474 0 0 1 21.86-0.022 15.48 15.48 0 0 1 0.02 21.862z"
fill="#5EA5EC" p-id="3821"></path>
</svg>
<a :href='mediaUrl+item.file_url' target="_blank" class="txt_pdf">Manuscirpt <span style="margin-left: 50px;color: #888;font-size: 13px;">{{item.ctime}}</span></a><br>
</div>
</div>
</el-col>
<el-col :span="8">
<div class="tet_people">
<h4>I want to invite the following editorial board members to get more opinions for the manuscript.</h4>
<ul v-for="item in Editard_list" style="margin-top: 10px;">
<li style="list-style: none;">
<span>{{item.account}} ( <font v-if="item.realname!=''">{{item.realname}} , </font>{{item.email}} )</span>
</li>
</ul>
</div>
</el-col>
</el-row>
<div>
<h2 style="margin: 30px 0 15px 5px;font-size: 16px;">Add my comment (The comment will be showed to : editor,
editorial board members, young sciencists member.)</h2>
<div class="chatIcon">
<el-popover placement="top-start" width="400" trigger="click" class="emoBox">
<div class="emotionList">
<a href="javascript:void(0);" @click="getEmo(index)" v-for="(item,index) in faceList" :key="index" class="emotionItem">{{item}}</a>
</div>
<!-- <el-button class="emotionSelect" slot="reference" style="padding: 7px 10px;border: 0;margin: 3px 5px;position: absolute;z-index: 500;background: 0;">
<svg t="1629607720277" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"
p-id="3396" width="20" height="20">
<path d="M512 1024c282.752 0 512-229.248 512-512S794.752 0 512 0 0 229.248 0 512s229.248 512 512 512z m0-85.333333C276.352 938.666667 85.333333 747.648 85.333333 512S276.352 85.333333 512 85.333333s426.666667 191.018667 426.666667 426.666667-191.018667 426.666667-426.666667 426.666667z"
fill="#FFBB20" p-id="3397"></path>
<path d="M512 512m-85.333333 0a85.333333 85.333333 0 1 0 170.666666 0 85.333333 85.333333 0 1 0-170.666666 0Z"
fill="#FFFFFF" p-id="3398"></path>
<path d="M320 405.333333m-64 0a64 64 0 1 0 128 0 64 64 0 1 0-128 0Z" fill="#666666" p-id="3399"></path>
<path d="M704 405.333333m-64 0a64 64 0 1 0 128 0 64 64 0 1 0-128 0Z" fill="#666666" p-id="3400"></path>
<path d="M234.666667 576c42.666667 170.666667 135.125333 256 277.333333 256s234.666667-85.333333 277.333333-256h-554.666666z"
fill="#E01313" p-id="3401"></path>
</svg>
</el-button> -->
</el-popover>
</div>
<el-input v-model="add_edit.content" class="chatText ping_lun" type="textarea" id='textarea' rows="5" placeholder="Please enter the content..."
@keyup.enter.native="sendInfo"></el-input>
<div style="text-align: right;">
<el-button type="primary" @click="hdSubmit" class="sub_mit">Save</el-button>
</div>
</div>
<h2 style="margin: 0 0 15px 5px;font-size: 16px;">All comments</h2>
<comment :comments="commentData" v-if="this.commentData!=''"></comment>
<p v-if="this.commentData==''" style="color:#6f6f6f;font-size: 14px;margin: 20px 0 0 10px;">No comment</p>
</div>
</div>
</template>
<script>
import comment from './comment'
// import appData from '../../assets/js/emoji.json'
const appData = require("../../assets/js/emoji.json");
export default {
components: {
comment
},
mounted() {
for (let i in appData) {
this.faceList.push(appData[i].char);
}
},
data() {
return {
Direct_log: this.$route.query.act,
Direct_aid: this.$route.query.articleid,
mediaUrl: this.Common.mediaUrl,
textarea: '',
commentData: [],
txt_mess: {},
add_edit: {
article_id: this.$route.query.Art_id,
user_id: localStorage.getItem('U_id'),
content: ''
},
select_edit: {
board_id: '',
article_id: this.$route.query.Art_id,
},
head_line: '',
Art_id: this.$route.query.Art_id,
tableData1: [],
fileList: [],
faceList: [],
Editard_list: [],
rules: {}
}
},
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.getData();
} else {
this.$message.error(res.msg);
}
})
.catch(err => {
this.$message.error(err);
});
}
},
methods: {
getData() {
// 获取文章信息
this.$api
.post('api/Chief/getArticleDetail ', {
'article_id': this.Art_id
})
.then(res => {
if (res.code == 0) {
this.txt_mess = res.data.article;
if (res.data.article.file != "") {
localStorage.setItem('journal_title', res.data.article.journal.title);
localStorage.setItem('journal_id', res.data.article.journal.journal_id);
this.head_line = res.data.article.journal.title;
let file_down = res.data.article.file;
for (var i = 0; i < file_down.length; i++) {
let date = new Date(parseInt(file_down[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();
file_down[i].ctime = Y + M + D;
}
this.fileList = file_down
}
} else {
this.$message.error(res.msg);
}
})
.catch(err => {
this.$message.error(err);
});
// 获取文章的编委列表
this.$api
.post('api/Chief/getArticleBoard', {
'article_id': this.Art_id
})
.then(res => {
if (res.code == 0) {
this.Editard_list = res.data.boards;
} else {
this.$message.error(res.msg);
}
})
.catch(err => {
this.$message.error(err);
});
// 获取评论内容
this.$api
.post('api/Chief/getAllChiefMsg', {
'article_id': this.Art_id
})
.then(res => {
if (res.code == 0) {
for (var i = 0; i < res.data.msgs.length; i++) {
let date = new Date(parseInt(res.data.msgs[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.msgs[i].ctime = Y + M + D;
}
this.commentData = res.data.msgs;
} else {
this.$message.error(res.msg);
}
})
.catch(err => {
this.$message.error(err);
});
},
// 获取表情包
getEmo(index) {
var textArea = document.getElementById('textarea');
function changeSelectedText(obj, str) {
if (window.getSelection) {
// 非IE浏览器
textArea.setRangeText(str);
// 在未选中文本的情况下,重新设置光标位置
textArea.selectionStart += str.length;
textArea.focus()
} else if (document.selection) {
// IE浏览器
obj.focus();
var sel = document.selection.createRange();
sel.text = str;
}
}
changeSelectedText(textArea, this.faceList[index]);
this.textarea = textArea.value; // 要同步data中的数据
// console.log(this.faceList[index]);
return;
},
// 添加评论
hdSubmit() {
// console.log(this.add_edit)
if (this.add_edit.content == '') {
this.$message.error('Add message cannot be empty!');
} else {
this.$api
.post('api/Chief/addMsgForArticle', this.add_edit)
.then(res => {
if (res.code == 0) {
this.$message.success('Successfully added message!');
this.add_edit.content = ''
this.getData();
} else {
this.$message.error(res.msg);
}
})
.catch(err => {
this.$message.error(err);
});
}
}
}
}
</script>
<style>
.ma_title {
margin-bottom: 5px;
font-weight: bold;
}
.tet_list {
border: 1px solid #DCDFE6;
background: #fff;
border-radius: 5px;
margin-bottom: 20px;
padding: 20px 20px;
}
.upload-txtc .el-upload-list__item .el-icon-upload-success {
display: none !important;
}
.tet_list h5 {
margin: 20px 0 10px 0;
font-weight: normal;
}
.tet_list p {
font-family: Calibri;
line-height: 22px;
}
.tet_people {
border: 1px solid #DCDFE6;
background: #fff;
border-radius: 5px;
margin-bottom: 20px;
padding: 20px 20px;
}
.tet_people .el-input {
margin-top: 20px;
}
.file_sty {}
.file_sty a {
color: #606266;
font-size: 14px;
}
.file_sty a:hover {
text-decoration: underline;
}
.ping_lun {}
.ping_lun textarea {
/* padding-top: 50px; */
}
.ping_lun textarea:focus {
/* height: 140px; */
-webkit-box-shadow: 0 0 6px 0 #5094d5;
box-shadow: 0 0 6px 0 #5094d5;
border: 1px solid #5094d5;
}
.sub_mit {
margin: 15px 0 0 0;
width: 100px;
}
.red {
color: #ff0000;
}
/* 表情包 */
.el-popover {
height: 200px;
width: 400px;
overflow: scroll;
overflow-x: auto;
}
.chatIcon {
/* padding: 0 10px; */
font-size: 25px;
}
.emotionList {
display: flex;
flex-wrap: wrap;
padding: 5px;
}
.emotionItem {
width: 10%;
font-size: 20px;
text-align: center;
}
/*包含以下四种的链接*/
.emotionItem {
text-decoration: none;
}
/*正常的未被访问过的链接*/
.emotionItem:link {
text-decoration: none;
}
/*已经访问过的链接*/
.emotionItem:visited {
text-decoration: none;
}
/*鼠标划过(停留)的链接*/
.emotionItem:hover {
text-decoration: none;
}
/* 正在点击的链接*/
.emotionItem:active {
text-decoration: none;
}
</style>

View File

@@ -30,7 +30,7 @@
</div>
<!-- 添加弹出框 -->
<el-dialog title="Add editorial board" :visible.sync="addVisible" width="40%">
<el-dialog title="Add Editorial board member" :visible.sync="addVisible" width="40%">
<el-form ref="add_Form" :model="addForm" :rules="rules" label-width="150px">
<el-form-item label="account" prop="account">
<el-input v-model="addForm.account" @blur='saerNa_U()'></el-input>
@@ -59,13 +59,13 @@
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="addVisible = false">Cancel</el-button>
<el-button type="primary" @click="saveAdd(addForm)">OK</el-button>
<el-button type="primary" @click="saveAdd(addForm)" :disabled="this.btn_alert">OK</el-button>
</span>
</el-dialog>
<!-- 已有信息弹出框 -->
<el-dialog title="Add editorial board" :visible.sync="oldVisible" width="40%">
<el-dialog title="Add Editorial board member" :visible.sync="oldVisible" width="40%">
<el-form ref="old_Form" :model="oldForm" :rules="rules" label-width="100px">
<el-form-item label="account">
{{oldForm.account}}
@@ -108,6 +108,7 @@
oldForm: {},
aid: -1,
id: -1,
btn_alert: false,
query: {
journal_id: 0,
},
@@ -162,7 +163,7 @@
this.tableData = res.data.boards;
})
.catch(err => {
console.log(err);
this.$message.error(err);
});
},
@@ -181,7 +182,7 @@
this.tableData = res.data.boards;
})
.catch(err => {
console.log(err);
this.$message.error(err);
});
} else {
this.$message.error(res.msg);
@@ -213,7 +214,7 @@
.then(res => {
if (res.code == 0) {
if (res.data.user_info != null) {
this.$confirm('该账户已存在,是否在该账户下操作', '提示', {
this.$confirm('this account already exists. Do you want to operate under this account', 'Tips', {
type: 'warning'
})
.then(() => {
@@ -224,6 +225,9 @@
this.oldForm = res.data.user_info;
})
.catch(() => {});
this.btn_alert = true
} else {
this.btn_alert = false
}
} else {
this.$message.error(res.msg);
@@ -244,7 +248,7 @@
.then(res => {
if (res.code == 0) {
if (res.data.user_info != null) {
this.$confirm('该账户已存在,是否在该账户下操作', '提示', {
this.$confirm('this account already exists. Do you want to operate under this account', 'Tips', {
type: 'warning'
})
.then(() => {
@@ -255,6 +259,9 @@
this.oldForm = res.data.user_info;
})
.catch(() => {});
this.btn_alert = true
} else {
this.btn_alert = false
}
} else {
this.$message.error(res.msg);
@@ -277,7 +284,7 @@
if (res.code == 0) {
this.addVisible = false;
this.$refs.add_Form.resetFields();
this.$message.success(`添加成功`);
this.$message.success(`Added successfully`);
this.getdate();
} else {
this.$message.error(res.msg);
@@ -291,7 +298,7 @@
}
});
} else {
this.$message.error("两次新密码输入不一致");
this.$message.error("The two passwords are inconsistent");
}
},
// 保存old添加
@@ -304,7 +311,7 @@
if (res.code == 0) {
this.oldVisible = false;
this.$refs.old_Form.resetFields();
this.$message.success(`添加成功`);
this.$message.success(`Added successfully`);
this.getdate();
} else {
this.$message.error(res.msg);
@@ -321,7 +328,7 @@
// 删除操作
handleDelete(index, row) {
// 二次确认删除
this.$confirm('确定要删除吗', '提示', {
this.$confirm('Are you sure you want to delete', 'Tips', {
type: 'warning'
})
.then(() => {
@@ -329,7 +336,7 @@
.post('api/Chief/delJournalBoard', row)
.then(res => {
if (res.code == 0) {
this.$message.success('删除成功');
this.$message.success('Delete succeeded');
this.getdate();
} else {
this.$message.error(res.msg);

View File

@@ -0,0 +1,292 @@
<template>
<div>
<div class="crumbs">
<el-breadcrumb separator="/">
<el-breadcrumb-item>
<i class="el-icon-connection"></i> Editorial board list
</el-breadcrumb-item>
</el-breadcrumb>
</div>
<div class="container">
<div class="handle-box">
<el-select v-model="query.journal_id" filterable placeholder="Please select a responsible Journal" value-key="groupID"
style="width: 300px;" @change="chan_id">
<el-option v-for="item in df_jour" :label="item.title" :key="item.journal_id" :value="item.journal_id"></el-option>
</el-select>
</div>
<el-table :data="tableData" border class="table" ref="multipleTable" header-cell-class-name="table-header">
<el-table-column prop="matching" label="match" width="70" align="center">
<template slot-scope="scope">
<el-button icon="el-icon-check" type="text" style="color: #0fa31d;" v-if="scope.row.tuser_id!=0"></el-button>
<el-button icon="el-icon-close" type="text" style="color: #ff0000" v-if="scope.row.tuser_id==0"></el-button>
</template>
</el-table-column>
<el-table-column label="type" width="100" align="center">
<template slot-scope="scope">
<el-tag v-if="scope.row.type=='0'" type="warning">主编</el-tag>
<el-tag v-if="scope.row.type=='1'" type="success">副主编</el-tag>
<el-tag v-if="scope.row.type=='2'">编委成员</el-tag>
</template>
</el-table-column>
<el-table-column prop="name" label="name"></el-table-column>
<el-table-column prop="dr" label="degree" width="100"></el-table-column>
<el-table-column prop="title" label="title" width="210"></el-table-column>
<el-table-column prop="address" label="company"></el-table-column>
<el-table-column prop="country" label="country" width="180"></el-table-column>
<el-table-column prop="group_name" label="grouping" align="center">
<template slot-scope="scope">
<el-tag v-if="scope.row.type=='2' && scope.row.group_name==null" effect="plain">None</el-tag>
<el-tag v-if="scope.row.type=='2' && scope.row.group_name!=null" effect="plain">{{scope.row.group_name}}</el-tag>
<span v-if="scope.row.type!='2'" effect="plain"></span>
</template>
</el-table-column>
<el-table-column prop="user.account" label="Match user name"></el-table-column>
<el-table-column prop="user.email" label="Match user mailbox"></el-table-column>
<el-table-column label=" " width="100" align="center">
<template slot-scope="scope">
<el-button type="text" icon="el-icon-link" @click="matchEdit(scope.$index, scope.row)" style="color: #e6a23c;">Matching</el-button>
</template>
</el-table-column>
</el-table>
</div>
<!-- 添加弹出框 -->
<el-dialog title="Add Editorial board member" :visible.sync="marVisible" width="40%" v-loading="loading"
element-loading-text="Loading..." element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 0, 0, 0.8)"
@close="backGood()">
<el-tabs tab-position="top">
<el-tab-pane label="User matching">
<el-form ref="name_Form" :model="nameForm" :rules="rules" label-width="70px">
<el-form-item label="name" prop="account">
<el-input v-model="nameForm.account" style="width: 300px;display: inline-block;"></el-input>
<el-button type="warning" icon="el-icon-link" @click="matchNat(nameForm)" style="margin-left: 20px;">Matching</el-button>
</el-form-item>
</el-form>
<el-table :data="tableData_name" border class="table" ref="multipleTable" header-cell-class-name="table-header">
<el-table-column prop="account" label="username" align="center"></el-table-column>
<el-table-column prop="realname" label="realname" align="center"></el-table-column>
<el-table-column prop="phone" label="phone" align="center"></el-table-column>
<el-table-column prop="email" label="email" align="center"></el-table-column>
<el-table-column label=" " width="100" align="center">
<template slot-scope="scope">
<el-button type="text" icon="el-icon-link" @click="matchSub(scope.$index, scope.row)" style="color: #e6a23c;">Matching</el-button>
</template>
</el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane label="Mailbox matching">
<el-form ref="email_Form" :model="emailForm" :rules="rules" label-width="70px">
<el-form-item label="email" prop="email">
<el-input v-model="emailForm.email" style="width: 300px;display: inline-block;"></el-input>
<el-button type="warning" icon="el-icon-link" @click="matchMit(emailForm)" style="margin-left: 20px;">Matching</el-button>
</el-form-item>
</el-form>
</el-tab-pane>
</el-tabs>
</el-dialog>
</div>
</template>
<script>
export default {
data() {
return {
loading: false,
edit_id: localStorage.getItem('U_id'),
tableData: [],
tableData_name: [],
marchForm: {},
nameForm: {},
emailForm: {},
df_jour: [],
marVisible: false,
query: {
journal_id: ''
},
rules: {
account: [{
required: true,
message: 'Please input account',
trigger: 'blur'
}],
email: [{
required: true,
message: 'Please input email',
trigger: 'blur'
}],
}
};
},
created() {
this.getTate();
},
methods: {
// 获取编委和负责期刊列表数据
getTate() {
this.$api
.post('api/Chief/getJournalsByEditor', {
'user_id': this.edit_id
})
.then(res => {
if (res.code == 0) {
this.df_jour = res.data.journals;
this.query.journal_id = this.df_jour[0].journal_id
this.getDate();
} else {
this.$message.error(res.msg);
}
})
.catch(err => {
this.$message.error(err);
});
},
// 下拉分类搜索
chan_id(event) {
this.getDate();
},
// 关闭模态框
backGood() {
this.$refs.name_Form.resetFields();
this.$refs.email_Form.resetFields();
this.tableData_name = [];
},
getDate() {
this.$api
.post('api/Board/getOffwebBoard', this.query)
.then(res => {
if (res.code == 0) {
this.tableData = res.data.boards;
} else {
this.$message.error(res.msg);
}
})
.catch(err => {
this.$message.error(err);
});
},
// 匹配操作
matchEdit(index, row) {
this.marchForm = Object.assign({}, row);
this.marVisible = true;
},
// 用户名搜索
matchNat() {
this.$refs.name_Form.validate((valid) => {
if (valid) {
this.$api
.post('api/Board/searchUserByAccount', this.nameForm)
.then(res => {
if (res.code == 0) {
this.tableData_name = res.data.users;
} else {
this.$message.error(res.msg);
}
})
.catch(err => {
this.$message.error(err);
});
} else {
return false;
}
});
},
// 用户名匹配
matchSub(index, row) {
this.loading = true;
this.$api
.post('api/Board/relationUser', {
'user_id': row.user_id,
'journal_id': this.query.journal_id,
'jboard_id': this.marchForm.board_id,
})
.then(res => {
if (res.code == 0) {
this.loading = false;
this.$refs.name_Form.resetFields();
this.$refs.email_Form.resetFields();
this.tableData_name = [];
this.$message.success(`Match successful`);
this.marVisible = false;
this.getDate();
} else {
this.loading = false;
this.$message.error(res.msg);
}
})
.catch(err => {
this.loading = false;
this.$message.error(err);
});
},
// 邮箱匹配
matchMit(emailForm) {
this.$refs.email_Form.validate((valid) => {
if (valid) {
this.$api
.post('api/Board/searchUserByEmail', emailForm)
.then(res => {
if (res.code == 0) {
let aco_email = res.data.user_info.user_id
this.$api
.post('api/Board/relationUser', {
'email': aco_email,
'jboard_id': this.marchForm.board_id,
})
.then(res => {
if (res.code == 0) {
this.$refs.name_Form.resetFields();
this.$refs.email_Form.resetFields();
this.tableData_name = [];
this.$message.success(`Match successful`);
this.marVisible = false;
this.getDate();
} else {
this.$message.error(res.msg);
}
})
.catch(err => {
this.$message.error(err);
});
} else {
this.$message.error(res.msg);
}
})
.catch(err => {
this.$message.error(err);
});
} else {
return false;
}
});
}
}
};
</script>
<style scoped>
.handle-box {
margin-bottom: 20px;
}
.table {
width: 100%;
font-size: 14px;
}
.red {
color: #ff0000;
}
</style>

View File

@@ -33,7 +33,7 @@
<path d="M368.17 379.84h240c15.69 0 30.73-13.8 30-30s-13.18-30-30-30h-240c-15.69 0-30.73 13.8-30 30s13.18 30 30 30zM368.17 507.91H719c16.16 0 32.37 0.33 48.53 0h0.69c15.69 0 30.73-13.8 30-30s-13.18-30-30-30H417.39c-16.16 0-32.37-0.33-48.53 0h-0.69c-15.69 0-30.73 13.8-30 30s13.18 30 30 30z"
fill="#FD9A16" p-id="1654"></path>
</svg>
The manuscripts ready to be reviewed.
The manuscripts are ready to get final decisions.
</div>
<ul class="ta1_uli">
<li v-for="item in tableData1">
@@ -42,7 +42,7 @@
<h3>{{item.title}}</h3>
</router-link>
<h6>{{item.author}}</h6>
<h4><span>{{head_line}}.</span><span style="color: #888;">{{item.ctime}}</span><span>{{item.accept_sn}}</span></h4>
<h4><span>{{head_line}}.</span><span style="color: #888;">Submitted time: {{item.ctime}}</span><span>{{item.accept_sn}}</span></h4>
</li>
<p v-if="tableData1==''" style="color:#6f6f6f;font-size: 14px;margin-top: 20px;">No article</p>
</ul>
@@ -58,7 +58,7 @@
<path d="M466.71 289.7v215.35c0 16.48 13.91 30.26 30.36 30.36l72.83 0.41 116.69 0.67 26.71 0.15c15.89 0.09 31.09-14 30.36-30.35-0.74-16.53-13.34-30.26-30.36-30.36l-72.83-0.42-116.69-0.67-26.71-0.15 30.35 30.36V289.7c0-15.88-14-31.09-30.35-30.36s-30.36 13.34-30.36 30.36z"
fill="#FD9A16" p-id="3893"></path>
</svg>
List of historical manuscripts.
Accepted manuscripts.
</div>
<ul class="ta1_uli">
<li v-for="item in tableData2">
@@ -67,7 +67,8 @@
<h3>{{item.title}}</h3>
</router-link>
<h6>{{item.author}}</h6>
<h4><span>{{head_line}}.</span><br><span style="color: #888;">{{item.ctime}}</span><span>{{item.accept_sn}}</span></h4>
<h4><span>{{head_line}}.</span><br>
<span style="color: #888;">Submitted time: {{item.ctime}}</span><span>{{item.accept_sn}}</span></h4>
</li>
<p v-if="tableData2==''" style="color:#6f6f6f;font-size: 14px;margin-top: 20px;">No historical articles</p>
</ul>
@@ -83,7 +84,7 @@
</el-table-column>
</el-table> -->
<div class="pagination">
<el-pagination layout="prev, pager, next" :current-page="TaBle2.pageIndex" :page-size="TaBle2.pageSize" :total="link_Tota2"
<el-pagination layout="total, prev, pager, next" :current-page="TaBle2.pageIndex" :page-size="TaBle2.pageSize" :total="link_Tota2"
@current-change="handlePageChange2">
</el-pagination>
</div>
@@ -129,6 +130,7 @@
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.getTable();
} else {
this.$message.error(res.msg);
@@ -148,50 +150,14 @@
if (res.code == 0) {
this.cate_jour = res.data.journals
this.cate_title = this.cate_jour[0].title
this.head_line = localStorage.getItem('journal_title');
localStorage.setItem('journal_title', this.cate_jour[0].title);
localStorage.setItem('journal_id', this.cate_jour[0].journal_id);
this.head_line = this.cate_jour[0].title;
this.query.journal_id = this.cate_jour[0].journal_id;
this.TaBle2.journal_id = this.cate_jour[0].journal_id;
this.$api
.post('api/Chief/getPArticlesForChief', this.query)
.then(res => {
if (res.code == 0) {
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.tableData1 = res.data.articles;
} else {
this.$message.error(res.msg);
}
})
.catch(err => {
this.$message.error(err);
});
this.$api
.post('api/Chief/getHArticlesForChief', this.TaBle2)
.then(res => {
if (res.code == 0) {
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;
this.link_Tota2 = res.data.articles.length || 0;
} else {
this.$message.error(res.msg);
}
})
.catch(err => {
this.$message.error(err);
});
this.getData();
} else {
this.$message.error(res.msg);
}
@@ -234,7 +200,7 @@
}
}
this.tableData2 = res.data.articles;
this.link_Tota2 = res.data.articles.length || 0;
this.link_Tota2 = res.data.count || 0;
} else {
this.$message.error(res.msg);
}

View File

@@ -15,7 +15,7 @@
<el-col :span="16">
<div class="tet_list" :model="txt_mess">
<h4>{{txt_mess.title}}</h4>
<h5>{{this.head_line}}<span style="margin: 0 10px;">>></span> DOI:{{txt_mess.accept_sn}}</h5>
<h5>{{this.head_line}}<span style="margin: 0 10px;">>></span> Manuscript ID: {{txt_mess.accept_sn}}</h5>
<p>{{txt_mess.author}}</p>
<div class="file_sty" v-for="item in fileList">
<svg t="1629609240510" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"
@@ -40,25 +40,34 @@
</div>
</el-col>
<el-col :span="8">
<div class="tet_people" :model="txt_peop">
<div class="tet_people" v-if="this.txt_state!=6">
<h4>I want to invite the following editorial board members to get more opinions for the manuscript.</h4>
<ul v-for="item in Editard_list" style="margin-top: 10px;">
<li style="list-style: none;">
{{item.realname==''?item.account:(item.realname!=''?item.account+' ('+item.realname+')':'')}}
<span>{{item.account}} ( <font v-if="item.realname!=''">{{item.realname}} , </font>{{item.email}} )</span>
</li>
</ul>
</div>
<div class="tet_people" v-if="this.txt_state==6">
<h4>I want to invite the following editorial board members to get more opinions for the manuscript.</h4>
<ul v-for="item in Editard_list" style="margin-top: 10px;">
<li style="list-style: none;">
<span>{{item.account}} ( <font v-if="item.realname!=''">{{item.realname}} , </font>{{item.email}} )</span>
<el-button type="text" icon="el-icon-delete" class="red" @click="handleDelete(item)"></el-button>
</li>
</ul>
<el-select v-model="select_edit.board_id" filterable placeholder="Please add an editorial board" style="width: 320px;">
<el-option v-for="item in Edit_Chi" :key="item.user_id" :label="item.account" :value="item.user_id"></el-option>
<el-select v-model="select_edit.board_id" filterable placeholder=" Please choose the editorial board members."
style="width: 320px;">
<el-option v-for="item in Edit_Chi" :key="item.user_id" :label="item.account+' ('+item.email+')'" :value="item.user_id"></el-option>
</el-select>
<el-button type="text" @click="add_Editer" style="margin-left: 5px;">Choice</el-button>
<el-button type="text" @click="add_Editer" style="margin-left: 5px;">Choose</el-button>
</div>
</el-col>
</el-row>
<div>
<h2 style="margin: 30px 0 15px 5px;font-size: 16px;">Add my comment. ( Who joined to review this manuscript can
view this comment: editor, editorial board members, young sciencists, reviewers.)</h2>
<h2 style="margin: 30px 0 15px 5px;font-size: 16px;">Add my comment (The comment will be showed to : editor,
editorial board members, young sciencists member.)</h2>
<div class="chatIcon">
<el-popover placement="top-start" width="400" trigger="click" class="emoBox">
<div class="emotionList">
@@ -83,12 +92,11 @@
@keyup.enter.native="sendInfo"></el-input>
<div style="text-align: right;">
<el-button type="primary" @click="hdSubmit" class="sub_mit">Submit</el-button>
<el-button type="primary" @click="hdSubmit" class="sub_mit">Save</el-button>
</div>
</div>
<h2 style="margin: 0 0 15px 5px;font-size: 16px;">All comments: editor, editorial board members, young sciencists,
reviewers</h2>
<h2 style="margin: 0 0 15px 5px;font-size: 16px;">All comments</h2>
<comment :comments="commentData" v-if="this.commentData!=''"></comment>
<p v-if="this.commentData==''" style="color:#6f6f6f;font-size: 14px;margin: 20px 0 0 10px;">No comment</p>
</div>
@@ -117,6 +125,7 @@
commentData: [],
txt_mess: {},
txt_peop: {},
txt_state: '',
add_edit: {
article_id: this.$route.query.Art_id,
user_id: localStorage.getItem('U_id'),
@@ -152,7 +161,8 @@
if (res.data.article.file != "") {
localStorage.setItem('journal_title', res.data.article.journal.title);
localStorage.setItem('journal_id', res.data.article.journal.journal_id);
this.head_line = localStorage.getItem('journal_title')
this.head_line = res.data.article.journal.title;
this.txt_state = res.data.article.state;
let file_down = res.data.article.file;
for (var i = 0; i < file_down.length; i++) {
let date = new Date(parseInt(file_down[i].ctime) * 1000);
@@ -246,7 +256,7 @@
add_Editer() {
if (this.select_edit.board_id == '') {
this.$message.error('Please select the editorial board!');
}else{
} else {
this.$api
.post('api/Chief/addArticleBoard', this.select_edit)
.then(res => {
@@ -409,6 +419,10 @@
width: 100px;
}
.red {
color: #ff0000;
}
/* 表情包 */
.el-popover {
height: 200px;

View File

@@ -0,0 +1,231 @@
<template>
<div>
<div class="crumbs">
<el-breadcrumb separator="/">
<el-breadcrumb-item>
<i class="el-icon-collection"></i> <span class="top_dao">Reviewer Article</span>
</el-breadcrumb-item>
</el-breadcrumb>
</div>
<div class="container container_l">
<el-row :gutter="24">
<el-col :span="16">
<div class="ma_title">
<svg t="1629527802392" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1650"
width="20" height="20" style="margin-bottom: -3px;margin-right: 6px;">
<path d="M188.09 651.19V257.35c0-17.13-0.12-34.27 0-51.4a82.49 82.49 0 0 1 0.56-9.16l-1.07 8a71.88 71.88 0 0 1 4.77-17.7l-3 7.17a65.69 65.69 0 0 1 5.08-9.55c0.48-0.74 1-1.47 1.49-2.19q2.67-3.62-2.29 2.95c1.07-1.06 2-2.31 3-3.39s2.13-2.12 3.26-3.11c5.41-4.73-5.17 3.35-1.05 0.81a65.75 65.75 0 0 1 8.82-4.76l-7.16 3a50.69 50.69 0 0 1 10.88-3l-8 1.07c8-1 16.36-0.45 24.41-0.45h23c15.7 0 30.73-13.8 30-30s-13.18-30-30-30h-40.7c-12.16 0.13-22.91 3-33.85 8-31.57 14.52-48.1 50.18-48.15 83.53q-0.06 38.93 0 77.86v289.88c0 25.06-0.43 50.16 0 75.22v1.06c0 15.69 13.8 30.73 30 30s30-13.18 30-30z"
fill="#0071C3" p-id="1651"></path>
<path d="M918.68 647.94h-15.5V314.68c0-16.09 0.33-32.22 0-48.31v-0.69a28.79 28.79 0 0 0-1.4-8.74 27.62 27.62 0 0 0-7.43-12.57l-60.5-57.69-96.32-91.86-21.95-20.93a28.66 28.66 0 0 0-2.38-2 27.37 27.37 0 0 0-18.92-6.79H386.56c-21.68 0-43.37-0.15-65.05 0-33.19 0.23-66.24 19.24-79.86 50.21-5.43 12.37-8.56 24.66-8.65 38.29v494.34H105.32c-16.28 0-30.12 13.81-30.12 30.13v250.58c0 16.28 13.8 30.12 30.12 30.12h719.9c30.73 0 61.51 0.52 92.23 0h1.23c16.28 0 30.12-13.8 30.12-30.12V678.07c0-16.29-13.8-30.13-30.12-30.13zM797.82 235.55h-33.93c-5.19 0-10.43 0.17-15.63-0.17a61.29 61.29 0 0 1-7-1.93 57.29 57.29 0 0 1-5.73-3.29l-0.24-0.16c-0.94-0.83-1.87-1.66-2.76-2.55s-1.73-1.83-2.56-2.77l-0.15-0.23a58.37 58.37 0 0 1-3.3-5.74 62.29 62.29 0 0 1-2-7.64c-1-12.39-0.06-25.25-0.06-37.56v-8l9.08 8.66z m-504.58-82.16q0-2.05 0.15-4.11a60.48 60.48 0 0 1 2-7.12 56.34 56.34 0 0 1 3.29-5.74l0.15-0.23c0.83-0.94 1.67-1.88 2.56-2.77s1.82-1.72 2.76-2.56l0.24-0.15a56.34 56.34 0 0 1 5.74-3.29 62.66 62.66 0 0 1 7.63-2c12.3-1 25.07-0.05 37.27-0.05h292.13c5.64 0 11.29 0 16.94 0.08-0.09 27.46-0.21 54.92 0 82.38 0.23 23.51 9.58 46.83 26.69 63.18a89.83 89.83 0 0 0 61.5 24.84c19.24 0.17 38.48 0 57.72 0h32.87v318.57c0 11.17-0.16 22.35-0.15 33.52H649.67a25.15 25.15 0 0 0-9.42 1.08c-6.88 2.23-14.81 6.75-17.91 13.65a28.06 28.06 0 0 0-3.08 6.7 154.44 154.44 0 0 1-10.53 18.4c-1.22 1.83-2.51 3.61-3.79 5.39-0.25 0.31-0.5 0.63-0.76 0.94q-4.71 5.7-9.95 10.93-5 5-10.4 9.47l-0.49 0.38c1.35-1 2.34-1.66-0.07 0.13l-1.46 1.06c0.31-0.26 0.68-0.55 1.05-0.83-0.42 0.3-0.84 0.62-1.22 1-1.36 1-2.73 1.95-4.13 2.89a155.31 155.31 0 0 1-22 12.3 157.66 157.66 0 0 1-31.63 8.67 160.51 160.51 0 0 1-33.09 0 157.38 157.38 0 0 1-31.62-8.67 155.09 155.09 0 0 1-21.47-11.91c-1.78-1.18-3.52-2.41-5.25-3.66 0.33 0.28 0.69 0.57 1.08 0.91-0.48-0.41-1-0.8-1.47-1.19a0.71 0.71 0 0 0-0.14-0.1 25.52 25.52 0 0 1-2.61-2.19c-3.07-2.62-6-5.36-8.91-8.21q-5-5-9.5-10.38l-1.16-1.43a203.68 203.68 0 0 1-3.45-4.86 157.45 157.45 0 0 1-13.91-25.5c-4.07-9.39-16.39-14.92-26-14.92h-73.14V212.58c0-19.73-0.15-39.46 0-59.19z m288.18 563c-0.11 0.1-0.23 0.21-0.33 0.32 0.08-0.08 0.2-0.19 0.33-0.31z m262 182.12H198.78c-21.08 0-42.22-0.34-63.33-0.32v-190h212.27c23.5 42.08 64.93 74 111.35 86.61 53.34 14.47 113.4 3.89 157.42-29.9 20.29-15.57 37.82-34.5 50.34-56.71h221.72v190.33z"
fill="#0071C3" p-id="1652"></path>
<path d="M431.3 715l0.72 0.58 0.39 0.28c-2-1.7-2.91-2.41-3.14-2.57zM583.34 714.88l-0.48 0.36z" fill="#0071C3"
p-id="1653"></path>
<path d="M368.17 379.84h240c15.69 0 30.73-13.8 30-30s-13.18-30-30-30h-240c-15.69 0-30.73 13.8-30 30s13.18 30 30 30zM368.17 507.91H719c16.16 0 32.37 0.33 48.53 0h0.69c15.69 0 30.73-13.8 30-30s-13.18-30-30-30H417.39c-16.16 0-32.37-0.33-48.53 0h-0.69c-15.69 0-30.73 13.8-30 30s13.18 30 30 30z"
fill="#FD9A16" p-id="1654"></path>
</svg>
The manuscripts are ready to get final decisions.
</div>
<ul class="ta1_uli">
<li v-for="item in tableData1">
<h5>{{item.type}}</h5>
<router-link target="_blank" :to="{path:'/per_text',query:{Art_id:item.art_rev_id}}">
<h3>{{item.article_title}}</h3>
</router-link>
<h4><span>{{item.journal_title}}.</span><span style="color: #888;">Submitted time: {{item.ctime}}</span><span>{{item.accept_sn}}</span></h4>
</li>
<p v-if="tableData1==''" style="color:#6f6f6f;font-size: 14px;margin-top: 20px;">No article</p>
</ul>
</el-col>
<el-col :span="8">
<div class="ma_title">
<svg t="1629527662744" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3890"
width="20" height="20" style="margin-bottom: -3px;margin-right: 6px;">
<path d="M277.79 206l1.7-1.34-1.49 1.16zM812.16 272.94l-0.06-0.08-0.25-0.31 2 2.69-0.86-1.17zM743.76 805.56l0.08-0.07 0.31-0.24c-1.42 1.06-2.26 1.7-2.69 2l1.17-0.86z"
fill="#0071C3" p-id="3891"></path>
<path d="M929.43 366.16c-24.2-71.91-66.72-137.68-123.37-188.29C749.14 127 679.34 90.48 604.51 74.74 527.24 58.48 445.43 62.36 370.59 88 298.35 112.79 232.42 156 182 213.47c-50.73 57.81-86.91 128.47-101.75 204.11a479.79 479.79 0 0 0-7.92 60.89c-1 15.88 14.71 31.06 30.36 30.36 17.34-0.78 29.23-13.35 30.35-30.36q0.81-12.27 2.32-24.47a412.41 412.41 0 0 1 26.27-96.3 411.4 411.4 0 0 1 26.79-51.54q8.07-13.12 17.1-25.62c1.3-1.81 2.62-3.6 4-5.39l1.44-1.9c3-3.8 6.06-7.58 9.2-11.29a413.71 413.71 0 0 1 42.49-43.31q5.52-4.85 11.2-9.5l4-3.2 0.16-0.13 0.99-0.82 3.16-2.48-2.68 2.12c0.66-0.52 1.37-1.07 1.85-1.42q12-9 24.73-17.17A411.38 411.38 0 0 1 364.44 155a412 412 0 0 1 96.16-26.21 419.29 419.29 0 0 1 102.11 0 412.31 412.31 0 0 1 96.36 26.29A411.16 411.16 0 0 1 710.79 182q13 8 25.43 17 3 2.15 5.88 4.33l1.31 1c4 3.14 7.87 6.31 11.72 9.57a411.9 411.9 0 0 1 43.41 42.71q4.8 5.49 9.41 11.14c1.32 1.61 2.61 3.23 3.9 4.86l-1.24-1.64 1.55 2c1 1.25 2.71 3.58 1.73 2.3q8.72 11.65 16.6 23.91a413 413 0 0 1 31.24 58.65A412.49 412.49 0 0 1 888 454a419.12 419.12 0 0 1 0 102.09 412.39 412.39 0 0 1-26.29 96.37 412.61 412.61 0 0 1-26.92 51.73q-8 13-17 25.42-2.14 3-4.34 5.88c-0.32 0.44-0.66 0.87-1 1.31-3.13 4-6.3 7.88-9.57 11.72a411.9 411.9 0 0 1-42.71 43.41q-5.48 4.8-11.13 9.41-2.43 2-4.87 3.91l1.63-1.25-2 1.55c-1.24 1-3.57 2.7-2.3 1.72q-11.65 8.72-23.9 16.6a413.08 413.08 0 0 1-58.66 31.24 412.28 412.28 0 0 1-96.19 26.22 420 420 0 0 1-102.13 0 412.94 412.94 0 0 1-96.68-26.43 412.57 412.57 0 0 1-76.35-43.43c-2.72-2-5.4-4-8.08-6l-0.48-0.39q-2.42-1.9-4.79-3.85-8.93-7.28-17.42-15a419.54 419.54 0 0 1-32.18-32.88 24.54 24.54 0 0 0-2-2h172.43c15.88 0 31.09-14 30.35-30.35s-13.33-30.36-30.35-30.36H166.91c-15.23 0-32 14-30.36 30.36l6.84 70.2q5.46 55.9 10.9 111.83l2.5 25.58c0.8 8.24 2.85 15.43 8.89 21.47 5.27 5.26 13.9 9.23 21.47 8.89 15.12-0.68 32-13.43 30.35-30.36l-6.84-70.2q-1.72-17.76-3.46-35.52a441.21 441.21 0 0 0 194.12 108.39c80.95 20.81 168.56 18.41 247.94-8 71.79-23.91 137.5-66.07 188.25-122.32 51-56.48 87.7-125.89 103.88-200.34 16.81-77.33 13.3-159.36-11.96-234.46z"
fill="#0071C3" p-id="3892"></path>
<path d="M466.71 289.7v215.35c0 16.48 13.91 30.26 30.36 30.36l72.83 0.41 116.69 0.67 26.71 0.15c15.89 0.09 31.09-14 30.36-30.35-0.74-16.53-13.34-30.26-30.36-30.36l-72.83-0.42-116.69-0.67-26.71-0.15 30.35 30.36V289.7c0-15.88-14-31.09-30.35-30.36s-30.36 13.34-30.36 30.36z"
fill="#FD9A16" p-id="3893"></path>
</svg>
Accepted manuscripts.
</div>
<ul class="ta1_uli">
<li v-for="item in tableData2">
<h5>{{item.type}}</h5>
<router-link target="_blank" :to="{path:'/per_text',query:{Art_id:item.art_rev_id}}">
<h3>{{item.article_title}}</h3>
</router-link>
<h4><span>{{item.journal_title}}.</span><br>
<span style="color: #888;">Submitted time: {{item.ctime}}</span><span>{{item.accept_sn}}</span></h4>
</li>
<p v-if="tableData2==''" style="color:#6f6f6f;font-size: 14px;margin-top: 20px;">No historical articles</p>
</ul>
<div class="pagination">
<el-pagination layout="total, prev, pager, next" :current-page="TaBle2.pageIndex" :page-size="TaBle2.pageSize" :total="link_Tota2"
@current-change="handlePageChange2">
</el-pagination>
</div>
</el-col>
</el-row>
</div>
</div>
</template>
<script>
export default {
data() {
return {
head_line: "",
query: {
user_id: localStorage.getItem('U_id')
},
tableData1: [],
tableData2: [],
TaBle2: {
user_id: localStorage.getItem('U_id'),
pageIndex: 1,
pageSize: 10
},
link_Tota2: 0
};
},
mounted() {
},
created() {
this.getTable();
},
methods: {
// 获取数据
getTable() {
this.$api
.post('api/Reviewer/getReviewerDetail1', this.query)
.then(res => {
if (res.code == 0) {
this.getData();
} else {
this.$message.error(res.msg);
}
})
.catch(err => {
this.$message.error(err);
});
},
getData() {
this.$api
.post('api/Reviewer/getReviewerListPending', this.query)
.then(res => {
if (res.code == 0) {
for (let i = 0; i < res.data.lists.length; i++) {
let date = new Date(parseInt(res.data.lists[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.lists[i].ctime = Y + M + D;
}
this.tableData1 = res.data.lists;
} else {
this.$message.error(res.msg);
}
})
.catch(err => {
this.$message.error(err);
});
this.$api
.post('api/Reviewer/getReviewerListHistory', this.TaBle2)
.then(res => {
if (res.code == 0) {
if (res.data.lists != '') {
for (let i = 0; i < res.data.lists.length; i++) {
let date = new Date(parseInt(res.data.lists[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.lists[i].ctime = Y + M + D;
}
}
this.tableData2 = res.data.lists;
this.link_Tota2 = res.data.count || 0;
} else {
this.$message.error(res.msg);
}
})
.catch(err => {
this.$message.error(err);
});
},
// 分页导航
handlePageChange2(val) {
this.$set(this.TaBle2, 'pageIndex', val);
this.getData();
}
},
computed: {
onRoutes() {
0
return this.$route.path.replace('/', '');
}
},
watch: {
}
};
</script>
<style scoped>
.ma_title {
margin-bottom: 5px;
font-weight: bold;
color: #006699;
}
.ta1_uli li {
list-style: none;
border-bottom: 2px solid #dcdcdc;
/* box-shadow: 0 0 10px #e1e1e1; */
padding: 10px 20px 20px 20px;
background-color: #fff;
margin-top: 20px;
}
.ta1_uli li:hover {
/* background: #fafafa; */
}
.ta1_uli li h3 {
color: #000;
margin-top: 8px;
font-family: "Helvetica Neue", Helvetica, Georgia, sans-serif;
}
.ta1_uli li h3:hover {
text-decoration: underline;
}
.ta1_uli li h4 {
/* color: #6f6f6f; */
margin-top: 8px;
font-weight: normal;
font-size: 15px;
line-height: 22px;
}
.ta1_uli li h4 span {
margin-right: 10px;
}
.ta1_uli li h5 {
color: #006699;
margin-top: 5px;
padding-bottom: 10px;
font-weight: normal;
border-bottom: 1px solid #f1f1f1;
}
.ta1_uli li h6 {
font-weight: normal;
font-family: Calibri;
font-size: 16px;
margin-top: 10px;
}
</style>

View File

@@ -0,0 +1,498 @@
<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 Detail</span>
</router-link>
</el-breadcrumb-item>
</el-breadcrumb>
</div>
<div class="container container_l" v-loading="loading"
element-loading-text="Loading..." element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 0, 0, 0.8)">
<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>
<div class="file_sty" v-for="item in fileList">
<svg t="1629609240510" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3814"
width="15" height="15" style="margin: 20px 10px -2px 0;">
<path d="M1024.00906 393.054v548.774c0 45.39-36.776 82.166-82.146 82.166H266.89306c-38.776 0-71.268-26.868-79.9-63.006l-0.33-46.976-1.916-279.754V82.166C184.74506 36.778 221.52306 0 266.89306 0h364.064c32.718 0 138.682 90.346 232.346 185.494C948.76506 272.338 1024.00906 363.178 1024.00906 393.054z"
fill="#DDEAFB" p-id="3815"></path>
<path d="M1024.00906 393.054v201.028c0-0.226-0.02-0.454-0.02-0.7-6.182-246.666-207.106-258.08-272.812-323.784l112.124-84.104C948.76506 272.338 1024.00906 363.178 1024.00906 393.054z"
fill="#CBE2FF" p-id="3816"></path>
<path d="M630.94506 0H429.91706c0.226 0 0.454 0.02 0.7 0.02 246.666 6.182 258.08 207.106 323.784 272.812l84.104-112.124C751.66106 75.244 660.82106 0 630.94506 0z"
fill="#CBE2FF" p-id="3817"></path>
<path d="M1024.00706 393.064v34.754c0-73.17-59.334-132.506-132.506-132.506h-80.648c-45.368 0-82.16-36.794-82.16-82.16V132.506C728.69506 59.334 669.35906 0 596.18906 0h34.754c62.58 0 122.616 24.866 166.866 69.114l157.086 157.086a236.004 236.004 0 0 1 69.112 166.864z"
fill="#BED8FB" p-id="3818"></path>
<path d="M885.28906 480.062H323.45506a15.452 15.452 0 1 1 0-30.904H885.28906a15.452 15.452 0 1 1 0 30.904zM885.28906 562.26H323.45506a15.452 15.452 0 1 1 0-30.904H885.28906a15.452 15.452 0 1 1 0 30.904zM885.28906 644.456H323.45506a15.452 15.452 0 1 1 0-30.904H885.28906a15.452 15.452 0 1 1 0 30.904zM745.13906 726.654H323.45506a15.452 15.452 0 1 1 0-30.904h421.682a15.452 15.452 0 0 1 15.452 15.452 15.448 15.448 0 0 1-15.45 15.452zM529.84306 252.076H323.45506a15.452 15.452 0 1 1 0-30.904h206.388a15.452 15.452 0 1 1 0 30.904z"
fill="#617881" p-id="3819"></path>
<path d="M566.48706 957.136a1159.306 1159.306 0 0 1-1.504 14.568 48.352 48.352 0 0 1-15.658 30.74 47.908 47.908 0 0 1-28.578 12.362 2959.96 2959.96 0 0 1-466.258 0 47.912 47.912 0 0 1-28.578-12.362 48.348 48.348 0 0 1-15.658-30.74 1159.306 1159.306 0 0 1-1.504-14.568c-9.642-96.094-11.312-192.19-4.986-288.264 0.804-12.156 1.73-24.292 2.782-36.448a1705.496 1705.496 0 0 1 3.708-38.116c2.494-23.138 21.036-41.268 44.236-43.102a2960.442 2960.442 0 0 1 466.258 0c23.2 1.834 41.742 19.964 44.236 43.102a1705.496 1705.496 0 0 1 3.708 38.116c1.05 12.156 1.978 24.292 2.782 36.448 6.304 96.074 4.636 192.17-4.986 288.264z"
fill="#80B4FB" p-id="3820"></path>
<path d="M571.47306 668.872c-34.984 85.71-172.286 216.83-283.854 250.146C176.05106 885.704 38.74906 754.584 3.76506 668.872c0.804-12.156 1.73-24.292 2.782-36.448 38.982 85.69 172.266 211.206 281.074 243.698 108.828-32.492 242.132-158.008 281.074-243.698 1.048 12.156 1.974 24.292 2.778 36.448zM566.48706 957.136a1159.306 1159.306 0 0 1-1.504 14.568 48.352 48.352 0 0 1-15.658 30.74c-3.956-31.338-37.642-82.888-87.606-132.914a15.476 15.476 0 0 1 0.02-21.86 15.474 15.474 0 0 1 21.86 0.022c29.216 29.256 53.63 59.4 70.628 87.194 4.72 7.704 8.82 15.12 12.26 22.25zM113.51906 869.53c-49.964 50.026-83.65 101.576-87.606 132.914a48.348 48.348 0 0 1-15.658-30.74 1159.306 1159.306 0 0 1-1.504-14.568c3.44-7.128 7.54-14.546 12.26-22.252 16.998-27.794 41.414-57.938 70.628-87.194a15.474 15.474 0 0 1 21.86-0.022 15.48 15.48 0 0 1 0.02 21.862z"
fill="#5EA5EC" p-id="3821"></path>
</svg>
<a :href='mediaUrl+item.file_url' target="_blank" class="txt_pdf">{{item.type_name}} <span style="margin-left: 50px;color: #888;font-size: 13px;">{{item.ctime}}</span></a><br>
</div>
<div class="file_sty" v-for="item in picList">
<svg t="1629868178979" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1611"
width="15" height="15" style="margin: 20px 10px -2px 0;">
<path d="M235.466 195.356v249.398H39.548v-179.51c0-38.59 31.296-69.888 69.888-69.888h35.726z" fill="#BED8FB" p-id="1612"></path>
<path d="M984.44 393.056v548.778c0 45.39-36.756 82.166-82.126 82.166H227.34c-29.072 0-54.6-15.102-69.208-37.87a81.72 81.72 0 0 1-10.714-25.136l-0.308-46.976-1.916-279.756V82.166C145.194 36.778 181.972 0 227.34 0h364.066c32.718 0 138.662 90.348 232.326 185.494 85.486 86.844 160.708 177.686 160.708 207.562z"
fill="#DDEAFB" p-id="1613"></path>
<path d="M984.452 393.056v201.03c0-0.226-0.02-0.454-0.02-0.7C978.25 346.72 777.324 335.306 711.62 269.6l112.124-84.104c85.464 86.842 160.708 177.684 160.708 207.56z"
fill="#CBE2FF" p-id="1614"></path>
<path d="M591.386 0H390.356c0.226 0 0.454 0.02 0.7 0.02 246.666 6.182 258.08 207.108 323.786 272.812l84.104-112.124C712.102 75.244 621.26 0 591.386 0z"
fill="#CBE2FF" p-id="1615"></path>
<path d="M984.45 393.066v34.754c0-73.172-59.336-132.506-132.506-132.506h-80.648c-45.368 0-82.162-36.794-82.162-82.162V132.506C689.134 59.334 629.8 0 556.628 0h34.754c62.58 0 122.616 24.866 166.866 69.114l157.086 157.086a236.008 236.008 0 0 1 69.116 166.866zM701.41 693.93v184.278c0 59.606-48.316 107.922-107.922 107.922H158.132a81.72 81.72 0 0 1-10.714-25.136l-0.308-46.976-1.916-279.756v-48.254h448.294c59.606 0 107.922 48.316 107.922 107.922z"
fill="#BED8FB" p-id="1616"></path>
<path d="M771.298 443.052v375.384c0 59.606-48.316 107.922-107.922 107.922H109.448c-2.08 0-4.12-0.082-6.16-0.288-35.706-3.09-63.726-33.068-63.726-69.6V265.244c0 19.286 7.83 36.756 20.48 49.408 11.27 11.29 26.394 18.75 43.246 20.192 2.04 0.206 4.08 0.288 6.16 0.288h553.928c59.608-0.002 107.922 48.314 107.922 107.92z"
fill="#617881" p-id="1617"></path>
<path d="M668.278 492.9v275.676c0 5.068-0.68 9.972-1.978 14.608-6.388 23.158-27.608 40.156-52.786 40.156H192.438a49.648 49.648 0 0 1-39.106-18.956 49.52 49.52 0 0 1-10.756-30.906V487.996c0-27.526 22.314-49.84 49.86-49.84h421.076c30.248 0 54.766 24.52 54.766 54.744z"
fill="#80B4FB" p-id="1618"></path>
<path d="M277.946 558.042m-53.742 0a53.742 53.742 0 1 0 107.484 0 53.742 53.742 0 1 0-107.484 0Z" fill="#F1D333"
p-id="1619"></path>
<path d="M411.228 823.342H192.438a49.648 49.648 0 0 1-39.106-18.956l119.11-114.844z" fill="#EAB14D" p-id="1620"></path>
<path d="M666.3 783.186c-6.388 23.158-27.608 40.156-52.786 40.156H314.06l196.93-189.904z" fill="#F1D333" p-id="1621"></path>
<path d="M103.288 334.842v591.228c-35.706-3.09-63.726-33.068-63.726-69.6V265.244c0 19.286 7.83 36.756 20.48 49.408 11.27 11.29 26.392 18.748 43.246 20.19z"
fill="#475959" p-id="1622"></path>
</svg>
<a :href='mediaUrl+item.file_url' target="_blank" class="txt_pdf">{{item.type_name}} <span style="margin-left: 50px;color: #888;font-size: 13px;">{{item.ctime}}</span></a><br>
</div>
</div>
<div class="ques_tion">
<el-form :model="questionform" :rules="rules" ref="question" label-width="300px" label-position="top">
<el-divider content-position="center">REFEREE'S ASSESSMENT</el-divider>
<el-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-form-item label="2.Technical Quality">
<el-radio-group v-model="questionform.qu2">
<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-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-form-item label="4.Style & Overall Representation">
<el-radio-group v-model="questionform.qu4">
<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-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-form-item label="6.Suitability for 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-form-item label="7.Adequate Illustrations or Drawings">
<el-radio-group v-model="questionform.qu7">
<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-form-item label="8.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-collapse>
<el-form-item label="9.Does the title represent manuscript's contents?">
<el-switch v-model="questionform.qu9" active-text="yes" inactive-text="no"></el-switch>
<el-collapse-item name="1">
<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-form-item>
<el-form-item label="10.Is the Abstract accurate and concise?">
<el-switch v-model="questionform.qu10" active-text="yes" inactive-text="no"></el-switch>
<el-collapse-item name="2">
<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-form-item>
<el-form-item label="11.Are the approach/ methods properly described?">
<el-switch v-model="questionform.qu11" active-text="yes" inactive-text="no"></el-switch>
<el-collapse-item name="3">
<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-form-item>
<el-form-item label="12.Are the conclusions and interpretations sound?">
<el-switch v-model="questionform.qu12" active-text="yes" inactive-text="no"></el-switch>
<el-collapse-item name="4">
<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-form-item>
<el-form-item label="13.Are the references properly cited?">
<el-switch v-model="questionform.qu13" active-text="yes" inactive-text="no"></el-switch>
<el-collapse-item name="5">
<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-form-item>
<el-form-item label="14.Is this a new/ original/ confirmatory contribution?">
<el-switch v-model="questionform.qu14" active-text="yes" inactive-text="no"></el-switch>
<el-collapse-item name="6">
<template slot="title">
<i class="el-icon-edit"></i>Comments/ Suggestions
</template>
<el-input type="textarea" placeholder="please input content" v-model="questionform.qu14contents" :rows="4"></el-input>
</el-collapse-item>
</el-form-item>
<el-form-item label="15.Is it within the scope of the journal?">
<el-switch v-model="questionform.qu15" active-text="yes" inactive-text="no"></el-switch>
<el-collapse-item name="7">
<template slot="title">
<i class="el-icon-edit"></i>Comments/ Suggestions
</template>
<el-input type="textarea" placeholder="please input content" v-model="questionform.qu15contents" :rows="4"></el-input>
</el-collapse-item>
</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>
<br />
<span>Your score:{{questionform.rated}}</span>
</el-form-item>
<el-form-item label="REFEREE'S RECOMMENDATIONS" prop="recommend">
<el-radio-group v-model="questionform.recommend">
<el-radio :label="1">Accept with minor changes</el-radio>
<br />
<el-radio :label="2">Accept subject to revisions, as noted in comments</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">
<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="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="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>
<el-button type="primary" @click="questionSubmit">submit</el-button>
</el-form-item>
</el-collapse>
</el-form>
</div>
</div>
</div>
</template>
<script>
export default {
data() {
return {
loading: false,
Direct_log: this.$route.query.act,
Art_id: this.$route.query.Art_id,
txt_mess: {},
fileList: [],
picList: [],
mediaUrl: this.Common.mediaUrl,
add_edit: {
article_id: this.$route.query.Art_id,
user_id: localStorage.getItem('U_id'),
content: ''
},
head_line: '',
questionform: {
rev_qu_id: '',
art_rev_id: this.$route.query.Art_id,
qu1: '',
qu2: '',
qu3: '',
qu4: '',
qu5: '',
qu6: '',
qu7: '',
qu8: '',
qu9: 'false',
qu9contents: '',
qu10: 'false',
qu10contents: '',
qu11: 'false',
qu11contents: '',
qu12: 'false',
qu12contents: '',
qu13: 'false',
qu13contents: '',
qu14: 'false',
qu14contents: '',
qu15: 'false',
qu15contents: '',
rated: '',
recommend: '',
other: '',
confident: '',
comment: ''
},
rules: {}
}
},
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.getData();
} else {
this.$message.error(res.msg);
}
})
.catch(err => {
this.$message.error(err);
});
}
},
methods: {
getData() {
// 获取文章信息
this.$api
.post('api/Reviewer/getartrevdate', {
'revid': this.Art_id,
'human': 'reviewer'
})
.then(res => {
this.txt_mess = res
})
.catch(err => {
this.$message.error(err);
});
this.$api
.post('api/Reviewer/getAFilelistByID ', {
'revid': this.Art_id
})
.then(res => {
for (var i = 0; i < res.data.length; i++) {
let date = new Date(parseInt(res.data[i].ctime) * 1000);
let Y = date.getFullYear() + '-';
let M = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) + '-' : date.getMonth() + 1 + '-';
let D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
res.data[i].ctime = Y + M + D;
}
this.fileList = res.data
})
.catch(err => {
this.$message.error(err);
});
this.$api
.post('api/Reviewer/getBFilelistByID', {
'revid': this.Art_id
})
.then(res => {
for (var i = 0; i < res.data.length; i++) {
let date = new Date(parseInt(res.data[i].ctime) * 1000);
let Y = date.getFullYear() + '-';
let M = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) + '-' : date.getMonth() + 1 + '-';
let D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
res.data[i].ctime = Y + M + D;
}
this.picList = res.data
})
.catch(err => {
this.$message.error(err);
});
//初始化问卷
this.$api.post('api/Reviewer/getQuestion', {
artrevid: this.Art_id
}).then((res) => {
if (res.code == 0) {
this.questionform.rev_qu_id = res.data.rev_qu_id;
this.questionform.qu1 = res.data.qu1;
this.questionform.qu2 = res.data.qu2;
this.questionform.qu3 = res.data.qu3;
this.questionform.qu4 = res.data.qu4;
this.questionform.qu5 = res.data.qu5;
this.questionform.qu6 = res.data.qu6;
this.questionform.qu7 = res.data.qu7;
this.questionform.qu8 = res.data.qu8;
this.questionform.qu9 = res.data.qu9;
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;
}
});
},
questionSubmit() {
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();
} else {
this.loading = false;
this.$message.error('question submit error');
}
});
} else {
this.$message.error('please select a recommend option');
}
});
},
},
mounted() {
},
}
</script>
<style>
.ma_title {
margin-bottom: 5px;
font-weight: bold;
}
.tet_list {
border: 1px solid #DCDFE6;
background: #fff;
border-radius: 5px;
margin-bottom: 20px;
padding: 20px 20px;
}
.upload-txtc .el-upload-list__item .el-icon-upload-success {
display: none !important;
}
.tet_list h5 {
margin: 20px 0 10px 0;
font-weight: normal;
}
.tet_list p {
font-family: Calibri;
line-height: 22px;
}
.file_sty a {
color: #606266;
font-size: 14px;
}
.file_sty a:hover {
text-decoration: underline;
}
.ques_tion {
border: 1px solid #DCDFE6;
background: #fff;
border-radius: 5px;
margin-bottom: 20px;
padding: 20px 20px;
}
.red {
color: #ff0000;
}
</style>

File diff suppressed because it is too large Load Diff

View File

@@ -70,9 +70,6 @@ export default {
};
},
created() {
if(this.userrole!='reviewer'){
this.$router.push('/authorApplyReviewer');
}
this.getdate();
},
methods: {

View File

@@ -0,0 +1,287 @@
<template>
<div>
<div class="crumbs">
<el-breadcrumb separator="/">
<el-breadcrumb-item>
<i class="el-icon-collection"></i> <span class="top_dao">{{this.head_line}}</span>
</el-breadcrumb-item>
</el-breadcrumb>
</div>
<div class="container container_l">
<el-row :gutter="24">
<el-col :span="16">
<div class="ma_title">
<svg t="1629527802392" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1650"
width="20" height="20" style="margin-bottom: -3px;margin-right: 6px;">
<path d="M188.09 651.19V257.35c0-17.13-0.12-34.27 0-51.4a82.49 82.49 0 0 1 0.56-9.16l-1.07 8a71.88 71.88 0 0 1 4.77-17.7l-3 7.17a65.69 65.69 0 0 1 5.08-9.55c0.48-0.74 1-1.47 1.49-2.19q2.67-3.62-2.29 2.95c1.07-1.06 2-2.31 3-3.39s2.13-2.12 3.26-3.11c5.41-4.73-5.17 3.35-1.05 0.81a65.75 65.75 0 0 1 8.82-4.76l-7.16 3a50.69 50.69 0 0 1 10.88-3l-8 1.07c8-1 16.36-0.45 24.41-0.45h23c15.7 0 30.73-13.8 30-30s-13.18-30-30-30h-40.7c-12.16 0.13-22.91 3-33.85 8-31.57 14.52-48.1 50.18-48.15 83.53q-0.06 38.93 0 77.86v289.88c0 25.06-0.43 50.16 0 75.22v1.06c0 15.69 13.8 30.73 30 30s30-13.18 30-30z"
fill="#0071C3" p-id="1651"></path>
<path d="M918.68 647.94h-15.5V314.68c0-16.09 0.33-32.22 0-48.31v-0.69a28.79 28.79 0 0 0-1.4-8.74 27.62 27.62 0 0 0-7.43-12.57l-60.5-57.69-96.32-91.86-21.95-20.93a28.66 28.66 0 0 0-2.38-2 27.37 27.37 0 0 0-18.92-6.79H386.56c-21.68 0-43.37-0.15-65.05 0-33.19 0.23-66.24 19.24-79.86 50.21-5.43 12.37-8.56 24.66-8.65 38.29v494.34H105.32c-16.28 0-30.12 13.81-30.12 30.13v250.58c0 16.28 13.8 30.12 30.12 30.12h719.9c30.73 0 61.51 0.52 92.23 0h1.23c16.28 0 30.12-13.8 30.12-30.12V678.07c0-16.29-13.8-30.13-30.12-30.13zM797.82 235.55h-33.93c-5.19 0-10.43 0.17-15.63-0.17a61.29 61.29 0 0 1-7-1.93 57.29 57.29 0 0 1-5.73-3.29l-0.24-0.16c-0.94-0.83-1.87-1.66-2.76-2.55s-1.73-1.83-2.56-2.77l-0.15-0.23a58.37 58.37 0 0 1-3.3-5.74 62.29 62.29 0 0 1-2-7.64c-1-12.39-0.06-25.25-0.06-37.56v-8l9.08 8.66z m-504.58-82.16q0-2.05 0.15-4.11a60.48 60.48 0 0 1 2-7.12 56.34 56.34 0 0 1 3.29-5.74l0.15-0.23c0.83-0.94 1.67-1.88 2.56-2.77s1.82-1.72 2.76-2.56l0.24-0.15a56.34 56.34 0 0 1 5.74-3.29 62.66 62.66 0 0 1 7.63-2c12.3-1 25.07-0.05 37.27-0.05h292.13c5.64 0 11.29 0 16.94 0.08-0.09 27.46-0.21 54.92 0 82.38 0.23 23.51 9.58 46.83 26.69 63.18a89.83 89.83 0 0 0 61.5 24.84c19.24 0.17 38.48 0 57.72 0h32.87v318.57c0 11.17-0.16 22.35-0.15 33.52H649.67a25.15 25.15 0 0 0-9.42 1.08c-6.88 2.23-14.81 6.75-17.91 13.65a28.06 28.06 0 0 0-3.08 6.7 154.44 154.44 0 0 1-10.53 18.4c-1.22 1.83-2.51 3.61-3.79 5.39-0.25 0.31-0.5 0.63-0.76 0.94q-4.71 5.7-9.95 10.93-5 5-10.4 9.47l-0.49 0.38c1.35-1 2.34-1.66-0.07 0.13l-1.46 1.06c0.31-0.26 0.68-0.55 1.05-0.83-0.42 0.3-0.84 0.62-1.22 1-1.36 1-2.73 1.95-4.13 2.89a155.31 155.31 0 0 1-22 12.3 157.66 157.66 0 0 1-31.63 8.67 160.51 160.51 0 0 1-33.09 0 157.38 157.38 0 0 1-31.62-8.67 155.09 155.09 0 0 1-21.47-11.91c-1.78-1.18-3.52-2.41-5.25-3.66 0.33 0.28 0.69 0.57 1.08 0.91-0.48-0.41-1-0.8-1.47-1.19a0.71 0.71 0 0 0-0.14-0.1 25.52 25.52 0 0 1-2.61-2.19c-3.07-2.62-6-5.36-8.91-8.21q-5-5-9.5-10.38l-1.16-1.43a203.68 203.68 0 0 1-3.45-4.86 157.45 157.45 0 0 1-13.91-25.5c-4.07-9.39-16.39-14.92-26-14.92h-73.14V212.58c0-19.73-0.15-39.46 0-59.19z m288.18 563c-0.11 0.1-0.23 0.21-0.33 0.32 0.08-0.08 0.2-0.19 0.33-0.31z m262 182.12H198.78c-21.08 0-42.22-0.34-63.33-0.32v-190h212.27c23.5 42.08 64.93 74 111.35 86.61 53.34 14.47 113.4 3.89 157.42-29.9 20.29-15.57 37.82-34.5 50.34-56.71h221.72v190.33z"
fill="#0071C3" p-id="1652"></path>
<path d="M431.3 715l0.72 0.58 0.39 0.28c-2-1.7-2.91-2.41-3.14-2.57zM583.34 714.88l-0.48 0.36z" fill="#0071C3"
p-id="1653"></path>
<path d="M368.17 379.84h240c15.69 0 30.73-13.8 30-30s-13.18-30-30-30h-240c-15.69 0-30.73 13.8-30 30s13.18 30 30 30zM368.17 507.91H719c16.16 0 32.37 0.33 48.53 0h0.69c15.69 0 30.73-13.8 30-30s-13.18-30-30-30H417.39c-16.16 0-32.37-0.33-48.53 0h-0.69c-15.69 0-30.73 13.8-30 30s13.18 30 30 30z"
fill="#FD9A16" p-id="1654"></path>
</svg>
The manuscripts are ready to get final decisions.
</div>
<ul class="ta1_uli">
<li v-for="item in tableData1">
<h5>{{item.type}}</h5>
<router-link target="_blank" :to="{path:'/man_text',query:{Art_id:item.article_id}}">
<h3>{{item.title}}</h3>
</router-link>
<h6>{{item.author}}</h6>
<h4><span>{{head_line}}.</span><span style="color: #888;">Submitted time: {{item.ctime}}</span><span>{{item.accept_sn}}</span></h4>
</li>
<p v-if="tableData1==''" style="color:#6f6f6f;font-size: 14px;margin-top: 20px;">No article</p>
</ul>
</el-col>
<el-col :span="8">
<div class="ma_title">
<svg t="1629527662744" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3890"
width="20" height="20" style="margin-bottom: -3px;margin-right: 6px;">
<path d="M277.79 206l1.7-1.34-1.49 1.16zM812.16 272.94l-0.06-0.08-0.25-0.31 2 2.69-0.86-1.17zM743.76 805.56l0.08-0.07 0.31-0.24c-1.42 1.06-2.26 1.7-2.69 2l1.17-0.86z"
fill="#0071C3" p-id="3891"></path>
<path d="M929.43 366.16c-24.2-71.91-66.72-137.68-123.37-188.29C749.14 127 679.34 90.48 604.51 74.74 527.24 58.48 445.43 62.36 370.59 88 298.35 112.79 232.42 156 182 213.47c-50.73 57.81-86.91 128.47-101.75 204.11a479.79 479.79 0 0 0-7.92 60.89c-1 15.88 14.71 31.06 30.36 30.36 17.34-0.78 29.23-13.35 30.35-30.36q0.81-12.27 2.32-24.47a412.41 412.41 0 0 1 26.27-96.3 411.4 411.4 0 0 1 26.79-51.54q8.07-13.12 17.1-25.62c1.3-1.81 2.62-3.6 4-5.39l1.44-1.9c3-3.8 6.06-7.58 9.2-11.29a413.71 413.71 0 0 1 42.49-43.31q5.52-4.85 11.2-9.5l4-3.2 0.16-0.13 0.99-0.82 3.16-2.48-2.68 2.12c0.66-0.52 1.37-1.07 1.85-1.42q12-9 24.73-17.17A411.38 411.38 0 0 1 364.44 155a412 412 0 0 1 96.16-26.21 419.29 419.29 0 0 1 102.11 0 412.31 412.31 0 0 1 96.36 26.29A411.16 411.16 0 0 1 710.79 182q13 8 25.43 17 3 2.15 5.88 4.33l1.31 1c4 3.14 7.87 6.31 11.72 9.57a411.9 411.9 0 0 1 43.41 42.71q4.8 5.49 9.41 11.14c1.32 1.61 2.61 3.23 3.9 4.86l-1.24-1.64 1.55 2c1 1.25 2.71 3.58 1.73 2.3q8.72 11.65 16.6 23.91a413 413 0 0 1 31.24 58.65A412.49 412.49 0 0 1 888 454a419.12 419.12 0 0 1 0 102.09 412.39 412.39 0 0 1-26.29 96.37 412.61 412.61 0 0 1-26.92 51.73q-8 13-17 25.42-2.14 3-4.34 5.88c-0.32 0.44-0.66 0.87-1 1.31-3.13 4-6.3 7.88-9.57 11.72a411.9 411.9 0 0 1-42.71 43.41q-5.48 4.8-11.13 9.41-2.43 2-4.87 3.91l1.63-1.25-2 1.55c-1.24 1-3.57 2.7-2.3 1.72q-11.65 8.72-23.9 16.6a413.08 413.08 0 0 1-58.66 31.24 412.28 412.28 0 0 1-96.19 26.22 420 420 0 0 1-102.13 0 412.94 412.94 0 0 1-96.68-26.43 412.57 412.57 0 0 1-76.35-43.43c-2.72-2-5.4-4-8.08-6l-0.48-0.39q-2.42-1.9-4.79-3.85-8.93-7.28-17.42-15a419.54 419.54 0 0 1-32.18-32.88 24.54 24.54 0 0 0-2-2h172.43c15.88 0 31.09-14 30.35-30.35s-13.33-30.36-30.35-30.36H166.91c-15.23 0-32 14-30.36 30.36l6.84 70.2q5.46 55.9 10.9 111.83l2.5 25.58c0.8 8.24 2.85 15.43 8.89 21.47 5.27 5.26 13.9 9.23 21.47 8.89 15.12-0.68 32-13.43 30.35-30.36l-6.84-70.2q-1.72-17.76-3.46-35.52a441.21 441.21 0 0 0 194.12 108.39c80.95 20.81 168.56 18.41 247.94-8 71.79-23.91 137.5-66.07 188.25-122.32 51-56.48 87.7-125.89 103.88-200.34 16.81-77.33 13.3-159.36-11.96-234.46z"
fill="#0071C3" p-id="3892"></path>
<path d="M466.71 289.7v215.35c0 16.48 13.91 30.26 30.36 30.36l72.83 0.41 116.69 0.67 26.71 0.15c15.89 0.09 31.09-14 30.36-30.35-0.74-16.53-13.34-30.26-30.36-30.36l-72.83-0.42-116.69-0.67-26.71-0.15 30.35 30.36V289.7c0-15.88-14-31.09-30.35-30.36s-30.36 13.34-30.36 30.36z"
fill="#FD9A16" p-id="3893"></path>
</svg>
Accepted manuscripts.
</div>
<ul class="ta1_uli">
<li v-for="item in tableData2">
<h5>{{item.type}}</h5>
<router-link target="_blank" :to="{path:'/man_text',query:{Art_id:item.article_id}}">
<h3>{{item.title}}</h3>
</router-link>
<h6>{{item.author}}</h6>
<h4><span>{{head_line}}.</span><br>
<span style="color: #888;">Submitted time: {{item.ctime}}</span><span>{{item.accept_sn}}</span></h4>
</li>
<p v-if="tableData2==''" style="color:#6f6f6f;font-size: 14px;margin-top: 20px;">No historical articles</p>
</ul>
<!-- <el-table :data="tableData2" border class="table" ref="multipleTable" header-cell-class-name="table-header">
<el-table-column prop="title" label="文章"></el-table-column>
<el-table-column prop="url" label=""></el-table-column>
<el-table-column prop="sort" label="" width="100" align="center"></el-table-column>
<el-table-column label="操作" width="180" align="center">
<template slot-scope="scope">
<el-button type="text" icon="el-icon-edit" @click="handleEdit(scope.$index, scope.row)">编辑</el-button>
<el-button type="text" icon="el-icon-delete" class="red" @click="handleDelete(scope.$index, scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table> -->
<div class="pagination">
<el-pagination layout="total, prev, pager, next" :current-page="TaBle2.pageIndex" :page-size="TaBle2.pageSize" :total="link_Tota2"
@current-change="handlePageChange2">
</el-pagination>
</div>
</el-col>
</el-row>
</div>
</div>
</template>
<script>
export default {
data() {
return {
Direct_log: this.$route.query.act,
head_line: "",
query: {
user_id: localStorage.getItem('U_id')
},
tableData1: [],
tableData2: [],
TaBle2: {
pageIndex: 1,
pageSize: 10
},
link_Tota2: 0,
cate_title: [],
cate_jour: []
};
},
mounted() {
},
created() {
if (this.Direct_log == null) {
this.getTable();
} 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.getTable();
} else {
this.$message.error(res.msg);
}
})
.catch(err => {
this.$message.error(err);
});
}
},
methods: {
// 获取数据
getTable() {
this.$api
.post('api/Chief/getJournalsFromChief', this.query)
.then(res => {
if (res.code == 0) {
this.cate_jour = res.data.journals
this.cate_title = this.cate_jour[0].title
localStorage.setItem('journal_title', this.cate_jour[0].title);
localStorage.setItem('journal_id', this.cate_jour[0].journal_id);
this.head_line = this.cate_jour[0].title;
this.query.journal_id = this.cate_jour[0].journal_id;
this.TaBle2.journal_id = this.cate_jour[0].journal_id;
this.getData();
} else {
this.$message.error(res.msg);
}
})
.catch(err => {
this.$message.error(err);
});
},
getData() {
this.$api
.post('api/Chief/getPArticlesForChief', this.query)
.then(res => {
if (res.code == 0) {
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.tableData1 = res.data.articles;
} else {
this.$message.error(res.msg);
}
})
.catch(err => {
this.$message.error(err);
});
this.$api
.post('api/Chief/getHArticlesForChief', 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;
this.link_Tota2 = res.data.count || 0;
} else {
this.$message.error(res.msg);
}
})
.catch(err => {
this.$message.error(err);
});
},
// 分页导航
handlePageChange2(val) {
this.$set(this.TaBle2, 'pageIndex', val);
this.getData();
},
// 期刊下拉菜单点击
handlejournal(command) {
this.cate_title = command.title;
localStorage.setItem('journal_title', command.title);
localStorage.setItem('journal_id', command.journal_id);
this.head_line = command.title;
this.query.journal_id = command.journal_id;
this.TaBle2.journal_id = command.journal_id;
this.getData();
}
},
computed: {
onRoutes() {
0
return this.$route.path.replace('/', '');
}
},
watch: {
}
};
</script>
<style scoped>
.ma_title {
margin-bottom: 5px;
font-weight: bold;
color: #006699;
}
.ta1_uli li {
list-style: none;
border-bottom: 2px solid #dcdcdc;
/* box-shadow: 0 0 10px #e1e1e1; */
padding: 10px 20px 20px 20px;
background-color: #fff;
margin-top: 20px;
}
.ta1_uli li:hover {
/* background: #fafafa; */
}
.ta1_uli li h3 {
color: #000;
margin-top: 8px;
font-family: "Helvetica Neue", Helvetica, Georgia, sans-serif;
}
.ta1_uli li h3:hover {
text-decoration: underline;
}
.ta1_uli li h4 {
/* color: #6f6f6f; */
margin-top: 8px;
font-weight: normal;
font-size: 15px;
line-height: 22px;
}
.ta1_uli li h4 span {
margin-right: 10px;
}
.ta1_uli li h5 {
color: #006699;
margin-top: 5px;
padding-bottom: 10px;
font-weight: normal;
border-bottom: 1px solid #f1f1f1;
}
.ta1_uli li h6 {
font-weight: normal;
font-family: Calibri;
font-size: 16px;
margin-top: 10px;
}
</style>

View File

@@ -0,0 +1,298 @@
<template>
<div>
<!-- 期刊下拉菜单 -->
<el-dropdown class="link_jour" trigger="click" @command="handlejournal">
<span>
{{ this.cate_title }}<i class="el-icon-arrow-down el-icon--right"></i>
</span>
<el-dropdown-menu :default-active="onRoutes" router slot="dropdown">
<el-dropdown-item v-for="item in cate_jour" :command="item" :index="item.journal_id">
<i :class="item.icon"></i>{{ item.title }}
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<div class="crumbs">
<el-breadcrumb separator="/">
<el-breadcrumb-item>
<i class="el-icon-collection"></i> <span class="top_dao">{{this.head_line}}</span>
</el-breadcrumb-item>
</el-breadcrumb>
</div>
<div class="container container_l">
<el-row :gutter="24">
<el-col :span="16">
<div class="ma_title">
<svg t="1629527802392" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1650"
width="20" height="20" style="margin-bottom: -3px;margin-right: 6px;">
<path d="M188.09 651.19V257.35c0-17.13-0.12-34.27 0-51.4a82.49 82.49 0 0 1 0.56-9.16l-1.07 8a71.88 71.88 0 0 1 4.77-17.7l-3 7.17a65.69 65.69 0 0 1 5.08-9.55c0.48-0.74 1-1.47 1.49-2.19q2.67-3.62-2.29 2.95c1.07-1.06 2-2.31 3-3.39s2.13-2.12 3.26-3.11c5.41-4.73-5.17 3.35-1.05 0.81a65.75 65.75 0 0 1 8.82-4.76l-7.16 3a50.69 50.69 0 0 1 10.88-3l-8 1.07c8-1 16.36-0.45 24.41-0.45h23c15.7 0 30.73-13.8 30-30s-13.18-30-30-30h-40.7c-12.16 0.13-22.91 3-33.85 8-31.57 14.52-48.1 50.18-48.15 83.53q-0.06 38.93 0 77.86v289.88c0 25.06-0.43 50.16 0 75.22v1.06c0 15.69 13.8 30.73 30 30s30-13.18 30-30z"
fill="#0071C3" p-id="1651"></path>
<path d="M918.68 647.94h-15.5V314.68c0-16.09 0.33-32.22 0-48.31v-0.69a28.79 28.79 0 0 0-1.4-8.74 27.62 27.62 0 0 0-7.43-12.57l-60.5-57.69-96.32-91.86-21.95-20.93a28.66 28.66 0 0 0-2.38-2 27.37 27.37 0 0 0-18.92-6.79H386.56c-21.68 0-43.37-0.15-65.05 0-33.19 0.23-66.24 19.24-79.86 50.21-5.43 12.37-8.56 24.66-8.65 38.29v494.34H105.32c-16.28 0-30.12 13.81-30.12 30.13v250.58c0 16.28 13.8 30.12 30.12 30.12h719.9c30.73 0 61.51 0.52 92.23 0h1.23c16.28 0 30.12-13.8 30.12-30.12V678.07c0-16.29-13.8-30.13-30.12-30.13zM797.82 235.55h-33.93c-5.19 0-10.43 0.17-15.63-0.17a61.29 61.29 0 0 1-7-1.93 57.29 57.29 0 0 1-5.73-3.29l-0.24-0.16c-0.94-0.83-1.87-1.66-2.76-2.55s-1.73-1.83-2.56-2.77l-0.15-0.23a58.37 58.37 0 0 1-3.3-5.74 62.29 62.29 0 0 1-2-7.64c-1-12.39-0.06-25.25-0.06-37.56v-8l9.08 8.66z m-504.58-82.16q0-2.05 0.15-4.11a60.48 60.48 0 0 1 2-7.12 56.34 56.34 0 0 1 3.29-5.74l0.15-0.23c0.83-0.94 1.67-1.88 2.56-2.77s1.82-1.72 2.76-2.56l0.24-0.15a56.34 56.34 0 0 1 5.74-3.29 62.66 62.66 0 0 1 7.63-2c12.3-1 25.07-0.05 37.27-0.05h292.13c5.64 0 11.29 0 16.94 0.08-0.09 27.46-0.21 54.92 0 82.38 0.23 23.51 9.58 46.83 26.69 63.18a89.83 89.83 0 0 0 61.5 24.84c19.24 0.17 38.48 0 57.72 0h32.87v318.57c0 11.17-0.16 22.35-0.15 33.52H649.67a25.15 25.15 0 0 0-9.42 1.08c-6.88 2.23-14.81 6.75-17.91 13.65a28.06 28.06 0 0 0-3.08 6.7 154.44 154.44 0 0 1-10.53 18.4c-1.22 1.83-2.51 3.61-3.79 5.39-0.25 0.31-0.5 0.63-0.76 0.94q-4.71 5.7-9.95 10.93-5 5-10.4 9.47l-0.49 0.38c1.35-1 2.34-1.66-0.07 0.13l-1.46 1.06c0.31-0.26 0.68-0.55 1.05-0.83-0.42 0.3-0.84 0.62-1.22 1-1.36 1-2.73 1.95-4.13 2.89a155.31 155.31 0 0 1-22 12.3 157.66 157.66 0 0 1-31.63 8.67 160.51 160.51 0 0 1-33.09 0 157.38 157.38 0 0 1-31.62-8.67 155.09 155.09 0 0 1-21.47-11.91c-1.78-1.18-3.52-2.41-5.25-3.66 0.33 0.28 0.69 0.57 1.08 0.91-0.48-0.41-1-0.8-1.47-1.19a0.71 0.71 0 0 0-0.14-0.1 25.52 25.52 0 0 1-2.61-2.19c-3.07-2.62-6-5.36-8.91-8.21q-5-5-9.5-10.38l-1.16-1.43a203.68 203.68 0 0 1-3.45-4.86 157.45 157.45 0 0 1-13.91-25.5c-4.07-9.39-16.39-14.92-26-14.92h-73.14V212.58c0-19.73-0.15-39.46 0-59.19z m288.18 563c-0.11 0.1-0.23 0.21-0.33 0.32 0.08-0.08 0.2-0.19 0.33-0.31z m262 182.12H198.78c-21.08 0-42.22-0.34-63.33-0.32v-190h212.27c23.5 42.08 64.93 74 111.35 86.61 53.34 14.47 113.4 3.89 157.42-29.9 20.29-15.57 37.82-34.5 50.34-56.71h221.72v190.33z"
fill="#0071C3" p-id="1652"></path>
<path d="M431.3 715l0.72 0.58 0.39 0.28c-2-1.7-2.91-2.41-3.14-2.57zM583.34 714.88l-0.48 0.36z" fill="#0071C3"
p-id="1653"></path>
<path d="M368.17 379.84h240c15.69 0 30.73-13.8 30-30s-13.18-30-30-30h-240c-15.69 0-30.73 13.8-30 30s13.18 30 30 30zM368.17 507.91H719c16.16 0 32.37 0.33 48.53 0h0.69c15.69 0 30.73-13.8 30-30s-13.18-30-30-30H417.39c-16.16 0-32.37-0.33-48.53 0h-0.69c-15.69 0-30.73 13.8-30 30s13.18 30 30 30z"
fill="#FD9A16" p-id="1654"></path>
</svg>
The manuscripts are ready to get final decisions.
</div>
<ul class="ta1_uli">
<li v-for="item in tableData1">
<h5>{{item.type}}</h5>
<router-link target="_blank" :to="{path:'/man_text',query:{Art_id:item.article_id}}">
<h3>{{item.title}}</h3>
</router-link>
<h6>{{item.author}}</h6>
<h4><span>{{head_line}}.</span><span style="color: #888;">Submitted time: {{item.ctime}}</span><span>{{item.accept_sn}}</span></h4>
</li>
<p v-if="tableData1==''" style="color:#6f6f6f;font-size: 14px;margin-top: 20px;">No article</p>
</ul>
</el-col>
<el-col :span="8">
<div class="ma_title">
<svg t="1629527662744" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3890"
width="20" height="20" style="margin-bottom: -3px;margin-right: 6px;">
<path d="M277.79 206l1.7-1.34-1.49 1.16zM812.16 272.94l-0.06-0.08-0.25-0.31 2 2.69-0.86-1.17zM743.76 805.56l0.08-0.07 0.31-0.24c-1.42 1.06-2.26 1.7-2.69 2l1.17-0.86z"
fill="#0071C3" p-id="3891"></path>
<path d="M929.43 366.16c-24.2-71.91-66.72-137.68-123.37-188.29C749.14 127 679.34 90.48 604.51 74.74 527.24 58.48 445.43 62.36 370.59 88 298.35 112.79 232.42 156 182 213.47c-50.73 57.81-86.91 128.47-101.75 204.11a479.79 479.79 0 0 0-7.92 60.89c-1 15.88 14.71 31.06 30.36 30.36 17.34-0.78 29.23-13.35 30.35-30.36q0.81-12.27 2.32-24.47a412.41 412.41 0 0 1 26.27-96.3 411.4 411.4 0 0 1 26.79-51.54q8.07-13.12 17.1-25.62c1.3-1.81 2.62-3.6 4-5.39l1.44-1.9c3-3.8 6.06-7.58 9.2-11.29a413.71 413.71 0 0 1 42.49-43.31q5.52-4.85 11.2-9.5l4-3.2 0.16-0.13 0.99-0.82 3.16-2.48-2.68 2.12c0.66-0.52 1.37-1.07 1.85-1.42q12-9 24.73-17.17A411.38 411.38 0 0 1 364.44 155a412 412 0 0 1 96.16-26.21 419.29 419.29 0 0 1 102.11 0 412.31 412.31 0 0 1 96.36 26.29A411.16 411.16 0 0 1 710.79 182q13 8 25.43 17 3 2.15 5.88 4.33l1.31 1c4 3.14 7.87 6.31 11.72 9.57a411.9 411.9 0 0 1 43.41 42.71q4.8 5.49 9.41 11.14c1.32 1.61 2.61 3.23 3.9 4.86l-1.24-1.64 1.55 2c1 1.25 2.71 3.58 1.73 2.3q8.72 11.65 16.6 23.91a413 413 0 0 1 31.24 58.65A412.49 412.49 0 0 1 888 454a419.12 419.12 0 0 1 0 102.09 412.39 412.39 0 0 1-26.29 96.37 412.61 412.61 0 0 1-26.92 51.73q-8 13-17 25.42-2.14 3-4.34 5.88c-0.32 0.44-0.66 0.87-1 1.31-3.13 4-6.3 7.88-9.57 11.72a411.9 411.9 0 0 1-42.71 43.41q-5.48 4.8-11.13 9.41-2.43 2-4.87 3.91l1.63-1.25-2 1.55c-1.24 1-3.57 2.7-2.3 1.72q-11.65 8.72-23.9 16.6a413.08 413.08 0 0 1-58.66 31.24 412.28 412.28 0 0 1-96.19 26.22 420 420 0 0 1-102.13 0 412.94 412.94 0 0 1-96.68-26.43 412.57 412.57 0 0 1-76.35-43.43c-2.72-2-5.4-4-8.08-6l-0.48-0.39q-2.42-1.9-4.79-3.85-8.93-7.28-17.42-15a419.54 419.54 0 0 1-32.18-32.88 24.54 24.54 0 0 0-2-2h172.43c15.88 0 31.09-14 30.35-30.35s-13.33-30.36-30.35-30.36H166.91c-15.23 0-32 14-30.36 30.36l6.84 70.2q5.46 55.9 10.9 111.83l2.5 25.58c0.8 8.24 2.85 15.43 8.89 21.47 5.27 5.26 13.9 9.23 21.47 8.89 15.12-0.68 32-13.43 30.35-30.36l-6.84-70.2q-1.72-17.76-3.46-35.52a441.21 441.21 0 0 0 194.12 108.39c80.95 20.81 168.56 18.41 247.94-8 71.79-23.91 137.5-66.07 188.25-122.32 51-56.48 87.7-125.89 103.88-200.34 16.81-77.33 13.3-159.36-11.96-234.46z"
fill="#0071C3" p-id="3892"></path>
<path d="M466.71 289.7v215.35c0 16.48 13.91 30.26 30.36 30.36l72.83 0.41 116.69 0.67 26.71 0.15c15.89 0.09 31.09-14 30.36-30.35-0.74-16.53-13.34-30.26-30.36-30.36l-72.83-0.42-116.69-0.67-26.71-0.15 30.35 30.36V289.7c0-15.88-14-31.09-30.35-30.36s-30.36 13.34-30.36 30.36z"
fill="#FD9A16" p-id="3893"></path>
</svg>
Accepted manuscripts.
</div>
<ul class="ta1_uli">
<li v-for="item in tableData2">
<h5>{{item.type}}</h5>
<router-link target="_blank" :to="{path:'/man_text',query:{Art_id:item.article_id}}">
<h3>{{item.title}}</h3>
</router-link>
<h6>{{item.author}}</h6>
<h4><span>{{head_line}}.</span><br>
<span style="color: #888;">Submitted time: {{item.ctime}}</span><span>{{item.accept_sn}}</span></h4>
</li>
<p v-if="tableData2==''" style="color:#6f6f6f;font-size: 14px;margin-top: 20px;">No historical articles</p>
</ul>
<!-- <el-table :data="tableData2" border class="table" ref="multipleTable" header-cell-class-name="table-header">
<el-table-column prop="title" label="文章"></el-table-column>
<el-table-column prop="url" label=""></el-table-column>
<el-table-column prop="sort" label="" width="100" align="center"></el-table-column>
<el-table-column label="操作" width="180" align="center">
<template slot-scope="scope">
<el-button type="text" icon="el-icon-edit" @click="handleEdit(scope.$index, scope.row)">编辑</el-button>
<el-button type="text" icon="el-icon-delete" class="red" @click="handleDelete(scope.$index, scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table> -->
<div class="pagination">
<el-pagination layout="total, prev, pager, next" :current-page="TaBle2.pageIndex" :page-size="TaBle2.pageSize" :total="link_Tota2"
@current-change="handlePageChange2">
</el-pagination>
</div>
</el-col>
</el-row>
</div>
</div>
</template>
<script>
export default {
data() {
return {
Direct_log: this.$route.query.act,
head_line: "",
query: {
user_id: localStorage.getItem('U_id')
},
tableData1: [],
tableData2: [],
TaBle2: {
pageIndex: 1,
pageSize: 10
},
link_Tota2: 0,
cate_title: [],
cate_jour: []
};
},
mounted() {
},
created() {
if (this.Direct_log == null) {
this.getTable();
} 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.getTable();
} else {
this.$message.error(res.msg);
}
})
.catch(err => {
this.$message.error(err);
});
}
},
methods: {
// 获取数据
getTable() {
this.$api
.post('api/Chief/getJournalsFromChief', this.query)
.then(res => {
if (res.code == 0) {
this.cate_jour = res.data.journals
this.cate_title = this.cate_jour[0].title
localStorage.setItem('journal_title', this.cate_jour[0].title);
localStorage.setItem('journal_id', this.cate_jour[0].journal_id);
this.head_line = this.cate_jour[0].title;
this.query.journal_id = this.cate_jour[0].journal_id;
this.TaBle2.journal_id = this.cate_jour[0].journal_id;
this.getData();
} else {
this.$message.error(res.msg);
}
})
.catch(err => {
this.$message.error(err);
});
},
getData() {
this.$api
.post('api/Chief/getPArticlesForChief', this.query)
.then(res => {
if (res.code == 0) {
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.tableData1 = res.data.articles;
} else {
this.$message.error(res.msg);
}
})
.catch(err => {
this.$message.error(err);
});
this.$api
.post('api/Chief/getHArticlesForChief', 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;
this.link_Tota2 = res.data.count || 0;
} else {
this.$message.error(res.msg);
}
})
.catch(err => {
this.$message.error(err);
});
},
// 分页导航
handlePageChange2(val) {
this.$set(this.TaBle2, 'pageIndex', val);
this.getData();
},
// 期刊下拉菜单点击
handlejournal(command) {
this.cate_title = command.title;
localStorage.setItem('journal_title', command.title);
localStorage.setItem('journal_id', command.journal_id);
this.head_line = command.title;
this.query.journal_id = command.journal_id;
this.TaBle2.journal_id = command.journal_id;
this.getData();
}
},
computed: {
onRoutes() {
0
return this.$route.path.replace('/', '');
}
},
watch: {
}
};
</script>
<style scoped>
.ma_title {
margin-bottom: 5px;
font-weight: bold;
color: #006699;
}
.ta1_uli li {
list-style: none;
border-bottom: 2px solid #dcdcdc;
/* box-shadow: 0 0 10px #e1e1e1; */
padding: 10px 20px 20px 20px;
background-color: #fff;
margin-top: 20px;
}
.ta1_uli li:hover {
/* background: #fafafa; */
}
.ta1_uli li h3 {
color: #000;
margin-top: 8px;
font-family: "Helvetica Neue", Helvetica, Georgia, sans-serif;
}
.ta1_uli li h3:hover {
text-decoration: underline;
}
.ta1_uli li h4 {
/* color: #6f6f6f; */
margin-top: 8px;
font-weight: normal;
font-size: 15px;
line-height: 22px;
}
.ta1_uli li h4 span {
margin-right: 10px;
}
.ta1_uli li h5 {
color: #006699;
margin-top: 5px;
padding-bottom: 10px;
font-weight: normal;
border-bottom: 1px solid #f1f1f1;
}
.ta1_uli li h6 {
font-weight: normal;
font-family: Calibri;
font-size: 16px;
margin-top: 10px;
}
</style>

View File

@@ -249,6 +249,14 @@ export default new Router({
},
hidden: true
},
{
path: '/editmbereditormoshi',
component: () => import('../components/page/editmbereditormoshi.vue'),
meta: {
title: 'Matching pattern'
},
hidden: true
},
{
path: '/404',
component: () => import( /* webpackChunkName: "404" */ '../components/page/404.vue'),
@@ -280,31 +288,49 @@ export default new Router({
path: '/managing',
component: () => import( /* webpackChunkName: "主编" */ '../components/page/man_aging'),
meta: {
title: 'Chief editor'
title: 'Editor-in-Chief'
}
}, {
path: '/man_text',
component: () => import( /* webpackChunkName: "主编文章详情" */ '../components/page/man_text'),
meta: {
title: 'Editor in chief article details'
title: 'Editor-in-Chief article details'
}
},{
path: '/editorial',
component: () => import( /* webpackChunkName: "编委" */ '../components/page/man_aging'),
component: () => import( /* webpackChunkName: "编委" */ '../components/page/edit_ial'),
meta: {
title: 'Editorial board'
title: 'Editorial board member'
}
},{
path: '/edit_text',
component: () => import( /* webpackChunkName: "编委文章详情" */ '../components/page/edit_text'),
meta: {
title: 'Editorial board member'
}
}, {
path: '/peerewer',
component: () => import( /* webpackChunkName: "审稿人" */ '../components/page/man_aging'),
component: () => import( /* webpackChunkName: "审稿人" */ '../components/page/per_ewer'),
meta: {
title: 'Reviewer'
}
}, {
path: '/per_text',
component: () => import( /* webpackChunkName: "审稿人文章详情" */ '../components/page/per_text'),
meta: {
title: 'Reviewer'
}
}, {
path: '/youthed',
component: () => import( /* webpackChunkName: "青年编委" */ '../components/page/man_aging'),
component: () => import( /* webpackChunkName: "青年编委" */ '../components/page/you_thed'),
meta: {
title: 'Youth editorial board'
title: 'Young scientist member'
}
}, {
path: '/watrial',
component: () => import( /* webpackChunkName: "待审稿件" */ '../components/page/wat_rial'),
meta: {
title: 'Manuscript to be reviewed'
}
}]
},