535 lines
18 KiB
Vue
535 lines
18 KiB
Vue
<template>
|
|
<div>
|
|
<div class="crumbs">
|
|
<el-breadcrumb separator="/">
|
|
<el-breadcrumb-item> <i class="el-icon-lx-calendar"></i> Manuscript reviewer 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="editVisible = true">Add reviewer</el-button>
|
|
<el-button type="primary" icon="el-icon-circle-plus-outline" @click="editVisible1 = true">Supplement</el-button>
|
|
</div>
|
|
<el-table :data="tableData" border stripe class="table" ref="multipleTable" header-cell-class-name="table-header">
|
|
<el-table-column type="index" label="No." align="center" width="60"></el-table-column>
|
|
<!-- <el-table-column prop="art_rev_id" label="ID" align="center" width="60"></el-table-column> -->
|
|
<el-table-column label="Reviewer" align="center">
|
|
<template slot-scope="scope">
|
|
<el-badge is-dot :hidden="scope.row.reviewer_act == 1 ? false : true" class="item">
|
|
{{ scope.row.reviewer }}
|
|
</el-badge>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column prop="country" label="Country" align="center"></el-table-column>
|
|
<el-table-column prop="company" label="Company" align="center"></el-table-column>
|
|
<el-table-column :formatter="majorTitle" label="Major" align="center"></el-table-column>
|
|
<el-table-column prop="field" label="Field" align="center"></el-table-column>
|
|
<el-table-column :formatter="revstate" label="state" align="center"></el-table-column>
|
|
<el-table-column label="" width="230" align="center">
|
|
<template slot-scope="scope">
|
|
<el-button size="mini" type="primary" plain icon="el-icon-tickets" @click="showdetail(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="add reviewer" :visible.sync="editVisible" width="40%" v-loading="loading" element-loading-text="Loading..."
|
|
element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 0, 0, 0.8)">
|
|
<el-form ref="editform" :model="editform" label-width="100px">
|
|
<el-form-item label="state">
|
|
<el-select v-model="editform.uid" filterable @change="changereviewer()" placeholder="Please select">
|
|
<el-option :key="0" label="please select" :value="0"></el-option>
|
|
<el-option v-for="item in reviewerList" :key="item.user_id" :label="item.account" :value="item.user_id"></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item label="Country" v-if="editform.uid != 0">
|
|
<span>{{ reviewer_data.country }}</span>
|
|
</el-form-item>
|
|
<el-form-item label="Company" v-if="editform.uid != 0">
|
|
<span>{{ reviewer_data.company }}</span>
|
|
</el-form-item>
|
|
<el-form-item label="Major" v-if="editform.uid != 0">
|
|
<span>{{ reviewer_data.major_title }}</span>
|
|
</el-form-item>
|
|
<el-form-item label="Field" v-if="editform.uid != 0">
|
|
<span>{{ reviewer_data.field }}</span>
|
|
</el-form-item>
|
|
<el-form-item label="Introduction" v-if="editform.uid != 0">
|
|
<span>{{ reviewer_data.introduction }}</span>
|
|
</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">save</el-button>
|
|
</span>
|
|
</el-dialog>
|
|
<el-dialog title="Supplement" :visible.sync="editVisible1" width="40%" v-loading="loading" element-loading-text="Loading..."
|
|
element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 0, 0, 0.8)">
|
|
<el-form ref="questionform" :model="questionform" label-position="top" label-width="300px">
|
|
<el-form-item label="Reviewer">
|
|
<el-select v-model="questionform.uid" filterable @change="changereviewer1()" placeholder="Please select">
|
|
<el-option :key="0" label="please select" :value="0"></el-option>
|
|
<el-option v-for="item in reviewerList" :key="item.user_id" :label="item.account" :value="item.user_id"></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item label="Country" v-if="questionform.uid != 0">
|
|
<span>{{ reviewer_data1.country }}</span>
|
|
</el-form-item>
|
|
<el-form-item label="Company" v-if="questionform.uid != 0">
|
|
<span>{{ reviewer_data1.company }}</span>
|
|
</el-form-item>
|
|
<el-form-item label="Major" v-if="questionform.uid != 0">
|
|
<span>{{ reviewer_data1.major_title }}</span>
|
|
</el-form-item>
|
|
<el-form-item label="Field" v-if="questionform.uid != 0">
|
|
<span>{{ reviewer_data1.field }}</span>
|
|
</el-form-item>
|
|
<el-form-item label="Introduction" v-if="questionform.uid != 0">
|
|
<span>{{ reviewer_data1.introduction }}</span>
|
|
</el-form-item>
|
|
<el-form-item label="1.Originality of the topic">
|
|
<el-radio-group v-model="questionform.qu1">
|
|
<el-radio :label="1">Excellent</el-radio>
|
|
<el-radio :label="2">Good</el-radio>
|
|
<el-radio :label="3">Fair</el-radio>
|
|
<el-radio :label="4">Poor</el-radio>
|
|
</el-radio-group>
|
|
</el-form-item>
|
|
<el-form-item label="2.Technical Quality">
|
|
<el-radio-group v-model="questionform.qu2">
|
|
<el-radio :label="1">Excellent</el-radio>
|
|
<el-radio :label="2">Good</el-radio>
|
|
<el-radio :label="3">Fair</el-radio>
|
|
<el-radio :label="4">Poor</el-radio>
|
|
</el-radio-group>
|
|
</el-form-item>
|
|
<el-form-item label="3.Importance in its Field">
|
|
<el-radio-group v-model="questionform.qu3">
|
|
<el-radio :label="1">Excellent</el-radio>
|
|
<el-radio :label="2">Good</el-radio>
|
|
<el-radio :label="3">Fair</el-radio>
|
|
<el-radio :label="4">Poor</el-radio>
|
|
</el-radio-group>
|
|
</el-form-item>
|
|
<el-form-item label="4.Style & Overall Representation">
|
|
<el-radio-group v-model="questionform.qu4">
|
|
<el-radio :label="1">Excellent</el-radio>
|
|
<el-radio :label="2">Good</el-radio>
|
|
<el-radio :label="3">Fair</el-radio>
|
|
<el-radio :label="4">Poor</el-radio>
|
|
</el-radio-group>
|
|
</el-form-item>
|
|
<el-form-item label="5.Readily Understandable">
|
|
<el-radio-group v-model="questionform.qu5">
|
|
<el-radio :label="1">Excellent</el-radio>
|
|
<el-radio :label="2">Good</el-radio>
|
|
<el-radio :label="3">Fair</el-radio>
|
|
<el-radio :label="4">Poor</el-radio>
|
|
</el-radio-group>
|
|
</el-form-item>
|
|
<el-form-item label="6.Suitability for the Journal">
|
|
<el-radio-group v-model="questionform.qu6">
|
|
<el-radio :label="1">Excellent</el-radio>
|
|
<el-radio :label="2">Good</el-radio>
|
|
<el-radio :label="3">Fair</el-radio>
|
|
<el-radio :label="4">Poor</el-radio>
|
|
</el-radio-group>
|
|
</el-form-item>
|
|
<el-form-item label="7.Adequate Illustrations or Drawings">
|
|
<el-radio-group v-model="questionform.qu7">
|
|
<el-radio :label="1">Excellent</el-radio>
|
|
<el-radio :label="2">Good</el-radio>
|
|
<el-radio :label="3">Fair</el-radio>
|
|
<el-radio :label="4">Poor</el-radio>
|
|
</el-radio-group>
|
|
</el-form-item>
|
|
<el-form-item label="8.English language">
|
|
<el-radio-group v-model="questionform.qu8">
|
|
<el-radio :label="1">Excellent</el-radio>
|
|
<el-radio :label="2">Good</el-radio>
|
|
<el-radio :label="3">Fair</el-radio>
|
|
<el-radio :label="4">Poor</el-radio>
|
|
</el-radio-group>
|
|
</el-form-item>
|
|
<el-collapse>
|
|
<el-form-item label="9.Does the title represent manuscript's contents?">
|
|
<el-switch v-model="questionform.qu9" active-text="yes" inactive-text="no"></el-switch>
|
|
<el-collapse-item name="1">
|
|
<template slot="title"> <i class="el-icon-edit"></i>Comments/ Suggestions </template>
|
|
<el-input type="textarea" placeholder="please input content" v-model="questionform.qu9contents" :rows="4"></el-input>
|
|
</el-collapse-item>
|
|
</el-form-item>
|
|
<el-form-item label="10.Is the Abstract accurate and concise?">
|
|
<el-switch v-model="questionform.qu10" active-text="yes" inactive-text="no"></el-switch>
|
|
<el-collapse-item name="2">
|
|
<template slot="title"> <i class="el-icon-edit"></i>Comments/ Suggestions </template>
|
|
<el-input type="textarea" placeholder="please input content" v-model="questionform.qu10contents" :rows="4"></el-input>
|
|
</el-collapse-item>
|
|
</el-form-item>
|
|
<el-form-item label="11.Are the approach/ methods properly described?">
|
|
<el-switch v-model="questionform.qu11" active-text="yes" inactive-text="no"></el-switch>
|
|
<el-collapse-item name="3">
|
|
<template slot="title"> <i class="el-icon-edit"></i>Comments/ Suggestions </template>
|
|
<el-input type="textarea" placeholder="please input content" v-model="questionform.qu11contents" :rows="4"></el-input>
|
|
</el-collapse-item>
|
|
</el-form-item>
|
|
<el-form-item label="12.Are the conclusions and interpretations sound?">
|
|
<el-switch v-model="questionform.qu12" active-text="yes" inactive-text="no"></el-switch>
|
|
<el-collapse-item name="4">
|
|
<template slot="title"> <i class="el-icon-edit"></i>Comments/ Suggestions </template>
|
|
<el-input type="textarea" placeholder="please input content" v-model="questionform.qu12contents" :rows="4"></el-input>
|
|
</el-collapse-item>
|
|
</el-form-item>
|
|
<el-form-item label="13.Are the references properly cited?">
|
|
<el-switch v-model="questionform.qu13" active-text="yes" inactive-text="no"></el-switch>
|
|
<el-collapse-item name="5">
|
|
<template slot="title"> <i class="el-icon-edit"></i>Comments/ Suggestions </template>
|
|
<el-input type="textarea" placeholder="please input content" v-model="questionform.qu13contents" :rows="4"></el-input>
|
|
</el-collapse-item>
|
|
</el-form-item>
|
|
<el-form-item label="14.Is this a new/ original/ confirmatory contribution?">
|
|
<el-switch v-model="questionform.qu14" active-text="yes" inactive-text="no"></el-switch>
|
|
<el-collapse-item name="6">
|
|
<template slot="title"> <i class="el-icon-edit"></i>Comments/ Suggestions </template>
|
|
<el-input type="textarea" placeholder="please input content" v-model="questionform.qu14contents" :rows="4"></el-input>
|
|
</el-collapse-item>
|
|
</el-form-item>
|
|
<el-form-item label="15.Is it within the scope of the journal?">
|
|
<el-switch v-model="questionform.qu15" active-text="yes" inactive-text="no"></el-switch>
|
|
<el-collapse-item name="7">
|
|
<template slot="title"> <i class="el-icon-edit"></i>Comments/ Suggestions </template>
|
|
<el-input type="textarea" placeholder="please input content" v-model="questionform.qu15contents" :rows="4"></el-input>
|
|
</el-collapse-item>
|
|
</el-form-item>
|
|
</el-collapse>
|
|
<el-divider content-position="center">REFEREE'S RECOMMENDATIONS</el-divider>
|
|
<el-form-item label="Overall the Paper is Rated">
|
|
(Poor-------------------------------------------------------------Excellent)
|
|
<br />
|
|
<el-radio-group v-model="questionform.rated" size="small">
|
|
<el-radio-button label="1"></el-radio-button>
|
|
<el-radio-button label="2"></el-radio-button>
|
|
<el-radio-button label="3"></el-radio-button>
|
|
<el-radio-button label="4"></el-radio-button>
|
|
<el-radio-button label="5"></el-radio-button>
|
|
<el-radio-button label="6"></el-radio-button>
|
|
<el-radio-button label="7"></el-radio-button>
|
|
<el-radio-button label="8"></el-radio-button>
|
|
<el-radio-button label="9"></el-radio-button>
|
|
<el-radio-button label="10"></el-radio-button>
|
|
</el-radio-group>
|
|
<br />
|
|
<span>Your score:{{ questionform.rated }}</span>
|
|
</el-form-item>
|
|
<el-form-item label="REFEREE'S RECOMMENDATIONS" prop="recommend">
|
|
<el-radio-group v-model="questionform.recommend">
|
|
<el-radio :label="1">Accept with minor changes</el-radio>
|
|
<br />
|
|
<el-radio :label="2">Accept subject to revisions, as noted in comments</el-radio>
|
|
<br />
|
|
<el-radio :label="3">Reject in current form, but may be resubmitted</el-radio>
|
|
<br />
|
|
<el-radio :label="4">Reject, with no resubmission</el-radio>
|
|
</el-radio-group>
|
|
</el-form-item>
|
|
<el-form-item label="OTHER SPECIFIC CRITICISMS">
|
|
<el-radio-group v-model="questionform.other">
|
|
<el-radio :label="1">Imperfect style</el-radio>
|
|
<br />
|
|
<el-radio :label="2">Too long</el-radio>
|
|
<br />
|
|
<el-radio :label="3">References incorrectly presented</el-radio>
|
|
<br />
|
|
<el-radio :label="4">Typographical and Grammatical errors</el-radio>
|
|
</el-radio-group>
|
|
</el-form-item>
|
|
<el-form-item label="Confidential Comments to the Editor">
|
|
<el-input type="textarea" placeholder="please input content" v-model="questionform.confident" :rows="8"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="Comments for the Authors">
|
|
<el-input type="textarea" placeholder="please input content" v-model="questionform.comment" :rows="8"></el-input>
|
|
</el-form-item>
|
|
<el-form-item>
|
|
<el-button type="primary" @click="addArtRev">submit</el-button>
|
|
</el-form-item>
|
|
</el-form>
|
|
</el-dialog>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
export default {
|
|
data() {
|
|
return {
|
|
baseUrl: this.Common.baseUrl,
|
|
questionform: {
|
|
uid: 0,
|
|
articleId: this.$route.query.id,
|
|
qu1: '',
|
|
qu2: '',
|
|
qu3: '',
|
|
qu4: '',
|
|
qu5: '',
|
|
qu6: '',
|
|
qu7: '',
|
|
qu8: '',
|
|
qu9: 'false',
|
|
qu9contents: '',
|
|
qu10: 'false',
|
|
qu10contents: '',
|
|
qu11: 'false',
|
|
qu11contents: '',
|
|
qu12: 'false',
|
|
qu12contents: '',
|
|
qu13: 'false',
|
|
qu13contents: '',
|
|
qu14: 'false',
|
|
qu14contents: '',
|
|
qu15: 'false',
|
|
qu15contents: '',
|
|
rated: '',
|
|
recommend: '',
|
|
other: '',
|
|
confident: '',
|
|
comment: ''
|
|
},
|
|
query: {
|
|
articleId: this.$route.query.id,
|
|
pageIndex: 1,
|
|
pageSize: 10
|
|
},
|
|
editform: {
|
|
uid: 0,
|
|
articleId: this.$route.query.id
|
|
},
|
|
reviewer_data: {
|
|
introduction: '',
|
|
country: '',
|
|
company: '',
|
|
major_title: '',
|
|
field: ''
|
|
},
|
|
reviewer_data1: {
|
|
introduction: '',
|
|
country: '',
|
|
company: '',
|
|
major_title: '',
|
|
field: ''
|
|
},
|
|
editVisible: false,
|
|
editVisible1: false,
|
|
tableData: [],
|
|
reviewerList: [],
|
|
loading: false,
|
|
Total: 0
|
|
};
|
|
},
|
|
created() {
|
|
this.getdate();
|
|
this.initreviewerList();
|
|
},
|
|
computed: {
|
|
upload_url: function() {
|
|
return this.baseUrl + 'api/Reviewer/up_file';
|
|
}
|
|
},
|
|
methods: {
|
|
// 获取编辑列表数据
|
|
getdate() {
|
|
this.$api
|
|
.post('api/Article/getReviewerList', this.query)
|
|
.then((res) => {
|
|
this.Total = res.totle;
|
|
this.tableData = res.data;
|
|
})
|
|
.catch((err) => {
|
|
console.log(err);
|
|
});
|
|
},
|
|
// 分页导航
|
|
handlePageChange(val) {
|
|
this.$set(this.query, 'pageIndex', val);
|
|
this.getdate();
|
|
},
|
|
addReviewer() {
|
|
alert('sssss');
|
|
},
|
|
//初始化审查员列表
|
|
initreviewerList() {
|
|
this.$api
|
|
.post('api/Article/getArticleReviewerList', {
|
|
articleId: this.query.articleId
|
|
})
|
|
.then((res) => {
|
|
this.reviewerList = res.data;
|
|
})
|
|
.catch((err) => {
|
|
console.log(err);
|
|
});
|
|
},
|
|
//保存添加操作
|
|
saveEdit() {
|
|
if (this.editform.uid == 0) {
|
|
this.$message.error('please select a reviewer');
|
|
} else {
|
|
this.loading = true;
|
|
this.$api
|
|
.post('api/Article/addArticleReviewer', this.editform)
|
|
.then((res) => {
|
|
this.loading = false;
|
|
if (res.code == 0) {
|
|
this.$message.success('add success');
|
|
this.$router.go(0);
|
|
} else {
|
|
this.$message.error('add error');
|
|
}
|
|
})
|
|
.catch((err) => {
|
|
console.log(err);
|
|
});
|
|
}
|
|
},
|
|
addArtRev() {
|
|
if (this.questionform.uid == 0) {
|
|
this.$message.error('Please select a reviewer');
|
|
} else {
|
|
this.loading = true;
|
|
this.$api.post('api/Article/addArtRev', this.questionform)
|
|
.then((res) => {
|
|
this.loading = false;
|
|
if (res.code == 0) {
|
|
this.$message.success('add success');
|
|
this.$router.go(0);
|
|
} else {
|
|
this.$message.error('add error');
|
|
}
|
|
})
|
|
.catch((err) => {
|
|
console.log(err);
|
|
});
|
|
}
|
|
},
|
|
showdetail(row) {
|
|
if (row.state == 4) {
|
|
this.$message.error('Review expired!');
|
|
} else {
|
|
this.$router.push({
|
|
path: 'articleReviewerDetail',
|
|
query: {
|
|
id: row.art_rev_id
|
|
}
|
|
});
|
|
}
|
|
},
|
|
changereviewer() {
|
|
if (this.editform.uid !== 0) {
|
|
this.$api
|
|
.post('api/Article/getReviewerdetail', {
|
|
uid: this.editform.uid
|
|
})
|
|
.then((res) => {
|
|
this.reviewer_data.introduction = res.data.introduction;
|
|
this.reviewer_data.country = res.data.country;
|
|
this.reviewer_data.company = res.data.company;
|
|
this.reviewer_data.major_title = res.data.major_title;
|
|
this.reviewer_data.field = res.data.field;
|
|
})
|
|
.catch((err) => {
|
|
console.log(err);
|
|
});
|
|
}
|
|
},
|
|
changereviewer1() {
|
|
if (this.questionform.uid !== 0) {
|
|
this.$api
|
|
.post('api/Article/getReviewerdetail', {
|
|
uid: this.questionform.uid
|
|
})
|
|
.then((res) => {
|
|
this.reviewer_data1.introduction = res.data.introduction;
|
|
this.reviewer_data1.country = res.data.country;
|
|
this.reviewer_data1.company = res.data.company;
|
|
this.reviewer_data1.major_title = res.data.major_title;
|
|
this.reviewer_data1.field = res.data.field;
|
|
})
|
|
.catch((err) => {
|
|
console.log(err);
|
|
});
|
|
}
|
|
},
|
|
majorTitle(row, column, cellValue, index) {
|
|
return row.major_title + '(' + row.major_ctitle + ')';
|
|
},
|
|
revstate(row, column, cellValue, index) {
|
|
let frag = '';
|
|
if (row.state == 0) {
|
|
frag = 'With reviewer';
|
|
} else if (row.state == 1) {
|
|
frag = 'Revision';
|
|
} else if (row.state == 2) {
|
|
frag = 'Reject';
|
|
} else if (row.state == 3) {
|
|
frag = 'Accepted';
|
|
} else if (row.state == 4) {
|
|
frag = 'invalid';
|
|
}
|
|
return frag;
|
|
}
|
|
}
|
|
};
|
|
</script>
|
|
|
|
<style scoped>
|
|
.handle-box {
|
|
margin-bottom: 20px;
|
|
}
|
|
|
|
.handle-select {
|
|
width: 120px;
|
|
}
|
|
|
|
.handle-input {
|
|
width: 300px;
|
|
display: inline-block;
|
|
}
|
|
|
|
.table {
|
|
width: 100%;
|
|
font-size: 14px;
|
|
}
|
|
|
|
.red {
|
|
color: #ff0000;
|
|
}
|
|
|
|
.mr10 {
|
|
margin-right: 10px;
|
|
}
|
|
|
|
.table-td-thumb {
|
|
display: block;
|
|
margin: auto;
|
|
width: 40px;
|
|
height: 40px;
|
|
}
|
|
|
|
.el-table .warning-row {
|
|
background: #f3ca7f;
|
|
}
|
|
|
|
.el-table .success-row {
|
|
background: #bcfc9a;
|
|
}
|
|
|
|
.el-table .normol-row {
|
|
background: #d8f1c7;
|
|
}
|
|
|
|
.el-table .red-row {
|
|
background: #f05555;
|
|
}
|
|
</style>
|