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)"
>
<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-select>
<el-button type="text" @click="clear">清除所有</el-button>
<el-button type="text" @click="clear">清除课程下所有证书</el-button>
</el-form-item>
<el-form-item label="File">
<el-upload
@@ -27,7 +27,7 @@
:on-error="uperror"
>
<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-form-item>
<el-form-item>
@@ -81,8 +81,8 @@ export default {
},
methods: {
onsubmit() {
if (this.upform.journal == '' || this.upform.url == '') {
this.$message.error('please select journal and upload a excel');
if (this.upform.course == '' || this.upform.url == '') {
this.$message.error('please select course and upload a excel');
return false;
}
if (this.new_num == 0) {
@@ -165,6 +165,9 @@ export default {
this.$router.go(0);
});
},
selectChanged(){
this.gettables();
},
getlinkurl() {
this.$api.post('api/Img/getZip', this.upform).then((res) => {
let url = this.baseUrl + res.data.url;

View File

@@ -1,26 +1,16 @@
<template>
<div class="login-wrap">
<div class="ms-login">
<div class="ms-title">Application reviewer</div>
<el-form
class="ms-content"
:rules="Rules"
ref="reviewerForm"
:model="reviewerForm"
label-width="100px"
>
<div class="ms-title">Reviewer Application Form</div>
<el-form class="ms-content" :rules="Rules" ref="reviewerForm" :model="reviewerForm" label-width="100px">
<!-- 姓名 -->
<el-form-item prop="username" label="Username">
<el-input
v-model="reviewerForm.username"
auto-complete="off"
placeholder="username"
>
<el-input v-model="reviewerForm.username" auto-complete="off" placeholder="Username">
<i slot="prefix" class="el-icon-user"></i>
</el-input>
</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-option
v-for="item in journalList"
@@ -48,66 +38,46 @@
</el-form-item>
<!-- 邮箱 -->
<el-form-item prop="email" label="Email">
<el-input
size="small"
v-model="reviewerForm.email"
auto-complete="off"
placeholder="email"
>
<el-input size="small" v-model="reviewerForm.email" auto-complete="off" placeholder="Email">
<i slot="prefix" class="el-icon-message"></i>
</el-input>
</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-select v-model="reviewerForm.country" filterable placeholder="Please select">
<el-option v-for="it in countrys" :key="it.en_name" :label="it.en_name" :value="it.en_name"></el-option>
</el-select>
</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-select v-model="reviewerForm.major" placeholder="Please select">
<el-option
v-for="ii in majorList"
:key="ii.major_id"
:label="ii.title+ii.ctitle"
:value="ii.major_id"
></el-option>
<el-option v-for="ii in majorList" :key="ii.major_id" :label="ii.title" :value="ii.major_id"></el-option>
</el-select>
</el-form-item>
<!-- 领域 -->
<el-form-item prop="field" label="field">
<el-input
size="small"
v-model="reviewerForm.field"
auto-complete="off"
placeholder="field"
></el-input>
<el-form-item prop="field" label="Field">
<el-input size="small" v-model="reviewerForm.field" auto-complete="off" placeholder="Field"></el-input>
</el-form-item>
<!-- 职称 -->
<el-form-item prop="technical" label="Technical">
<el-select v-model="reviewerForm.technical" placeholder="Please select">
<el-option key="Prof." label="Prof." value="Prof." ></el-option>
<el-option key="Associate Prof." label="Associate Prof." value="Associate Prof." ></el-option>
<el-option key="Assistant Prof." label="Assistant Prof." value="Assistant Prof." ></el-option>
<el-option key="Ph.D." label="Ph.D." value="Ph.D." ></el-option>
<el-option key="Others" label="Others" value="Others" ></el-option>
<el-option key="Prof." label="Prof." value="Prof."></el-option>
<el-option key="Associate Prof." label="Associate Prof." value="Associate Prof."></el-option>
<el-option key="Assistant Prof." label="Assistant Prof." value="Assistant Prof."></el-option>
<el-option key="Ph.D." label="Ph.D." value="Ph.D."></el-option>
<el-option key="Others" label="Others" value="Others"></el-option>
</el-select>
</el-form-item>
<!-- 单位 -->
<el-form-item prop="company" label="Affiliation">
<el-input
size="small"
v-model="reviewerForm.company"
auto-complete="off"
placeholder="company"
>
<el-input size="small" v-model="reviewerForm.company" auto-complete="off" placeholder="company">
<i slot="prefix" class="el-icon-user"></i>
</el-input>
</el-form-item>
<el-form-item label="qualifications">
<el-form-item label="Qualifications">
<el-upload
class="upload-demo"
:action="upload_qualifications"
@@ -121,22 +91,14 @@
:on-remove="removefile"
>
<div class="el-upload__text">
<em>click upload</em>
<em>Upload</em>
</div>
<div
class="el-upload__tip"
slot="tip"
>Only compressed files can be uploaded(.rar,.zip)</div>
<div class="el-upload__tip" slot="tip">Only compressed files can be uploaded(.rar,.zip)</div>
</el-upload>
</el-form-item>
<!-- 按钮 -->
<el-form-item>
<el-button
size="small"
type="primary"
@click.native.prevent="handleRegister"
class="register-submit"
>submit</el-button>
<el-button size="small" type="primary" @click.native.prevent="handleRegister" class="register-submit">Submit</el-button>
</el-form-item>
</el-form>
</div>
@@ -145,9 +107,9 @@
<script>
export default {
data: function() {
data: function () {
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) {
callback();
} else {
@@ -162,17 +124,18 @@ export default {
return {
baseUrl: this.Common.baseUrl,
journalList: [],
majorList:[],
majorList: [],
countrys: [],
reviewerForm: {
journal: '',
username: '',
introduction: '',
email: '',
gender: 1,
major:'',
major: '',
country: '',
technical:'',
field:'',
technical: '',
field: '',
company: '',
qualifications: ''
},
@@ -187,26 +150,27 @@ export default {
{ required: true, message: 'Please enter email', trigger: 'blur' },
{ type: 'email', message: 'Email address format errorexample@gmail.com', trigger: 'blur' }
],
major:[{required: true, message: 'Please select major', trigger: 'blur'}],
country:[{required: true, message: 'Please enter country', trigger: 'blur'}],
technical:[{required: true, message: 'Please select technical', trigger: 'blur'}],
field:[{required: true, message: 'Please enter field', trigger: 'blur'}],
company: [{ required: true, message: 'enter your company', trigger: 'blur' }],
major: [{ required: true, message: 'Please select major', trigger: 'blur' }],
country: [{ required: true, message: 'Please enter country', trigger: 'blur' }],
technical: [{ required: true, message: 'Please select technical', trigger: 'blur' }],
field: [{ required: true, message: 'Please enter field', trigger: 'blur' }],
company: [{ required: true, message: 'enter your company', trigger: 'blur' }]
}
};
},
created: function() {
created: function () {
this.initselect();
this.initMajor();
this.initCountrys();
},
computed: {
upload_qualifications: function() {
upload_qualifications: function () {
return this.baseUrl + 'api/Admin/up_file';
}
},
methods: {
handleRegister() {
this.$refs.reviewerForm.validate(valid => {
this.$refs.reviewerForm.validate((valid) => {
if (this.reviewerForm.qualifications == '') {
this.$message.error('Please make sure that the qualifications document is uploaded successfully');
console.log('file up error');
@@ -215,7 +179,8 @@ export default {
if (valid) {
this.$api
.post('api/Admin/reviewer', this.reviewerForm)
.then(res => {console.log(res);
.then((res) => {
console.log(res);
if (res.code == 0) {
this.$message.success('submit success');
this.$router.push('/thanks');
@@ -223,7 +188,7 @@ export default {
this.$message.error(res.msg);
}
})
.catch(err => {
.catch((err) => {
console.log(err);
});
} else {
@@ -258,20 +223,24 @@ export default {
removefile() {
this.reviewerForm.qualifications = '';
},
initMajor(){
this.$api.post('api/User/getMajorList')
.then(res=>{
initMajor() {
this.$api.post('api/User/getMajorList').then((res) => {
this.majorList = res.data;
})
});
},
initCountrys() {
this.$api.post('api/Admin/getCountrys').then((res) => {
this.countrys = res;
});
},
//初始化期刊选项
initselect() {
this.$api
.post('api/Article/getJournal')
.then(res => {
.then((res) => {
this.journalList = res;
})
.catch(err => {
.catch((err) => {
console.log(err);
});
}

View File

@@ -22,6 +22,9 @@
<el-form-item label="Manuscript state">
<span>{{mystate(detailDate.state)}}</span>
</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-popover placement="right" width="350" trigger="click">
<el-table :data="figFileList">