1
This commit is contained in:
@@ -7,8 +7,8 @@ import qs from 'qs'
|
||||
// axios全局配置
|
||||
axios.defaults.timeout = 10000 // 超时时间
|
||||
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8' // 配置请求头
|
||||
// axios.defaults.baseURL = 'http://www.tougao.com/'
|
||||
axios.defaults.baseURL = '/'
|
||||
axios.defaults.baseURL = 'http://www.tougao.com/'
|
||||
// axios.defaults.baseURL = '/'
|
||||
|
||||
// 添加响应拦截器,统一处理服务器响应和异常
|
||||
axios.interceptors.response.use(
|
||||
|
||||
@@ -52,6 +52,11 @@ a {
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
.container_l {
|
||||
border: 0 !important;
|
||||
padding: 30px 0 !important;
|
||||
}
|
||||
|
||||
.crumbs {
|
||||
margin: 10px 0;
|
||||
}
|
||||
@@ -99,7 +104,7 @@ a {
|
||||
width: 600px;
|
||||
}
|
||||
|
||||
.addarticle-box{
|
||||
.addarticle-box {
|
||||
width: 800px;
|
||||
}
|
||||
|
||||
|
||||
BIN
src/assets/img/bit_bug.png
Normal file
BIN
src/assets/img/bit_bug.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 38 KiB |
77
src/components/common/Content.vue
Normal file
77
src/components/common/Content.vue
Normal file
@@ -0,0 +1,77 @@
|
||||
<template>
|
||||
<div class="wrapper">
|
||||
<v-head></v-head>
|
||||
<!-- <v-sidebar></v-sidebar> -->
|
||||
<div class="content-box_l">
|
||||
<!-- <v-tags></v-tags> -->
|
||||
<div class="content content_l">
|
||||
<div>
|
||||
<transition name="move" mode="out-in">
|
||||
<keep-alive :include="tagsList">
|
||||
<router-view></router-view>
|
||||
</keep-alive>
|
||||
</transition>
|
||||
<el-backtop target=".content"></el-backtop>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import vHead from './Lead.vue';
|
||||
// import vSidebar from './Sidebar.vue';
|
||||
// import vTags from './Tags.vue';
|
||||
// import bus from './bus';
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
tagsList: []
|
||||
};
|
||||
},
|
||||
components: {
|
||||
vHead,
|
||||
// vSidebar,
|
||||
// vTags
|
||||
},
|
||||
created() {
|
||||
// bus.$on('collapse-content', msg => {
|
||||
// this.collapse = msg;
|
||||
// });
|
||||
|
||||
// // 只有在标签页列表里的页面才使用keep-alive,即关闭标签之后就不保存到内存中了。
|
||||
// bus.$on('tags', msg => {
|
||||
// let arr = [];
|
||||
// for (let i = 0, len = msg.length; i < len; i++) {
|
||||
// msg[i].name && arr.push(msg[i].name);
|
||||
// }
|
||||
// this.tagsList = arr;
|
||||
// });
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style scoped>
|
||||
.wrapper {
|
||||
/* width: 1280px;
|
||||
margin: 0 auto; */
|
||||
}
|
||||
|
||||
.content-box_l {
|
||||
margin-top: 0;
|
||||
padding-bottom: 30px;
|
||||
transition: left .3s ease-in-out;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.content_l {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.content_l>div {
|
||||
width: 1280px;
|
||||
margin: 0 auto;
|
||||
padding: 10px 0;
|
||||
}
|
||||
</style>
|
||||
@@ -38,7 +38,7 @@
|
||||
</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">
|
||||
<el-tooltip class="item" effect="light" content="Connect to ORCID" placement="bottom-end">
|
||||
<img src="../../assets/img/orcno.png" />
|
||||
</el-tooltip>
|
||||
</div>
|
||||
@@ -80,11 +80,11 @@ export default {
|
||||
},
|
||||
computed: {
|
||||
username() {
|
||||
let username = localStorage.getItem('ms_username');
|
||||
let username = localStorage.getItem('U_name');
|
||||
return username ? username : this.name;
|
||||
},
|
||||
userrole() {
|
||||
let userrole = localStorage.getItem('ms_userrole');
|
||||
let userrole = localStorage.getItem('U_status');
|
||||
if (userrole == 1) {
|
||||
return this.$t('total.author');
|
||||
} else if (userrole == 2) {
|
||||
@@ -100,8 +100,8 @@ export default {
|
||||
// 用户名下拉菜单选择事件
|
||||
handleCommand(command) {
|
||||
if (command == 'loginout') {
|
||||
localStorage.removeItem('ms_username');
|
||||
localStorage.removeItem('ms_userrole');
|
||||
localStorage.removeItem('U_name');
|
||||
localStorage.removeItem('U_status');
|
||||
this.$router.push('/login');
|
||||
}
|
||||
},
|
||||
@@ -113,7 +113,7 @@ export default {
|
||||
//判断orcid
|
||||
initORCID() {
|
||||
this.$api
|
||||
.post('api/user/checkOrcid', { account: localStorage.getItem('ms_username') })
|
||||
.post('api/user/checkOrcid', { account: localStorage.getItem('U_name') })
|
||||
.then((res) => {
|
||||
this.hasorcie = res.userinfo.orcid == '' ? false : true;
|
||||
this.orcid = res.userinfo.orcid;
|
||||
|
||||
232
src/components/common/Lead.vue
Normal file
232
src/components/common/Lead.vue
Normal file
@@ -0,0 +1,232 @@
|
||||
<template>
|
||||
<div class="header">
|
||||
<div style="width: 1280px;margin: 0 auto;">
|
||||
<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'">{{$t('charact.role1')}}</span>
|
||||
<span style="color:#e26a2d" v-if="this.link_path == '/editorial'">{{$t('charact.role2')}}</span>
|
||||
<span style="color:#4640c4" v-if="this.link_path == '/peerewer'">{{$t('charact.role3')}}</span>
|
||||
<span style="color:#cc3646" v-if="this.link_path == '/youthed'">{{$t('charact.role4')}}</span>
|
||||
</div>
|
||||
<div class="group">
|
||||
TMR Group System
|
||||
</div>
|
||||
<div class="header-right">
|
||||
<div class="header-user-con">
|
||||
<!-- 中英文切换 -->
|
||||
<el-dropdown class="egch_lagu" trigger="click" @command="chengelang">
|
||||
<span class="el-dropdown-link">
|
||||
language
|
||||
<i class="el-icon-caret-bottom"></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>
|
||||
<!-- 用户名下拉菜单 -->
|
||||
<el-dropdown class="user-name" trigger="click" @command="handleCommand">
|
||||
<span class="el-dropdown-link">
|
||||
Master
|
||||
<!-- {{username}} -->
|
||||
<i class="el-icon-caret-bottom"></i>
|
||||
</span>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item command="loginout">退出登录</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
<!-- 期刊下拉菜单 -->
|
||||
<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.index">
|
||||
<i :class="item.icon"></i>{{ item.title }}
|
||||
</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<br clear="both">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</template>
|
||||
<script>
|
||||
import bus from '../common/bus';
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
name: 'linxin',
|
||||
cate_title: '',
|
||||
link_path: '',
|
||||
rostage_name: '',
|
||||
cate_jour: [{
|
||||
icon: 'el-icon-collection',
|
||||
id: '1',
|
||||
index: 'compiler',
|
||||
title: 'Gastroenterology & Hepatology Research'
|
||||
}, {
|
||||
icon: 'el-icon-setting',
|
||||
id: '2',
|
||||
index: 'moniting',
|
||||
title: 'Microenvironment & Microecology Research'
|
||||
}, {
|
||||
icon: 'el-icon-news',
|
||||
id: '3',
|
||||
index: 'quality',
|
||||
title: '333'
|
||||
}, {
|
||||
icon: 'el-icon-suitcase-1',
|
||||
id: '4',
|
||||
index: 'wages',
|
||||
title: '444'
|
||||
}]
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
username() {
|
||||
let username = localStorage.getItem('U_name');
|
||||
return username ? username : this.name;
|
||||
},
|
||||
onRoutes() {
|
||||
0
|
||||
return this.$route.path.replace('/', '');
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getData();
|
||||
},
|
||||
methods: {
|
||||
getData() {
|
||||
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].id);
|
||||
this.$router.push({
|
||||
path: this.link_path,
|
||||
query: {
|
||||
jour_id: this.cate_jour[0].id
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
// 期刊下拉菜单点击
|
||||
handlejournal(command) {
|
||||
this.cate_title = command.title;
|
||||
localStorage.setItem('journal_title', command.title);
|
||||
localStorage.setItem('journal_id', command.id);
|
||||
this.$router.push({
|
||||
path: this.link_path,
|
||||
query: {
|
||||
jour_id: command.id
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
//切换语言
|
||||
chengelang(commond) {
|
||||
localStorage.setItem('langs', commond);
|
||||
this.$router.go(0);
|
||||
},
|
||||
|
||||
// 用户名下拉菜单选择事件
|
||||
handleCommand(command) {
|
||||
if (command == 'loginout') {
|
||||
// 二次确认
|
||||
this.$confirm('确定要退出登录', '提示', {
|
||||
type: 'warning'
|
||||
})
|
||||
.then(() => {
|
||||
this.$router.push('/login');
|
||||
})
|
||||
.catch(() => {});
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted() {},
|
||||
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: #333;
|
||||
border-bottom: 3px solid #000;
|
||||
background-color: #fff !important;
|
||||
}
|
||||
|
||||
.header>div {}
|
||||
|
||||
.collapse-btn {
|
||||
float: left;
|
||||
padding: 0 21px;
|
||||
cursor: pointer;
|
||||
line-height: 70px;
|
||||
}
|
||||
|
||||
.header .logo {
|
||||
float: left;
|
||||
/* width: 400px; */
|
||||
line-height: 70px;
|
||||
}
|
||||
|
||||
.header .logo i {
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.header .group {
|
||||
float: left;
|
||||
width: 600px;
|
||||
text-align: right;
|
||||
line-height: 60px;
|
||||
font-weight: bolder;
|
||||
}
|
||||
|
||||
.header-right {
|
||||
float: right;
|
||||
padding-right: 20px;
|
||||
}
|
||||
|
||||
.header-user-con {
|
||||
display: flex;
|
||||
height: 70px;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.link_jour {
|
||||
font-weight: bold;
|
||||
align-items: center;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
|
||||
.egch_lagu {
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
.user-name {
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
.el-dropdown-link {
|
||||
color: #333;
|
||||
cursor: pointer;
|
||||
}
|
||||
</style>
|
||||
@@ -55,7 +55,7 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
collapse: false,
|
||||
userrole:localStorage.getItem('ms_userrole'),
|
||||
userrole:localStorage.getItem('U_status'),
|
||||
items:[],
|
||||
author_items: [
|
||||
{
|
||||
@@ -77,18 +77,18 @@ export default {
|
||||
title:this.$t('sidebar.author2')
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
icon: 'el-icon-user',
|
||||
index: '2',
|
||||
title: this.$t('sidebar.reviewerArticle'),
|
||||
subs:[
|
||||
{
|
||||
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:[
|
||||
{
|
||||
@@ -107,6 +107,21 @@ export default {
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
icon:'el-icon-paperclip',
|
||||
index:'4',
|
||||
title:this.$t('sidebar.editmber'),
|
||||
subs:[
|
||||
{
|
||||
index:'editmbereditor',
|
||||
title:this.$t('sidebar.editmber1')
|
||||
},
|
||||
{
|
||||
index:'editmberperiod',
|
||||
title:this.$t('sidebar.editmber2')
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
icon:'el-icon-s-custom',
|
||||
index:'3',
|
||||
@@ -248,15 +263,16 @@ export default {
|
||||
}
|
||||
},
|
||||
created() {
|
||||
if(this.userrole==1){
|
||||
if(this.userrole==2){ //其余的身份(显示作者)
|
||||
this.items = this.author_items;
|
||||
}else if(this.userrole ==2){
|
||||
}else if(this.userrole ==1){ //编辑
|
||||
this.items = this.editor_items;
|
||||
}else if(this.userrole=='admin'){
|
||||
}else if(this.userrole==0){ //超级管理员
|
||||
this.items = this.admin_items;
|
||||
}else if(this.userrole=='reviewer'){
|
||||
this.items = this.reviewer_items;
|
||||
}
|
||||
// else if(this.userrole=='reviewer'){
|
||||
// this.items = this.reviewer_items;
|
||||
// }
|
||||
// 通过 Event Bus 进行组件间通信,来折叠侧边栏
|
||||
bus.$on('collapse', msg => {
|
||||
this.collapse = msg;
|
||||
|
||||
@@ -2,68 +2,78 @@ const en = {
|
||||
|
||||
system: {
|
||||
title: 'Submission System',
|
||||
repassword:'Forgot your password?',
|
||||
register:'Not registered yet? Register now.',
|
||||
orcidlogin:'Login with your ORCID iD',
|
||||
login:'Log in',
|
||||
forgetpwd:'Find Your Password',
|
||||
screen:'full screen',
|
||||
noscreen:'Cancel full screen',
|
||||
loyout:'Log out',
|
||||
langbtn:'language',
|
||||
label:'Label options',
|
||||
labelother:'close other',
|
||||
labelall:'close all'
|
||||
repassword: 'Forgot your password?',
|
||||
register: 'Not registered yet? Register now.',
|
||||
orcidlogin: 'Login with your ORCID iD',
|
||||
login: 'Log in',
|
||||
forgetpwd: 'Find Your Password',
|
||||
screen: 'full screen',
|
||||
noscreen: 'Cancel full screen',
|
||||
loyout: 'Log out',
|
||||
langbtn: 'language',
|
||||
label: 'Label options',
|
||||
labelother: 'close other',
|
||||
labelall: 'close all'
|
||||
},
|
||||
total:{
|
||||
author:'author',
|
||||
editor:'editor',
|
||||
reviewers:'reviewer',
|
||||
admin:'admin'
|
||||
total: {
|
||||
author: 'author',
|
||||
editor: 'editor',
|
||||
reviewers: 'reviewer',
|
||||
admin: 'admin'
|
||||
},
|
||||
sidebar:{
|
||||
main:'Home Page',
|
||||
author:'Author',
|
||||
author1:'My manuscript',
|
||||
author2:'Submit manuscript',
|
||||
editor:'Editor',
|
||||
editor1:'Manuscript list',
|
||||
editormanage:'Editor Management',
|
||||
editormanage1:'Editor list',
|
||||
editormanage2:'Add editor',
|
||||
journal:'Journal Management',
|
||||
journal1:'Journal list',
|
||||
journal2:'Add journal',
|
||||
reviewer:'Reviewer Management',
|
||||
reviewer1:'Reviewer application list',
|
||||
reviewer2:'Reviewer list',
|
||||
reviewer3:'Reviewer import',
|
||||
reviewer4:'Import error',
|
||||
reviewerArticle:'Reviewer',
|
||||
reviewerArticle1:'Manuscript list',
|
||||
authorApplyReviewer:'Become reviewer',
|
||||
reviewerimport:'Reviewer import',
|
||||
reviewerimporterror:'import error',
|
||||
monitor:'Monitor',
|
||||
monitor1:'Manuscript situation',
|
||||
chief:'Chief editor',
|
||||
chief1:'Editor list',
|
||||
chief2:'Journal list'
|
||||
sidebar: {
|
||||
main: 'Home Page',
|
||||
author: 'Author',
|
||||
author1: 'My manuscript',
|
||||
author2: 'Submit manuscript',
|
||||
editor: 'Editor',
|
||||
editor1: 'Manuscript list',
|
||||
editormanage: 'Editor Management',
|
||||
editormanage1: 'Editor list',
|
||||
editormanage2: 'Add editor',
|
||||
journal: 'Journal Management',
|
||||
journal1: 'Journal list',
|
||||
journal2: 'Add journal',
|
||||
reviewer: 'Reviewer Management',
|
||||
reviewer1: 'Reviewer application list',
|
||||
reviewer2: 'Reviewer list',
|
||||
reviewer3: 'Reviewer import',
|
||||
reviewer4: 'Import error',
|
||||
reviewerArticle: 'Reviewer',
|
||||
reviewerArticle1: 'Manuscript list',
|
||||
authorApplyReviewer: 'Become reviewer',
|
||||
reviewerimport: 'Reviewer import',
|
||||
reviewerimporterror: 'import error',
|
||||
monitor: 'Monitor',
|
||||
monitor1: 'Manuscript situation',
|
||||
chief: 'Chief editor',
|
||||
chief1: 'Editor list',
|
||||
chief2: 'Journal list',
|
||||
editmber: 'Editorial management',
|
||||
editmber1: 'Editorial board list',
|
||||
editmber2: 'Journal List'
|
||||
},
|
||||
home:{
|
||||
authortop:'Author guide',
|
||||
usermsg:'New messages',
|
||||
home: {
|
||||
authortop: 'Author guide',
|
||||
usermsg: 'New messages',
|
||||
},
|
||||
artstate:{
|
||||
state0:'Received',
|
||||
state1:'With editor',
|
||||
state2:'Under review',
|
||||
state3:'Reject',
|
||||
state4:'Revision',
|
||||
state5:'Accepted ',
|
||||
act1:'Dealing',
|
||||
act2:'Finished'
|
||||
artstate: {
|
||||
state0: 'Received',
|
||||
state1: 'With editor',
|
||||
state2: 'Under review',
|
||||
state3: 'Reject',
|
||||
state4: 'Revision',
|
||||
state5: 'Accepted ',
|
||||
act1: 'Dealing',
|
||||
act2: 'Finished'
|
||||
},
|
||||
charact: {
|
||||
role: 'Role',
|
||||
role1: 'Role editor',
|
||||
role2: 'Editorial board',
|
||||
role3: 'Reviewer',
|
||||
role4: 'Youth editorial board',
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -2,69 +2,78 @@ const zh = {
|
||||
|
||||
system: {
|
||||
title: '投稿系统',
|
||||
repassword:'忘记密码',
|
||||
register:'注册',
|
||||
orcidlogin:'ORCID登陆',
|
||||
login:'登录',
|
||||
forgetpwd:'找回密码',
|
||||
screen:'全屏',
|
||||
noscreen:'取消全屏',
|
||||
loyout:'退出登录',
|
||||
langbtn:'语言选择',
|
||||
label:'标签选项',
|
||||
labelother:'关闭其他',
|
||||
labelall:'关闭所有'
|
||||
repassword: '忘记密码',
|
||||
register: '注册',
|
||||
orcidlogin: 'ORCID登陆',
|
||||
login: '登录',
|
||||
forgetpwd: '找回密码',
|
||||
screen: '全屏',
|
||||
noscreen: '取消全屏',
|
||||
loyout: '退出登录',
|
||||
langbtn: '语言选择',
|
||||
label: '标签选项',
|
||||
labelother: '关闭其他',
|
||||
labelall: '关闭所有'
|
||||
},
|
||||
total:{
|
||||
author:'作者',
|
||||
editor:'编辑',
|
||||
reviewers:'审稿人',
|
||||
admin:'管理员'
|
||||
total: {
|
||||
author: '作者',
|
||||
editor: '编辑',
|
||||
reviewers: '审稿人',
|
||||
admin: '管理员'
|
||||
},
|
||||
sidebar:{
|
||||
main:'系统首页',
|
||||
author:'作者',
|
||||
author1:'我的稿件',
|
||||
author2:'新增稿件',
|
||||
editor:'编辑',
|
||||
editor1:'待审稿件',
|
||||
editormanage:'编辑管理',
|
||||
editormanage1:'编辑列表',
|
||||
editormanage2:'添加编辑',
|
||||
journal:'期刊管理',
|
||||
journal1:'期刊列表',
|
||||
journal2:'添加期刊',
|
||||
reviewer:'审稿人管理',
|
||||
reviewer1:'申请列表',
|
||||
reviewer2:'审稿人列表',
|
||||
reviewer3:'审稿人导入',
|
||||
reviewer4:'导入失败列表',
|
||||
reviewerArticle:'审稿人',
|
||||
reviewerArticle1:'待审文章',
|
||||
authorApplyReviewer:'成为审稿人',
|
||||
reviewerimport:'审稿人导入',
|
||||
reviewerimporterror:'导入失败列表',
|
||||
monitor:'总监',
|
||||
monitor1:'稿件情况',
|
||||
chief:'主编管理',
|
||||
chief1:'主编列表',
|
||||
chief2:'期刊列表'
|
||||
sidebar: {
|
||||
main: '系统首页',
|
||||
author: '作者',
|
||||
author1: '我的稿件',
|
||||
author2: '新增稿件',
|
||||
editor: '编辑',
|
||||
editor1: '待审稿件',
|
||||
editormanage: '编辑管理',
|
||||
editormanage1: '编辑列表',
|
||||
editormanage2: '添加编辑',
|
||||
journal: '期刊管理',
|
||||
journal1: '期刊列表',
|
||||
journal2: '添加期刊',
|
||||
reviewer: '审稿人管理',
|
||||
reviewer1: '申请列表',
|
||||
reviewer2: '审稿人列表',
|
||||
reviewer3: '审稿人导入',
|
||||
reviewer4: '导入失败列表',
|
||||
reviewerArticle: '审稿人',
|
||||
reviewerArticle1: '待审文章',
|
||||
authorApplyReviewer: '成为审稿人',
|
||||
reviewerimport: '审稿人导入',
|
||||
reviewerimporterror: '导入失败列表',
|
||||
monitor: '总监',
|
||||
monitor1: '稿件情况',
|
||||
chief: '主编管理',
|
||||
chief1: '主编列表',
|
||||
chief2: '期刊列表',
|
||||
editmber: '编委管理',
|
||||
editmber1: '编委列表',
|
||||
editmber2: '期刊列表'
|
||||
},
|
||||
home:{
|
||||
authortop:'用户指南',
|
||||
usermsg:'新消息',
|
||||
home: {
|
||||
authortop: '用户指南',
|
||||
usermsg: '新消息',
|
||||
},
|
||||
artstate:{
|
||||
state0:'投稿中',
|
||||
state1:'已受理',
|
||||
state2:'送审中',
|
||||
state3:'拒稿',
|
||||
state4:'退修',
|
||||
state5:'接收 ',
|
||||
act1:'审查中',
|
||||
act2:'已完结'
|
||||
artstate: {
|
||||
state0: '投稿中',
|
||||
state1: '已受理',
|
||||
state2: '送审中',
|
||||
state3: '拒稿',
|
||||
state4: '退修',
|
||||
state5: '接收 ',
|
||||
act1: '审查中',
|
||||
act2: '已完结'
|
||||
},
|
||||
|
||||
charact: {
|
||||
role: '角色',
|
||||
role1: '主编',
|
||||
role2: '编委',
|
||||
role3: '审稿人',
|
||||
role4: '青年编委',
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,67 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-row :gutter="20">
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="4" v-if="this.usercap.includes('chief')">
|
||||
<router-link target="_blank" :to="{path:'/managing',query: {top_id: '1'}}">
|
||||
<div class="grid-jue1">
|
||||
<svg t="1629185957321" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"
|
||||
p-id="3125" width="40" height="40">
|
||||
<path d="M657.749333 142.222222c-55.523556 0-113.777778 24.007111-145.976889 63.488-32.426667-39.480889-90.794667-63.488-145.863111-63.488H48.241778v728.177778h288.881778c109.795556-1.934222 126.634667 14.677333 135.509333 22.755556a48.924444 48.924444 0 0 1 12.970667 22.755555h52.337777a49.607111 49.607111 0 0 1 16.611556-27.534222c13.425778-9.102222 34.133333-20.252444 159.288889-18.773333h261.688889V142.222222z m-172.487111 694.044445c-35.498667-13.312-104.903111-18.887111-151.210666-18.887111H100.238222V194.56h265.671111c56.888889 0 119.694222 33.223111 119.694223 80.896v481.621333s-0.796444 45.169778-0.341334 79.075556z m240.526222-18.659556c-97.962667-1.706667-152.689778 0.796444-187.505777 18.659556V275.456c0-47.672889 63.146667-80.896 119.808-80.896h265.329777v622.933333z"
|
||||
fill="#ffffff" p-id="3126"></path>
|
||||
<path d="M810.666667 415.288889l-79.644445-62.577778-79.758222 62.577778v-307.2h159.402667v307.2zM167.708444 332.231111h250.311112v52.337778h-250.311112zM167.708444 480.369778h250.311112v52.337778h-250.311112zM167.708444 628.508444h250.311112v52.337778h-250.311112z"
|
||||
fill="#ffffff" p-id="3127"></path>
|
||||
</svg>
|
||||
<p>{{$t('charact.role1')}}</p>
|
||||
</div>
|
||||
</router-link>
|
||||
</el-col>
|
||||
<el-col :span="4" v-if="this.usercap.includes('board')">
|
||||
<router-link target="_blank" :to="{path:'/editorial',query: {top_id: '1'}}">
|
||||
<div class="grid-jue2">
|
||||
<svg t="1629186126715" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"
|
||||
p-id="3462" width="40" height="40">
|
||||
<path d="M356.693333 910.222222H91.022222V113.777778h743.310222v179.768889h-52.110222V165.888H143.132444v692.224h213.560889V910.222222z"
|
||||
fill="#ffffff" p-id="3463"></path>
|
||||
<path d="M880.867556 781.539556v76.231111H473.088v-76.231111h407.779556M932.977778 729.429333H420.977778V910.222222h512V729.429333zM227.555556 510.065778h243.256888v52.110222H227.555556zM227.555556 381.041778h243.256888v52.110222H227.555556zM227.555556 252.131556h294.456888v52.110222H227.555556zM676.977778 372.508444a63.943111 63.943111 0 1 1-62.577778 63.943112 63.488 63.488 0 0 1 63.032889-63.943112m0-52.110222a116.053333 116.053333 0 1 0 115.256889 116.053334 115.598222 115.598222 0 0 0-115.712-116.053334z"
|
||||
fill="#ffffff" p-id="3464"></path>
|
||||
<path d="M533.162667 768.227556l-45.169778-26.055112L622.364444 513.592889l45.169778 26.168889-134.371555 228.465778zM820.792889 768.227556L686.421333 539.761778l45.169778-26.168889 134.371556 228.579555-45.169778 26.055112z"
|
||||
fill="#ffffff" p-id="3465"></path>
|
||||
</svg>
|
||||
<p>{{$t('charact.role2')}}</p>
|
||||
</div>
|
||||
</router-link>
|
||||
</el-col>
|
||||
<el-col :span="4" v-if="this.usercap.includes('reviewer')">
|
||||
<router-link target="_blank" :to="{path:'/peerewer',query: {top_id: '1'}}">
|
||||
<div class="grid-jue3">
|
||||
<svg t="1629185981340" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"
|
||||
p-id="3293" width="40" height="40">
|
||||
<path d="M447.715556 910.222222H91.022222V113.777778h728.177778v327.68h-52.110222V165.888H143.132444v692.224h304.583112V910.222222zM611.214222 890.083556L542.72 910.222222l20.138667-68.380444 321.877333-321.763556L932.977778 568.32 611.214222 890.083556z"
|
||||
fill="#ffffff" p-id="3294"></path>
|
||||
<path d="M499.256889 613.717333H343.153778l-28.216889 67.470223H251.448889L391.509333 361.813333H455.111111l138.126222 319.374223h-65.763555zM477.866667 561.265778l-56.206223-134.144-56.888888 134.144zM522.24 305.834667h136.533333v28.444444h-136.533333z"
|
||||
fill="#ffffff" p-id="3295"></path>
|
||||
<path d="M576.284444 251.790222h28.444445v136.533334h-28.444445z" fill="#ffffff" p-id="3296"></path>
|
||||
</svg>
|
||||
<p>{{$t('charact.role3')}}</p>
|
||||
</div>
|
||||
</router-link>
|
||||
</el-col>
|
||||
<el-col :span="4" v-if="this.usercap.includes('yboard')">
|
||||
<router-link target="_blank" :to="{path:'/youthed',query: {top_id: '1'}}">
|
||||
<div class="grid-jue4">
|
||||
<svg t="1629185867793" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"
|
||||
p-id="2957" width="40" height="40">
|
||||
<path d="M515.413333 125.155556H125.155556v796.444444h757.76V597.674667H830.577778V869.262222H177.493333V177.493333h337.92V125.155556z"
|
||||
fill="#ffffff" p-id="2958"></path>
|
||||
<path d="M276.48 309.816889h147.911111v52.337778h-147.911111zM276.48 497.208889h147.911111v52.337778h-147.911111zM276.48 684.714667h455.111111v52.337777h-455.111111zM760.718222 174.193778l66.332445 39.708444-194.56 325.063111-50.289778 8.760889-16.042667-48.469333 194.56-325.063111M742.627556 102.4L508.928 492.885333l37.774222 113.777778 118.442667-20.593778L898.844444 195.925333 742.627556 102.4z"
|
||||
fill="#ffffff" p-id="2959"></path>
|
||||
</svg>
|
||||
<p>{{$t('charact.role4')}}</p>
|
||||
</div>
|
||||
</router-link>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-col :span="10" v-show="userrole=='reviewer'||userrole==1">
|
||||
<el-card shadow="hover">
|
||||
<div slot="header" class="clearfix">
|
||||
@@ -8,9 +69,11 @@
|
||||
</div>
|
||||
<div class="top-content">
|
||||
<span>
|
||||
<p>Welcome to the TMR Publishing Group online manuscript submission and tracking system.</p>
|
||||
<p>Please go through our instructions for authors before submitting.</p>
|
||||
<p><el-link type="primary" href="/articleAdd">Click here</el-link> to submit your manuscript.</p>
|
||||
<p>Welcome to the TMR Publishing Group online manuscript submission and tracking system.</p>
|
||||
<p>Please go through our instructions for authors before submitting.</p>
|
||||
<p>
|
||||
<el-link type="primary" href="/articleAdd">Click here</el-link> to submit your manuscript.
|
||||
</p>
|
||||
<el-divider></el-divider>
|
||||
<p>If you experience any problems, please contact us by publisher@tmrjournals.com</p>
|
||||
</span>
|
||||
@@ -22,27 +85,16 @@
|
||||
<el-col :span="14">
|
||||
<el-card shadow="hover">
|
||||
<div slot="header" class="clearfix">
|
||||
<el-badge
|
||||
:value="this.usermsgList.length"
|
||||
:hidden="this.usermsgList.length>0?false:true"
|
||||
class="item"
|
||||
>
|
||||
<el-badge :value="this.usermsgList.length" :hidden="this.usermsgList.length>0?false:true" class="item">
|
||||
<span>{{$t('home.usermsg')}}</span>
|
||||
</el-badge>
|
||||
</div>
|
||||
<el-table
|
||||
:data="usermsgList"
|
||||
border
|
||||
class="msg-table"
|
||||
>
|
||||
<el-table :data="usermsgList" border class="msg-table">
|
||||
<el-table-column label="Date" width="150" :formatter="dateFormate" prop="ctime"></el-table-column>
|
||||
<el-table-column label="Message" prop="content"></el-table-column>
|
||||
<el-table-column label="" width="80" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
type="text"
|
||||
@click="show(scope.row)"
|
||||
>To See</el-button>
|
||||
<el-button type="text" @click="show(scope.row)">To See</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
@@ -65,19 +117,20 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import Schart from 'vue-schart';
|
||||
import bus from '../common/bus';
|
||||
export default {
|
||||
import Schart from 'vue-schart';
|
||||
import bus from '../common/bus';
|
||||
export default {
|
||||
name: 'dashboard',
|
||||
data() {
|
||||
return {
|
||||
name: localStorage.getItem('ms_username'),
|
||||
userrole: localStorage.getItem('ms_userrole'),
|
||||
name: localStorage.getItem('U_name'),
|
||||
userrole: localStorage.getItem('U_status'),
|
||||
usercap: localStorage.getItem('U_role'),
|
||||
userdata: '',
|
||||
usermsgList: []
|
||||
};
|
||||
},
|
||||
created: function () {
|
||||
created: function() {
|
||||
// this.getUserdata();
|
||||
this.initUserMsg();
|
||||
},
|
||||
@@ -88,16 +141,16 @@ export default {
|
||||
role() {
|
||||
let frag = 'dads';
|
||||
switch (this.userrole) {
|
||||
case '1':
|
||||
case '2':
|
||||
frag = this.$t('total.author');
|
||||
break;
|
||||
case '2':
|
||||
case '1':
|
||||
frag = this.$t('total.editor');
|
||||
break;
|
||||
case 'reviewer':
|
||||
frag = this.$t('total.reviewers') + ' & ' + this.$t('total.author');
|
||||
break;
|
||||
case 'admin':
|
||||
case '0':
|
||||
frag = this.$t('total.admin');
|
||||
break;
|
||||
}
|
||||
@@ -123,16 +176,20 @@ export default {
|
||||
// });
|
||||
// },
|
||||
initUserMsg() {
|
||||
this.$api.post('api/User/getUserMsg', { account: this.name }).then((res) => {
|
||||
this.$api.post('api/User/getUserMsg', {
|
||||
account: this.name
|
||||
}).then((res) => {
|
||||
this.usermsgList = res;
|
||||
});
|
||||
},
|
||||
dateFormate(row, column, cellValue, index) {
|
||||
return this.formatDate(cellValue);
|
||||
},
|
||||
show(row){
|
||||
this.$api.post('api/User/changeMsgState',{id:row.user_msg_id})
|
||||
.then(res=>{
|
||||
show(row) {
|
||||
this.$api.post('api/User/changeMsgState', {
|
||||
id: row.user_msg_id
|
||||
})
|
||||
.then(res => {
|
||||
this.initUserMsg();
|
||||
this.$router.push(row.url);
|
||||
});
|
||||
@@ -147,30 +204,76 @@ export default {
|
||||
var s = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
|
||||
return Y + M + D + ' ' + h + ':' + m + ':' + s;
|
||||
},
|
||||
goaddarticle(){
|
||||
goaddarticle() {
|
||||
this.$router.push('/articleAdd');
|
||||
}
|
||||
}
|
||||
};
|
||||
};
|
||||
</script>
|
||||
|
||||
|
||||
<style scoped>
|
||||
.msg-table{
|
||||
.msg-table {
|
||||
text-align: center;
|
||||
}
|
||||
.add-button{
|
||||
}
|
||||
|
||||
.add-button {
|
||||
display: block;
|
||||
margin: 50px auto;
|
||||
}
|
||||
.top-content{
|
||||
}
|
||||
|
||||
.top-content {
|
||||
padding: 2px;
|
||||
}
|
||||
.top-content span{
|
||||
}
|
||||
|
||||
.top-content span {
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
display: block;
|
||||
padding: 2px;
|
||||
font-size: 14px;
|
||||
line-height: 1.5;
|
||||
}
|
||||
}
|
||||
|
||||
.grid-jue1,
|
||||
.grid-jue2,
|
||||
.grid-jue3,
|
||||
.grid-jue4 {
|
||||
margin: 10px 10px 20px 10px;
|
||||
padding: 20px 20px 26px 20px;
|
||||
color: #fff;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
.grid-jue1 p,
|
||||
.grid-jue2 p,
|
||||
.grid-jue3 p,
|
||||
.grid-jue4 p {
|
||||
margin-left: 50px;
|
||||
margin-top: -30px;
|
||||
}
|
||||
|
||||
.grid-jue1:hover,
|
||||
.grid-jue2:hover,
|
||||
.grid-jue3:hover,
|
||||
.grid-jue4:hover {
|
||||
box-shadow: 0 2px 12px 0 rgb(0 0 0 / 30%);
|
||||
}
|
||||
|
||||
|
||||
|
||||
.grid-jue1 {
|
||||
background-image: linear-gradient(to right, #1c66c0, #118bb3);
|
||||
}
|
||||
|
||||
.grid-jue2 {
|
||||
background-image: linear-gradient(to right, #e26a2d, #f5953c);
|
||||
}
|
||||
|
||||
.grid-jue3 {
|
||||
background-image: linear-gradient(to right, #4640c4, #7959e1);
|
||||
}
|
||||
|
||||
.grid-jue4 {
|
||||
background-image: linear-gradient(to right, #cc3646, #e84651);
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -37,31 +37,26 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data: function () {
|
||||
export default {
|
||||
data: function() {
|
||||
return {
|
||||
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',
|
||||
orcidLink: 'https://orcid.org/oauth/authorize?client_id=APP-PKF0BGRP6DWM6FUB&response_type=code&scope=/authenticate&redirect_uri=https://submission.tmrjournals.com/orcidLink',
|
||||
param: {
|
||||
username: '',
|
||||
password: ''
|
||||
},
|
||||
rules: {
|
||||
username: [
|
||||
{
|
||||
username: [{
|
||||
required: true,
|
||||
message: 'enter one user name',
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
password: [
|
||||
{
|
||||
}],
|
||||
password: [{
|
||||
required: true,
|
||||
message: 'Please input a password',
|
||||
trigger: 'blur'
|
||||
}
|
||||
]
|
||||
}]
|
||||
}
|
||||
};
|
||||
},
|
||||
@@ -71,7 +66,7 @@ export default {
|
||||
this.$refs.login.validate((valid) => {
|
||||
if (valid) {
|
||||
this.$api
|
||||
.post('api/user/checkLogin', this.param)
|
||||
.post('api/User/checkLogin', this.param)
|
||||
.then((res) => {
|
||||
console.log(res);
|
||||
if (res.code == 1) {
|
||||
@@ -79,13 +74,22 @@ export default {
|
||||
return false;
|
||||
} else {
|
||||
this.$message.success('login success');
|
||||
localStorage.setItem('ms_username', res.userinfo.account);
|
||||
// U_status 0超级管理员 1编辑 2作者
|
||||
if (this.param.username == 'superadmin' || this.param.username == 'wuxiongzhi2') {
|
||||
localStorage.setItem('ms_userrole', 'admin');
|
||||
} else if (res.userinfo.type == 1 && res.userinfo.is_reviewer) {
|
||||
localStorage.setItem('ms_userrole', 'reviewer');
|
||||
localStorage.setItem('U_status', '0'); //超级管理员
|
||||
localStorage.setItem('U_role', 'superadmin');
|
||||
localStorage.setItem('U_name', res.userinfo.account);
|
||||
localStorage.setItem('U_id', res.userinfo.user_id);
|
||||
} 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);
|
||||
} else {
|
||||
localStorage.setItem('ms_userrole', res.userinfo.type);
|
||||
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);
|
||||
}
|
||||
this.$router.push('/');
|
||||
}
|
||||
@@ -117,28 +121,28 @@ export default {
|
||||
location.href = this.orcidLink;
|
||||
}
|
||||
}
|
||||
};
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.login-wrap {
|
||||
.login-wrap {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-image: url(../../assets/img/login-bg.jpg);
|
||||
background-size: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.ms-title {
|
||||
.ms-title {
|
||||
width: 100%;
|
||||
line-height: 50px;
|
||||
text-align: center;
|
||||
font-size: 20px;
|
||||
color: #fff;
|
||||
border-bottom: 1px solid #ddd;
|
||||
}
|
||||
}
|
||||
|
||||
.ms-login {
|
||||
.ms-login {
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
@@ -147,31 +151,31 @@ export default {
|
||||
border-radius: 5px;
|
||||
background: rgba(255, 255, 255, 0.3);
|
||||
overflow: hidden;
|
||||
}
|
||||
}
|
||||
|
||||
.ms-content {
|
||||
.ms-content {
|
||||
padding: 30px 30px;
|
||||
}
|
||||
}
|
||||
|
||||
.login-btn {
|
||||
.login-btn {
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
|
||||
.login-btn button {
|
||||
.login-btn button {
|
||||
width: 100%;
|
||||
height: 36px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.login-tips {
|
||||
.login-tips {
|
||||
font-size: 12px;
|
||||
line-height: 30px;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
|
||||
.orcid {
|
||||
.orcid {
|
||||
display: block;
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
<el-option key="B" label="Review" value="B"></el-option>
|
||||
<el-option key="C" label="Case report" value="C"></el-option>
|
||||
<el-option key="M" label="Meta-analysis" value="M"></el-option>
|
||||
<el-option key="P" label="Research proposal" value="P"></el-option>
|
||||
<el-option key="P" label="Research proposal" value="P"></el-option>
|
||||
<el-option key="N" label="News" value="N"></el-option>
|
||||
<el-option key="T" label="Comment" value="T"></el-option>
|
||||
<el-option key="O" label="Others" value="O"></el-option>
|
||||
@@ -283,9 +283,9 @@
|
||||
<el-dialog title="" :visible.sync="licensebox" width="30%">
|
||||
<span style="word-wrap:break-word; word-break:normal; ">
|
||||
Creative Commons Licensing<br>
|
||||
TMR Publishing Group provides authors the choice of applying the Attribution-NonCommercial 4.0 International (CC BY-NC 4.0) licenses defined below, to be determined after acceptance:<br>
|
||||
TMR Publishing Group provides authors the choice of applying the Attribution-NonCommercial 4.0 International (CC BY-NC 4.0) licenses defined below, to be determined after acceptance:<br>
|
||||
Attribution: CC BY-NC 4.0<br>
|
||||
This license lets others distribute, remix, tweak, and build upon your work. They can not use the material for commercial purposes.
|
||||
This license lets others distribute, remix, tweak, and build upon your work. They can not use the material for commercial purposes.
|
||||
</span>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="licensebox = false">close</el-button>
|
||||
@@ -305,7 +305,7 @@ export default {
|
||||
loading: false,
|
||||
form: {
|
||||
journal: localStorage.getItem('ms_journal_alias') ? parseInt(localStorage.getItem('ms_journal_alias')) : 1,
|
||||
username: localStorage.getItem('ms_username'),
|
||||
username: localStorage.getItem('U_name'),
|
||||
title: '',
|
||||
major: '',
|
||||
cmajor: '',
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
<span>
|
||||
<p>
|
||||
I am writing just to follow up on the suggestion from the editor of {{ form.journalname }} that you might be
|
||||
interested in submitting your paper to {{ transinfo.jourtitle }} instead.<br /><br />
|
||||
interested in submitting your paper to {{ transinfo.jourtitle }} instead.<br /><br />
|
||||
</p>
|
||||
<p>
|
||||
If you choose to pursue publication in {{ transinfo.jourtitle }},
|
||||
@@ -385,7 +385,7 @@ export default {
|
||||
articleId: this.$route.query.id,
|
||||
journal: '',
|
||||
journalname: '',
|
||||
username: localStorage.getItem('ms_username'),
|
||||
username: localStorage.getItem('U_name'),
|
||||
title: '',
|
||||
accept_sn: '',
|
||||
abstrart: '',
|
||||
@@ -436,7 +436,7 @@ export default {
|
||||
frag = 'Meta-analysis';
|
||||
break;
|
||||
case 'P':
|
||||
frag = 'Research proposal';
|
||||
frag = 'Research proposal';
|
||||
break;
|
||||
case 'N':
|
||||
frag = 'News';
|
||||
|
||||
@@ -515,7 +515,7 @@ export default {
|
||||
totalpageFileList:[],
|
||||
manuscirptFileList: [],
|
||||
editform: {
|
||||
editname: localStorage.getItem('ms_username'),
|
||||
editname: localStorage.getItem('U_name'),
|
||||
articleId: this.$route.query.id,
|
||||
state: 0,
|
||||
trsjournal:0,
|
||||
@@ -605,7 +605,7 @@ export default {
|
||||
frag = 'Meta-analysis';
|
||||
break;
|
||||
case 'P':
|
||||
frag = 'Research proposal';
|
||||
frag = 'Research proposal';
|
||||
break;
|
||||
case 'N':
|
||||
frag = 'News';
|
||||
|
||||
@@ -87,7 +87,7 @@ export default {
|
||||
return {
|
||||
items: '',
|
||||
query: {
|
||||
username: localStorage.getItem('ms_username'),
|
||||
username: localStorage.getItem('U_name'),
|
||||
journal: localStorage.getItem('ms_journal_alias')?parseInt(localStorage.getItem('ms_journal_alias')):0,
|
||||
name: '',
|
||||
state:0,
|
||||
|
||||
@@ -102,7 +102,7 @@ export default {
|
||||
return {
|
||||
items: '',
|
||||
query: {
|
||||
username: localStorage.getItem('ms_username'),
|
||||
username: localStorage.getItem('U_name'),
|
||||
journal: 0,
|
||||
name: '',
|
||||
state:-1,
|
||||
|
||||
@@ -394,13 +394,13 @@ export default {
|
||||
baseUrl: this.Common.baseUrl,
|
||||
mediaUrl: this.Common.mediaUrl,
|
||||
dateId: this.$route.query.id,
|
||||
username: localStorage.getItem('ms_username'),
|
||||
username: localStorage.getItem('U_name'),
|
||||
articlefileList: [],
|
||||
articlezipList: [],
|
||||
dialogFormVisible: false,
|
||||
activeNames: ['1', '2', '3', '4', '5', '6', '7'],
|
||||
detailDate: {
|
||||
editor: localStorage.getItem('ms_username'),
|
||||
editor: localStorage.getItem('U_name'),
|
||||
artrevid: '',
|
||||
article: '',
|
||||
reviewer: '',
|
||||
|
||||
@@ -52,7 +52,7 @@ export default {
|
||||
articleId: this.$route.query.id,
|
||||
journal: '',
|
||||
journalname: '',
|
||||
username: localStorage.getItem('ms_username'),
|
||||
username: localStorage.getItem('U_name'),
|
||||
title: '',
|
||||
accept_sn: '',
|
||||
abstrart: '',
|
||||
|
||||
@@ -136,11 +136,11 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
baseUrl: this.Common.baseUrl,
|
||||
name:localStorage.getItem('ms_username'),
|
||||
name:localStorage.getItem('U_name'),
|
||||
userdata: '',
|
||||
loading: false,
|
||||
reviewerForm: {
|
||||
username: localStorage.getItem('ms_username'),
|
||||
username: localStorage.getItem('U_name'),
|
||||
journal: '',
|
||||
gender:1,
|
||||
introduction:'',
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<div class="crumbs">
|
||||
<el-breadcrumb separator="/">
|
||||
<el-breadcrumb-item>
|
||||
<i class="el-icon-connection"></i> Journal list
|
||||
<i class="el-icon-connection"></i> Editor list
|
||||
</el-breadcrumb-item>
|
||||
</el-breadcrumb>
|
||||
</div>
|
||||
|
||||
361
src/components/page/editmbereditor.vue
Normal file
361
src/components/page/editmbereditor.vue
Normal file
@@ -0,0 +1,361 @@
|
||||
<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-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">
|
||||
<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="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-delete" class="red" @click="handleDelete(scope.$index, scope.row)">Delete</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
|
||||
<!-- 添加弹出框 -->
|
||||
<el-dialog title="Add editorial board" :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>
|
||||
</el-form-item>
|
||||
<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>
|
||||
<el-form-item label="password" prop="password">
|
||||
<el-input v-model="addForm.password" type="password"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="Confirm password" prop="repassword">
|
||||
<el-input v-model="addForm.repassword" type="password"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="phone" prop="phone">
|
||||
<el-input v-model="addForm.phone"></el-input>
|
||||
</el-form-item>
|
||||
</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>
|
||||
</span>
|
||||
</el-dialog>
|
||||
|
||||
|
||||
<!-- 已有信息弹出框 -->
|
||||
<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">
|
||||
{{oldForm.email}}
|
||||
</el-form-item>
|
||||
<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="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="oldVisible = false">Cancel</el-button>
|
||||
<el-button type="primary" @click="saveOld(oldForm)">OK</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
edit_id: localStorage.getItem('U_id'),
|
||||
tableData: [],
|
||||
df_jour: [],
|
||||
addVisible: false,
|
||||
oldVisible: false,
|
||||
addForm: {},
|
||||
oldForm: {},
|
||||
aid: -1,
|
||||
id: -1,
|
||||
query: {
|
||||
journal_id: 0,
|
||||
},
|
||||
rules: {
|
||||
account: [{
|
||||
required: true,
|
||||
message: 'Please input account',
|
||||
trigger: 'blur'
|
||||
}],
|
||||
email: [{
|
||||
required: true,
|
||||
message: 'Please input email',
|
||||
trigger: 'blur'
|
||||
}, {
|
||||
validator: function(rule, value, callback) {
|
||||
if (/^[-.-_A-Za-z0-9]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/.test(value) == false) {
|
||||
callback(new Error("Please enter the correct email format"));
|
||||
} else {
|
||||
callback();
|
||||
}
|
||||
},
|
||||
trigger: "blur"
|
||||
}],
|
||||
journal_id: [{
|
||||
required: true,
|
||||
message: 'Please select a responsible Journal',
|
||||
trigger: 'blur'
|
||||
}],
|
||||
password: [{
|
||||
required: true,
|
||||
message: 'Please input password',
|
||||
trigger: 'blur'
|
||||
}],
|
||||
repassword: [{
|
||||
required: true,
|
||||
message: 'Please input confirm password',
|
||||
trigger: 'blur'
|
||||
}]
|
||||
}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getjour();
|
||||
// this.getdate();
|
||||
},
|
||||
methods: {
|
||||
// 获取编委和负责期刊列表数据
|
||||
getdate() {
|
||||
this.$api
|
||||
.post('api/Chief/getJournalBoard', this.query)
|
||||
.then(res => {
|
||||
this.tableData = res.data.boards;
|
||||
})
|
||||
.catch(err => {
|
||||
console.log(err);
|
||||
});
|
||||
|
||||
},
|
||||
getjour() {
|
||||
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.$api
|
||||
.post('api/Chief/getJournalBoard', this.query)
|
||||
.then(res => {
|
||||
this.tableData = res.data.boards;
|
||||
})
|
||||
.catch(err => {
|
||||
console.log(err);
|
||||
});
|
||||
} else {
|
||||
this.$message.error(res.msg);
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
this.$message.error(err);
|
||||
});
|
||||
},
|
||||
|
||||
// 下拉分类搜索
|
||||
chan_id(event) {
|
||||
this.getdate();
|
||||
},
|
||||
|
||||
// 添加操作
|
||||
addEditor(index, row) {
|
||||
this.aid = index;
|
||||
this.addVisible = true;
|
||||
},
|
||||
|
||||
// 查找与他相同的账号
|
||||
saerNa_U() {
|
||||
if (this.addForm.account != undefined) {
|
||||
this.$api
|
||||
.post('api/Chief/checkEmailForUser', {
|
||||
'email': this.addForm.account
|
||||
})
|
||||
.then(res => {
|
||||
if (res.code == 0) {
|
||||
if (res.data.user_info != null) {
|
||||
this.$confirm('该账户已存在,是否在该账户下操作?', '提示', {
|
||||
type: 'warning'
|
||||
})
|
||||
.then(() => {
|
||||
this.addVisible = false;
|
||||
this.$refs.add_Form.resetFields();
|
||||
// this.id = index;
|
||||
this.oldVisible = true;
|
||||
this.oldForm = res.data.user_info;
|
||||
})
|
||||
.catch(() => {});
|
||||
}
|
||||
} else {
|
||||
this.$message.error(res.msg);
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
this.$message.error(err);
|
||||
});
|
||||
}
|
||||
},
|
||||
// 查找与他相同的邮箱
|
||||
saerEm_U() {
|
||||
if (this.addForm.email != undefined) {
|
||||
this.$api
|
||||
.post('api/Chief/checkEmailForUser', {
|
||||
'email': this.addForm.email
|
||||
})
|
||||
.then(res => {
|
||||
if (res.code == 0) {
|
||||
if (res.data.user_info != null) {
|
||||
this.$confirm('该账户已存在,是否在该账户下操作?', '提示', {
|
||||
type: 'warning'
|
||||
})
|
||||
.then(() => {
|
||||
this.addVisible = false;
|
||||
this.$refs.add_Form.resetFields();
|
||||
// this.id = index;
|
||||
this.oldVisible = true;
|
||||
this.oldForm = res.data.user_info;
|
||||
})
|
||||
.catch(() => {});
|
||||
}
|
||||
} else {
|
||||
this.$message.error(res.msg);
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
this.$message.error(err);
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
// 保存添加
|
||||
saveAdd(addForm) {
|
||||
if (addForm.password == addForm.repassword) {
|
||||
this.$refs.add_Form.validate((valid) => {
|
||||
if (valid) {
|
||||
this.$api
|
||||
.post('api/Chief/addJournalBoard', this.addForm)
|
||||
.then(res => {
|
||||
if (res.code == 0) {
|
||||
this.addVisible = false;
|
||||
this.$refs.add_Form.resetFields();
|
||||
this.$message.success(`添加成功`);
|
||||
this.getdate();
|
||||
} else {
|
||||
this.$message.error(res.msg);
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
this.$message.error(err);
|
||||
});
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
});
|
||||
} else {
|
||||
this.$message.error("两次新密码输入不一致");
|
||||
}
|
||||
},
|
||||
// 保存old添加
|
||||
saveOld(oldForm) {
|
||||
this.$refs.old_Form.validate((valid) => {
|
||||
if (valid) {
|
||||
this.$api
|
||||
.post('api/Chief/addJournalBoardHas', this.oldForm)
|
||||
.then(res => {
|
||||
if (res.code == 0) {
|
||||
this.oldVisible = false;
|
||||
this.$refs.old_Form.resetFields();
|
||||
this.$message.success(`添加成功`);
|
||||
this.getdate();
|
||||
} else {
|
||||
this.$message.error(res.msg);
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
this.$message.error(err);
|
||||
});
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
});
|
||||
},
|
||||
// 删除操作
|
||||
handleDelete(index, row) {
|
||||
// 二次确认删除
|
||||
this.$confirm('确定要删除吗?', '提示', {
|
||||
type: 'warning'
|
||||
})
|
||||
.then(() => {
|
||||
this.$api
|
||||
.post('api/Chief/delJournalBoard', row)
|
||||
.then(res => {
|
||||
if (res.code == 0) {
|
||||
this.$message.success('删除成功');
|
||||
this.getdate();
|
||||
} else {
|
||||
this.$message.error(res.msg);
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
this.$message.error(err);
|
||||
});
|
||||
})
|
||||
.catch(() => {});
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.handle-box {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.table {
|
||||
width: 100%;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.red {
|
||||
color: #ff0000;
|
||||
}
|
||||
</style>
|
||||
183
src/components/page/editmberperiod.vue
Normal file
183
src/components/page/editmberperiod.vue
Normal file
@@ -0,0 +1,183 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="crumbs">
|
||||
<el-breadcrumb separator="/">
|
||||
<el-breadcrumb-item>
|
||||
<i class="el-icon-connection"></i> Journal list
|
||||
</el-breadcrumb-item>
|
||||
</el-breadcrumb>
|
||||
</div>
|
||||
<div class="container">
|
||||
<el-table :data="tableData" border stripe class="table" ref="multipleTable" header-cell-class-name="table-header">
|
||||
<el-table-column prop="title" label="title" width="320px"></el-table-column>
|
||||
<el-table-column label="chief" align="center">
|
||||
<template slot-scope="scope">
|
||||
<div v-for="item in scope.row.chief">
|
||||
{{item.realname==''?item.account:(item.realname!=''?item.account+' ('+item.realname+')':'')}}
|
||||
<el-button type="text" icon="el-icon-delete" class="red" @click="handleDelete(item)"></el-button>
|
||||
</div>
|
||||
<el-button type="text" icon="el-icon-edit" @click="handleEdit(scope.$index, scope.row)">Choice</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="issn" label="issn" width="130px"></el-table-column>
|
||||
<el-table-column prop="email" label="email" width="240px"></el-table-column>
|
||||
<el-table-column prop="website" label="website" width="300px"></el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
|
||||
<!-- 选择弹出框 -->
|
||||
<el-dialog title="Choice editor" :visible.sync="editVisible" width="30%">
|
||||
<el-form ref="edit_Form" :model="editForm" :rules="rules" label-width="80px">
|
||||
<el-form-item label="title">
|
||||
<template slot-scope="scope">
|
||||
{{editForm.title}}
|
||||
</template>
|
||||
</el-form-item>
|
||||
<el-form-item label="chief" prop="chief">
|
||||
<el-select v-model="editForm.user_id" filterable placeholder="Please select the editor in chief" value-key="groupID"
|
||||
style="width: 250px;">
|
||||
<el-option v-for="item in chietry"
|
||||
:label="item.realname==''?item.account:(item.realname!=''?item.account+' ('+item.realname+')':'')"
|
||||
:key="item.user_id" :value="item.user_id"></el-option>
|
||||
</el-select>
|
||||
</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>
|
||||
</span>
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
tableData: [],
|
||||
editVisible: false,
|
||||
editForm: {},
|
||||
idx: -1,
|
||||
chietry: [],
|
||||
rules: {
|
||||
account: [{
|
||||
required: true,
|
||||
message: 'Please input account',
|
||||
trigger: 'blur'
|
||||
}]
|
||||
}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getdate();
|
||||
},
|
||||
methods: {
|
||||
// 获取列表数据
|
||||
getdate() {
|
||||
this.$api
|
||||
.post('api/Chief/getJournalForChief')
|
||||
.then(res => {
|
||||
this.tableData = res.data.journals;
|
||||
})
|
||||
.catch(err => {
|
||||
console.log(err);
|
||||
});
|
||||
},
|
||||
// 编辑操作
|
||||
handleEdit(index, row) {
|
||||
this.idx = index;
|
||||
this.editForm = Object.assign({}, row);
|
||||
// 获取下拉数据
|
||||
this.$api
|
||||
.post('api/Chief/getChiefList')
|
||||
.then(res => {
|
||||
if (res.code == 0) {
|
||||
this.chietry = res.data.chiefs;
|
||||
for (let i = 0; i < this.chietry.length; i++) {
|
||||
for (let r = 0; r < this.editForm.chief.length; r++) {
|
||||
if (this.chietry[i].user_id == this.editForm.chief[r].user_id) {
|
||||
this.chietry.splice(i, 1);
|
||||
if (i == 0) {
|
||||
i = 0
|
||||
} else {
|
||||
i = i - 1
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
this.$message.error(res.msg);
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
this.$message.error(err);
|
||||
});
|
||||
|
||||
this.editVisible = true;
|
||||
},
|
||||
// 保存编辑
|
||||
saveEdit(editForm) {
|
||||
this.$refs.edit_Form.validate((valid) => {
|
||||
if (valid) {
|
||||
this.$api
|
||||
.post('api/Chief/addChiefToJournal', this.editForm)
|
||||
.then(res => {
|
||||
if (res.code == 0) {
|
||||
this.editVisible = false;
|
||||
this.$message.success(`更改第 ${this.idx + 1} 行成功`);
|
||||
this.getdate();
|
||||
} else {
|
||||
this.$message.error(res.msg);
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
this.$message.error(err);
|
||||
});
|
||||
} else {
|
||||
this.$message.error('error submit!!');
|
||||
return false;
|
||||
}
|
||||
});
|
||||
},
|
||||
// 删除操作
|
||||
handleDelete(item) {
|
||||
// 二次确认删除
|
||||
this.$confirm('Are you sure you want to delete?', 'Delete', {
|
||||
type: 'warning'
|
||||
})
|
||||
.then(() => {
|
||||
this.$api
|
||||
.post('api/Chief/delChiefToJournal', item)
|
||||
.then(res => {
|
||||
if (res.code == 0) {
|
||||
this.$message.success('删除成功');
|
||||
this.getdate();
|
||||
} else {
|
||||
this.$message.error(res.msg);
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
this.$message.error(err);
|
||||
});
|
||||
})
|
||||
.catch(() => {});
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.handle-box {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.table {
|
||||
width: 100%;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.red {
|
||||
color: #ff0000;
|
||||
}
|
||||
</style>
|
||||
@@ -58,7 +58,7 @@ export default {
|
||||
jdt:false,
|
||||
mediaUrl: this.Common.mediaUrl,
|
||||
baseUrl: this.Common.baseUrl,
|
||||
username: localStorage.getItem('ms_username'),
|
||||
username: localStorage.getItem('U_name'),
|
||||
upform: {
|
||||
course: '',
|
||||
url: ''
|
||||
|
||||
49
src/components/page/man_aging.vue
Normal file
49
src/components/page/man_aging.vue
Normal file
@@ -0,0 +1,49 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="crumbs">
|
||||
<el-breadcrumb separator="/">
|
||||
<el-breadcrumb-item>
|
||||
<i class="el-icon-collection"></i> {{this.head_line}}
|
||||
</el-breadcrumb-item>
|
||||
</el-breadcrumb>
|
||||
</div>
|
||||
<div class="container container_l">
|
||||
789+456
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
head_line: "",
|
||||
tableData: []
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
|
||||
},
|
||||
created() {
|
||||
this.getData();
|
||||
},
|
||||
methods: {
|
||||
// 获取数据
|
||||
getData() {
|
||||
this.head_line = localStorage.getItem('journal_title');
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
|
||||
},
|
||||
watch: {
|
||||
$route(to, from) {
|
||||
this.getData()
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
@@ -335,7 +335,7 @@ export default {
|
||||
totalpageFileList:[],
|
||||
manuscirptFileList: [],
|
||||
editform: {
|
||||
editname: localStorage.getItem('ms_username'),
|
||||
editname: localStorage.getItem('U_name'),
|
||||
articleId: this.$route.query.id,
|
||||
state: '',
|
||||
editormsg: ''
|
||||
@@ -412,7 +412,7 @@ export default {
|
||||
frag = 'Meta-analysis';
|
||||
break;
|
||||
case 'P':
|
||||
frag = 'Research proposal';
|
||||
frag = 'Research proposal';
|
||||
break;
|
||||
case 'N':
|
||||
frag = 'News';
|
||||
|
||||
@@ -7,7 +7,7 @@ export default {
|
||||
data: function () {
|
||||
return {
|
||||
query: {
|
||||
account: localStorage.getItem('ms_username'),
|
||||
account: localStorage.getItem('U_name'),
|
||||
code: this.$route.query.code
|
||||
},
|
||||
loading: true,
|
||||
|
||||
@@ -2,7 +2,8 @@
|
||||
<div class="login-wrap" v-loading="loading">
|
||||
<template>
|
||||
<p class="ms_notes">
|
||||
Thank you for using ORCID ID to login our website, please continue to login or register TMR Publshing Group account to connect with your ORCID ID.
|
||||
Thank you for using ORCID ID to login our website, please continue to login or register TMR Publshing Group account
|
||||
to connect with your ORCID ID.
|
||||
</p>
|
||||
<!-- <p class="ms_noter">
|
||||
如果你拥有账户但没有绑定相应的ORCID,请点击绑定操作,<br/>
|
||||
@@ -21,22 +22,14 @@
|
||||
</el-form-item>
|
||||
<!-- 密码 -->
|
||||
<el-form-item prop="password">
|
||||
<el-input
|
||||
size="small"
|
||||
v-model="loginForm.password"
|
||||
auto-complete="off"
|
||||
placeholder="password"
|
||||
show-password
|
||||
>
|
||||
<el-input size="small" v-model="loginForm.password" auto-complete="off" placeholder="password" show-password>
|
||||
<i slot="prefix" class="el-icon-lock"></i>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<!-- 按钮 -->
|
||||
<el-row justify="center">
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click.native.prevent="orcidBind" class="register-submit" style="width: 100%"
|
||||
>bind</el-button
|
||||
>
|
||||
<el-button type="primary" @click.native.prevent="orcidBind" class="register-submit" style="width: 100%">bind</el-button>
|
||||
</el-form-item>
|
||||
</el-row>
|
||||
</el-form>
|
||||
@@ -54,25 +47,14 @@
|
||||
</el-form-item>
|
||||
<!-- 密码 -->
|
||||
<el-form-item prop="password">
|
||||
<el-input
|
||||
size="small"
|
||||
v-model="registerForm.password"
|
||||
auto-complete="off"
|
||||
placeholder="password"
|
||||
show-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="passwordd">
|
||||
<el-input
|
||||
size="small"
|
||||
v-model="registerForm.passwordd"
|
||||
auto-complete="off"
|
||||
placeholder="password"
|
||||
show-password
|
||||
>
|
||||
<el-input size="small" v-model="registerForm.passwordd" auto-complete="off" placeholder="password"
|
||||
show-password>
|
||||
<i slot="prefix" class="el-icon-lock"></i>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
@@ -97,13 +79,7 @@
|
||||
<!-- 按钮 -->
|
||||
<el-row justify="center">
|
||||
<el-form-item>
|
||||
<el-button
|
||||
type="primary"
|
||||
@click.native.prevent="orcidRegister"
|
||||
class="register-submit"
|
||||
style="width: 100%"
|
||||
>bind</el-button
|
||||
>
|
||||
<el-button type="primary" @click.native.prevent="orcidRegister" class="register-submit" style="width: 100%">bind</el-button>
|
||||
</el-form-item>
|
||||
</el-row>
|
||||
</el-form>
|
||||
@@ -115,10 +91,10 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data: function () {
|
||||
export default {
|
||||
data: function() {
|
||||
return {
|
||||
account: localStorage.getItem('ms_username'),
|
||||
account: localStorage.getItem('U_name'),
|
||||
code: this.$route.query.code,
|
||||
// loading: true,
|
||||
has_user: true,
|
||||
@@ -126,43 +102,32 @@ export default {
|
||||
registerForm: {},
|
||||
activeName: 'first',
|
||||
registerRules: {
|
||||
username: [
|
||||
{
|
||||
username: [{
|
||||
required: true,
|
||||
message: 'Please enter your username.',
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
password: [
|
||||
{
|
||||
}],
|
||||
password: [{
|
||||
required: true,
|
||||
message: 'Please enter your password.',
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
passwordd: [
|
||||
{
|
||||
}],
|
||||
passwordd: [{
|
||||
required: true,
|
||||
message: 'Please enter your password.',
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
name: [
|
||||
{
|
||||
}],
|
||||
name: [{
|
||||
required: true,
|
||||
message: 'Please enter your real name.',
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
phone: [
|
||||
{
|
||||
}],
|
||||
phone: [{
|
||||
required: true,
|
||||
message: 'Please enter the correct mobile phone number.',
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
email: [
|
||||
{
|
||||
}],
|
||||
email: [{
|
||||
required: true,
|
||||
message: 'Please enter your email address.',
|
||||
trigger: 'blur'
|
||||
@@ -176,13 +141,15 @@ export default {
|
||||
}
|
||||
};
|
||||
},
|
||||
created: function () {
|
||||
created: function() {
|
||||
this.initLinkOrcid();
|
||||
},
|
||||
methods: {
|
||||
initLinkOrcid() {
|
||||
this.$api
|
||||
.post('api/User/OrcidLogin', { code: this.code })
|
||||
.post('api/User/OrcidLogin', {
|
||||
code: this.code
|
||||
})
|
||||
.then((res) => {
|
||||
if (res.data.user == null) {
|
||||
this.loginForm.orcid = res.data.orcid;
|
||||
@@ -190,7 +157,7 @@ export default {
|
||||
this.loading = false;
|
||||
} else {
|
||||
this.$message.success('Login success');
|
||||
localStorage.setItem('ms_username', res.data.user.account);
|
||||
localStorage.setItem('U_name', res.data.user.account);
|
||||
if (res.data.user.type == 1 && res.data.user.is_reviewer) {
|
||||
localStorage.setItem('ms_userrole', 'reviewer');
|
||||
} else {
|
||||
@@ -212,7 +179,7 @@ export default {
|
||||
this.$message.error(res.data.msg);
|
||||
} else {
|
||||
this.$message.success('Binding success');
|
||||
localStorage.setItem('ms_username', res.data.user.account);
|
||||
localStorage.setItem('U_name', res.data.user.account);
|
||||
if (res.data.user.type == 1 && res.data.user.is_reviewer) {
|
||||
localStorage.setItem('ms_userrole', 'reviewer');
|
||||
} else {
|
||||
@@ -231,7 +198,7 @@ export default {
|
||||
.post('api/User/orcidRegister', this.registerForm)
|
||||
.then((res) => {
|
||||
this.$message.success('Register success');
|
||||
localStorage.setItem('ms_username', res.data.user.account);
|
||||
localStorage.setItem('U_name', res.data.user.account);
|
||||
if (res.data.user.type == 1 && res.data.user.is_reviewer) {
|
||||
localStorage.setItem('ms_userrole', 'reviewer');
|
||||
} else {
|
||||
@@ -244,34 +211,34 @@ export default {
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
};
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.login-wrap {
|
||||
.login-wrap {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-image: url(../../assets/img/login-bg.jpg);
|
||||
background-size: 100%;
|
||||
padding-top: 80px;
|
||||
}
|
||||
}
|
||||
|
||||
.ms_login,
|
||||
.ms_link {
|
||||
.ms_login,
|
||||
.ms_link {
|
||||
width: 400px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
}
|
||||
|
||||
.ms_login .ms-title,
|
||||
.ms_link .ms-title {
|
||||
.ms_login .ms-title,
|
||||
.ms_link .ms-title {
|
||||
text-align: center;
|
||||
font-size: 18px;
|
||||
margin: 20px 0;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
|
||||
.ms_notes {
|
||||
.ms_notes {
|
||||
width: 400px;
|
||||
margin: 0 auto 60px auto;
|
||||
padding: 20px 50px;
|
||||
@@ -279,34 +246,34 @@ export default {
|
||||
background: rgba(255, 255, 255, 0.5);
|
||||
color: #fe7300;
|
||||
border-radius: 5px;
|
||||
}
|
||||
}
|
||||
|
||||
/* .ms_link {}
|
||||
/* .ms_link {}
|
||||
|
||||
.ms_link .ms-title {} */
|
||||
|
||||
.ms_tab_n {
|
||||
.ms_tab_n {
|
||||
width: 500px;
|
||||
margin: 0 auto;
|
||||
border-radius: 5px;
|
||||
padding-bottom: 30px;
|
||||
background: rgba(255, 255, 255, 0.3);
|
||||
}
|
||||
}
|
||||
|
||||
.ms_tab_n .el-tabs__nav {
|
||||
.ms_tab_n .el-tabs__nav {
|
||||
margin-left: 142px;
|
||||
height: 60px;
|
||||
padding-top: 25px;
|
||||
}
|
||||
}
|
||||
|
||||
.ms_tab_n .el-tabs__item {
|
||||
.ms_tab_n .el-tabs__item {
|
||||
font-size: 22px;
|
||||
padding: 0 40px;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
|
||||
.ms_tab_n .el-tabs__active-bar {
|
||||
.ms_tab_n .el-tabs__active-bar {
|
||||
left: -28px;
|
||||
width: 120px !important;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -72,7 +72,7 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
query: {
|
||||
username: localStorage.getItem('ms_username'),
|
||||
username: localStorage.getItem('U_name'),
|
||||
journalId: 0,
|
||||
pageIndex: 1,
|
||||
pageSize: 10
|
||||
|
||||
@@ -517,7 +517,7 @@ export default {
|
||||
baseUrl: this.Common.baseUrl,
|
||||
mediaUrl: this.Common.mediaUrl,
|
||||
dateId: this.$route.query.id,
|
||||
username: localStorage.getItem('ms_username'),
|
||||
username: localStorage.getItem('U_name'),
|
||||
loading:false,
|
||||
articlefileList: [],
|
||||
figFileList: [],
|
||||
|
||||
@@ -59,9 +59,9 @@ export default {
|
||||
name:'reviewerArticleList',
|
||||
data() {
|
||||
return {
|
||||
userrole:localStorage.getItem('ms_userrole'),
|
||||
userrole:localStorage.getItem('U_status'),
|
||||
query: {
|
||||
username: localStorage.getItem('ms_username'),
|
||||
username: localStorage.getItem('U_name'),
|
||||
pageIndex: 1,
|
||||
pageSize: 10
|
||||
},
|
||||
|
||||
@@ -101,7 +101,7 @@ export default {
|
||||
mediaUrl:this.Common.mediaUrl,
|
||||
baseUrl: this.Common.baseUrl,
|
||||
fullscreenLoading: false,
|
||||
username: localStorage.getItem('ms_username'),
|
||||
username: localStorage.getItem('U_name'),
|
||||
upform: {
|
||||
journal: '',
|
||||
url: ''
|
||||
|
||||
@@ -9,57 +9,40 @@
|
||||
</div>
|
||||
<div class="container">
|
||||
<div class="handle-box">
|
||||
<el-select
|
||||
v-model="query.journalId"
|
||||
@change="getdate"
|
||||
placeholder="Please select journal"
|
||||
>
|
||||
<el-select v-model="query.journalId" @change="getDate" placeholder="Please select journal">
|
||||
<el-option :key="0" label="All journal" :value="0"></el-option>
|
||||
<el-option
|
||||
v-for="item in journalList"
|
||||
:key="item.journal_id"
|
||||
:label="item.title"
|
||||
:value="item.journal_id"
|
||||
></el-option>
|
||||
<el-option v-for="item in journalList" :key="item.journal_id" :label="item.title" :value="item.journal_id"></el-option>
|
||||
</el-select>
|
||||
<!-- <el-button type="primary" icon="el-icon-circle-plus-outline" @click="addJournal">add</el-button> -->
|
||||
</div>
|
||||
<el-table
|
||||
:data="tableData"
|
||||
border
|
||||
stripe
|
||||
class="table"
|
||||
ref="multipleTable"
|
||||
header-cell-class-name="table-header"
|
||||
>
|
||||
<el-table :data="tableData" border stripe class="table" ref="multipleTable" header-cell-class-name="table-header">
|
||||
<!-- <el-table-column prop="user_id" label="No." align="center"></el-table-column> -->
|
||||
<el-table-column prop="account" label="Account" align="center"></el-table-column>
|
||||
<el-table-column prop="realname" label="Name" align="center"></el-table-column>
|
||||
<el-table-column prop="country" label="Country" align="center"></el-table-column>
|
||||
<el-table-column prop="company" label="Affiliation" align="center"></el-table-column>
|
||||
<el-table-column label="" width="180" align="center">
|
||||
<el-table-column label="" width="220" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="primary"
|
||||
plain
|
||||
icon="el-icon-tickets"
|
||||
@click="showdetail(scope.row)"
|
||||
>Detail</el-button>
|
||||
<el-button size="mini" type="primary" plain icon="el-icon-tickets" @click="showdetail(scope.row)">Detail</el-button>
|
||||
<el-button size="mini" type="danger" plain icon="el-icon-delete" @click="showDelete(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>
|
||||
<el-pagination background layout="total, prev, pager, next" :current-page="query.pageIndex" :page-size="query.pageSize"
|
||||
:total="Total" @current-change="handlePageChange"></el-pagination>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 删除弹出框 -->
|
||||
<el-dialog title="删除" :visible.sync="delOpen" width="40%">
|
||||
<div v-for="item in lineOptions" :name='item.journal_id' :value='item.reviewer_id' style="margin-left: 60px;">
|
||||
{{item.journal.title}} - {{item.reviewer.account}}
|
||||
<el-button type="text" icon="el-icon-delete" @click="lastDelete($event)" style="color: #FF0000;margin-left: 20px;">Delete</el-button>
|
||||
</div>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="delOpen = false;" type="primary">取 消</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
<!-- <el-dialog title="change" :visible.sync="editVisible" width="40%">
|
||||
<el-form ref="changform" :model="change" label-width="80px">
|
||||
<el-form-item label="editormsg">
|
||||
@@ -86,29 +69,36 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name:'reviewerList',
|
||||
export default {
|
||||
name: 'reviewerList',
|
||||
data() {
|
||||
return {
|
||||
query: {
|
||||
username: localStorage.getItem('ms_username'),
|
||||
journalId:0,
|
||||
username: localStorage.getItem('U_name'),
|
||||
journalId: 0,
|
||||
pageIndex: 1,
|
||||
pageSize: 10
|
||||
},
|
||||
tableData: [],
|
||||
journalList:[],
|
||||
journalList: [],
|
||||
Total: 0,
|
||||
editVisible: false,
|
||||
// editVisible: false,
|
||||
delForm: {
|
||||
line: []
|
||||
},
|
||||
delOpen: false,
|
||||
addForm: {},
|
||||
lineOptions: [],
|
||||
mess_age: {}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getdate();
|
||||
this.getDate();
|
||||
this.initselect();
|
||||
},
|
||||
methods: {
|
||||
// 获取编辑列表数据
|
||||
getdate() {
|
||||
getDate() {
|
||||
this.$api
|
||||
.post('api/User/getreviewerList', this.query)
|
||||
.then(res => {
|
||||
@@ -122,15 +112,65 @@ export default {
|
||||
// 分页导航
|
||||
handlePageChange(val) {
|
||||
this.$set(this.query, 'pageIndex', val);
|
||||
this.getdate();
|
||||
this.getDate();
|
||||
},
|
||||
// 查看详情
|
||||
showdetail(row) {
|
||||
this.$router.push({ path: 'reviewerDetail', query: { id: row.user_id } });
|
||||
this.$router.push({
|
||||
path: 'reviewerDetail',
|
||||
query: {
|
||||
id: row.user_id
|
||||
}
|
||||
});
|
||||
},
|
||||
// 删除弹窗
|
||||
showDelete(index, row) {
|
||||
this.aid = index;
|
||||
this.delOpen = true;
|
||||
this.$api
|
||||
.post('api/User/getReviewerForDel', {
|
||||
reviewer_id: index.reviewer_id,
|
||||
editor_account: localStorage.getItem('U_name')
|
||||
})
|
||||
.then(res => {
|
||||
this.lineOptions = res.data;
|
||||
})
|
||||
.catch(err => {
|
||||
console.log(err);
|
||||
});
|
||||
},
|
||||
// 删除操作
|
||||
lastDelete(e) {
|
||||
this.mess_age.reviewer_id = e.currentTarget.parentElement.getAttribute('value')
|
||||
this.mess_age.journal_id = e.currentTarget.parentElement.getAttribute('name')
|
||||
// 二次确认删除
|
||||
this.$confirm('确定要删除吗?', '提示', {
|
||||
type: 'warning'
|
||||
})
|
||||
.then(() => {
|
||||
this.$api
|
||||
.post('api/User/deleteArticleReviewer',this.mess_age)
|
||||
.then(res => {
|
||||
if (res.code == 0) {
|
||||
this.delOpen = false;
|
||||
this.$message.success('删除成功');
|
||||
this.getDate();
|
||||
} else {
|
||||
this.$message.error(res.msg);
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
this.$message.error(err);
|
||||
});
|
||||
})
|
||||
.catch(() => {});
|
||||
},
|
||||
//初始化期刊选项
|
||||
initselect() {
|
||||
this.$api
|
||||
.post('api/Article/getJournal', { username: this.query.username })
|
||||
.post('api/Article/getJournal', {
|
||||
username: this.query.username
|
||||
})
|
||||
.then(res => {
|
||||
this.journalList = res;
|
||||
})
|
||||
@@ -139,48 +179,39 @@ export default {
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.handle-box {
|
||||
.handle-box {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
.handle-select {
|
||||
width: 120px;
|
||||
}
|
||||
|
||||
.handle-input {
|
||||
width: 300px;
|
||||
display: inline-block;
|
||||
}
|
||||
.table {
|
||||
.table {
|
||||
width: 100%;
|
||||
font-size: 14px;
|
||||
}
|
||||
.red {
|
||||
color: #ff0000;
|
||||
}
|
||||
.mr10 {
|
||||
margin-right: 10px;
|
||||
}
|
||||
.table-td-thumb {
|
||||
}
|
||||
|
||||
.table-td-thumb {
|
||||
display: block;
|
||||
margin: auto;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
}
|
||||
.el-table .warning-row {
|
||||
}
|
||||
|
||||
.el-table .warning-row {
|
||||
background: #f3ca7f;
|
||||
}
|
||||
.el-table .success-row {
|
||||
}
|
||||
|
||||
.el-table .success-row {
|
||||
background: #bcfc9a;
|
||||
}
|
||||
.el-table .normol-row{
|
||||
}
|
||||
|
||||
.el-table .normol-row {
|
||||
background: #d8f1c7
|
||||
}
|
||||
.el-table .red-row{
|
||||
}
|
||||
|
||||
.el-table .red-row {
|
||||
background: #f05555;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -29,8 +29,8 @@ const i18n = new VueI18n({
|
||||
//使用钩子函数对路由进行权限跳转
|
||||
router.beforeEach((to, from, next) => {
|
||||
document.title = `${to.meta.title} | Traditional Medicine Research`;
|
||||
const role = localStorage.getItem('ms_username');
|
||||
const userrole = localStorage.getItem('ms_userrole');
|
||||
const role = localStorage.getItem('U_name');
|
||||
const userrole = localStorage.getItem('U_status');
|
||||
if (!role && to.path!='/register'&&to.path!=='/submission'&&to.path!=='/orcidLink'&&to.path!=='/img'&& to.path !=='/reviewer'&&to.path !=='/thanks' &&to.path !== '/login'&&to.path.search(/retrieve/i)<0 ) {
|
||||
next('/login');
|
||||
// } else if (to.meta.permission) {
|
||||
|
||||
@@ -9,20 +9,22 @@ Router.prototype.push = function push(location) {
|
||||
|
||||
export default new Router({
|
||||
mode: 'history',
|
||||
routes: [
|
||||
{
|
||||
routes: [{
|
||||
path: '/',
|
||||
redirect: '/dashboard'
|
||||
},
|
||||
{
|
||||
path: '/',
|
||||
component: () => import(/* webpackChunkName: "home" */ '../components/common/Home.vue'),
|
||||
meta: { title: '自述文件' },
|
||||
children: [
|
||||
{
|
||||
component: () => import( /* webpackChunkName: "home" */ '../components/common/Home.vue'),
|
||||
meta: {
|
||||
title: '自述文件'
|
||||
},
|
||||
children: [{
|
||||
path: '/dashboard',
|
||||
component: () => import(/* webpackChunkName: "dashboard" */ '../components/page/Dashboard.vue'),
|
||||
meta: { title: 'Home' }
|
||||
component: () => import( /* webpackChunkName: "dashboard" */ '../components/page/Dashboard.vue'),
|
||||
meta: {
|
||||
title: 'Home'
|
||||
}
|
||||
},
|
||||
// {
|
||||
// path: '/icon',
|
||||
@@ -31,165 +33,243 @@ export default new Router({
|
||||
// },
|
||||
{
|
||||
path: '/articleList',
|
||||
component: () => import(/* webpackChunkName: "table" */ '../components/page/articleList.vue'),
|
||||
meta: { title: 'My manuscript' }
|
||||
component: () => import( /* webpackChunkName: "table" */ '../components/page/articleList.vue'),
|
||||
meta: {
|
||||
title: 'My manuscript'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/articleListEditor',
|
||||
component: () => import(/* webpackChunkName: "table" */ '../components/page/articleListEditor.vue'),
|
||||
meta: { title: 'Manuscript to be examined' ,permission: 2}
|
||||
component: () => import( /* webpackChunkName: "table" */ '../components/page/articleListEditor.vue'),
|
||||
meta: {
|
||||
title: 'Manuscript to be examined',
|
||||
permission: 2
|
||||
}
|
||||
},
|
||||
{
|
||||
path:'/articleDetailEditor',
|
||||
path: '/articleDetailEditor',
|
||||
component: () => import('../components/page/articleDetailEditor.vue'),
|
||||
meta: { title: 'Manuscript detail' ,permission: 2},
|
||||
hidden:true
|
||||
meta: {
|
||||
title: 'Manuscript detail',
|
||||
permission: 2
|
||||
},
|
||||
hidden: true
|
||||
},
|
||||
{
|
||||
path: '/articleDetail',
|
||||
component: () => import('../components/page/articleDetail.vue'),
|
||||
meta: { title: 'Manuscript detail' ,},
|
||||
hidden:true
|
||||
meta: {
|
||||
title: 'Manuscript detail',
|
||||
},
|
||||
hidden: true
|
||||
},
|
||||
{
|
||||
path:'articleRevise',
|
||||
component:()=>import('../components/page/articleRevise.vue'),
|
||||
meta:{title:'Manuscript revise'},
|
||||
hidden:true
|
||||
path: 'articleRevise',
|
||||
component: () => import('../components/page/articleRevise.vue'),
|
||||
meta: {
|
||||
title: 'Manuscript revise'
|
||||
},
|
||||
hidden: true
|
||||
},
|
||||
{
|
||||
path: '/articleAdd',
|
||||
component: () => import('../components/page/articleAdd.vue'),
|
||||
meta: { title: 'Add manuscript' }
|
||||
meta: {
|
||||
title: 'Add manuscript'
|
||||
}
|
||||
},
|
||||
{
|
||||
path:'/articleReviewer',
|
||||
component:()=>import('../components/page/articleReviewer.vue'),
|
||||
meta:{title:'Article reviewer'},
|
||||
hidden:true
|
||||
path: '/articleReviewer',
|
||||
component: () => import('../components/page/articleReviewer.vue'),
|
||||
meta: {
|
||||
title: 'Article reviewer'
|
||||
},
|
||||
hidden: true
|
||||
},
|
||||
{
|
||||
path:'/articleReviewerDetail',
|
||||
component:()=>import('../components/page/articleReviewerDetail'),
|
||||
meta:{title:'Article detail'},
|
||||
hidden:true
|
||||
path: '/articleReviewerDetail',
|
||||
component: () => import('../components/page/articleReviewerDetail'),
|
||||
meta: {
|
||||
title: 'Article detail'
|
||||
},
|
||||
hidden: true
|
||||
},
|
||||
{
|
||||
path:'/editorList',
|
||||
component: ()=>import('../components/page/editorList.vue'),
|
||||
meta:{title:'Editor list'}
|
||||
path: '/editorList',
|
||||
component: () => import('../components/page/editorList.vue'),
|
||||
meta: {
|
||||
title: 'Editor list'
|
||||
}
|
||||
},
|
||||
{
|
||||
path:'/editorAdd',
|
||||
component:()=>import('../components/page/editorAdd.vue'),
|
||||
meta:{title:'Editor add'}
|
||||
path: '/editorAdd',
|
||||
component: () => import('../components/page/editorAdd.vue'),
|
||||
meta: {
|
||||
title: 'Editor add'
|
||||
}
|
||||
},
|
||||
{
|
||||
path:'/journalList',
|
||||
component:()=>import('../components/page/journallist.vue'),
|
||||
meta:{title:'Journal list'}
|
||||
path: '/journalList',
|
||||
component: () => import('../components/page/journallist.vue'),
|
||||
meta: {
|
||||
title: 'Journal list'
|
||||
}
|
||||
},
|
||||
{
|
||||
path:'authorApplyReviewer',
|
||||
component:()=>import('../components/page/authorApplyReviewer.vue'),
|
||||
meta:{title:'Author apply'},
|
||||
hidden:true
|
||||
path: 'authorApplyReviewer',
|
||||
component: () => import('../components/page/authorApplyReviewer.vue'),
|
||||
meta: {
|
||||
title: 'Author apply'
|
||||
},
|
||||
hidden: true
|
||||
},
|
||||
{
|
||||
path:'/journalAdd',
|
||||
component:()=>import('../components/page/journalAdd.vue'),
|
||||
meta:{title:'Journal add'}
|
||||
path: '/journalAdd',
|
||||
component: () => import('../components/page/journalAdd.vue'),
|
||||
meta: {
|
||||
title: 'Journal add'
|
||||
}
|
||||
},
|
||||
{
|
||||
path:'/reviewerApplyList',
|
||||
component:()=>import('../components/page/reviewerApplyList.vue'),
|
||||
meta:{title:'Reviewer aplly list'}
|
||||
path: '/reviewerApplyList',
|
||||
component: () => import('../components/page/reviewerApplyList.vue'),
|
||||
meta: {
|
||||
title: 'Reviewer aplly list'
|
||||
}
|
||||
},
|
||||
{
|
||||
path:'/reviewerApplyDetail',
|
||||
component:()=>import('../components/page/reviewerApplyDetail.vue'),
|
||||
meta:({title:'Reviewer apply detail'}),
|
||||
hidden:true
|
||||
path: '/reviewerApplyDetail',
|
||||
component: () => import('../components/page/reviewerApplyDetail.vue'),
|
||||
meta: ({
|
||||
title: 'Reviewer apply detail'
|
||||
}),
|
||||
hidden: true
|
||||
},
|
||||
{
|
||||
path:'/reviewerArticleList',
|
||||
component:()=>import('../components/page/reviewerArticleList.vue'),
|
||||
meta:({title:'Reviewer article list'})
|
||||
path: '/reviewerArticleList',
|
||||
component: () => import('../components/page/reviewerArticleList.vue'),
|
||||
meta: ({
|
||||
title: 'Reviewer article list'
|
||||
})
|
||||
},
|
||||
{
|
||||
path:'/reviewerArticleDetail',
|
||||
component:()=>import('../components/page/reviewerArticleDetail.vue'),
|
||||
meta:({title:'Reviewer article detail'}),
|
||||
hidden:true
|
||||
path: '/reviewerArticleDetail',
|
||||
component: () => import('../components/page/reviewerArticleDetail.vue'),
|
||||
meta: ({
|
||||
title: 'Reviewer article detail'
|
||||
}),
|
||||
hidden: true
|
||||
},
|
||||
{
|
||||
path:'/reviewerList',
|
||||
component:()=>import('../components/page/reviewerList.vue'),
|
||||
meta:{title:'Reviewer list'}
|
||||
path: '/reviewerList',
|
||||
component: () => import('../components/page/reviewerList.vue'),
|
||||
meta: {
|
||||
title: 'Reviewer list'
|
||||
}
|
||||
},
|
||||
{
|
||||
path:'/reviewerDetail',
|
||||
component:()=>import('../components/page/reviewerDetail.vue'),
|
||||
meta:{title:'reviewer detail'},
|
||||
hidden:true
|
||||
path: '/reviewerDetail',
|
||||
component: () => import('../components/page/reviewerDetail.vue'),
|
||||
meta: {
|
||||
title: 'reviewer detail'
|
||||
},
|
||||
hidden: true
|
||||
},
|
||||
{
|
||||
path:'/adminImportReviewer',
|
||||
component:()=>import('../components/page/adminImportReviewer.vue'),
|
||||
meta:{title:'Import reviewer'}
|
||||
path: '/adminImportReviewer',
|
||||
component: () => import('../components/page/adminImportReviewer.vue'),
|
||||
meta: {
|
||||
title: 'Import reviewer'
|
||||
}
|
||||
},
|
||||
{
|
||||
path:'/adminImportreviewerError',
|
||||
component:()=>import('../components/page/adminImportreviewerError.vue'),
|
||||
meta:{title:'Import error'}
|
||||
path: '/adminImportreviewerError',
|
||||
component: () => import('../components/page/adminImportreviewerError.vue'),
|
||||
meta: {
|
||||
title: 'Import error'
|
||||
}
|
||||
},
|
||||
{
|
||||
path:'/reviewerImport',
|
||||
component:()=>import('../components/page/reviewerImport.vue'),
|
||||
meta:{title:'Reviewer import'}
|
||||
path: '/reviewerImport',
|
||||
component: () => import('../components/page/reviewerImport.vue'),
|
||||
meta: {
|
||||
title: 'Reviewer import'
|
||||
}
|
||||
},
|
||||
{
|
||||
path:'/authorApplySuccess',
|
||||
component:()=>import('../components/page/authorApplySuccess.vue'),
|
||||
meta:{title:'Apply success'}
|
||||
path: '/authorApplySuccess',
|
||||
component: () => import('../components/page/authorApplySuccess.vue'),
|
||||
meta: {
|
||||
title: 'Apply success'
|
||||
}
|
||||
},
|
||||
{
|
||||
path:'/reviewerImportError',
|
||||
component:()=>import('../components/page/reviewerImportError.vue'),
|
||||
meta:{title:'Import error'}
|
||||
path: '/reviewerImportError',
|
||||
component: () => import('../components/page/reviewerImportError.vue'),
|
||||
meta: {
|
||||
title: 'Import error'
|
||||
}
|
||||
},
|
||||
{
|
||||
path:'/monitorManuscript',
|
||||
component:()=>import('../components/page/monitorManuscript.vue'),
|
||||
meta:{title:'Manuscript list'}
|
||||
path: '/monitorManuscript',
|
||||
component: () => import('../components/page/monitorManuscript.vue'),
|
||||
meta: {
|
||||
title: 'Manuscript list'
|
||||
}
|
||||
},
|
||||
{
|
||||
path:'/monitorManuscriptDetail',
|
||||
component:()=>import('../components/page/monitorManuscriptDetail.vue'),
|
||||
meta:{title:'Manuscript detail'},
|
||||
hidden:true
|
||||
path: '/monitorManuscriptDetail',
|
||||
component: () => import('../components/page/monitorManuscriptDetail.vue'),
|
||||
meta: {
|
||||
title: 'Manuscript detail'
|
||||
},
|
||||
hidden: true
|
||||
},
|
||||
{
|
||||
path:'/chiefeditor',
|
||||
component:()=>import('../components/page/chiefeditor.vue'),
|
||||
meta:{title:'Editor list'},
|
||||
hidden:true
|
||||
path: '/chiefeditor',
|
||||
component: () => import('../components/page/chiefeditor.vue'),
|
||||
meta: {
|
||||
title: 'Editor list'
|
||||
},
|
||||
hidden: true
|
||||
},
|
||||
{
|
||||
path:'/chiefperiod',
|
||||
component:()=>import('../components/page/chiefperiod.vue'),
|
||||
meta:{title:'Journal list'},
|
||||
hidden:true
|
||||
path: '/chiefperiod',
|
||||
component: () => import('../components/page/chiefperiod.vue'),
|
||||
meta: {
|
||||
title: 'Journal list'
|
||||
},
|
||||
hidden: true
|
||||
},
|
||||
{
|
||||
path: '/editmbereditor',
|
||||
component: () => import('../components/page/editmbereditor.vue'),
|
||||
meta: {
|
||||
title: 'Editor list'
|
||||
},
|
||||
hidden: true
|
||||
},
|
||||
{
|
||||
path: '/editmberperiod',
|
||||
component: () => import('../components/page/editmberperiod.vue'),
|
||||
meta: {
|
||||
title: 'Journal list'
|
||||
},
|
||||
hidden: true
|
||||
},
|
||||
{
|
||||
path: '/404',
|
||||
component: () => import(/* webpackChunkName: "404" */ '../components/page/404.vue'),
|
||||
meta: { title: '404' }
|
||||
component: () => import( /* webpackChunkName: "404" */ '../components/page/404.vue'),
|
||||
meta: {
|
||||
title: '404'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/403',
|
||||
component: () => import(/* webpackChunkName: "403" */ '../components/page/403.vue'),
|
||||
meta: { title: '403' }
|
||||
component: () => import( /* webpackChunkName: "403" */ '../components/page/403.vue'),
|
||||
meta: {
|
||||
title: '403'
|
||||
}
|
||||
},
|
||||
// {
|
||||
// path: '/donate',
|
||||
@@ -198,60 +278,114 @@ export default new Router({
|
||||
// }
|
||||
]
|
||||
},
|
||||
{
|
||||
path: '/',
|
||||
component: () => import( /* webpackChunkName: "content" */ '../components/common/Content.vue'),
|
||||
meta: {
|
||||
title: 'Content'
|
||||
},
|
||||
children: [{
|
||||
path: '/managing',
|
||||
component: () => import( /* webpackChunkName: "managing" */ '../components/page/man_aging'),
|
||||
meta: {
|
||||
title: '主编'
|
||||
}
|
||||
}, {
|
||||
path: '/editorial',
|
||||
component: () => import( /* webpackChunkName: "editorial" */ '../components/page/man_aging'),
|
||||
meta: {
|
||||
title: '编委'
|
||||
}
|
||||
}, {
|
||||
path: '/peerewer',
|
||||
component: () => import( /* webpackChunkName: "peerewer" */ '../components/page/man_aging'),
|
||||
meta: {
|
||||
title: '审稿人'
|
||||
}
|
||||
}, {
|
||||
path: '/youthed',
|
||||
component: () => import( /* webpackChunkName: "youthed" */ '../components/page/man_aging'),
|
||||
meta: {
|
||||
title: '青年编委'
|
||||
}
|
||||
}]
|
||||
},
|
||||
{
|
||||
path: '/login',
|
||||
component: () => import(/* webpackChunkName: "login" */ '../components/page/Login.vue'),
|
||||
meta: { title: 'Login' }
|
||||
component: () => import( /* webpackChunkName: "login" */ '../components/page/Login.vue'),
|
||||
meta: {
|
||||
title: 'Login'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/retrieve',
|
||||
component: () => import(/* webpackChunkName: "retrieve" */ '../components/page/Retrieve.vue'),
|
||||
meta: { title: 'Retrieve password' }
|
||||
component: () => import( /* webpackChunkName: "retrieve" */ '../components/page/Retrieve.vue'),
|
||||
meta: {
|
||||
title: 'Retrieve password'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/retrieveact',
|
||||
component: () => import(/* webpackChunkName: "retrieveact" */ '../components/page/Retrieveact.vue'),
|
||||
meta: { title: 'Retrieve password' }
|
||||
component: () => import( /* webpackChunkName: "retrieveact" */ '../components/page/Retrieveact.vue'),
|
||||
meta: {
|
||||
title: 'Retrieve password'
|
||||
}
|
||||
},
|
||||
{
|
||||
path:'/submission',
|
||||
component:()=>import('../components/page/submission.vue'),
|
||||
meta:{title:'Submission system'}
|
||||
path: '/submission',
|
||||
component: () => import('../components/page/submission.vue'),
|
||||
meta: {
|
||||
title: 'Submission system'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/register',
|
||||
component: () => import(/* webpackChunkName: "register" */ '../components/page/Register.vue'),
|
||||
meta: { title: 'Register' }
|
||||
component: () => import( /* webpackChunkName: "register" */ '../components/page/Register.vue'),
|
||||
meta: {
|
||||
title: 'Register'
|
||||
}
|
||||
},
|
||||
{
|
||||
path:'/reviewer',
|
||||
component:()=>import('../components/page/reviewer.vue'),
|
||||
meta:{title:'reviewer'}
|
||||
path: '/reviewer',
|
||||
component: () => import('../components/page/reviewer.vue'),
|
||||
meta: {
|
||||
title: 'reviewer'
|
||||
}
|
||||
},
|
||||
{
|
||||
path:'/orcidLink',
|
||||
component:()=>import('../components/page/orcidLink.vue'),
|
||||
meta:{title:'orcidLink'}
|
||||
path: '/orcidLink',
|
||||
component: () => import('../components/page/orcidLink.vue'),
|
||||
meta: {
|
||||
title: 'orcidLink'
|
||||
}
|
||||
},
|
||||
{
|
||||
path:'/orcidBind',
|
||||
component:()=>import('../components/page/orcidBind.vue'),
|
||||
meta:{title:'orcidBind'}
|
||||
path: '/orcidBind',
|
||||
component: () => import('../components/page/orcidBind.vue'),
|
||||
meta: {
|
||||
title: 'orcidBind'
|
||||
}
|
||||
},
|
||||
{
|
||||
path:'/thanks',
|
||||
component:()=>import('../components/page/thanks.vue'),
|
||||
meta:{title:'thanks'}
|
||||
path: '/thanks',
|
||||
component: () => import('../components/page/thanks.vue'),
|
||||
meta: {
|
||||
title: 'thanks'
|
||||
}
|
||||
},
|
||||
{
|
||||
path:'/test',
|
||||
component:()=>import('../components/page/test.vue'),
|
||||
meta:{title:'test'}
|
||||
path: '/test',
|
||||
component: () => import('../components/page/test.vue'),
|
||||
meta: {
|
||||
title: 'test'
|
||||
}
|
||||
},
|
||||
{
|
||||
path:'/img',
|
||||
component:()=>import('../components/page/img.vue'),
|
||||
meta:{title:'img'}
|
||||
path: '/img',
|
||||
component: () => import('../components/page/img.vue'),
|
||||
meta: {
|
||||
title: 'img'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '*',
|
||||
|
||||
Reference in New Issue
Block a user