拒稿列表
This commit is contained in:
@@ -125,11 +125,15 @@
|
||||
</a>
|
||||
</el-menu-item>
|
||||
</template>
|
||||
<!-- 编辑 -->
|
||||
<template v-if="this.userrole == 1">
|
||||
<el-submenu index="5">
|
||||
<template slot="title">
|
||||
<i class="el-icon-paperclip"></i> {{$t('sidebar.tools')}}
|
||||
</template>
|
||||
<el-menu-item index="RejectedArticles">
|
||||
{{$t('sidebar.ReArticles')}}
|
||||
</el-menu-item>
|
||||
<el-menu-item index="1" key="1">
|
||||
<a href="http://master.tmrjournals.com" target="_blank" style="color: #fff;">
|
||||
Management System
|
||||
|
||||
66
src/components/common/TypeList.vue
Normal file
66
src/components/common/TypeList.vue
Normal file
@@ -0,0 +1,66 @@
|
||||
<script>
|
||||
var journal_type = [{
|
||||
name: 'ARTICLE',
|
||||
value: 'A'
|
||||
}, {
|
||||
name: 'REVIEW',
|
||||
value: 'B'
|
||||
}, {
|
||||
name: 'CASE REPORT',
|
||||
value: 'C'
|
||||
}, {
|
||||
name: 'RESEARCH PROPOSAL',
|
||||
value: 'P'
|
||||
}, {
|
||||
name: 'NEWS',
|
||||
value: 'N'
|
||||
}, {
|
||||
name: 'COMMENT',
|
||||
value: 'T'
|
||||
}, {
|
||||
name: 'CORRECTION',
|
||||
value: 'CT'
|
||||
}, {
|
||||
name: 'HYPOTHESIS',
|
||||
value: 'HT'
|
||||
}, {
|
||||
name: 'PREFACE',
|
||||
value: 'PF'
|
||||
}, {
|
||||
name: 'EDITORIAL',
|
||||
value: 'ET'
|
||||
}, {
|
||||
name: 'REPORT',
|
||||
value: 'RP'
|
||||
}, {
|
||||
name: 'LETTER',
|
||||
value: 'LR'
|
||||
}, {
|
||||
name: 'EMPIRICAL FORMULA',
|
||||
value: 'EF'
|
||||
}, {
|
||||
name: 'EXPERT CONSENSUS',
|
||||
value: 'EC'
|
||||
}, {
|
||||
name: 'LETTER TO EDITOR',
|
||||
value: 'LTE'
|
||||
}, {
|
||||
name: 'QUESTIONNAIRE INVESTIGATION',
|
||||
value: 'QI'
|
||||
}, {
|
||||
name: 'CASE SERIES',
|
||||
value: 'CS',
|
||||
}, {
|
||||
name: 'RETRACTION',
|
||||
value: 'RT',
|
||||
}, {
|
||||
name: 'MINI REVIEW',
|
||||
value: 'MR',
|
||||
}, {
|
||||
name: 'OTHERS',
|
||||
value: 'O',
|
||||
}]
|
||||
export default {
|
||||
journal_type
|
||||
}
|
||||
</script>
|
||||
@@ -119,6 +119,7 @@ const en = {
|
||||
mailbox2: 'Mailbox list',
|
||||
mailbox3: 'Mailbox template',
|
||||
tools: 'Assistant tools',
|
||||
ReArticles: 'Rejected Manuscripts', // 被拒稿件
|
||||
},
|
||||
home: {
|
||||
authortop: 'Author guide',
|
||||
|
||||
@@ -118,6 +118,7 @@ const zh = {
|
||||
mailbox2: '邮件列表',
|
||||
mailbox3: '模板管理',
|
||||
tools: '辅助工具',
|
||||
ReArticles: '被拒稿件', // 被拒稿件
|
||||
},
|
||||
home: {
|
||||
authortop: '用户指南',
|
||||
|
||||
@@ -78,9 +78,9 @@
|
||||
value: '1',
|
||||
label: 'Template 1'
|
||||
}],
|
||||
url: 'http://192.168.110.156:8080/static/img/output-1.png',
|
||||
url: 'http://192.168.110.159:8080/static/img/output-1.png',
|
||||
srcList: [
|
||||
'http://192.168.110.156:8080/static/img/output-1.png'
|
||||
'http://192.168.110.159:8080/static/img/output-1.png'
|
||||
],
|
||||
pageCount: 0,
|
||||
pdfUrl: '',
|
||||
|
||||
210
src/components/page/RejectedArticles.vue
Normal file
210
src/components/page/RejectedArticles.vue
Normal file
@@ -0,0 +1,210 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="container">
|
||||
<el-table :data="tableData" border stripe class="table" ref="multipleTable"
|
||||
header-cell-class-name="table-header" empty-text="New messages (0)">
|
||||
<el-table-column type="index" label="No." width="55" align="center"></el-table-column>
|
||||
<el-table-column width="180" label="Manuscript ID" align="center">
|
||||
<template slot-scope="scope">
|
||||
<p style="margin-bottom: 5px;">
|
||||
<span
|
||||
style="background-color: #006699;width: 20px;color: #fff;margin: 0 2px 0 0;font-weight: bold;padding: 2px 4px;"
|
||||
v-if="scope.row.special_num>0">S</span>
|
||||
{{scope.row.accept_sn}}
|
||||
</p>
|
||||
<!-- <el-button @click="huaGuest(scope.row)" size="mini" type="primary" plain style="margin-top: 10px;">
|
||||
Put into special issue</el-button> -->
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="title" label="Title" align="center">
|
||||
<template slot-scope="scope">
|
||||
<p style="text-align: left;">
|
||||
<el-badge is-dot :hidden="scope.row.author_act==1?false:true" class="item">
|
||||
{{scope.row.title}}
|
||||
</el-badge>
|
||||
</p>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="Type" align="center" width="300">
|
||||
<template slot-scope="scope">
|
||||
<!-- {{scope.row.type}} -->
|
||||
<el-select v-model="scope.row.type" disabled style="width: 100%;">
|
||||
<el-option v-for="item in journal_type" :key="item.value" :label="item.name"
|
||||
:value="item.value"></el-option>
|
||||
</el-select>
|
||||
<!-- <div style="text-align: center;margin-bottom: 10px;" v-if="scope.row.emailh==1">
|
||||
<el-button size="mini" type="primary" plain icon="el-icon-chat-dot-square"
|
||||
@click="linkEmailist(scope.row)">History</el-button>
|
||||
</div>
|
||||
<div style="text-align: center;">
|
||||
<el-button size="mini" type="primary" plain icon="el-icon-message"
|
||||
@click="linkEmail(scope.row)">Email</el-button>
|
||||
</div> -->
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="Remarks" align="center">
|
||||
<template slot-scope="scope">
|
||||
<p style="margin-bottom: 5px;text-align: left;">{{scope.row.remarks}}</p>
|
||||
<el-button @click="testedit(scope.row)" size="mini" type="primary" plain icon="el-icon-edit">Change
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" type="primary" plain icon="el-icon-tickets"
|
||||
@click="showdetaileditor(scope.row)">Detail</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="pagination">
|
||||
<el-pagination background layout="total, prev, pager, next" :current-page="query.pageIndex"
|
||||
:page-size="query.pageSize" :total="Total" @current-change="handlePageChange"></el-pagination>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 标记弹窗 -->
|
||||
<el-dialog title="Remarks" :visible.sync="editbox" width="550px">
|
||||
<el-form ref="remark" :model="remark" label-width="85px">
|
||||
<el-form-item label="Title :">
|
||||
<p style="line-height: 20px;margin-top: 6px;">{{remark.title}}</p>
|
||||
</el-form-item>
|
||||
<el-form-item label="Content :">
|
||||
<el-input type="textarea" rows="5" v-model="remark.content"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="editbox = false">Cancel</el-button>
|
||||
<el-button type="primary" @click="saveRemark">Save</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
// 引入公共文章type
|
||||
import journal_type1 from '../common/TypeList.vue'
|
||||
export default {
|
||||
name: 'RejectedArticles',
|
||||
data() {
|
||||
return {
|
||||
Total: 0,
|
||||
query: {
|
||||
//username: localStorage.getItem('U_name'),
|
||||
pageIndex: 1,
|
||||
pageSize: 50
|
||||
},
|
||||
tableData: [],
|
||||
editbox:false,
|
||||
remark: {
|
||||
articleId: this.$route.query.id,
|
||||
content: ''
|
||||
},
|
||||
journal_type:[],
|
||||
ss:''
|
||||
};
|
||||
},
|
||||
components: {
|
||||
|
||||
},
|
||||
created() {
|
||||
this.getData();
|
||||
if (localStorage.getItem('U_point') != null) {
|
||||
this.activeIndex = localStorage.getItem('U_point')
|
||||
localStorage.removeItem('U_point')
|
||||
}
|
||||
},
|
||||
activated() {
|
||||
this.getData();
|
||||
},
|
||||
methods: {
|
||||
// 获取数据
|
||||
getData() {
|
||||
// 被拒稿件列表
|
||||
this.$api
|
||||
.post('api/Article/getRejectArticles', this.query)
|
||||
.then(res => {
|
||||
if (res.data.count > 0) {
|
||||
this.tableData = res.data.articles
|
||||
this.Total = res.data.count
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
console.log(err);
|
||||
});
|
||||
},
|
||||
// 分页导航
|
||||
handlePageChange(val) {
|
||||
this.$set(this.query, 'pageIndex', val);
|
||||
this.getData();
|
||||
},
|
||||
// 稿件信息展示
|
||||
showdetaileditor(row) {
|
||||
let stat_num = 'articleDetailEditor'
|
||||
this.$router.push({
|
||||
path: stat_num,
|
||||
query: {
|
||||
id: row.article_id,
|
||||
mark:'rejectArticles'
|
||||
}
|
||||
});
|
||||
},
|
||||
// 标记弹出框
|
||||
testedit(e) {
|
||||
this.editbox = true;
|
||||
this.remark.title = e.title;
|
||||
this.remark.articleId = e.article_id;
|
||||
this.remark.content = e.remarks;
|
||||
},
|
||||
// 修改标记
|
||||
saveRemark() {
|
||||
this.$api.post('api/Article/editArticleRemark', this.remark)
|
||||
.then(res => {
|
||||
if (res.code == 0) {
|
||||
this.$message.success('success');
|
||||
this.editbox = false;
|
||||
this.getData();
|
||||
} else {
|
||||
this.$message.error(res.msg);
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
},
|
||||
mounted(){
|
||||
this.journal_type = journal_type1.journal_type
|
||||
// console.log(this.journal_type, this.journal_type1)
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.tab_all {
|
||||
border-bottom: 1px solid #ddd;
|
||||
}
|
||||
|
||||
.tab_Normal {
|
||||
font-size: 15px;
|
||||
border: 1px solid #fff;
|
||||
border-top: 3px solid #fff;
|
||||
border-bottom: none;
|
||||
float: left;
|
||||
margin: 10px 0 -1px 0;
|
||||
padding: 20px 30px;
|
||||
cursor: pointer;
|
||||
background-color: #fafafa;
|
||||
}
|
||||
|
||||
.tab_Normal:hover {
|
||||
text-decoration: underline;
|
||||
|
||||
}
|
||||
|
||||
.tab_Select {
|
||||
background-color: #fff;
|
||||
border: 1px solid #ddd;
|
||||
border-top: 3px solid #6dafcf;
|
||||
border-bottom: 1px solid #fff;
|
||||
}
|
||||
|
||||
.tab_Select:hover {}
|
||||
</style>
|
||||
@@ -112,6 +112,14 @@
|
||||
<el-input type="textarea" rows="5" v-model="form.abstrart"
|
||||
placeholder="Please enter the abstract"></el-input>
|
||||
</el-form-item>
|
||||
<!-- 话题 -->
|
||||
<el-form-item label="Topics :" prop="topics">
|
||||
<el-cascader disabled class="formTopics" @change="topicsChange"
|
||||
v-model="form.topics"
|
||||
:options="topicsList"
|
||||
:props="topicsProps"
|
||||
clearable></el-cascader>
|
||||
</el-form-item>
|
||||
<el-form-item label="Key words :">
|
||||
<el-input v-for="(item, index) in keywordsList" :key="index" :name="index + 1"
|
||||
v-model="item.ke" :placeholder="'Key words' + (index + 1)"
|
||||
@@ -615,7 +623,8 @@
|
||||
coverLetter: '',
|
||||
picturesAndTables: '',
|
||||
totalpage: '',
|
||||
manuscirpt: ''
|
||||
manuscirpt: '',
|
||||
topics:null
|
||||
},
|
||||
journal_type: [{
|
||||
name: 'ARTICLE',
|
||||
@@ -831,6 +840,14 @@
|
||||
},
|
||||
mj_jour: [],
|
||||
jour_name: '',
|
||||
topicsList:null, // 话题列表
|
||||
topicsProps:{
|
||||
multiple: true,
|
||||
emitPath: false, // 只返回该节点的值
|
||||
value: "journal_topic_id", // 自定义要映射的键名
|
||||
label: "title",
|
||||
children: "children",
|
||||
}
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
@@ -848,6 +865,7 @@
|
||||
this.Temporary()
|
||||
} else {
|
||||
this.initMajor();
|
||||
this.getTopics()
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
@@ -1528,6 +1546,7 @@
|
||||
this.form.istransfer = false
|
||||
this.form.becomeRev = false
|
||||
this.initMajor();
|
||||
this.getTopics()
|
||||
},
|
||||
|
||||
// 点击tab变化
|
||||
@@ -1815,6 +1834,7 @@
|
||||
'article_id': this.stagingID
|
||||
})
|
||||
.then((res) => {
|
||||
console.log(res, '已经保存的值')
|
||||
if (res.code == 0) {
|
||||
// 基本信息
|
||||
this.form.journal = res.data.base.journal_id
|
||||
@@ -1823,6 +1843,7 @@
|
||||
this.form.approval = res.data.base.approval
|
||||
this.form.abstrart = res.data.base.abstrart
|
||||
this.form.fund = res.data.base.fund
|
||||
this.form.topics = res.data.base.topics
|
||||
// 领域
|
||||
this.$api
|
||||
.post('api/Major/getMajorForAddArticle', {
|
||||
@@ -1913,12 +1934,36 @@
|
||||
// 选择
|
||||
chanSelt() {
|
||||
this.$forceUpdate()
|
||||
},
|
||||
|
||||
// 获取话题
|
||||
getTopics(){
|
||||
this.$api
|
||||
.post('api/Article/getJournalTopics', {'journal_id': this.Reviewerof.journal})
|
||||
.then((res) => {
|
||||
if (res.code == 0) {
|
||||
this.topicsList = res.data.topics
|
||||
console.log(res.data.topics,'话题')
|
||||
} else {
|
||||
this.$message.error(res.msg);
|
||||
}
|
||||
});
|
||||
},
|
||||
// 选中值变化
|
||||
topicsChange(e){
|
||||
console.log(this.form.topics,'选中的话题id')
|
||||
}
|
||||
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.formTopics{
|
||||
width: 100%;
|
||||
}
|
||||
</style>
|
||||
|
||||
<style>
|
||||
.author-box {
|
||||
width: 150%;
|
||||
|
||||
@@ -189,7 +189,26 @@
|
||||
</el-row>
|
||||
</div>
|
||||
</div>
|
||||
<div class="art_caozuo_">
|
||||
<!-- 被拒稿件操作 -->
|
||||
<div class="art_caozuo_" v-if="opname == 'rejectArticles'">
|
||||
<p>
|
||||
<span>Status : </span>
|
||||
<b>{{articleState}}</b>
|
||||
</p>
|
||||
<p>
|
||||
<span>Remarks : </span>
|
||||
<b>{{form.remarks}}</b>
|
||||
</p>
|
||||
<p>
|
||||
<span>Repetition : </span>
|
||||
<b>{{form.repetition}}%</b>
|
||||
</p>
|
||||
<!--<br clear="both">
|
||||
<el-button type="primary" @click="showResubmit" style="margin: 15px 0 0 0;">Resubmit the manuscript
|
||||
</el-button> -->
|
||||
</div>
|
||||
<!-- 常规稿件操作 -->
|
||||
<div class="art_caozuo_" v-else>
|
||||
<p>
|
||||
<span>Status : </span>
|
||||
<b>{{articleState}}</b>
|
||||
@@ -349,6 +368,24 @@
|
||||
<el-button type="primary" @click="saveRepe">Save</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
<el-dialog title="Resubmit the manuscript" :visible.sync="resubmitVisible" width="550px" v-loading="loading4">
|
||||
<el-form ref="resubmitJournal" :model="resubmitJournal" label-width="120" :rules="Resubmitrules">
|
||||
<el-form-item label="journal" prop="journalId">
|
||||
<el-select v-if="editorJournalList.length > 0" v-model="resubmitJournal.journalId" filterable placeholder="Please select a manuscript">
|
||||
<el-option
|
||||
v-for="item in editorJournalList"
|
||||
:key="item.journal_id"
|
||||
:label="item.title"
|
||||
:value="item.journal_id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="closeResubmit">Cancel</el-button>
|
||||
<el-button type="primary" @click="saveResubmit">Save</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -368,8 +405,10 @@
|
||||
loading1: false,
|
||||
loading2: false,
|
||||
loading3: false,
|
||||
loading4: false,
|
||||
editVisible: false,
|
||||
editbox: false,
|
||||
resubmitVisible:false,
|
||||
repebox: false,
|
||||
HEditVisible: false,
|
||||
HIxForm: {
|
||||
@@ -458,7 +497,19 @@
|
||||
user_id: '',
|
||||
ad_content: ''
|
||||
},
|
||||
talkMsgs: []
|
||||
talkMsgs: [],
|
||||
opname:'', // 稿件详细类型
|
||||
editorJournalList:[], // 编辑期刊列表
|
||||
resubmitJournal:{
|
||||
journalId:null , // 转投期刊的id
|
||||
manuscriptId:null, // article id
|
||||
},
|
||||
Resubmitrules:{
|
||||
journalId: [
|
||||
{ required: true, message: 'Please select the name of the journal to be forwarded to' }
|
||||
]
|
||||
}
|
||||
|
||||
};
|
||||
},
|
||||
created: function() {
|
||||
@@ -944,7 +995,47 @@
|
||||
.catch(err => {
|
||||
console.log(err);
|
||||
});
|
||||
},
|
||||
// 显示转投稿件弹窗
|
||||
showResubmit(){
|
||||
this.loading4 = true
|
||||
|
||||
this.$api.post('api/Journal/getJournalByeditor', {'user_id':localStorage.getItem('U_id')})
|
||||
.then(res => {
|
||||
this.loading4 = false;
|
||||
this.editorJournalList = res.data.journals
|
||||
console.log(res)
|
||||
this.resubmitVisible = true
|
||||
})
|
||||
.catch(err => {
|
||||
console.log(err);
|
||||
});
|
||||
|
||||
|
||||
},
|
||||
// 提交转投稿件
|
||||
saveResubmit(){
|
||||
// 验证表单
|
||||
this.$refs['resubmitJournal'].validate((valid) => {
|
||||
if (valid) {
|
||||
alert('submit!');
|
||||
console.log(this.resubmitJournal)
|
||||
} else {
|
||||
console.log('error submit!!');
|
||||
return false;
|
||||
}
|
||||
});
|
||||
},
|
||||
// 关闭弹窗
|
||||
closeResubmit(){
|
||||
this.resubmitVisible = false,
|
||||
this.$refs['resubmitJournal'].resetFields()
|
||||
}
|
||||
|
||||
},
|
||||
mounted(){
|
||||
this.opname = this.$route.query.mark
|
||||
this.resubmitJournal.manuscriptId = this.$route.query.id
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
<div class="container">
|
||||
<div class="handle-box">
|
||||
<el-button type="primary" icon="el-icon-plus" @click="addJournal">Add Journal</el-button>
|
||||
</div>
|
||||
</div>
|
||||
<el-table :data="tableData" border stripe class="table" ref="multipleTable"
|
||||
header-cell-class-name="table-header" empty-text="New messages (0)">
|
||||
<el-table-column prop="journal_id" label="ID" align="center" width="50"></el-table-column>
|
||||
|
||||
@@ -871,6 +871,13 @@ export default new Router({
|
||||
title: 'Mailbox template'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/RejectedArticles', //被拒稿件汇总
|
||||
component: () => import('../components/page/RejectedArticles'),
|
||||
meta: {
|
||||
title: 'Rejected Manuscripts'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/404',
|
||||
component: () => import( /* webpackChunkName: "404" */
|
||||
|
||||
@@ -4,7 +4,7 @@ module.exports = {
|
||||
assetsDir: 'static',
|
||||
productionSourceMap: false,
|
||||
devServer: {
|
||||
public: 'http://192.168.110.156:8080/', // 你自己本地的ip地址:端口号
|
||||
public: 'http://192.168.110.159:8080/', // 你自己本地的ip地址:端口号
|
||||
// port: '8080',
|
||||
// open: true,
|
||||
// overlay: {
|
||||
|
||||
Reference in New Issue
Block a user