This commit is contained in:
xulu
2021-07-29 11:35:16 +08:00
3 changed files with 64 additions and 89 deletions

View File

@@ -9,10 +9,10 @@
element-loading-background="rgba(0, 0, 0, 0.8)" element-loading-background="rgba(0, 0, 0, 0.8)"
> >
<el-form-item label="Course"> <el-form-item label="Course">
<el-select v-model="upform.course" placeholder="Please select course"> <el-select @change="selectChanged" v-model="upform.course" placeholder="Please select course">
<el-option v-for="item in courses" :key="item.dirname" :label="item.dirname" :value="item.dirname"></el-option> <el-option v-for="item in courses" :key="item.dirname" :label="item.dirname" :value="item.dirname"></el-option>
</el-select> </el-select>
<el-button type="text" @click="clear">清除所有</el-button> <el-button type="text" @click="clear">清除课程下所有证书</el-button>
</el-form-item> </el-form-item>
<el-form-item label="File"> <el-form-item label="File">
<el-upload <el-upload
@@ -27,7 +27,7 @@
:on-error="uperror" :on-error="uperror"
> >
<el-button size="small" type="text">upload excel</el-button> <el-button size="small" type="text">upload excel</el-button>
<div slot="tip" class="el-upload__tip">Only excel files can be uploaded(.xls,.xlsx)</div> <div slot="tip" class="el-upload__tip">Only excel files can be uploaded(.xlsx)</div>
</el-upload> </el-upload>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
@@ -81,8 +81,8 @@ export default {
}, },
methods: { methods: {
onsubmit() { onsubmit() {
if (this.upform.journal == '' || this.upform.url == '') { if (this.upform.course == '' || this.upform.url == '') {
this.$message.error('please select journal and upload a excel'); this.$message.error('please select course and upload a excel');
return false; return false;
} }
if (this.new_num == 0) { if (this.new_num == 0) {
@@ -165,6 +165,9 @@ export default {
this.$router.go(0); this.$router.go(0);
}); });
}, },
selectChanged(){
this.gettables();
},
getlinkurl() { getlinkurl() {
this.$api.post('api/Img/getZip', this.upform).then((res) => { this.$api.post('api/Img/getZip', this.upform).then((res) => {
let url = this.baseUrl + res.data.url; let url = this.baseUrl + res.data.url;

View File

@@ -1,26 +1,16 @@
<template> <template>
<div class="login-wrap"> <div class="login-wrap">
<div class="ms-login"> <div class="ms-login">
<div class="ms-title">Application reviewer</div> <div class="ms-title">Reviewer Application Form</div>
<el-form <el-form class="ms-content" :rules="Rules" ref="reviewerForm" :model="reviewerForm" label-width="100px">
class="ms-content"
:rules="Rules"
ref="reviewerForm"
:model="reviewerForm"
label-width="100px"
>
<!-- 姓名 --> <!-- 姓名 -->
<el-form-item prop="username" label="Username"> <el-form-item prop="username" label="Username">
<el-input <el-input v-model="reviewerForm.username" auto-complete="off" placeholder="Username">
v-model="reviewerForm.username"
auto-complete="off"
placeholder="username"
>
<i slot="prefix" class="el-icon-user"></i> <i slot="prefix" class="el-icon-user"></i>
</el-input> </el-input>
</el-form-item> </el-form-item>
<!-- 期刊 --> <!-- 期刊 -->
<el-form-item label="journal" prop="Journal"> <el-form-item label="Journal" prop="Journal">
<el-select v-model="reviewerForm.journal" placeholder="Please select"> <el-select v-model="reviewerForm.journal" placeholder="Please select">
<el-option <el-option
v-for="item in journalList" v-for="item in journalList"
@@ -48,43 +38,28 @@
</el-form-item> </el-form-item>
<!-- 邮箱 --> <!-- 邮箱 -->
<el-form-item prop="email" label="Email"> <el-form-item prop="email" label="Email">
<el-input <el-input size="small" v-model="reviewerForm.email" auto-complete="off" placeholder="Email">
size="small"
v-model="reviewerForm.email"
auto-complete="off"
placeholder="email"
>
<i slot="prefix" class="el-icon-message"></i> <i slot="prefix" class="el-icon-message"></i>
</el-input> </el-input>
</el-form-item> </el-form-item>
<!-- 国家 --> <!-- 国家 -->
<el-form-item prop="country" label="Country"> <el-form-item prop="country" label="Country">
<el-input <el-select v-model="reviewerForm.country" filterable placeholder="Please select">
size="small" <el-option v-for="it in countrys" :key="it.en_name" :label="it.en_name" :value="it.en_name"></el-option>
v-model="reviewerForm.country" </el-select>
auto-complete="off"
placeholder="country"
></el-input>
</el-form-item> </el-form-item>
<!-- <el-form-item prop="country" label="Country">
<el-input size="small" v-model="reviewerForm.country" auto-complete="off" placeholder="Country"></el-input>
</el-form-item> -->
<!-- 专业 --> <!-- 专业 -->
<el-form-item prop="major" label="Major"> <el-form-item prop="major" label="Major">
<el-select v-model="reviewerForm.major" placeholder="Please select"> <el-select v-model="reviewerForm.major" placeholder="Please select">
<el-option <el-option v-for="ii in majorList" :key="ii.major_id" :label="ii.title" :value="ii.major_id"></el-option>
v-for="ii in majorList"
:key="ii.major_id"
:label="ii.title+ii.ctitle"
:value="ii.major_id"
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 领域 --> <!-- 领域 -->
<el-form-item prop="field" label="field"> <el-form-item prop="field" label="Field">
<el-input <el-input size="small" v-model="reviewerForm.field" auto-complete="off" placeholder="Field"></el-input>
size="small"
v-model="reviewerForm.field"
auto-complete="off"
placeholder="field"
></el-input>
</el-form-item> </el-form-item>
<!-- 职称 --> <!-- 职称 -->
<el-form-item prop="technical" label="Technical"> <el-form-item prop="technical" label="Technical">
@@ -98,16 +73,11 @@
</el-form-item> </el-form-item>
<!-- 单位 --> <!-- 单位 -->
<el-form-item prop="company" label="Affiliation"> <el-form-item prop="company" label="Affiliation">
<el-input <el-input size="small" v-model="reviewerForm.company" auto-complete="off" placeholder="company">
size="small"
v-model="reviewerForm.company"
auto-complete="off"
placeholder="company"
>
<i slot="prefix" class="el-icon-user"></i> <i slot="prefix" class="el-icon-user"></i>
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="qualifications"> <el-form-item label="Qualifications">
<el-upload <el-upload
class="upload-demo" class="upload-demo"
:action="upload_qualifications" :action="upload_qualifications"
@@ -121,22 +91,14 @@
:on-remove="removefile" :on-remove="removefile"
> >
<div class="el-upload__text"> <div class="el-upload__text">
<em>click upload</em> <em>Upload</em>
</div> </div>
<div <div class="el-upload__tip" slot="tip">Only compressed files can be uploaded(.rar,.zip)</div>
class="el-upload__tip"
slot="tip"
>Only compressed files can be uploaded(.rar,.zip)</div>
</el-upload> </el-upload>
</el-form-item> </el-form-item>
<!-- 按钮 --> <!-- 按钮 -->
<el-form-item> <el-form-item>
<el-button <el-button size="small" type="primary" @click.native.prevent="handleRegister" class="register-submit">Submit</el-button>
size="small"
type="primary"
@click.native.prevent="handleRegister"
class="register-submit"
>submit</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
@@ -147,7 +109,7 @@
export default { export default {
data: function () { data: function () {
var validateUsername = (rule, value, callback) => { var validateUsername = (rule, value, callback) => {
this.$api.post('api/User/checkReviewer', { username: value }).then(res => { this.$api.post('api/User/checkReviewer', { username: value }).then((res) => {
if (res.code == 0) { if (res.code == 0) {
callback(); callback();
} else { } else {
@@ -163,6 +125,7 @@ export default {
baseUrl: this.Common.baseUrl, baseUrl: this.Common.baseUrl,
journalList: [], journalList: [],
majorList: [], majorList: [],
countrys: [],
reviewerForm: { reviewerForm: {
journal: '', journal: '',
username: '', username: '',
@@ -191,13 +154,14 @@ export default {
country: [{ required: true, message: 'Please enter country', trigger: 'blur' }], country: [{ required: true, message: 'Please enter country', trigger: 'blur' }],
technical: [{ required: true, message: 'Please select technical', trigger: 'blur' }], technical: [{ required: true, message: 'Please select technical', trigger: 'blur' }],
field: [{ required: true, message: 'Please enter field', trigger: 'blur' }], field: [{ required: true, message: 'Please enter field', trigger: 'blur' }],
company: [{ required: true, message: 'enter your company', trigger: 'blur' }], company: [{ required: true, message: 'enter your company', trigger: 'blur' }]
} }
}; };
}, },
created: function () { created: function () {
this.initselect(); this.initselect();
this.initMajor(); this.initMajor();
this.initCountrys();
}, },
computed: { computed: {
upload_qualifications: function () { upload_qualifications: function () {
@@ -206,7 +170,7 @@ export default {
}, },
methods: { methods: {
handleRegister() { handleRegister() {
this.$refs.reviewerForm.validate(valid => { this.$refs.reviewerForm.validate((valid) => {
if (this.reviewerForm.qualifications == '') { if (this.reviewerForm.qualifications == '') {
this.$message.error('Please make sure that the qualifications document is uploaded successfully'); this.$message.error('Please make sure that the qualifications document is uploaded successfully');
console.log('file up error'); console.log('file up error');
@@ -215,7 +179,8 @@ export default {
if (valid) { if (valid) {
this.$api this.$api
.post('api/Admin/reviewer', this.reviewerForm) .post('api/Admin/reviewer', this.reviewerForm)
.then(res => {console.log(res); .then((res) => {
console.log(res);
if (res.code == 0) { if (res.code == 0) {
this.$message.success('submit success'); this.$message.success('submit success');
this.$router.push('/thanks'); this.$router.push('/thanks');
@@ -223,7 +188,7 @@ export default {
this.$message.error(res.msg); this.$message.error(res.msg);
} }
}) })
.catch(err => { .catch((err) => {
console.log(err); console.log(err);
}); });
} else { } else {
@@ -259,19 +224,23 @@ export default {
this.reviewerForm.qualifications = ''; this.reviewerForm.qualifications = '';
}, },
initMajor() { initMajor() {
this.$api.post('api/User/getMajorList') this.$api.post('api/User/getMajorList').then((res) => {
.then(res=>{
this.majorList = res.data; this.majorList = res.data;
}) });
},
initCountrys() {
this.$api.post('api/Admin/getCountrys').then((res) => {
this.countrys = res;
});
}, },
//初始化期刊选项 //初始化期刊选项
initselect() { initselect() {
this.$api this.$api
.post('api/Article/getJournal') .post('api/Article/getJournal')
.then(res => { .then((res) => {
this.journalList = res; this.journalList = res;
}) })
.catch(err => { .catch((err) => {
console.log(err); console.log(err);
}); });
} }

View File

@@ -22,6 +22,9 @@
<el-form-item label="Manuscript state"> <el-form-item label="Manuscript state">
<span>{{mystate(detailDate.state)}}</span> <span>{{mystate(detailDate.state)}}</span>
</el-form-item> </el-form-item>
<el-form-item label=" ">
<span>If you can not download the manuscript, please try other browsers instead of google one.</span>
</el-form-item>
<el-form-item label="Figures"> <el-form-item label="Figures">
<el-popover placement="right" width="350" trigger="click"> <el-popover placement="right" width="350" trigger="click">
<el-table :data="figFileList"> <el-table :data="figFileList">