拒稿列表

This commit is contained in:
@fawn-nine
2023-06-07 09:35:31 +08:00
parent 0614ec0bd4
commit ec2135fa1b
11 changed files with 432 additions and 7 deletions

View File

@@ -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

View 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>

View File

@@ -119,6 +119,7 @@ const en = {
mailbox2: 'Mailbox list',
mailbox3: 'Mailbox template',
tools: 'Assistant tools',
ReArticles: 'Rejected Manuscripts', // 被拒稿件
},
home: {
authortop: 'Author guide',

View File

@@ -118,6 +118,7 @@ const zh = {
mailbox2: '邮件列表',
mailbox3: '模板管理',
tools: '辅助工具',
ReArticles: '被拒稿件', // 被拒稿件
},
home: {
authortop: '用户指南',

View File

@@ -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: '',

View 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>

View File

@@ -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%;

View File

@@ -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>

View File

@@ -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>

View File

@@ -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" */

View File

@@ -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: {