This commit is contained in:
xulu
2022-02-23 16:34:07 +08:00
parent ec5e69418b
commit 4f5e6e1f78
62 changed files with 28419 additions and 8571 deletions

View File

@@ -9,40 +9,255 @@
</div>
<div class="container">
<div class="handle-box">
<el-select v-model="query.journalId" @change="getDate" placeholder="Please select journal">
<el-option :key="0" label="All journal" :value="0"></el-option>
<el-option v-for="item in journalList" :key="item.journal_id" :label="item.title" :value="item.journal_id"></el-option>
</el-select>
<!-- <el-button type="primary" icon="el-icon-circle-plus-outline" @click="addJournal">add</el-button> -->
<el-button type="primary" icon="el-icon-plus" class="handle-del" @click="add_Selection">Add</el-button>
</div>
<el-table :data="tableData" border stripe class="table" ref="multipleTable" header-cell-class-name="table-header">
<!-- <el-table-column prop="user_id" label="No." align="center"></el-table-column> -->
<el-table-column prop="account" label="Account" align="center"></el-table-column>
<el-table-column prop="realname" label="Name" align="center"></el-table-column>
<el-table-column prop="email" label="Email" align="center"></el-table-column>
<el-table-column prop="country" label="Country" align="center"></el-table-column>
<el-table-column prop="company" label="Affiliation" align="center"></el-table-column>
<el-table-column prop="title" label="Journal" align="center"></el-table-column>
<el-table-column prop="board" label="Youth editorial board" align="center">
<div class="handle-box">
<el-select v-model="query.journalId" placeholder="Please select a journal" @change="getContent">
<el-option label="All journal" :key="0" :value="0"></el-option>
<el-option v-for="item in df_jour" :label="item.title" :key="item.journal_id" :value="item.journal_id"></el-option>
</el-select>
<el-input v-model="query.keyword" placeholder="Please enter ..." style="width: 220px;margin: 0 15px;"></el-input>
<el-button type="primary" icon="el-icon-search" @click="getContent">Search</el-button>
</div>
<el-table :data="tableData" border class="table" ref="multipleTable" header-cell-class-name="table-header">
<el-table-column prop="account" label="Account"></el-table-column>
<el-table-column prop="realname" label="Realname"></el-table-column>
<el-table-column prop="journal_title" label="Journal"></el-table-column>
<el-table-column prop="email" label="Email"></el-table-column>
<el-table-column prop="technical" label="Technical"></el-table-column>
<el-table-column prop="company" label="Affiliation"></el-table-column>
<el-table-column prop="board" label="Youth editorial board" width="80" align="center">
<template slot-scope="scope">
<el-button icon="el-icon-check" type="text" style="color: #0fa31d" v-if="scope.row.is_yboard=='1'"></el-button>
<el-button icon="el-icon-close" type="text" style="color: #ff0000" v-if="scope.row.is_yboard=='0'"></el-button>
</template>
</el-table-column>
<el-table-column label="" width="350" align="center">
<el-table-column label="CV" width="50" align="center"><template slot-scope="scope">
<el-button icon="el-icon-check" type="text" style="color: #0fa31d" v-if="scope.row.qualifications!=''"></el-button>
<el-button icon="el-icon-close" type="text" style="color: #ff0000" v-if="scope.row.qualifications==''"></el-button>
</template>
</el-table-column>
<el-table-column label="" width="320" align="center">
<template slot-scope="scope">
<el-button size="mini" type="success" plain icon="el-icon-sort-up" @click="gradeup(scope.row)" v-if="scope.row.is_yboard=='0'">Upgrade</el-button>
<el-button size="mini" type="warning" plain icon="el-icon-sort-down" @click="gradedown(scope.row)" v-if="scope.row.is_yboard=='1'">downgrade</el-button>
<el-button size="mini" type="primary" plain icon="el-icon-tickets" @click="showdetail(scope.row)">Detail</el-button>
<el-button size="mini" type="primary" plain icon="el-icon-tickets" @click="handleEdit(scope.$index, scope.row)">Edit</el-button>
<el-button size="mini" type="danger" plain icon="el-icon-delete" @click="showDelete(scope.row)">Delete</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>
:total="link_Total" @current-change="handlePageChange"></el-pagination>
</div>
</div>
<!-- 添加弹出框 -->
<el-dialog title="Add" :visible.sync="addVisible" width="40%">
<el-form ref="add_Form" :model="addForm" :rules="rules" label-width="110px">
<el-form-item label="account" prop="account">
<el-input v-model="addForm.account" @blur='saerNa_U()'></el-input>
</el-form-item>
<el-form-item label="email" prop="email">
<el-input v-model="addForm.email" @blur='saerEm_U()'></el-input>
</el-form-item>
<el-form-item label="password" prop="password">
<span style="color: #666;">123456qwe</span>
</el-form-item>
<el-form-item label="gender" prop="gender">
<el-radio-group v-model="addForm.gender">
<el-radio :label="1">male</el-radio>
<el-radio :label="2">female</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="journal" prop="journal_id">
<el-select v-model="addForm.journal_id" placeholder="Please select a journal">
<el-option v-for="item in df_jour" :label="item.title" :key="item.journal_id" :value="item.journal_id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="title" prop="title">
<el-select v-model="addForm.title" filterable placeholder="Please select a title" value-key="groupID" style="width: 300px;">
<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 label="country" prop="country">
<el-select v-model="addForm.country" filterable placeholder="Please select a country" value-key="groupID" style="width: 300px;">
<el-option v-for="item in df_country" :label="item.en_name" :key="item.en_name" :value="item.en_name"></el-option>
</el-select>
</el-form-item>
<el-form-item label="realname" prop="realname">
<el-input v-model="addForm.realname"></el-input>
</el-form-item>
<el-form-item label="orcid">
<el-input v-model="addForm.orcid"></el-input>
</el-form-item>
<el-form-item label="introduction">
<el-input v-model="addForm.introduction" type="textarea"></el-input>
</el-form-item>
<el-form-item label="institution">
<el-input v-model="addForm.company"></el-input>
</el-form-item>
<el-form-item label="major" prop="maj_cn">
<el-cascader v-model="addForm.maj_cn" :options="jl_major" :props="defaultParams" placeholder="Please select major"
@change="ched_id" style="width: 300px;"></el-cascader>
</el-form-item>
<el-form-item label="field" prop="field">
<el-input v-model="addForm.field" type="textarea"></el-input>
</el-form-item>
<!-- 简历 -->
<el-form-item prop="qualifications" label="CV.">
<el-upload class="upload-demo" :action="baseUrl+'api/Reviewer/up_cv_file'" :on-success="handleFileSuccess1" name="reviewerCV"
type="reviewerCV" :on-error="handleFileError" :on-preview="handlePreview" :on-remove="handleRemove"
:before-remove="beforeRemove" :on-change="handleChange1" accept=".pdf" :on-exceed="handleExceed" :file-list="fileL_pdf1"
ref="upload">
<el-button type="text" style="font-weight: bolder;"><b class="el-icon-lx-top" style="font-weight: bolder;"></b>upload</el-button>
</el-upload>
<span style="font-size: 12px; color: #aaa;">Only compressed files can be uploaded(.pdf)</span>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="addVisible = false">Cancel</el-button>
<el-button type="primary" @click="saveAdd(addForm)" :disabled="this.btn_alert">OK</el-button>
</span>
</el-dialog>
<!-- 添加重复弹出框 -->
<el-dialog title="Add old" :visible.sync="oldVisible" width="40%">
<el-form ref="old_Form" :model="oldForm" :rules="rules" label-width="110px">
<el-form-item label="account" prop="account">
<el-input v-model="oldForm.account"></el-input>
</el-form-item>
<el-form-item label="email" prop="email">
<el-input v-model="oldForm.email"></el-input>
</el-form-item>
<el-form-item label="gender" prop="gender">
<el-radio-group v-model="oldForm.gender">
<el-radio :label="1">male</el-radio>
<el-radio :label="2">female</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="journal" prop="journal_id">
<el-select v-model="oldForm.journal_id" placeholder="Please select a journal">
<el-option v-for="item in df_jour" :label="item.title" :key="item.journal_id" :value="item.journal_id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="title" prop="title">
<el-select v-model="oldForm.title" filterable placeholder="Please select a title" value-key="groupID" style="width: 300px;">
<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 label="country" prop="country">
<el-select v-model="oldForm.country" filterable placeholder="Please select a country" value-key="groupID" style="width: 300px;">
<el-option v-for="item in df_country" :label="item.en_name" :key="item.en_name" :value="item.en_name"></el-option>
</el-select>
</el-form-item>
<el-form-item label="realname" prop="realname">
<el-input v-model="oldForm.realname"></el-input>
</el-form-item>
<el-form-item label="orcid">
<el-input v-model="oldForm.orcid"></el-input>
</el-form-item>
<el-form-item label="introduction">
<el-input v-model="oldForm.introduction" type="textarea" :autosize="{minRows: 2}"></el-input>
</el-form-item>
<el-form-item label="institution">
<el-input v-model="oldForm.company"></el-input>
</el-form-item>
<el-form-item label="major" prop="maj_cn">
<el-cascader v-model="oldForm.maj_cn" :options="jl_major" :props="defaultParams" placeholder="Please select major"
@change="ched_id_old" style="width: 300px;"></el-cascader>
</el-form-item>
<el-form-item label="field" prop="field">
<el-input v-model="oldForm.field" type="textarea"></el-input>
</el-form-item>
<!-- 简历 -->
<el-form-item prop="qualifications" label="CV.">
<el-upload class="upload-demo" :action="baseUrl+'api/Reviewer/up_cv_file'" :on-success="handleFileSuccess2" name="reviewerCV"
type="reviewerCV" :on-error="handleFileError" :on-preview="handlePreview" :on-remove="handleRemove"
:before-remove="beforeRemove" :on-change="handleChange2" accept=".pdf" :on-exceed="handleExceed" :file-list="fileL_pdf2"
ref="upload">
<el-button type="text" style="font-weight: bolder;"><b class="el-icon-lx-top" style="font-weight: bolder;"></b>upload</el-button>
</el-upload>
<span style="font-size: 12px; color: #aaa;">Only compressed files can be uploaded(.pdf)</span>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="oldVisible = false">Cancel</el-button>
<el-button type="primary" @click="saveOld(oldForm)">OK</el-button>
</span>
</el-dialog>
<!-- 编辑弹出框 -->
<el-dialog title="Edit message" :visible.sync="editVisible" width="40%">
<el-form ref="edit_Form" :model="editForm" :rules="rules" label-width="110px">
<el-form-item label="account" prop="account">
{{editForm.account}}
</el-form-item>
<el-form-item label="email" prop="email">
{{editForm.email}}
</el-form-item>
<el-form-item label="gender" prop="gender">
<span v-if="editForm.gender==1">male</span>
<span v-if="editForm.gender==2">female</span>
</el-form-item>
<el-form-item label="journal" prop="journal_title">
{{editForm.journal_title}}
</el-form-item>
<el-form-item label="title" prop="title">
<el-select v-model="editForm.title" filterable placeholder="Please select a title" value-key="groupID" style="width: 300px;">
<el-option v-for="item in df_technical" :key="item.label" :label="item.label" :value="item.label"></el-option>
</el-select>
</el-form-item>
<el-form-item label="country" prop="country">
<el-select v-model="editForm.country" filterable placeholder="Please select a country" value-key="groupID" style="width: 300px;">
<el-option v-for="item in df_country" :label="item.en_name" :key="item.en_name" :value="item.en_name"></el-option>
</el-select>
</el-form-item>
<el-form-item label="realname">
{{editForm.realname}}
</el-form-item>
<el-form-item label="orcid">
{{editForm.orcid}}
</el-form-item>
<el-form-item label="introduction">
<el-input v-model="editForm.introduction" type="textarea" :autosize="{minRows: 2}"></el-input>
</el-form-item>
<el-form-item label="institution">
<el-input v-model="editForm.company"></el-input>
</el-form-item>
<el-form-item label="major" prop="maj_cn">
<el-cascader :options="jl_major" v-model="editForm.maj_cn" :props="defaultParams" placeholder="Please select major"
@change="ched_id_edit" style="width: 300px;"></el-cascader>
</el-form-item>
<el-form-item label="field">
<el-input v-model="editForm.field" type="textarea"></el-input>
</el-form-item>
<!-- 简历 -->
<el-form-item prop="qualifications" label="CV.">
<el-upload class="upload-demo" :action="baseUrl+'api/Reviewer/up_cv_file'" :on-success="handleFileSuccess3" name="reviewerCV"
type="reviewerCV" :on-error="handleFileError" :on-preview="handlePreview" :on-remove="handleRemove"
:before-remove="beforeRemove" :on-change="handleChange3" accept=".pdf" :on-exceed="handleExceed" :file-list="fileL_pdf3"
ref="upload">
<el-button type="text" style="font-weight: bolder;"><b class="el-icon-lx-top" style="font-weight: bolder;"></b>upload</el-button>
</el-upload>
<span style="font-size: 12px; color: #aaa;">Only compressed files can be uploaded(.pdf)</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(editForm)">OK</el-button>
<!-- <el-button type="primary" @click="editVisible = false">OK</el-button> -->
</span>
</el-dialog>
<!-- 删除弹出框 -->
<el-dialog title="删除" :visible.sync="delOpen" width="40%">
<div v-for="item in lineOptions" :name='item.journal_id' :value='item.reviewer_id' style="margin-left: 60px;">
@@ -53,129 +268,457 @@
<el-button @click="delOpen = false;" type="primary"> </el-button>
</span>
</el-dialog>
<!-- <el-dialog title="change" :visible.sync="editVisible" width="40%">
<el-form ref="changform" :model="change" label-width="80px">
<el-form-item label="editormsg">
<span>{{change.title}}</span>
</el-form-item>
<el-form-item label="state">
<el-select v-model="change.editorId" placeholder="Please select">
<el-option :key="0" label="Please select" :value="0"></el-option>
<el-option
v-for="item in editorList"
:key="item.user_id"
:label="item.account"
:value='item.user_id'
></el-option>
</el-select>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="editVisible = false">cancel</el-button>
<el-button type="primary" @click="">save</el-button>
</span>
</el-dialog> -->
</div>
</template>
<script>
export default {
name: 'reviewerList',
data() {
return {
tableData: [],
addForm: {
gender: 1,
major: [],
qualifications: ''
},
mess_age: {},
editForm: {
title:'',
},
oldForm: {},
delOpen: false,
editVisible: false,
addVisible: false,
oldVisible: false,
btn_alert: false,
df_jour: [],
df_country: [],
jl_major: [],
lineOptions: [],
defaultParams: {
label: 'title',
value: 'major_id',
children: 'children'
},
edit_id: localStorage.getItem('U_id'),
query: {
username: localStorage.getItem('U_name'),
journalId: 0,
pageIndex: 1,
pageSize: 10
pageSize: 15
},
tableData: [],
journalList: [],
Total: 0,
// editVisible: false,
delForm: {
line: []
},
delOpen: false,
addForm: {},
lineOptions: [],
mess_age: {}
df_technical:[{
label: 'Prof',
},{
label: 'Associate Prof.',
},{
label: 'Assistant Prof.',
},{
label: 'Ph.D.',
},{
label: 'Others',
}],
link_Total: 0,
aid: -1,
idx: -1,
baseUrl: this.Common.baseUrl,
mediaUrl: this.Common.mediaUrl,
fileL_pdf1: [],
fileL_pdf2: [],
fileL_pdf3: [],
rules: {
account: [{
required: true,
message: 'Please input account',
trigger: 'blur'
}],
email: [{
required: true,
message: 'Please input email',
trigger: 'blur'
}, {
validator: function(rule, value, callback) {
if (/^[-.-_A-Za-z0-9]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/.test(value) == false) {
callback(new Error("Please enter the correct email format"));
} else {
callback();
}
},
trigger: "blur"
}],
genger: [{
required: true,
message: 'Please select genger',
trigger: 'blur'
}],
journal_id: [{
required: true,
message: 'Please select journal_id',
trigger: 'blur'
}],
journal_title: [{
required: true,
message: 'Please select journal_title',
trigger: 'blur'
}],
maj_cn: [{
required: true,
message: 'Please select maj_cn',
trigger: 'blur'
}],
title: [{
required: true,
message: 'Please select title',
trigger: 'blur'
}],
technical: [{
required: true,
message: 'Please select title',
trigger: 'blur'
}],
country: [{
required: true,
message: 'Please select country',
trigger: 'blur'
}],
field: [{
required: true,
message: 'Please input field',
trigger: 'blur'
}],
realname: [{
required: true,
message: 'Please input realname',
trigger: 'blur'
}],
qualifications: [{
required: true,
message: 'Please upload your resume',
trigger: 'blur'
}]
}
};
},
created() {
this.getDate();
this.initselect();
this.getContent();
},
methods: {
// 获取编辑列表数据
getDate() {
this.$api
.post('api/User/getreviewerList', this.query)
.post('api/Chief/getJournalsByEditor', {
'user_id': this.edit_id
})
.then(res => {
this.Total = res.total;
this.tableData = res.data;
if (res.code == 0) {
this.df_jour = res.data.journals;
} else {
this.$message.error(res.msg);
}
})
.catch(err => {
console.log(err);
this.$message.error(err);
});
this.$api
.post('api/Reviewer/getAllMajor')
.then(res => {
this.jl_major = res.data.majors;
})
.catch(err => {
this.$message.error(err);
});
this.$api
.post('api/Reviewer/getCountrys')
.then(res => {
this.df_country = res.countrys;
})
.catch(err => {
this.$message.error(err);
});
},
getContent() {
this.$api
.post('api/Reviewer/getReviewerListByJournal', this.query)
.then(res => {
if (res.code == 0) {
this.tableData = res.data;
this.link_Total = res.total || 0;
} else {
this.$message.error(res.msg);
}
})
.catch(err => {
this.$message.error(err);
});
},
// 分页导航
handlePageChange(val) {
this.$set(this.query, 'pageIndex', val);
this.getDate();
this.getContent();
},
// 升级
gradeup(row) {
// 二次确认
this.$confirm('确定要升级'+row.account+'为青年编委吗?', '提示', {
type: 'warning'
})
.then(() => {
this.$api
.post('api/User/upReviewerToYboard', row)
.then(res => {
if (res.code == 0) {
this.$message.success('升级'+row.account+'为青年编委成功');
this.getDate();
} else {
this.$message.error(res.msg);
}
})
.catch(err => {
this.$message.error(err);
});
})
.catch(() => {});
// 二次确认
this.$confirm('确定要升级' + row.account + '为青年编委吗?', '提示', {
type: 'warning'
})
.then(() => {
this.$api
.post('api/User/upReviewerToYboard', row)
.then(res => {
if (res.code == 0) {
this.$message.success('升级' + row.account + '为青年编委成功');
this.getContent();
} else {
this.$message.error(res.msg);
}
})
.catch(err => {
this.$message.error(err);
});
})
.catch(() => {});
},
// 降级
gradedown(row) {
// 二次确认
this.$confirm('确定要降级'+row.account+'为审稿人吗?', '提示', {
type: 'warning'
})
.then(() => {
this.$api
.post('api/User/downReviewerToYboard ', row)
.then(res => {
if (res.code == 0) {
this.$message.success('降级为'+row.account+'审稿人成功');
this.getDate();
} else {
this.$message.error(res.msg);
}
})
.catch(err => {
this.$message.error(err);
});
})
.catch(() => {});
// 二次确认
this.$confirm('确定要降级' + row.account + '为审稿人吗?', '提示', {
type: 'warning'
})
.then(() => {
this.$api
.post('api/User/downReviewerToYboard ', row)
.then(res => {
if (res.code == 0) {
this.$message.success('降级为' + row.account + '审稿人成功');
this.getContent();
} else {
this.$message.error(res.msg);
}
})
.catch(err => {
this.$message.error(err);
});
})
.catch(() => {});
},
// 查看详情
showdetail(row) {
this.$router.push({
path: 'reviewerDetail',
query: {
id: row.user_id
// 添加操作
add_Selection(index, row) {
this.aid = index;
this.addVisible = true;
this.fileL_pdf1 = [];
},
// 下拉级联添加
ched_id(event) {
this.addForm.major = event[0];
this.addForm.cmajor = event[1];
},
ched_id_old(event) {
this.oldForm.major = event[0];
this.oldForm.cmajor = event[1];
},
ched_id_edit(event) {
this.editForm.major = event[0];
this.editForm.cmajor = event[1];
},
// 保存添加
saveAdd(addForm) {
this.$refs.add_Form.validate((valid) => {
if (this.addForm.qualifications == '') {
this.$message.error('Please make sure that the qualifications document is uploaded successfully');
return false;
}
if (valid) {
this.$api
.post('api/Reviewer/addReviewer', this.addForm)
.then(res => {
if (res.code == 0) {
this.addVisible = false;
this.btn_alert = false;
this.$refs.add_Form.resetFields();
this.$message.success(`Added successfully!`);
this.getContent();
} else {
this.$message.error(res.msg);
}
})
.catch(err => {
this.$message.error(err);
});
} else {
this.$message.error('error submit!!');
return false;
}
});
},
// 查找与他相同的账号
saerNa_U() {
if (this.addForm.account != undefined) {
this.$api
.post('api/Reviewer/checkUser', {
'account': this.addForm.account
})
.then(res => {
if (res.code == 0) {
if (res.data.has == 'no') {
this.btn_alert = false
} else {
this.$confirm('Repeat of user account!', 'Tips', {})
.then(res => {
this.$api
.post('api/Reviewer/getReviewerByNameEmail', {
'account': this.addForm.account
})
.then(res => {
this.oldForm = res.data.reviewer;
this.oldForm.title = res.data.reviewer.technical;
this.oldForm.cv = res.data.reviewer.qualifications;
this.fileL_pdf2 = [];
if (res.data.reviewer.qualifications != "") {
this.fileL_pdf2 = [{}];
this.fileL_pdf2[0].name = 'reviewerCV';
this.fileL_pdf2[0].url = this.mediaUrl + 'reviewer/' + res.data.reviewer.qualifications;
}
this.oldForm.maj_cn = [this.oldForm.major, this.oldForm.cmajor];
this.oldVisible = true
})
.catch(err => {
this.$message.error(err);
});
}).catch(() => {});
this.btn_alert = true
}
} else {
this.$message.error(res.msg);
}
})
.catch(err => {
this.$message.error(err);
});
}
},
// 查找与他相同的邮箱
saerEm_U() {
if (this.addForm.email != undefined) {
this.$api
.post('api/Reviewer/checkUser', {
'account': this.addForm.email
})
.then(res => {
if (res.code == 0) {
if (res.data.has == 'no') {
this.btn_alert = false
} else {
this.$confirm('Repeat of user account!', 'Tips', {})
.then(res => {
this.$api
.post('api/Reviewer/getReviewerByNameEmail', {
'account': this.addForm.email
})
.then(res => {
this.oldForm = res.data.reviewer;
this.oldForm.maj_cn = [this.oldForm.major, this.oldForm.cmajor];
this.oldVisible = true
})
.catch(err => {
this.$message.error(err);
});
}).catch(() => {});
this.btn_alert = true
}
} else {
this.$message.error(res.msg);
}
})
.catch(err => {
this.$message.error(err);
});
}
},
// 保存重复的添加
saveOld(oldForm) {
this.$refs.old_Form.validate((valid) => {
if (this.oldForm.qualifications == '') {
this.$message.error('Please make sure that the qualifications document is uploaded successfully');
return false;
}
if (valid) {
this.$api
.post('api/Reviewer/addReviewerBee', this.oldForm)
.then(res => {
if (res.code == 0) {
this.addVisible = false;
this.oldVisible = false;
this.btn_alert = false;
this.$refs.add_Form.resetFields();
this.$refs.old_Form.resetFields();
this.$message.success(`Added successfully!`);
this.getContent();
} else {
this.$message.error(res.msg);
}
})
.catch(err => {
this.$message.error(err);
});
} else {
this.$message.error('error submit!!');
return false;
}
});
},
// 编辑操作
handleEdit(index, row) {
this.idx = index;
this.editForm = Object.assign({}, row);
this.editForm.title = this.editForm.technical;
this.editForm.cv = this.editForm.qualifications;
this.fileL_pdf3 = [];
if (this.editForm.qualifications != "") {
this.fileL_pdf3 = [{}];
this.fileL_pdf3[0].name = 'reviewerCV';
this.fileL_pdf3[0].url = this.mediaUrl + 'reviewer/' + this.editForm.qualifications;
}
this.editForm.maj_cn = [this.editForm.major, this.editForm.cmajor];
this.editVisible = true;
},
// 保存编辑
saveEdit(editForm) {
console.log(this.editForm)
this.$refs.edit_Form.validate((valid) => {
if (this.editForm.qualifications == '') {
this.$message.error('Please make sure that the qualifications document is uploaded successfully');
return false;
}
if (valid) {
// this.$api
// .post('api/Reviewer/editReviewerForEditor', this.editForm)
// .then(res => {
// if (res.code == 0) {
// this.editVisible = false;
// this.btn_alert = false;
// this.$message.success(`Successfully changed line ${this.idx + 1} `);
// this.getContent();
// } else {
// this.$message.error(res.msg);
// }
// })
// .catch(err => {
// this.$message.error(err);
// });
} else {
this.$message.error('error submit!!');
return false;
}
});
},
@@ -192,7 +735,7 @@
this.lineOptions = res.data;
})
.catch(err => {
console.log(err);
this.$message.error(err);
});
},
// 删除操作
@@ -205,12 +748,12 @@
})
.then(() => {
this.$api
.post('api/User/deleteArticleReviewer',this.mess_age)
.post('api/User/deleteArticleReviewer', this.mess_age)
.then(res => {
if (res.code == 0) {
this.delOpen = false;
this.$message.success('删除成功');
this.getDate();
this.getContent();
} else {
this.$message.error(res.msg);
}
@@ -221,19 +764,62 @@
})
.catch(() => {});
},
//初始化期刊选项
initselect() {
this.$api
.post('api/Article/getJournal', {
username: this.query.username
})
.then(res => {
this.journalList = res;
})
.catch(err => {
console.log(err);
});
}
// 上传文件
handleChange1(file, fileList) {
if (fileList.length > 0) {
this.fileL_pdf1 = [fileList[fileList.length - 1]]
}
},
handleChange2(file, fileList) {
if (fileList.length > 0) {
this.fileL_pdf2 = [fileList[fileList.length - 1]]
}
},
handleChange3(file, fileList) {
if (fileList.length > 0) {
this.fileL_pdf3 = [fileList[fileList.length - 1]]
}
},
handleFileSuccess1(res, file) {
if (res.code == 0) {
this.addForm.cv = res.upurl;
this.addForm.qualifications = res.upurl;
} else {
this.$message.error(res.msg);
}
},
handleFileSuccess2(res, file) {
if (res.code == 0) {
this.oldForm.cv = res.upurl;
this.oldForm.qualifications = res.upurl;
} else {
this.$message.error(res.msg);
}
},
handleFileSuccess3(res, file) {
if (res.code == 0) {
this.editForm.cv = res.upurl;
this.editForm.qualifications = res.upurl;
} else {
this.$message.error(res.msg);
}
},
beforeRemove(file, fileList) {
return this.$confirm(`Remove ${ file.name }`)
},
handleFileError(res, file) {
},
handleRemove(file, fileList) {
},
handlePreview(file) {
window.open(file.url);
},
handleExceed(files, fileList) {
this.$message.warning("当前限制选择 1 个文件,请先删除当前文件!");
},
}
};
</script>
@@ -264,7 +850,7 @@
}
.el-table .normol-row {
background: #d8f1c7
background: #d8f1c7;
}
.el-table .red-row {