作者库
This commit is contained in:
@@ -65,7 +65,7 @@ const en = {
|
||||
InvestorProducer:'Investor Producer',
|
||||
author:'Author',
|
||||
status:'Status',
|
||||
Published:'Published',
|
||||
Published:'Published',journal:'Journal',
|
||||
},
|
||||
paperArticleCount:{
|
||||
Periodroll:'Period Roll',
|
||||
@@ -79,7 +79,13 @@ const en = {
|
||||
},
|
||||
|
||||
|
||||
|
||||
partyListCorr:{
|
||||
Realname:'Realname',
|
||||
Email:'Email',
|
||||
unregistered:'unregistered',
|
||||
OtherInformation:'Other Information',
|
||||
articlelist: 'Article List',journal:'Journal',
|
||||
},
|
||||
sidebar: {
|
||||
main: 'Personal Center',
|
||||
author: 'Author',
|
||||
|
||||
@@ -67,13 +67,19 @@ const zh = {
|
||||
cite: '引用',
|
||||
relation: '关联',
|
||||
|
||||
}, partyListCorr: {
|
||||
Realname: '姓名',
|
||||
Email: '邮箱',
|
||||
unregistered:'unregistered',
|
||||
OtherInformation:'其他信息',
|
||||
articlelist: '文章列表',journal: '期刊',
|
||||
},
|
||||
partyRole:{
|
||||
identity:'身份',
|
||||
InvestorProducer:'投稿者',
|
||||
author:'作者',
|
||||
status:'状态',
|
||||
Published:'已发表',
|
||||
partyRole: {
|
||||
identity: '身份',
|
||||
InvestorProducer: '投稿者',
|
||||
author: '作者',
|
||||
status: '状态',
|
||||
Published: '已发表',journal:'Journal',
|
||||
},
|
||||
sidebar: {
|
||||
main: '个人中心',
|
||||
|
||||
555
src/components/page/partyListCorr copy.vue
Normal file
555
src/components/page/partyListCorr copy.vue
Normal file
@@ -0,0 +1,555 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="crumbs">
|
||||
<el-breadcrumb separator="/">
|
||||
<el-breadcrumb-item>
|
||||
<i class="el-icon-user"></i> Author Database
|
||||
</el-breadcrumb-item>
|
||||
</el-breadcrumb>
|
||||
</div>
|
||||
<div class="container">
|
||||
<div class="handle-box">
|
||||
<el-select v-model="query.journal_id" placeholder="Please select a journal"
|
||||
@change="query.pageIndex = 1;getData()">
|
||||
<el-option v-for="item in jourList" :label="item.title" :key="item.journal_id"
|
||||
:value="item.journal_id"></el-option>
|
||||
</el-select>
|
||||
<el-select v-model="query.year" placeholder="Please select a year"
|
||||
@change="query.pageIndex = 1;getData()" style="margin: 0 0 0 15px;width: 100px;">
|
||||
<el-option v-for="item in yearList" :label="item.title" :key="item.year" :value="item.year">
|
||||
</el-option>
|
||||
</el-select>
|
||||
<el-input v-model="query.keywords" placeholder="Account / Realname / Email"
|
||||
style="width: 240px;margin: 0 15px;">
|
||||
</el-input>
|
||||
<el-button type="primary" icon="el-icon-search" @click="query.pageIndex = 1;getData()">Search
|
||||
</el-button>
|
||||
<p style="height: 20px;"></p>
|
||||
<span style="font-size: 14px;color: #606266;margin: 0 10px 0 0;">Research direction :</span>
|
||||
<el-select v-model="query.major_a" placeholder="Please select major" @change="majorChange(1)"
|
||||
style="width: 240px;margin: 0 10px 0 0;">
|
||||
<el-option :key="0" label="All major" :value="0"></el-option>
|
||||
<el-option v-for="item in majors_a" :key="item.major_id" :label="item.major_title"
|
||||
:value="item.major_id"></el-option>
|
||||
</el-select>
|
||||
<el-select v-model="query.major_b" placeholder="Please select major" v-if="majors_b!=''"
|
||||
@change="majorChange(2)" style="width: 240px;margin:0 10px 0 0;">
|
||||
<el-option :key="0" label="None" :value="0"></el-option>
|
||||
<el-option v-for="item in majors_b" :key="item.major_id" :label="item.major_title"
|
||||
:value="item.major_id"></el-option>
|
||||
</el-select>
|
||||
<el-select v-model="query.major_c" placeholder="Please select major" v-if="majors_c!=''"
|
||||
@change="majorChange(3)" style="width: 240px;margin:0 10px 0 0;">
|
||||
<el-option :key="0" label="None" :value="0"></el-option>
|
||||
<el-option v-for="item in majors_c" :key="item.major_id" :label="item.major_title"
|
||||
:value="item.major_id"></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<el-table :data="tableData" border class="table" ref="multipleTable" header-cell-class-name="table-header"
|
||||
empty-text="Messages (0)">
|
||||
<el-table-column label="Base Information" width="250px">
|
||||
<template slot-scope="scope">
|
||||
<p class="tab_tie_col">
|
||||
<span>Realname: </span><b style="font-size: 15px;">{{scope.row.realname}}</b>
|
||||
</p>
|
||||
<p class="tab_tie_col">
|
||||
<span>Email: </span>{{scope.row.email}}
|
||||
</p>
|
||||
<p class="tab_tie_col">
|
||||
<span>Title: </span>{{scope.row.technical}}
|
||||
</p>
|
||||
<p class="tab_tie_col">
|
||||
<span>H-WOS: </span>
|
||||
<font v-html="colorIndex(scope.row.wos_index,scope.row.wos_time)"></font>
|
||||
</p>
|
||||
<p class="tab_tie_col">
|
||||
<span>H-Google: </span>
|
||||
<font v-html="colorIndex(scope.row.google_index,scope.row.google_time)"></font>
|
||||
</p>
|
||||
<p class="tab_tie_col" v-if="scope.row.starList_mark!=0">
|
||||
<span>Grade: </span>
|
||||
<font style="display: inline-block;">
|
||||
<img src="../../assets/img/star-all.png" v-for="item in scope.row.starList"
|
||||
v-if="scope.row.starList_mark<=8&&item.star==1" class="starSty">
|
||||
<img src="../../assets/img/star-traf.png" v-for="item in scope.row.starList"
|
||||
v-if="scope.row.starList_mark<=8&&item.star==0" class="starSty">
|
||||
<img src="../../assets/img/star-none.png" v-for="item in scope.row.starList"
|
||||
v-if="scope.row.starList_mark<=8&&item.star==2" class="starSty">
|
||||
<img src="../../assets/img/star-all.png" v-if="scope.row.starList_mark>8"
|
||||
class="starSty">
|
||||
<b style="font-size: 15px;color: #b77614;" v-if="scope.row.starList_mark>8">×
|
||||
{{scope.row.starList_mark}}</b>
|
||||
</font>
|
||||
</p>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="Other Information">
|
||||
<template slot-scope="scope">
|
||||
<p class="tab_tie_col" v-if="scope.row.field!=''&&scope.row.field!=null">
|
||||
<span>Field: </span>{{scope.row.field}}
|
||||
</p>
|
||||
<p class="tab_tie_col" v-if="scope.row.major_str!=''&&scope.row.major_str!=null">
|
||||
<span>Major: </span>{{scope.row.major_str}}
|
||||
</p>
|
||||
<p class="tab_tie_col" v-if="scope.row.company!=''&&scope.row.company!=null">
|
||||
<span>Affiliation: </span>{{scope.row.company}}
|
||||
</p>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="Article List" width="280" :key="Math.random()">
|
||||
<template slot-scope="scope">
|
||||
<!-- <div class="iss_vol">
|
||||
<el-popover placement="top-start" width="300" trigger="hover">
|
||||
<p class="tipck">
|
||||
<b>{{scope.row.realname}}</b>
|
||||
</p>
|
||||
<p class="tipck" style="margin: 5px 0pt;">
|
||||
<b style="letter-spacing: -0.5px;color: #006699;">25 March 2023, Volume 5 Issue
|
||||
1</b>
|
||||
</p>
|
||||
<p class="tipck" style="margin: 10px 0;word-wrap: break-word;word-break: normal;">
|
||||
{{scope.row.field}}
|
||||
</p>
|
||||
<span slot="reference">
|
||||
25 March 2023, Volume 5 Issue 1
|
||||
</span>
|
||||
</el-popover>
|
||||
</div> -->
|
||||
<div class="iss_vol" v-for="(item,index) in scope.row.art_detail"
|
||||
v-if="index<scope.row.art_detail_num" @click="openActicle(item)">
|
||||
<b style="margin-right: 2px;">{{item.journal_abbr}}</b>: {{item.doi}}
|
||||
<font v-if="item.doi==''">Link</font>
|
||||
</div>
|
||||
<p class="moreShrink" v-if="scope.row.art_detail.length>5&&scope.row.art_detail_num==5"
|
||||
@click="moreShrink(scope,1)">
|
||||
<i class="el-icon-bottom"></i>
|
||||
More
|
||||
</p>
|
||||
<p class="moreShrink" v-if="scope.row.art_detail.length>5&&scope.row.art_detail_num!=5"
|
||||
@click="moreShrink(scope,0)">
|
||||
<i class="el-icon-top"></i>
|
||||
More
|
||||
</p>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="Remarks" width="180">
|
||||
<template slot-scope="scope">
|
||||
{{scope.row.remark}}
|
||||
<b @click="BoxRemark(scope.row)" style="margin-left:10px;cursor: pointer;color:#006699;"
|
||||
class="el-icon-edit"></b>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="" width="105" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-button type="primary" plain icon="el-icon-edit" @click="handleDtail(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="link_Total" @current-change="handlePageChange"></el-pagination>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 标记弹出框 -->
|
||||
<el-dialog title="Remarks" :visible.sync="remarkBox" width="550px">
|
||||
<el-form ref="remark" :model="remarkMes" label-width="95px">
|
||||
<el-form-item label="Reviewer :">
|
||||
<p style="line-height: 20px;margin-top: 6px;">{{remarkMes.realname}}</p>
|
||||
</el-form-item>
|
||||
<el-form-item label="Email :">
|
||||
<p style="line-height: 20px;margin-top: 6px;">{{remarkMes.email}}</p>
|
||||
</el-form-item>
|
||||
<el-form-item label="Content :">
|
||||
<el-input type="textarea" rows="5" v-model="remarkMes.remark"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="remarkBox = false">Cancel</el-button>
|
||||
<el-button type="primary" @click="saveRemark">Save</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
baseUrl: this.Common.baseUrl,
|
||||
mediaUrl: this.Common.mediaUrl,
|
||||
query: {
|
||||
journal_id: '',
|
||||
year: 0,
|
||||
keywords: '',
|
||||
pageIndex: 1,
|
||||
pageSize: 15,
|
||||
major: 0,
|
||||
major_a: 0,
|
||||
major_b: '',
|
||||
major_c: '',
|
||||
},
|
||||
edit_id: localStorage.getItem('U_id'),
|
||||
tableData: [],
|
||||
link_Total: 0,
|
||||
jourList: [],
|
||||
yearList: [{
|
||||
title: 'All years',
|
||||
year: 0
|
||||
}],
|
||||
majors_a: [],
|
||||
majors_b: [],
|
||||
majors_c: [],
|
||||
remarkMes: {
|
||||
remark: ''
|
||||
},
|
||||
remarkBox: false,
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getJournal();
|
||||
this.initMajor()
|
||||
},
|
||||
methods: {
|
||||
// 获取期刊列表数据
|
||||
getJournal() {
|
||||
this.$api
|
||||
.post('api/Chief/getJournalsByEditor', {
|
||||
'user_id': this.edit_id
|
||||
})
|
||||
.then(res => {
|
||||
if (res.code == 0) {
|
||||
this.jourList = res.data.journals;
|
||||
this.query.journal_id = this.jourList[0].journal_id
|
||||
this.getData();
|
||||
} else {
|
||||
this.$message.error(res.msg);
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
this.$message.error(err);
|
||||
});
|
||||
|
||||
for (var i = 2015; i <= new Date().getFullYear(); i++) {
|
||||
this.yearList.push({
|
||||
title: i,
|
||||
year: i
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
getData() {
|
||||
const loading = this.$loading({
|
||||
lock: true,
|
||||
text: 'Loading...',
|
||||
spinner: 'el-icon-loading',
|
||||
background: 'rgba(0, 0, 0, 0.7)'
|
||||
});
|
||||
this.$api
|
||||
.post('api/User/getAuthorUserList', this.query)
|
||||
.then(res => {
|
||||
if (res.code == 0) {
|
||||
this.tableData = res.data.list;
|
||||
for (var i = 0; i < this.tableData.length; i++) {
|
||||
this.getScoreData(i, this.tableData[i].score)
|
||||
if (this.tableData[i].art_detail.length > 5) {
|
||||
this.tableData[i].art_detail_num = 5
|
||||
} else {
|
||||
this.tableData[i].art_detail_num = this.tableData[i].art_detail.length
|
||||
}
|
||||
}
|
||||
this.link_Total = res.data.count || 0;
|
||||
loading.close()
|
||||
} else {
|
||||
this.$message.error(res.msg);
|
||||
loading.close()
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
this.$message.error(err);
|
||||
loading.close()
|
||||
});
|
||||
},
|
||||
|
||||
// 文章跳转
|
||||
openActicle(e) {
|
||||
window.open(e.link, '_blank');
|
||||
},
|
||||
|
||||
// 文章展开收缩
|
||||
moreShrink(e, m) {
|
||||
if (m == 1) {
|
||||
this.tableData[e.$index].art_detail_num = this.tableData[e.$index].art_detail.length
|
||||
} else if (m == 0) {
|
||||
this.tableData[e.$index].art_detail_num = 5
|
||||
}
|
||||
console.log(this.tableData[e.$index])
|
||||
console.log(this.tableData[e.$index].art_detail_num)
|
||||
|
||||
this.$forceUpdate()
|
||||
|
||||
},
|
||||
|
||||
// 评分
|
||||
getScoreData(i, e) {
|
||||
this.tableData[i].starList = []
|
||||
this.tableData[i].starList_mark = 0
|
||||
if (e < 0.5 && e > 0) {
|
||||
this.tableData[i].starList.push({
|
||||
star: 2
|
||||
})
|
||||
this.tableData[i].starList_mark = 1
|
||||
} else {
|
||||
let zheng = Math.floor(e)
|
||||
let xiao = Number(e) - Math.floor(e)
|
||||
if (xiao >= 0.5) {
|
||||
xiao = 0.5
|
||||
} else {
|
||||
xiao = 0
|
||||
}
|
||||
for (var j = 0; j < zheng; j++) {
|
||||
this.tableData[i].starList.push({
|
||||
star: 1
|
||||
})
|
||||
}
|
||||
if (xiao == 0.5) {
|
||||
this.tableData[i].starList.push({
|
||||
star: 0
|
||||
})
|
||||
}
|
||||
this.tableData[i].starList_mark = Number(zheng) + Number(xiao)
|
||||
}
|
||||
},
|
||||
|
||||
// 分页导航
|
||||
handlePageChange(val) {
|
||||
this.$set(this.query, 'pageIndex', val);
|
||||
this.getData();
|
||||
},
|
||||
|
||||
// 详情
|
||||
handleDtail(e) {
|
||||
let routerJump = this.$router.resolve({
|
||||
path: '/partyRole',
|
||||
query: {
|
||||
id: e.user_id
|
||||
}
|
||||
});
|
||||
window.open(routerJump.href, '_blank');
|
||||
},
|
||||
|
||||
// 标记弹出框
|
||||
BoxRemark(e) {
|
||||
this.remarkBox = true;
|
||||
this.remarkMes.realname = e.realname;
|
||||
this.remarkMes.user_id = e.user_id;
|
||||
this.remarkMes.email = e.email;
|
||||
this.remarkMes.remark = e.remark;
|
||||
},
|
||||
|
||||
// 修改标记
|
||||
saveRemark() {
|
||||
this.$api
|
||||
.post('api/User/editRemarkForUser', this.remarkMes)
|
||||
.then(res => {
|
||||
if (res.code == 0) {
|
||||
this.$message.success('Success');
|
||||
this.remarkBox = false;
|
||||
this.getData();
|
||||
} else {
|
||||
this.$message.error(res.msg);
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
// 领域
|
||||
initMajor() {
|
||||
this.$api
|
||||
.post('api/Ucenter/getMajor', {
|
||||
major_id: 1
|
||||
}).then((res) => {
|
||||
this.majors_a = res.data.major.children;
|
||||
});
|
||||
},
|
||||
|
||||
// 搜索选择领域
|
||||
majorChange(e) {
|
||||
if (e == 1) {
|
||||
this.$api
|
||||
.post('api/Ucenter/getMajor', {
|
||||
major_id: this.query.major_a
|
||||
}).then((res) => {
|
||||
this.majors_b = res.data.major.children;
|
||||
this.majors_c = []
|
||||
this.query.major_b = ''
|
||||
this.query.major_c = ''
|
||||
this.majorChange_panduan()
|
||||
});
|
||||
} else if (e == 2 && this.query.major_b != 0) {
|
||||
this.$api
|
||||
.post('api/Ucenter/getMajor', {
|
||||
major_id: this.query.major_b
|
||||
}).then((res) => {
|
||||
this.majors_c = res.data.major.children;
|
||||
this.query.major_c = ''
|
||||
this.majorChange_panduan()
|
||||
});
|
||||
} else {
|
||||
this.majorChange_panduan()
|
||||
}
|
||||
},
|
||||
|
||||
majorChange_panduan() {
|
||||
if (this.query.major_c != '' || this.query.major_c != 0) {
|
||||
this.query.major = this.query.major_c
|
||||
} else if (this.query.major_b != '' || this.query.major_b != 0) {
|
||||
this.query.major = this.query.major_b
|
||||
} else {
|
||||
this.query.major = this.query.major_a
|
||||
}
|
||||
this.query.pageIndex = 1
|
||||
this.getData();
|
||||
},
|
||||
|
||||
// 指数颜色
|
||||
colorIndex(num, time) {
|
||||
if (time != 0) {
|
||||
let date = new Date(parseInt(time * 1000));
|
||||
let Y = date.getFullYear() + '-';
|
||||
let M = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) + '-' : date.getMonth() + 1 + '-';
|
||||
let D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
|
||||
let H = date.getHours() < 10 ? '0' + date.getHours() + ':' : date.getHours() + ':';
|
||||
let U = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes();
|
||||
time = Y + M + D;
|
||||
}
|
||||
let str = '';
|
||||
if (num < 10) {
|
||||
str = '<b style="color:#cb160a">' + num +
|
||||
'</b><span style="color:#aaa;font-size:14px;margin-left:10px;">(' + time +
|
||||
')</span>'
|
||||
} else if (num < 15) {
|
||||
str = '<b style="color:#cbb504">' + num +
|
||||
'</b><span style="color:#aaa;font-size:14px;margin-left:10px;">(' + time +
|
||||
')</span>'
|
||||
} else {
|
||||
str = '<b style="color:#0cbc15">' + num +
|
||||
'</b><span style="color:#aaa;font-size:14px;margin-left:10px;">(' + time +
|
||||
')</span>'
|
||||
}
|
||||
if (time == 0) {
|
||||
str =
|
||||
'<b style="color:#aaa;">0</b><span style="color:#aaa;font-size:14px;margin-left:10px;">(No time)</span>'
|
||||
}
|
||||
return str;
|
||||
},
|
||||
|
||||
// 时间格式
|
||||
formatDate(timestamp) {
|
||||
var date = new Date(timestamp * 1000); //时间戳为10位需*1000,时间戳为13位的话不需乘1000
|
||||
var Y = date.getFullYear() + '-';
|
||||
var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
|
||||
var D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
|
||||
var h = date.getHours() < 10 ? '0' + date.getHours() : date.getHours();
|
||||
var m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes();
|
||||
var s = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
|
||||
return Y + M + D;
|
||||
},
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.handle-box {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.table {
|
||||
width: 100%;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.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;
|
||||
}
|
||||
|
||||
.tab_tie_col {
|
||||
margin-bottom: 5px;
|
||||
color: #333;
|
||||
word-wrap: break-word;
|
||||
word-break: normal;
|
||||
}
|
||||
|
||||
.tab_tie_col>span {
|
||||
color: #888;
|
||||
margin: 0 5px 0 0;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.starSty {
|
||||
width: 18px;
|
||||
margin-right: 4px;
|
||||
vertical-align: text-top;
|
||||
}
|
||||
|
||||
.starSty:nth-last-child(1) {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
|
||||
.txt_pdf {
|
||||
margin: 0 0 20px 10px;
|
||||
display: inline-block;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.txt_pdf>i {
|
||||
color: #66a9f0;
|
||||
font-weight: bold;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.iss_vol {
|
||||
/* color: #006699; */
|
||||
margin: 5px 0;
|
||||
|
||||
|
||||
}
|
||||
|
||||
.iss_vol:hover {
|
||||
cursor: pointer;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.moreShrink {
|
||||
text-align: right;
|
||||
color: #006699;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.moreShrink:hover {
|
||||
cursor: pointer;
|
||||
text-decoration: underline;
|
||||
}
|
||||
</style>
|
||||
@@ -2,60 +2,138 @@
|
||||
<div>
|
||||
<div class="crumbs">
|
||||
<el-breadcrumb separator="/">
|
||||
<el-breadcrumb-item>
|
||||
<i class="el-icon-user"></i> Author Database
|
||||
</el-breadcrumb-item>
|
||||
<el-breadcrumb-item> <i class="el-icon-user"></i> Author Database </el-breadcrumb-item>
|
||||
</el-breadcrumb>
|
||||
</div>
|
||||
<div class="container">
|
||||
<div class="handle-box">
|
||||
<el-select v-model="query.journal_id" placeholder="Please select a journal"
|
||||
@change="query.pageIndex = 1;getData()">
|
||||
<el-option v-for="item in jourList" :label="item.title" :key="item.journal_id"
|
||||
:value="item.journal_id"></el-option>
|
||||
</el-select>
|
||||
<el-select v-model="query.year" placeholder="Please select a year"
|
||||
@change="query.pageIndex = 1;getData()" style="margin: 0 0 0 15px;width: 100px;">
|
||||
<el-option v-for="item in yearList" :label="item.title" :key="item.year" :value="item.year">
|
||||
</el-option>
|
||||
</el-select>
|
||||
<el-input v-model="query.keywords" placeholder="Account / Realname / Email"
|
||||
style="width: 240px;margin: 0 15px;">
|
||||
</el-input>
|
||||
<el-button type="primary" icon="el-icon-search" @click="query.pageIndex = 1;getData()">Search
|
||||
<!-- <el-select
|
||||
v-model="query.journal_id"
|
||||
placeholder="Please select a journal"
|
||||
@change="
|
||||
query.pageIndex = 1;
|
||||
getData();
|
||||
"
|
||||
>
|
||||
<el-option v-for="item in jourList" :label="item.title" :key="item.journal_id" :value="item.journal_id"></el-option>
|
||||
</el-select> -->
|
||||
|
||||
<el-input v-model="query.keywords" placeholder="Email" style="width: 240px; margin: 0 15px 0 0"> </el-input>
|
||||
<el-button
|
||||
type="primary"
|
||||
icon="el-icon-search"
|
||||
@click="
|
||||
query.page = 1;
|
||||
getData();
|
||||
"
|
||||
>Search
|
||||
</el-button>
|
||||
<p style="height: 20px;"></p>
|
||||
<span style="font-size: 14px;color: #606266;margin: 0 10px 0 0;">Research direction :</span>
|
||||
<el-select v-model="query.major_a" placeholder="Please select major" @change="majorChange(1)"
|
||||
style="width: 240px;margin: 0 10px 0 0;">
|
||||
<el-option :key="0" label="All major" :value="0"></el-option>
|
||||
<el-option v-for="item in majors_a" :key="item.major_id" :label="item.major_title"
|
||||
:value="item.major_id"></el-option>
|
||||
</el-select>
|
||||
<el-select v-model="query.major_b" placeholder="Please select major" v-if="majors_b!=''"
|
||||
@change="majorChange(2)" style="width: 240px;margin:0 10px 0 0;">
|
||||
<el-option :key="0" label="None" :value="0"></el-option>
|
||||
<el-option v-for="item in majors_b" :key="item.major_id" :label="item.major_title"
|
||||
:value="item.major_id"></el-option>
|
||||
</el-select>
|
||||
<el-select v-model="query.major_c" placeholder="Please select major" v-if="majors_c!=''"
|
||||
@change="majorChange(3)" style="width: 240px;margin:0 10px 0 0;">
|
||||
<el-option :key="0" label="None" :value="0"></el-option>
|
||||
<el-option v-for="item in majors_c" :key="item.major_id" :label="item.major_title"
|
||||
:value="item.major_id"></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<el-table :data="tableData" border class="table" ref="multipleTable" header-cell-class-name="table-header"
|
||||
empty-text="Messages (0)">
|
||||
<el-table-column label="Base Information" width="250px">
|
||||
<el-table :data="tableData" class="table" ref="multipleTable" header-cell-class-name="table-header" empty-text="Messages (0)">
|
||||
<el-table-column :label="$t('partyListCorr.Realname')" width="300px">
|
||||
<template slot-scope="scope">
|
||||
<p class="tab_tie_col">
|
||||
<span>Realname: </span><b style="font-size: 15px;">{{scope.row.realname}}</b>
|
||||
{{ $t('partyListCorr.Realname') }}: {{ scope.row.firstname }} {{ scope.row.lastname }}
|
||||
|
||||
<span
|
||||
v-if="!scope.row.user"
|
||||
style="
|
||||
margin-left: 5px;
|
||||
border-radius: 4px;
|
||||
color: #fff;
|
||||
background-color: #909399;
|
||||
border-color: #909399;
|
||||
padding: 2px 4px;
|
||||
"
|
||||
>未注册</span
|
||||
>
|
||||
</p>
|
||||
<p class="tab_tie_col">
|
||||
<span>Email: </span>{{scope.row.email}}
|
||||
{{ $t('partyListCorr.Email') }}: <span style="color: #409eff">{{ scope.row.email }}</span>
|
||||
</p>
|
||||
<div
|
||||
|
||||
v-if="
|
||||
(scope.row.field != '' && scope.row.field != null) ||
|
||||
(scope.row.major_str != '' && scope.row.major_str != null) ||
|
||||
(scope.row.company != '' && scope.row.company != null) ||
|
||||
scope.row.user
|
||||
"
|
||||
>
|
||||
<p class="tab_tie_col" v-if="scope.row.field != '' && scope.row.field != null">
|
||||
<span>Field: </span>{{ scope.row.field }}
|
||||
</p>
|
||||
<p class="tab_tie_col" v-if="scope.row.major_str != '' && scope.row.major_str != null">
|
||||
<span>Major: </span>{{ scope.row.major_str }}
|
||||
</p>
|
||||
<p class="tab_tie_col" v-if="scope.row.company != '' && scope.row.company != null">
|
||||
<span>Affiliation: </span>{{ scope.row.company }}
|
||||
</p>
|
||||
<div v-if="scope.row.user">
|
||||
<p class="tab_tie_col">
|
||||
<span>H-WOS: </span>
|
||||
<font v-html="colorIndex(scope.row.user.wos_index, scope.row.user.wos_time)"></font>
|
||||
</p>
|
||||
<p class="tab_tie_col">
|
||||
<span>H-Google: </span>
|
||||
<font v-html="colorIndex(scope.row.user.google_index, scope.row.user.google_time)"></font>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<!-- <el-popover
|
||||
ref="popover"
|
||||
placement="right"
|
||||
trigger="hover"
|
||||
width="auto"
|
||||
v-if="
|
||||
(scope.row.field != '' && scope.row.field != null) ||
|
||||
(scope.row.major_str != '' && scope.row.major_str != null) ||
|
||||
(scope.row.company != '' && scope.row.company != null) ||
|
||||
scope.row.user
|
||||
"
|
||||
>
|
||||
<p class="tab_tie_col" v-if="scope.row.field != '' && scope.row.field != null">
|
||||
<span>Field: </span>{{ scope.row.field }}
|
||||
</p>
|
||||
<p class="tab_tie_col" v-if="scope.row.major_str != '' && scope.row.major_str != null">
|
||||
<span>Major: </span>{{ scope.row.major_str }}
|
||||
</p>
|
||||
<p class="tab_tie_col" v-if="scope.row.company != '' && scope.row.company != null">
|
||||
<span>Affiliation: </span>{{ scope.row.company }}
|
||||
</p>
|
||||
<div v-if="scope.row.user">
|
||||
<p class="tab_tie_col">
|
||||
<span>H-WOS: </span>
|
||||
<font v-html="colorIndex(scope.row.user.wos_index, scope.row.user.wos_time)"></font>
|
||||
</p>
|
||||
<p class="tab_tie_col">
|
||||
<span>H-Google: </span>
|
||||
<font v-html="colorIndex(scope.row.user.google_index, scope.row.user.google_time)"></font>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<p
|
||||
style="
|
||||
color: #006699;
|
||||
width: auto !important;
|
||||
display: inline-block;
|
||||
color: #713615;
|
||||
font-weight: 700;
|
||||
font-size: 12px;
|
||||
border: 1px solid #b15522;
|
||||
padding: 0px 4px;
|
||||
box-sizing: border-box;
|
||||
border-radius: 4px;
|
||||
"
|
||||
slot="reference"
|
||||
>
|
||||
{{ $t('partyListCorr.OtherInformation') }}
|
||||
</p>
|
||||
</el-popover> -->
|
||||
|
||||
<!-- <p class="tab_tie_col">
|
||||
<span>Title: </span>{{scope.row.technical}}
|
||||
</p>
|
||||
<p class="tab_tie_col">
|
||||
@@ -80,76 +158,117 @@
|
||||
<b style="font-size: 15px;color: #b77614;" v-if="scope.row.starList_mark>8">×
|
||||
{{scope.row.starList_mark}}</b>
|
||||
</font>
|
||||
</p>
|
||||
</p> -->
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="Other Information">
|
||||
<el-table-column :label="$t('partyListCorr.articlelist')" min-width="500" :key="Math.random()">
|
||||
<template slot-scope="scope">
|
||||
<p class="tab_tie_col" v-if="scope.row.field!=''&&scope.row.field!=null">
|
||||
<span>Field: </span>{{scope.row.field}}
|
||||
</p>
|
||||
<p class="tab_tie_col" v-if="scope.row.major_str!=''&&scope.row.major_str!=null">
|
||||
<span>Major: </span>{{scope.row.major_str}}
|
||||
</p>
|
||||
<p class="tab_tie_col" v-if="scope.row.company!=''&&scope.row.company!=null">
|
||||
<span>Affiliation: </span>{{scope.row.company}}
|
||||
</p>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="Article List" width="280" :key="Math.random()">
|
||||
<template slot-scope="scope">
|
||||
<!-- <div class="iss_vol">
|
||||
<el-popover placement="top-start" width="300" trigger="hover">
|
||||
<p class="tipck">
|
||||
<b>{{scope.row.realname}}</b>
|
||||
</p>
|
||||
<p class="tipck" style="margin: 5px 0pt;">
|
||||
<b style="letter-spacing: -0.5px;color: #006699;">25 March 2023, Volume 5 Issue
|
||||
1</b>
|
||||
</p>
|
||||
<p class="tipck" style="margin: 10px 0;word-wrap: break-word;word-break: normal;">
|
||||
{{scope.row.field}}
|
||||
</p>
|
||||
<span slot="reference">
|
||||
25 March 2023, Volume 5 Issue 1
|
||||
<div
|
||||
v-for="(item, index) in scope.row.articles"
|
||||
style="overflow: hidden"
|
||||
v-if="index <= 4"
|
||||
:style="`${
|
||||
index != 0 ? 'border-top: 1px solid #409EFF ;padding:5px 0 !important;' : 'padding:5px 0 !important'
|
||||
}`"
|
||||
>
|
||||
<span style="font-size: 700">{{ index + 1 }}. </span>
|
||||
<span style="font-size: 14px; font-weight: 700">{{ item.journal_jabbr }} :</span>
|
||||
<span v-if="item.link" style="text-decoration: underline">
|
||||
<a
|
||||
target="_blank"
|
||||
:href="item.link"
|
||||
style="
|
||||
padding: 2px 4px;
|
||||
border-radius: 2px;
|
||||
margin-left: 10px;
|
||||
font-size: 12px;
|
||||
color: #909399;
|
||||
background: #f4f4f5;
|
||||
border-color: #d3d4d6;
|
||||
float: right;
|
||||
"
|
||||
>{{ item.title
|
||||
}}<span
|
||||
style=""
|
||||
v-if="
|
||||
item.state == 0 ||
|
||||
item.state == 1 ||
|
||||
item.state == 2 ||
|
||||
item.state == 3 ||
|
||||
item.state == 4 ||
|
||||
item.state == 5 ||
|
||||
item.state == 6
|
||||
"
|
||||
>
|
||||
<!-- {{ scope.row.link ?$t('partyRole.Published') : '' }} -->
|
||||
{{ $t(`artstate.state${item.state}`) }}
|
||||
</span></a
|
||||
>
|
||||
</span>
|
||||
</el-popover>
|
||||
</div> -->
|
||||
<div class="iss_vol" v-for="(item,index) in scope.row.art_detail"
|
||||
v-if="index<scope.row.art_detail_num" @click="openActicle(item)">
|
||||
<b style="margin-right: 2px;">{{item.journal_abbr}}</b>: {{item.doi}}
|
||||
<font v-if="item.doi==''">Link</font>
|
||||
|
||||
<span v-else style="color: rgb(113 112 112)">
|
||||
{{ item.title
|
||||
}}<span
|
||||
style="
|
||||
padding: 2px 4px;
|
||||
border-radius: 2px;
|
||||
margin-left: 10px;
|
||||
font-size: 12px;
|
||||
color: #909399;
|
||||
background: #f4f4f5;
|
||||
border-color: #d3d4d6;
|
||||
float: right;
|
||||
"
|
||||
v-if="
|
||||
item.state == 0 ||
|
||||
item.state == 1 ||
|
||||
item.state == 2 ||
|
||||
item.state == 3 ||
|
||||
item.state == 4 ||
|
||||
item.state == 5 ||
|
||||
item.state == 6
|
||||
"
|
||||
>
|
||||
<!-- {{ scope.row.link ?$t('partyRole.Published') : '' }} -->
|
||||
{{ $t(`artstate.state${item.state}`) }}
|
||||
</span>
|
||||
</span>
|
||||
<!-- <b style="margin-right: 2px">{{ item.journal_abbr }}</b
|
||||
>: {{ item.doi }}
|
||||
<font v-if="item.doi == ''">Link</font> -->
|
||||
</div>
|
||||
<p class="moreShrink" v-if="scope.row.art_detail.length>5&&scope.row.art_detail_num==5"
|
||||
@click="moreShrink(scope,1)">
|
||||
<i class="el-icon-bottom"></i>
|
||||
More
|
||||
</p>
|
||||
<p class="moreShrink" v-if="scope.row.art_detail.length>5&&scope.row.art_detail_num!=5"
|
||||
@click="moreShrink(scope,0)">
|
||||
<i class="el-icon-top"></i>
|
||||
<p class="moreShrink" v-if="scope.row.articles.length > 5" @click="moreShrink(scope.row.articles)">
|
||||
<i class="el-icon-right"></i>
|
||||
More
|
||||
</p>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="Remarks" width="180">
|
||||
<template slot-scope="scope">
|
||||
{{scope.row.remark}}
|
||||
<b @click="BoxRemark(scope.row)" style="margin-left:10px;cursor: pointer;color:#006699;"
|
||||
class="el-icon-edit"></b>
|
||||
{{ scope.row.remark }}
|
||||
<b
|
||||
@click="BoxRemark(scope.row)"
|
||||
style="margin-left: 10px; cursor: pointer; color: #006699"
|
||||
class="el-icon-edit"
|
||||
></b>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="" width="105" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-button type="primary" plain icon="el-icon-edit" @click="handleDtail(scope.row)">
|
||||
Detail
|
||||
</el-button>
|
||||
<el-button v-if="scope.row.user" type="primary" plain icon="el-icon-edit" @click="handleDtail(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="link_Total" @current-change="handlePageChange"></el-pagination>
|
||||
<el-pagination
|
||||
background
|
||||
layout="total, prev, pager, next"
|
||||
:current-page="query.page"
|
||||
:page-size="query.limit"
|
||||
:total="link_Total"
|
||||
@current-change="handlePageChange"
|
||||
></el-pagination>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -157,10 +276,10 @@
|
||||
<el-dialog title="Remarks" :visible.sync="remarkBox" width="550px">
|
||||
<el-form ref="remark" :model="remarkMes" label-width="95px">
|
||||
<el-form-item label="Reviewer :">
|
||||
<p style="line-height: 20px;margin-top: 6px;">{{remarkMes.realname}}</p>
|
||||
<p style="line-height: 20px; margin-top: 6px">{{ remarkMes.realname }}</p>
|
||||
</el-form-item>
|
||||
<el-form-item label="Email :">
|
||||
<p style="line-height: 20px;margin-top: 6px;">{{remarkMes.email}}</p>
|
||||
<p style="line-height: 20px; margin-top: 6px">{{ remarkMes.email }}</p>
|
||||
</el-form-item>
|
||||
<el-form-item label="Content :">
|
||||
<el-input type="textarea" rows="5" v-model="remarkMes.remark"></el-input>
|
||||
@@ -171,65 +290,112 @@
|
||||
<el-button type="primary" @click="saveRemark">Save</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
<el-drawer :title="$t('partyListCorr.articlelist')" :visible.sync="drawer" size="50%">
|
||||
<div style="padding: 0 20px; box-sizing: border-box">
|
||||
<el-table height="90vh" row-key="article_id" style="" :data="articlesList" class="" empty-text="New Data (0)">
|
||||
<!-- <el-table-column type="index" label="No." width="45" align="center"></el-table-column> -->
|
||||
<el-table-column :label="`${$t('paperArticleCount.articleTitle')}`" width="" prop="title">
|
||||
<template slot-scope="scope">
|
||||
<span style="font-size: 700">{{ scope.$index + 1 }}. </span>
|
||||
|
||||
<span v-if="scope.row.link" style="text-decoration: underline">
|
||||
<a target="_blank" :href="scope.row.link" style="color: #006699 !important">{{ scope.row.title }}</a>
|
||||
</span>
|
||||
|
||||
<span v-else style="color: rgb(113 112 112)">
|
||||
{{ scope.row.title }}
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :label="$t('partyListCorr.journal')" prop="title" width="140">
|
||||
<template slot-scope="scope">
|
||||
<div style="color: ">{{ scope.row.journal_jabbr }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :label="$t('partyRole.status')" prop="title" width="80">
|
||||
<template slot-scope="scope">
|
||||
<div
|
||||
style=""
|
||||
v-if="
|
||||
scope.row.state == 0 ||
|
||||
scope.row.state == 1 ||
|
||||
scope.row.state == 2 ||
|
||||
scope.row.state == 3 ||
|
||||
scope.row.state == 4 ||
|
||||
scope.row.state == 5 ||
|
||||
scope.row.state == 6
|
||||
"
|
||||
>
|
||||
<!-- {{ scope.row.link ?$t('partyRole.Published') : '' }} -->
|
||||
{{ $t(`artstate.state${scope.row.state}`) }}
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
</el-drawer>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
drawer: false,
|
||||
articlesList: [],
|
||||
baseUrl: this.Common.baseUrl,
|
||||
mediaUrl: this.Common.mediaUrl,
|
||||
query: {
|
||||
journal_id: '',
|
||||
year: 0,
|
||||
// journal_id: '',
|
||||
// year: 0,
|
||||
keywords: '',
|
||||
pageIndex: 1,
|
||||
pageSize: 15,
|
||||
major: 0,
|
||||
major_a: 0,
|
||||
major_b: '',
|
||||
major_c: '',
|
||||
page: 1,
|
||||
limit: 15
|
||||
// major: 0,
|
||||
// major_a: 0,
|
||||
// major_b: '',
|
||||
// major_c: '',
|
||||
},
|
||||
edit_id: localStorage.getItem('U_id'),
|
||||
tableData: [],
|
||||
link_Total: 0,
|
||||
jourList: [],
|
||||
yearList: [{
|
||||
yearList: [
|
||||
{
|
||||
title: 'All years',
|
||||
year: 0
|
||||
}],
|
||||
}
|
||||
],
|
||||
majors_a: [],
|
||||
majors_b: [],
|
||||
majors_c: [],
|
||||
remarkMes: {
|
||||
remark: ''
|
||||
},
|
||||
remarkBox: false,
|
||||
remarkBox: false
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getJournal();
|
||||
this.initMajor()
|
||||
this.initMajor();
|
||||
},
|
||||
methods: {
|
||||
// 获取期刊列表数据
|
||||
getJournal() {
|
||||
this.$api
|
||||
.post('api/Chief/getJournalsByEditor', {
|
||||
'user_id': this.edit_id
|
||||
user_id: this.edit_id
|
||||
})
|
||||
.then(res => {
|
||||
.then((res) => {
|
||||
if (res.code == 0) {
|
||||
this.jourList = res.data.journals;
|
||||
this.query.journal_id = this.jourList[0].journal_id
|
||||
this.query.journal_id = this.jourList[0].journal_id;
|
||||
this.getData();
|
||||
} else {
|
||||
this.$message.error(res.msg);
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
.catch((err) => {
|
||||
this.$message.error(err);
|
||||
});
|
||||
|
||||
@@ -237,7 +403,7 @@
|
||||
this.yearList.push({
|
||||
title: i,
|
||||
year: i
|
||||
})
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
@@ -249,28 +415,28 @@
|
||||
background: 'rgba(0, 0, 0, 0.7)'
|
||||
});
|
||||
this.$api
|
||||
.post('api/User/getAuthorUserList', this.query)
|
||||
.then(res => {
|
||||
.post('api/User/authorDatabase', this.query)
|
||||
.then((res) => {
|
||||
if (res.code == 0) {
|
||||
this.tableData = res.data.list;
|
||||
for (var i = 0; i < this.tableData.length; i++) {
|
||||
this.getScoreData(i, this.tableData[i].score)
|
||||
if (this.tableData[i].art_detail.length > 5) {
|
||||
this.tableData[i].art_detail_num = 5
|
||||
// this.getScoreData(i, this.tableData[i].score)
|
||||
if (this.tableData[i].articles && this.tableData[i].articles.length > 5) {
|
||||
this.tableData[i].art_detail_num = 5;
|
||||
} else {
|
||||
this.tableData[i].art_detail_num = this.tableData[i].art_detail.length
|
||||
this.tableData[i].art_detail_num = this.tableData[i].articles ? this.tableData[i].articles.length : 0;
|
||||
}
|
||||
}
|
||||
this.link_Total = res.data.count || 0;
|
||||
loading.close()
|
||||
loading.close();
|
||||
} else {
|
||||
this.$message.error(res.msg);
|
||||
loading.close()
|
||||
loading.close();
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
.catch((err) => {
|
||||
this.$message.error(err);
|
||||
loading.close()
|
||||
loading.close();
|
||||
});
|
||||
},
|
||||
|
||||
@@ -281,52 +447,53 @@
|
||||
|
||||
// 文章展开收缩
|
||||
moreShrink(e, m) {
|
||||
if (m == 1) {
|
||||
this.tableData[e.$index].art_detail_num = this.tableData[e.$index].art_detail.length
|
||||
} else if (m == 0) {
|
||||
this.tableData[e.$index].art_detail_num = 5
|
||||
}
|
||||
console.log(this.tableData[e.$index])
|
||||
console.log(this.tableData[e.$index].art_detail_num)
|
||||
|
||||
this.$forceUpdate()
|
||||
this.articlesList = e;
|
||||
this.drawer = true;
|
||||
// if (m == 1) {
|
||||
// this.tableData[e.$index].art_detail_num = this.tableData[e.$index].articles.length;
|
||||
// } else if (m == 0) {
|
||||
// this.tableData[e.$index].art_detail_num = 5;
|
||||
// }
|
||||
// console.log(this.tableData[e.$index]);
|
||||
// console.log(this.tableData[e.$index].art_detail_num);
|
||||
|
||||
this.$forceUpdate();
|
||||
},
|
||||
|
||||
// 评分
|
||||
getScoreData(i, e) {
|
||||
this.tableData[i].starList = []
|
||||
this.tableData[i].starList_mark = 0
|
||||
this.tableData[i].starList = [];
|
||||
this.tableData[i].starList_mark = 0;
|
||||
if (e < 0.5 && e > 0) {
|
||||
this.tableData[i].starList.push({
|
||||
star: 2
|
||||
})
|
||||
this.tableData[i].starList_mark = 1
|
||||
});
|
||||
this.tableData[i].starList_mark = 1;
|
||||
} else {
|
||||
let zheng = Math.floor(e)
|
||||
let xiao = Number(e) - Math.floor(e)
|
||||
let zheng = Math.floor(e);
|
||||
let xiao = Number(e) - Math.floor(e);
|
||||
if (xiao >= 0.5) {
|
||||
xiao = 0.5
|
||||
xiao = 0.5;
|
||||
} else {
|
||||
xiao = 0
|
||||
xiao = 0;
|
||||
}
|
||||
for (var j = 0; j < zheng; j++) {
|
||||
this.tableData[i].starList.push({
|
||||
star: 1
|
||||
})
|
||||
});
|
||||
}
|
||||
if (xiao == 0.5) {
|
||||
this.tableData[i].starList.push({
|
||||
star: 0
|
||||
})
|
||||
});
|
||||
}
|
||||
this.tableData[i].starList_mark = Number(zheng) + Number(xiao)
|
||||
this.tableData[i].starList_mark = Number(zheng) + Number(xiao);
|
||||
}
|
||||
},
|
||||
|
||||
// 分页导航
|
||||
handlePageChange(val) {
|
||||
this.$set(this.query, 'pageIndex', val);
|
||||
this.$set(this.query, 'page', val);
|
||||
this.getData();
|
||||
},
|
||||
|
||||
@@ -335,7 +502,7 @@
|
||||
let routerJump = this.$router.resolve({
|
||||
path: '/partyRole',
|
||||
query: {
|
||||
id: e.user_id
|
||||
id: e.user.user_id
|
||||
}
|
||||
});
|
||||
window.open(routerJump.href, '_blank');
|
||||
@@ -352,9 +519,7 @@
|
||||
|
||||
// 修改标记
|
||||
saveRemark() {
|
||||
this.$api
|
||||
.post('api/User/editRemarkForUser', this.remarkMes)
|
||||
.then(res => {
|
||||
this.$api.post('api/User/editRemarkForUser', this.remarkMes).then((res) => {
|
||||
if (res.code == 0) {
|
||||
this.$message.success('Success');
|
||||
this.remarkBox = false;
|
||||
@@ -370,7 +535,8 @@
|
||||
this.$api
|
||||
.post('api/Ucenter/getMajor', {
|
||||
major_id: 1
|
||||
}).then((res) => {
|
||||
})
|
||||
.then((res) => {
|
||||
this.majors_a = res.data.major.children;
|
||||
});
|
||||
},
|
||||
@@ -381,36 +547,38 @@
|
||||
this.$api
|
||||
.post('api/Ucenter/getMajor', {
|
||||
major_id: this.query.major_a
|
||||
}).then((res) => {
|
||||
})
|
||||
.then((res) => {
|
||||
this.majors_b = res.data.major.children;
|
||||
this.majors_c = []
|
||||
this.query.major_b = ''
|
||||
this.query.major_c = ''
|
||||
this.majorChange_panduan()
|
||||
this.majors_c = [];
|
||||
this.query.major_b = '';
|
||||
this.query.major_c = '';
|
||||
this.majorChange_panduan();
|
||||
});
|
||||
} else if (e == 2 && this.query.major_b != 0) {
|
||||
this.$api
|
||||
.post('api/Ucenter/getMajor', {
|
||||
major_id: this.query.major_b
|
||||
}).then((res) => {
|
||||
})
|
||||
.then((res) => {
|
||||
this.majors_c = res.data.major.children;
|
||||
this.query.major_c = ''
|
||||
this.majorChange_panduan()
|
||||
this.query.major_c = '';
|
||||
this.majorChange_panduan();
|
||||
});
|
||||
} else {
|
||||
this.majorChange_panduan()
|
||||
this.majorChange_panduan();
|
||||
}
|
||||
},
|
||||
|
||||
majorChange_panduan() {
|
||||
if (this.query.major_c != '' || this.query.major_c != 0) {
|
||||
this.query.major = this.query.major_c
|
||||
} else if (this.query.major_b != '' || this.query.major_b != 0) {
|
||||
this.query.major = this.query.major_b
|
||||
} else {
|
||||
this.query.major = this.query.major_a
|
||||
}
|
||||
this.query.pageIndex = 1
|
||||
// if (this.query.major_c != '' || this.query.major_c != 0) {
|
||||
// this.query.major = this.query.major_c
|
||||
// } else if (this.query.major_b != '' || this.query.major_b != 0) {
|
||||
// this.query.major = this.query.major_b
|
||||
// } else {
|
||||
// this.query.major = this.query.major_a
|
||||
// }
|
||||
this.query.page = 1;
|
||||
this.getData();
|
||||
},
|
||||
|
||||
@@ -427,21 +595,29 @@
|
||||
}
|
||||
let str = '';
|
||||
if (num < 10) {
|
||||
str = '<b style="color:#cb160a">' + num +
|
||||
'</b><span style="color:#aaa;font-size:14px;margin-left:10px;">(' + time +
|
||||
')</span>'
|
||||
str =
|
||||
'<b style="color:#cb160a">' +
|
||||
num +
|
||||
'</b><span style="color:#aaa;font-size:14px;margin-left:10px;">(' +
|
||||
time +
|
||||
')</span>';
|
||||
} else if (num < 15) {
|
||||
str = '<b style="color:#cbb504">' + num +
|
||||
'</b><span style="color:#aaa;font-size:14px;margin-left:10px;">(' + time +
|
||||
')</span>'
|
||||
str =
|
||||
'<b style="color:#cbb504">' +
|
||||
num +
|
||||
'</b><span style="color:#aaa;font-size:14px;margin-left:10px;">(' +
|
||||
time +
|
||||
')</span>';
|
||||
} else {
|
||||
str = '<b style="color:#0cbc15">' + num +
|
||||
'</b><span style="color:#aaa;font-size:14px;margin-left:10px;">(' + time +
|
||||
')</span>'
|
||||
str =
|
||||
'<b style="color:#0cbc15">' +
|
||||
num +
|
||||
'</b><span style="color:#aaa;font-size:14px;margin-left:10px;">(' +
|
||||
time +
|
||||
')</span>';
|
||||
}
|
||||
if (time == 0) {
|
||||
str =
|
||||
'<b style="color:#aaa;">0</b><span style="color:#aaa;font-size:14px;margin-left:10px;">(No time)</span>'
|
||||
str = '<b style="color:#aaa;">0</b><span style="color:#aaa;font-size:14px;margin-left:10px;">(No time)</span>';
|
||||
}
|
||||
return str;
|
||||
},
|
||||
@@ -456,100 +632,97 @@
|
||||
var m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes();
|
||||
var s = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
|
||||
return Y + M + D;
|
||||
},
|
||||
}
|
||||
};
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.handle-box {
|
||||
.handle-box {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
.table {
|
||||
.table {
|
||||
width: 100%;
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
|
||||
.table-td-thumb {
|
||||
.table-td-thumb {
|
||||
display: block;
|
||||
margin: auto;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
}
|
||||
}
|
||||
|
||||
.el-table .warning-row {
|
||||
.el-table .warning-row {
|
||||
background: #f3ca7f;
|
||||
}
|
||||
}
|
||||
|
||||
.el-table .success-row {
|
||||
.el-table .success-row {
|
||||
background: #bcfc9a;
|
||||
}
|
||||
}
|
||||
|
||||
.el-table .normol-row {
|
||||
.el-table .normol-row {
|
||||
background: #d8f1c7;
|
||||
}
|
||||
}
|
||||
|
||||
.el-table .red-row {
|
||||
.el-table .red-row {
|
||||
background: #f05555;
|
||||
}
|
||||
}
|
||||
|
||||
.tab_tie_col {
|
||||
.tab_tie_col {
|
||||
margin-bottom: 5px;
|
||||
color: #333;
|
||||
word-wrap: break-word;
|
||||
word-break: normal;
|
||||
}
|
||||
}
|
||||
|
||||
.tab_tie_col>span {
|
||||
.tab_tie_col > span {
|
||||
color: #888;
|
||||
margin: 0 5px 0 0;
|
||||
font-size: 13px;
|
||||
}
|
||||
}
|
||||
|
||||
.starSty {
|
||||
.starSty {
|
||||
width: 18px;
|
||||
margin-right: 4px;
|
||||
vertical-align: text-top;
|
||||
}
|
||||
}
|
||||
|
||||
.starSty:nth-last-child(1) {
|
||||
.starSty:nth-last-child(1) {
|
||||
margin-right: 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.txt_pdf {
|
||||
.txt_pdf {
|
||||
margin: 0 0 20px 10px;
|
||||
display: inline-block;
|
||||
color: #333;
|
||||
}
|
||||
}
|
||||
|
||||
.txt_pdf>i {
|
||||
.txt_pdf > i {
|
||||
color: #66a9f0;
|
||||
font-weight: bold;
|
||||
margin-left: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.iss_vol {
|
||||
.iss_vol {
|
||||
/* color: #006699; */
|
||||
margin: 5px 0;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
.iss_vol:hover {
|
||||
.iss_vol:hover {
|
||||
cursor: pointer;
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
|
||||
.moreShrink {
|
||||
text-align: right;
|
||||
.moreShrink {
|
||||
text-align: left;
|
||||
color: #006699;
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
|
||||
.moreShrink:hover {
|
||||
.moreShrink:hover {
|
||||
cursor: pointer;
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -337,6 +337,16 @@
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :label="$t('partyRole.journal')" prop="title" width="100">
|
||||
<template slot-scope="scope">
|
||||
<el-tooltip class="item" effect="dark" :content="scope.row.journal_title
|
||||
" placement="top-start">
|
||||
<div>
|
||||
{{ scope.row.abbr }}
|
||||
</div>
|
||||
</el-tooltip>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :label="$t('partyRole.status')" prop="title" width="80">
|
||||
<template slot-scope="scope">
|
||||
<div
|
||||
|
||||
Reference in New Issue
Block a user