总监编委

This commit is contained in:
@fawn-nine
2023-08-29 17:58:23 +08:00
parent fb4cd39a76
commit aac786f0b7
8 changed files with 1245 additions and 57 deletions

View File

@@ -14,14 +14,14 @@
<el-option v-for="item in df_jour" :label="item.title" :key="item.journal_id"
:value="item.journal_id"></el-option>
</el-select>
<el-select v-model="query.board_group_id" placeholder="Please select a group" @change="getDate"
<!-- <el-select v-model="query.board_group_id" placeholder="Please select a group" @change="getDate"
style="margin-left: 10px;">
<el-option v-for="item in df_group" :label="item.group_name" :key="item.board_group_id"
:value="item.board_group_id">
{{item.group_name}}
<span v-if="item.person_num!=undefined" style="color: #bbb;">({{item.person_num}})</span>
</el-option>
</el-select>
</el-select> -->
<el-button type="warning" icon="el-icon-circle-plus-outline" @click="addGroup"
style="margin-left: 10px;">
Group management</el-button>
@@ -33,34 +33,34 @@
header-cell-class-name="table-header" empty-text="New messages (0)">
<el-table-column prop="name" label="Realname"></el-table-column>
<el-table-column prop="email" label="Email"></el-table-column>
<el-table-column prop="hindex" label="H-WOS" width="110px" align="center"></el-table-column>
<!-- <el-table-column prop="hindex" label="H-WOS" width="110px" align="center"></el-table-column> -->
<el-table-column prop="ghindex" label="H-Google" width="110px" align="center"></el-table-column>
<el-table-column label="Grade" width="110px" align="center"></el-table-column>
<!-- <el-table-column label="Grade" width="110px" align="center"></el-table-column> -->
<!-- <el-table-column label="Remarks" width="180"></el-table-column> -->
<el-table-column label="" width="190" align="center"></el-table-column>
<el-table-column label="" width="300" align="center"></el-table-column>
</el-table>
<p class="shen_fen" style="margin-top: 0;" v-if="tableData_A.length!=0">Editor-in-Chief</p>
<el-table :data="tableData_A" border stripe class="table" ref="multipleTable"
header-cell-class-name="table-header" empty-text="New messages (0)" :show-header="false"
v-if="tableData_A.length!=0">
<el-table-column prop="name" label="Realname">
<el-table-column prop="Realname" label="Realname">
<template slot-scope="scope">
<p @click="perSonnel(scope.row.tuser_id)" class="perSonGo">{{scope.row.name}}</p>
<p @click="perSonnel(scope.row.user_id)" class="perSonGo">{{scope.row.realname}}</p>
</template>
</el-table-column>
<el-table-column prop="email" label="Email"></el-table-column>
<el-table-column prop="hindex" label="H-WOS" width="110px" align="center">
<!-- <el-table-column prop="hindex" label="H-WOS" width="110px" align="center">
<template slot-scope="scope">
<p v-html="colorIndex(scope.row.wos_index,scope.row.wos_time)"></p>
</template>
</el-table-column>
</el-table-column> -->
<el-table-column prop="ghindex" label="H-Google" width="110px" align="center">
<template slot-scope="scope">
<p v-html="colorIndex(scope.row.google_index,scope.row.google_time)"></p>
</template>
</el-table-column>
<el-table-column label="Grade" width="110px" align="center">
<!-- <el-table-column label="Grade" width="110px" align="center">
<template slot-scope="scope">
<p style="display: inline-block;" v-if="scope.row.starList_mark!=0">
<img src="../../assets/img/star-all.png" v-for="item in scope.row.starList"
@@ -74,7 +74,7 @@
{{scope.row.starList_mark}}</b>
</p>
</template>
</el-table-column>
</el-table-column> -->
<!-- <el-table-column label="Remarks" width="180">
<template slot-scope="scope">
{{scope.row.remark}}
@@ -82,11 +82,13 @@
class="el-icon-edit"></b>
</template>
</el-table-column> -->
<el-table-column label="" width="190" align="center">
<el-table-column label="" width="300" align="center">
<template slot-scope="scope">
<el-button size="mini" type="primary" plain icon="el-icon-edit"
@click="perSonnel(scope.row.user_id)">User Edit</el-button>
<el-button size="mini" type="primary" plain icon="el-icon-edit"
@click="handleEdit(scope.$index, scope.row)">Edit</el-button>
<el-button size="mini" type="danger" plain icon="el-icon-delete"
@click="bhandleEdit(scope.$index, scope.row)">Board Edit</el-button>
<el-button size="mini" type="danger" plain icon="el-icon-delete" style="margin-top: 10px;"
@click="handleDelete(scope.$index, scope.row)">Delete</el-button>
</template>
</el-table-column>
@@ -95,23 +97,23 @@
<el-table :data="tableData_B" border stripe class="table" ref="multipleTable"
header-cell-class-name="table-header" empty-text="New messages (0)" :show-header="false"
v-if="tableData_B.length!=0">
<el-table-column prop="name" label="Realname">
<el-table-column prop="Realname" label="Realname">
<template slot-scope="scope">
<p @click="perSonnel(scope.row.tuser_id)" class="perSonGo">{{scope.row.name}}</p>
<p @click="perSonnel(scope.row.user_id)" class="perSonGo">{{scope.row.realname}}</p>
</template>
</el-table-column>
<el-table-column prop="email" label="Email"></el-table-column>
<el-table-column prop="hindex" label="H-WOS" width="110px" align="center">
<!-- <el-table-column prop="hindex" label="H-WOS" width="110px" align="center">
<template slot-scope="scope">
<p v-html="colorIndex(scope.row.wos_index,scope.row.wos_time)"></p>
</template>
</el-table-column>
</el-table-column> -->
<el-table-column prop="ghindex" label="H-Google" width="110px" align="center">
<template slot-scope="scope">
<p v-html="colorIndex(scope.row.google_index,scope.row.google_time)"></p>
</template>
</el-table-column>
<el-table-column label="Grade" width="110px" align="center">
<!-- <el-table-column label="Grade" width="110px" align="center">
<template slot-scope="scope">
<p style="display: inline-block;" v-if="scope.row.starList_mark!=0">
<img src="../../assets/img/star-all.png" v-for="item in scope.row.starList"
@@ -125,7 +127,7 @@
{{scope.row.starList_mark}}</b>
</p>
</template>
</el-table-column>
</el-table-column> -->
<!-- <el-table-column label="Remarks" width="180">
<template slot-scope="scope">
{{scope.row.remark}}
@@ -133,11 +135,13 @@
class="el-icon-edit"></b>
</template>
</el-table-column> -->
<el-table-column label="" width="190" align="center">
<el-table-column label="" width="300" align="center">
<template slot-scope="scope">
<el-button size="mini" type="primary" plain icon="el-icon-edit"
@click="perSonnel(scope.row.user_id)">User Edit</el-button>
<el-button size="mini" type="primary" plain icon="el-icon-edit"
@click="handleEdit(scope.$index, scope.row)">Edit</el-button>
<el-button size="mini" type="danger" plain icon="el-icon-delete"
@click="bhandleEdit(scope.$index, scope.row)">Board Edit</el-button>
<el-button size="mini" type="danger" plain icon="el-icon-delete" style="margin-top: 10px;"
@click="handleDelete(scope.$index, scope.row)">Delete</el-button>
</template>
</el-table-column>
@@ -147,23 +151,23 @@
<p class="shen_number">{{key}}</p>
<el-table :data="item" border stripe class="table" ref="multipleTable" :show-header="false"
header-cell-class-name="table-header" empty-text="New messages (0)" style="margin-bottom: 20px;">
<el-table-column prop="name" label="Realname">
<el-table-column prop="Realname" label="Realname">
<template slot-scope="scope">
<p @click="perSonnel(scope.row.tuser_id)" class="perSonGo">{{scope.row.name}}</p>
<p @click="perSonnel(scope.row.user_id)" class="perSonGo">{{scope.row.realname}}</p>
</template>
</el-table-column>
<el-table-column prop="email" label="Email"></el-table-column>
<el-table-column prop="hindex" label="H-WOS" width="110px" align="center">
<!-- <el-table-column prop="hindex" label="H-WOS" width="110px" align="center">
<template slot-scope="scope">
<p v-html="colorIndex(scope.row.wos_index,scope.row.wos_time)"></p>
</template>
</el-table-column>
</el-table-column> -->
<el-table-column prop="ghindex" label="H-Google" width="110px" align="center">
<template slot-scope="scope">
<p v-html="colorIndex(scope.row.google_index,scope.row.google_time)"></p>
</template>
</el-table-column>
<el-table-column label="Grade" width="110px" align="center">
<!-- <el-table-column label="Grade" width="110px" align="center">
<template slot-scope="scope">
<p style="display: inline-block;" v-if="scope.row.starList_mark!=0">
<img src="../../assets/img/star-all.png" v-for="item in scope.row.starList"
@@ -178,7 +182,7 @@
{{scope.row.starList_mark}}</b>
</p>
</template>
</el-table-column>
</el-table-column> -->
<!-- <el-table-column label="Remarks" width="180">
<template slot-scope="scope">
{{scope.row.remark}}
@@ -186,11 +190,13 @@
class="el-icon-edit"></b>
</template>
</el-table-column> -->
<el-table-column label="" width="190" align="center">
<el-table-column label="" width="300" align="center">
<template slot-scope="scope">
<el-button size="mini" type="primary" plain icon="el-icon-edit"
@click="handleEdit(scope.$index, scope.row)">Edit</el-button>
<el-button size="mini" type="danger" plain icon="el-icon-delete"
<el-button size="mini" type="primary" plain icon="el-icon-edit"
@click="perSonnel(scope.row.user_id)">User Edit</el-button>
<el-button size="mini" type="primary" plain icon="el-icon-edit"
@click="bhandleEdit(scope.$index, scope.row)">Board Edit</el-button>
<el-button size="mini" type="danger" plain icon="el-icon-delete" style="margin-top: 10px;"
@click="handleDelete(scope.$index, scope.row)">Delete</el-button>
</template>
</el-table-column>
@@ -217,15 +223,16 @@
<el-form-item label="Email :" prop="email">
{{addForm.email}}
</el-form-item>
<el-form-item label="Account :" prop="account">
<!-- <el-form-item label="Account :" prop="account">
{{addForm.account}}
</el-form-item>
</el-form-item> -->
<el-form-item label="Realname :" prop="name">
<el-input v-model="addForm.name" style="width: 300px;"></el-input>
{{addForm.name}}
<!-- <el-input v-model="addForm.name" style="width: 300px;"></el-input> -->
</el-form-item>
<el-form-item label="Picture :" prop="board_icon">
<!-- <el-form-item label="Picture :" prop="board_icon">
<span slot="label">
<!-- <i style="color: #F56C6C;">*</i> -->
<i style="color: #F56C6C;">*</i>
Picture
</span>
<el-upload class="avatar-uploader" :action="baseUrl+'api/Board/up_boardIcon_file'"
@@ -234,7 +241,7 @@
<img v-if="imageUrl" :src="imageUrl" class="avatar">
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>
</el-form-item>
</el-form-item> -->
<el-form-item label="Journal :" prop="journal_id">
<el-select v-model="addForm.journal_id" placeholder="Please select a journal" @change="getJourAdd()"
style="width: 300px;">
@@ -256,29 +263,32 @@
:value="item.board_group_id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="Homepage :" prop="website">
<!-- <el-form-item label="Homepage :" prop="website">
<el-input v-model="addForm.website"></el-input>
</el-form-item>
<el-form-item label="Academic degree :" prop="dr">
<el-input v-model="addForm.dr"></el-input>
</el-form-item>
<el-form-item label="Technical :" prop="title">
</el-form-item> -->
<!-- <el-form-item label="Technical :" prop="title">
<el-select v-model="addForm.title" placeholder="Please select a technical" style="width: 300px;">
<el-option v-for="item in title_options" :key="item.value" :label="item.value"
:value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="Affiliation :" prop="address">
</el-form-item> -->
<!-- <el-form-item label="Affiliation :" prop="address">
<el-input v-model="addForm.address"></el-input>
</el-form-item>
<el-form-item label="Country :" prop="country">
</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 add_country" :label="item.en_name" :key="item.en_name"
:value="item.en_name"></el-option>
</el-select>
</el-form-item>
<el-form-item label="Field :" prop="field">
</el-form-item> -->
<!-- <el-form-item label="Field :" prop="field">
<el-input v-model="addForm.field" type="textarea" rows="5"></el-input>
</el-form-item> -->
<el-form-item label="Research areas :" prop="field">
<el-input v-model="addForm.field" type="textarea" rows="5"></el-input>
</el-form-item>
</el-form>
@@ -385,7 +395,32 @@
<el-button type="primary" @click="saveRemark">Save</el-button>
</span>
</el-dialog>
<!-- 编委弹窗 -->
<el-dialog title="Edit Board" :visible.sync="BoardEditorFormVisible" width="800px">
<el-form ref="BoardEditorForm" :model="BoardEditorForm" label-width="130px" :rules="BoardEditorFormRule">
<el-form-item label="Type :">
<el-radio-group v-model="BoardEditorForm.type">
<el-radio :label="0">Editor-in-Chief</el-radio>
<el-radio :label="1">Vice Editor-in-Chief</el-radio>
<el-radio :label="2">Editorial Board Members</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="Group :" v-if="BoardEditorForm.type == 2">
<el-select v-model="BoardEditorForm.board_group_id" placeholder="Please select a group"
style="width: 300px;">
<el-option v-for="item in edit_group" :label="item.group_name" :key="item.board_group_id"
:value="item.board_group_id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="Research Areas :" prop="research_areas">
<el-input type="textarea" rows="5" v-model="BoardEditorForm.research_areas"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="BoardEditorFormVisible = false">Cancel</el-button>
<el-button type="primary" @click="saveBoard">Save</el-button>
</span>
</el-dialog>
</div>
</template>
@@ -408,6 +443,13 @@
add_country: [],
addVisible: false,
editVisible: false,
BoardEditorForm:{
btj_id:null,
type:0,
board_group_id:null,
research_areas:''
},
BoardEditorFormVisible:false,
addForm: {
email: '',
board_icon:'',
@@ -631,6 +673,13 @@
message: 'Please select a country',
trigger: 'blur'
}],
},
BoardEditorFormRule:{
research_areas: [{
required: true,
message: 'Please input research areas',
trigger: 'blur'
}],
}
};
},
@@ -762,6 +811,28 @@
this.getgroup()
},
// 编辑编委
saveBoard(){
this.$refs.BoardEditorForm.validate((valid) => {
if (valid) {
this.$api
.post('/api/Board/editBoard', this.BoardEditorForm)
.then(res => {
if (res.code == 0) {
this.getDate()
this.$refs.BoardEditorForm.resetFields()
this.BoardEditorFormVisible = false
} else {
this.$message.error(res.msg);
}
})
.catch(err => {
this.$message.error(err);
});
}else{
return false;
}})
},
// 评分
getScoreDataA(i, e) {
@@ -900,7 +971,17 @@
});
},
// 编辑编委操作
bhandleEdit(index, row) {
this.$nextTick(() => {
// console.log(row,'row')
this.BoardEditorForm.btj_id = row.btj_id
this.BoardEditorForm.type = row.type
this.BoardEditorForm.board_group_id = row.board_group_id
this.BoardEditorForm.research_areas = row.research_areas
this.BoardEditorFormVisible = true
})
},
// 查找账号
saerNa_U() {
if (this.addForm.email != '') {
@@ -936,12 +1017,18 @@
saveAdd() {
this.$refs.add_Form.validate((valid) => {
if (valid) {
if (this.addForm.board_icon == '' || this.addForm.board_icon == undefined) {
this.$message.error('Please upload the picture!');
return
}
// if (this.addForm.board_icon == '' || this.addForm.board_icon == undefined) {
// this.$message.error('Please upload the picture!');
// return
// }
this.$api
.post('api/Board/addBoard', this.addForm)
.post('api/Board/addBoard', {
'user_id': this.addForm.user_id,
'journal_id': this.addForm.journal_id,
'board_group_id': this.addForm.board_group_id,
'type': this.addForm.type,
'research_areas': this.addForm.field
})
.then(res => {
if (res.code == 0) {
this.addVisible = false;
@@ -1047,7 +1134,7 @@
this.$confirm('Are you sure you want to delete?', 'Tips', {
type: 'warning'
})
.then(() => {
.then(() => {
this.$api
.post('api/Board/delBoard', row)
.then(res => {