作者库
This commit is contained in:
@@ -65,7 +65,7 @@ const en = {
|
|||||||
InvestorProducer:'Investor Producer',
|
InvestorProducer:'Investor Producer',
|
||||||
author:'Author',
|
author:'Author',
|
||||||
status:'Status',
|
status:'Status',
|
||||||
Published:'Published',
|
Published:'Published',journal:'Journal',
|
||||||
},
|
},
|
||||||
paperArticleCount:{
|
paperArticleCount:{
|
||||||
Periodroll:'Period Roll',
|
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: {
|
sidebar: {
|
||||||
main: 'Personal Center',
|
main: 'Personal Center',
|
||||||
author: 'Author',
|
author: 'Author',
|
||||||
|
|||||||
@@ -67,13 +67,19 @@ const zh = {
|
|||||||
cite: '引用',
|
cite: '引用',
|
||||||
relation: '关联',
|
relation: '关联',
|
||||||
|
|
||||||
|
}, partyListCorr: {
|
||||||
|
Realname: '姓名',
|
||||||
|
Email: '邮箱',
|
||||||
|
unregistered:'unregistered',
|
||||||
|
OtherInformation:'其他信息',
|
||||||
|
articlelist: '文章列表',journal: '期刊',
|
||||||
},
|
},
|
||||||
partyRole: {
|
partyRole: {
|
||||||
identity: '身份',
|
identity: '身份',
|
||||||
InvestorProducer: '投稿者',
|
InvestorProducer: '投稿者',
|
||||||
author: '作者',
|
author: '作者',
|
||||||
status: '状态',
|
status: '状态',
|
||||||
Published:'已发表',
|
Published: '已发表',journal:'Journal',
|
||||||
},
|
},
|
||||||
sidebar: {
|
sidebar: {
|
||||||
main: '个人中心',
|
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>
|
||||||
<div class="crumbs">
|
<div class="crumbs">
|
||||||
<el-breadcrumb separator="/">
|
<el-breadcrumb separator="/">
|
||||||
<el-breadcrumb-item>
|
<el-breadcrumb-item> <i class="el-icon-user"></i> Author Database </el-breadcrumb-item>
|
||||||
<i class="el-icon-user"></i> Author Database
|
|
||||||
</el-breadcrumb-item>
|
|
||||||
</el-breadcrumb>
|
</el-breadcrumb>
|
||||||
</div>
|
</div>
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="handle-box">
|
<div class="handle-box">
|
||||||
<el-select v-model="query.journal_id" placeholder="Please select a journal"
|
<!-- <el-select
|
||||||
@change="query.pageIndex = 1;getData()">
|
v-model="query.journal_id"
|
||||||
<el-option v-for="item in jourList" :label="item.title" :key="item.journal_id"
|
placeholder="Please select a journal"
|
||||||
:value="item.journal_id"></el-option>
|
@change="
|
||||||
</el-select>
|
query.pageIndex = 1;
|
||||||
<el-select v-model="query.year" placeholder="Please select a year"
|
getData();
|
||||||
@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-option v-for="item in jourList" :label="item.title" :key="item.journal_id" :value="item.journal_id"></el-option>
|
||||||
</el-select>
|
</el-select> -->
|
||||||
<el-input v-model="query.keywords" placeholder="Account / Realname / Email"
|
|
||||||
style="width: 240px;margin: 0 15px;">
|
<el-input v-model="query.keywords" placeholder="Email" style="width: 240px; margin: 0 15px 0 0"> </el-input>
|
||||||
</el-input>
|
<el-button
|
||||||
<el-button type="primary" icon="el-icon-search" @click="query.pageIndex = 1;getData()">Search
|
type="primary"
|
||||||
|
icon="el-icon-search"
|
||||||
|
@click="
|
||||||
|
query.page = 1;
|
||||||
|
getData();
|
||||||
|
"
|
||||||
|
>Search
|
||||||
</el-button>
|
</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>
|
</div>
|
||||||
<el-table :data="tableData" border class="table" ref="multipleTable" header-cell-class-name="table-header"
|
<el-table :data="tableData" class="table" ref="multipleTable" header-cell-class-name="table-header" empty-text="Messages (0)">
|
||||||
empty-text="Messages (0)">
|
<el-table-column :label="$t('partyListCorr.Realname')" width="300px">
|
||||||
<el-table-column label="Base Information" width="250px">
|
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<p class="tab_tie_col">
|
<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>
|
||||||
<p class="tab_tie_col">
|
<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>
|
||||||
<p class="tab_tie_col">
|
<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}}
|
<span>Title: </span>{{scope.row.technical}}
|
||||||
</p>
|
</p>
|
||||||
<p class="tab_tie_col">
|
<p class="tab_tie_col">
|
||||||
@@ -80,76 +158,117 @@
|
|||||||
<b style="font-size: 15px;color: #b77614;" v-if="scope.row.starList_mark>8">×
|
<b style="font-size: 15px;color: #b77614;" v-if="scope.row.starList_mark>8">×
|
||||||
{{scope.row.starList_mark}}</b>
|
{{scope.row.starList_mark}}</b>
|
||||||
</font>
|
</font>
|
||||||
</p>
|
</p> -->
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</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">
|
<template slot-scope="scope">
|
||||||
<p class="tab_tie_col" v-if="scope.row.field!=''&&scope.row.field!=null">
|
<div
|
||||||
<span>Field: </span>{{scope.row.field}}
|
v-for="(item, index) in scope.row.articles"
|
||||||
</p>
|
style="overflow: hidden"
|
||||||
<p class="tab_tie_col" v-if="scope.row.major_str!=''&&scope.row.major_str!=null">
|
v-if="index <= 4"
|
||||||
<span>Major: </span>{{scope.row.major_str}}
|
:style="`${
|
||||||
</p>
|
index != 0 ? 'border-top: 1px solid #409EFF ;padding:5px 0 !important;' : 'padding:5px 0 !important'
|
||||||
<p class="tab_tie_col" v-if="scope.row.company!=''&&scope.row.company!=null">
|
}`"
|
||||||
<span>Affiliation: </span>{{scope.row.company}}
|
>
|
||||||
</p>
|
<span style="font-size: 700">{{ index + 1 }}. </span>
|
||||||
</template>
|
<span style="font-size: 14px; font-weight: 700">{{ item.journal_jabbr }} :</span>
|
||||||
</el-table-column>
|
<span v-if="item.link" style="text-decoration: underline">
|
||||||
<el-table-column label="Article List" width="280" :key="Math.random()">
|
<a
|
||||||
<template slot-scope="scope">
|
target="_blank"
|
||||||
<!-- <div class="iss_vol">
|
:href="item.link"
|
||||||
<el-popover placement="top-start" width="300" trigger="hover">
|
style="
|
||||||
<p class="tipck">
|
padding: 2px 4px;
|
||||||
<b>{{scope.row.realname}}</b>
|
border-radius: 2px;
|
||||||
</p>
|
margin-left: 10px;
|
||||||
<p class="tipck" style="margin: 5px 0pt;">
|
font-size: 12px;
|
||||||
<b style="letter-spacing: -0.5px;color: #006699;">25 March 2023, Volume 5 Issue
|
color: #909399;
|
||||||
1</b>
|
background: #f4f4f5;
|
||||||
</p>
|
border-color: #d3d4d6;
|
||||||
<p class="tipck" style="margin: 10px 0;word-wrap: break-word;word-break: normal;">
|
float: right;
|
||||||
{{scope.row.field}}
|
"
|
||||||
</p>
|
>{{ item.title
|
||||||
<span slot="reference">
|
}}<span
|
||||||
25 March 2023, Volume 5 Issue 1
|
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>
|
</span>
|
||||||
</el-popover>
|
|
||||||
</div> -->
|
<span v-else style="color: rgb(113 112 112)">
|
||||||
<div class="iss_vol" v-for="(item,index) in scope.row.art_detail"
|
{{ item.title
|
||||||
v-if="index<scope.row.art_detail_num" @click="openActicle(item)">
|
}}<span
|
||||||
<b style="margin-right: 2px;">{{item.journal_abbr}}</b>: {{item.doi}}
|
style="
|
||||||
<font v-if="item.doi==''">Link</font>
|
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>
|
</div>
|
||||||
<p class="moreShrink" v-if="scope.row.art_detail.length>5&&scope.row.art_detail_num==5"
|
<p class="moreShrink" v-if="scope.row.articles.length > 5" @click="moreShrink(scope.row.articles)">
|
||||||
@click="moreShrink(scope,1)">
|
<i class="el-icon-right"></i>
|
||||||
<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
|
More
|
||||||
</p>
|
</p>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
||||||
<el-table-column label="Remarks" width="180">
|
<el-table-column label="Remarks" width="180">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{ scope.row.remark }}
|
{{ scope.row.remark }}
|
||||||
<b @click="BoxRemark(scope.row)" style="margin-left:10px;cursor: pointer;color:#006699;"
|
<b
|
||||||
class="el-icon-edit"></b>
|
@click="BoxRemark(scope.row)"
|
||||||
|
style="margin-left: 10px; cursor: pointer; color: #006699"
|
||||||
|
class="el-icon-edit"
|
||||||
|
></b>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="" width="105" align="center">
|
<el-table-column label="" width="105" align="center">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button type="primary" plain icon="el-icon-edit" @click="handleDtail(scope.row)">
|
<el-button v-if="scope.row.user" type="primary" plain icon="el-icon-edit" @click="handleDtail(scope.row)"> Detail </el-button>
|
||||||
Detail
|
|
||||||
</el-button>
|
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
<div class="pagination">
|
<div class="pagination">
|
||||||
<el-pagination background layout="total, prev, pager, next" :current-page="query.pageIndex"
|
<el-pagination
|
||||||
:page-size="query.pageSize" :total="link_Total" @current-change="handlePageChange"></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>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -157,10 +276,10 @@
|
|||||||
<el-dialog title="Remarks" :visible.sync="remarkBox" width="550px">
|
<el-dialog title="Remarks" :visible.sync="remarkBox" width="550px">
|
||||||
<el-form ref="remark" :model="remarkMes" label-width="95px">
|
<el-form ref="remark" :model="remarkMes" label-width="95px">
|
||||||
<el-form-item label="Reviewer :">
|
<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>
|
||||||
<el-form-item label="Email :">
|
<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>
|
||||||
<el-form-item label="Content :">
|
<el-form-item label="Content :">
|
||||||
<el-input type="textarea" rows="5" v-model="remarkMes.remark"></el-input>
|
<el-input type="textarea" rows="5" v-model="remarkMes.remark"></el-input>
|
||||||
@@ -171,7 +290,50 @@
|
|||||||
<el-button type="primary" @click="saveRemark">Save</el-button>
|
<el-button type="primary" @click="saveRemark">Save</el-button>
|
||||||
</span>
|
</span>
|
||||||
</el-dialog>
|
</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>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -179,57 +341,61 @@
|
|||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
drawer: false,
|
||||||
|
articlesList: [],
|
||||||
baseUrl: this.Common.baseUrl,
|
baseUrl: this.Common.baseUrl,
|
||||||
mediaUrl: this.Common.mediaUrl,
|
mediaUrl: this.Common.mediaUrl,
|
||||||
query: {
|
query: {
|
||||||
journal_id: '',
|
// journal_id: '',
|
||||||
year: 0,
|
// year: 0,
|
||||||
keywords: '',
|
keywords: '',
|
||||||
pageIndex: 1,
|
page: 1,
|
||||||
pageSize: 15,
|
limit: 15
|
||||||
major: 0,
|
// major: 0,
|
||||||
major_a: 0,
|
// major_a: 0,
|
||||||
major_b: '',
|
// major_b: '',
|
||||||
major_c: '',
|
// major_c: '',
|
||||||
},
|
},
|
||||||
edit_id: localStorage.getItem('U_id'),
|
edit_id: localStorage.getItem('U_id'),
|
||||||
tableData: [],
|
tableData: [],
|
||||||
link_Total: 0,
|
link_Total: 0,
|
||||||
jourList: [],
|
jourList: [],
|
||||||
yearList: [{
|
yearList: [
|
||||||
|
{
|
||||||
title: 'All years',
|
title: 'All years',
|
||||||
year: 0
|
year: 0
|
||||||
}],
|
}
|
||||||
|
],
|
||||||
majors_a: [],
|
majors_a: [],
|
||||||
majors_b: [],
|
majors_b: [],
|
||||||
majors_c: [],
|
majors_c: [],
|
||||||
remarkMes: {
|
remarkMes: {
|
||||||
remark: ''
|
remark: ''
|
||||||
},
|
},
|
||||||
remarkBox: false,
|
remarkBox: false
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.getJournal();
|
this.getJournal();
|
||||||
this.initMajor()
|
this.initMajor();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
// 获取期刊列表数据
|
// 获取期刊列表数据
|
||||||
getJournal() {
|
getJournal() {
|
||||||
this.$api
|
this.$api
|
||||||
.post('api/Chief/getJournalsByEditor', {
|
.post('api/Chief/getJournalsByEditor', {
|
||||||
'user_id': this.edit_id
|
user_id: this.edit_id
|
||||||
})
|
})
|
||||||
.then(res => {
|
.then((res) => {
|
||||||
if (res.code == 0) {
|
if (res.code == 0) {
|
||||||
this.jourList = res.data.journals;
|
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();
|
this.getData();
|
||||||
} else {
|
} else {
|
||||||
this.$message.error(res.msg);
|
this.$message.error(res.msg);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch(err => {
|
.catch((err) => {
|
||||||
this.$message.error(err);
|
this.$message.error(err);
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -237,7 +403,7 @@
|
|||||||
this.yearList.push({
|
this.yearList.push({
|
||||||
title: i,
|
title: i,
|
||||||
year: i
|
year: i
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -249,28 +415,28 @@
|
|||||||
background: 'rgba(0, 0, 0, 0.7)'
|
background: 'rgba(0, 0, 0, 0.7)'
|
||||||
});
|
});
|
||||||
this.$api
|
this.$api
|
||||||
.post('api/User/getAuthorUserList', this.query)
|
.post('api/User/authorDatabase', this.query)
|
||||||
.then(res => {
|
.then((res) => {
|
||||||
if (res.code == 0) {
|
if (res.code == 0) {
|
||||||
this.tableData = res.data.list;
|
this.tableData = res.data.list;
|
||||||
for (var i = 0; i < this.tableData.length; i++) {
|
for (var i = 0; i < this.tableData.length; i++) {
|
||||||
this.getScoreData(i, this.tableData[i].score)
|
// this.getScoreData(i, this.tableData[i].score)
|
||||||
if (this.tableData[i].art_detail.length > 5) {
|
if (this.tableData[i].articles && this.tableData[i].articles.length > 5) {
|
||||||
this.tableData[i].art_detail_num = 5
|
this.tableData[i].art_detail_num = 5;
|
||||||
} else {
|
} 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;
|
this.link_Total = res.data.count || 0;
|
||||||
loading.close()
|
loading.close();
|
||||||
} else {
|
} else {
|
||||||
this.$message.error(res.msg);
|
this.$message.error(res.msg);
|
||||||
loading.close()
|
loading.close();
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch(err => {
|
.catch((err) => {
|
||||||
this.$message.error(err);
|
this.$message.error(err);
|
||||||
loading.close()
|
loading.close();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -281,52 +447,53 @@
|
|||||||
|
|
||||||
// 文章展开收缩
|
// 文章展开收缩
|
||||||
moreShrink(e, m) {
|
moreShrink(e, m) {
|
||||||
if (m == 1) {
|
this.articlesList = e;
|
||||||
this.tableData[e.$index].art_detail_num = this.tableData[e.$index].art_detail.length
|
this.drawer = true;
|
||||||
} else if (m == 0) {
|
// if (m == 1) {
|
||||||
this.tableData[e.$index].art_detail_num = 5
|
// this.tableData[e.$index].art_detail_num = this.tableData[e.$index].articles.length;
|
||||||
}
|
// } else if (m == 0) {
|
||||||
console.log(this.tableData[e.$index])
|
// this.tableData[e.$index].art_detail_num = 5;
|
||||||
console.log(this.tableData[e.$index].art_detail_num)
|
// }
|
||||||
|
// console.log(this.tableData[e.$index]);
|
||||||
this.$forceUpdate()
|
// console.log(this.tableData[e.$index].art_detail_num);
|
||||||
|
|
||||||
|
this.$forceUpdate();
|
||||||
},
|
},
|
||||||
|
|
||||||
// 评分
|
// 评分
|
||||||
getScoreData(i, e) {
|
getScoreData(i, e) {
|
||||||
this.tableData[i].starList = []
|
this.tableData[i].starList = [];
|
||||||
this.tableData[i].starList_mark = 0
|
this.tableData[i].starList_mark = 0;
|
||||||
if (e < 0.5 && e > 0) {
|
if (e < 0.5 && e > 0) {
|
||||||
this.tableData[i].starList.push({
|
this.tableData[i].starList.push({
|
||||||
star: 2
|
star: 2
|
||||||
})
|
});
|
||||||
this.tableData[i].starList_mark = 1
|
this.tableData[i].starList_mark = 1;
|
||||||
} else {
|
} else {
|
||||||
let zheng = Math.floor(e)
|
let zheng = Math.floor(e);
|
||||||
let xiao = Number(e) - Math.floor(e)
|
let xiao = Number(e) - Math.floor(e);
|
||||||
if (xiao >= 0.5) {
|
if (xiao >= 0.5) {
|
||||||
xiao = 0.5
|
xiao = 0.5;
|
||||||
} else {
|
} else {
|
||||||
xiao = 0
|
xiao = 0;
|
||||||
}
|
}
|
||||||
for (var j = 0; j < zheng; j++) {
|
for (var j = 0; j < zheng; j++) {
|
||||||
this.tableData[i].starList.push({
|
this.tableData[i].starList.push({
|
||||||
star: 1
|
star: 1
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
if (xiao == 0.5) {
|
if (xiao == 0.5) {
|
||||||
this.tableData[i].starList.push({
|
this.tableData[i].starList.push({
|
||||||
star: 0
|
star: 0
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
this.tableData[i].starList_mark = Number(zheng) + Number(xiao)
|
this.tableData[i].starList_mark = Number(zheng) + Number(xiao);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
// 分页导航
|
// 分页导航
|
||||||
handlePageChange(val) {
|
handlePageChange(val) {
|
||||||
this.$set(this.query, 'pageIndex', val);
|
this.$set(this.query, 'page', val);
|
||||||
this.getData();
|
this.getData();
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -335,7 +502,7 @@
|
|||||||
let routerJump = this.$router.resolve({
|
let routerJump = this.$router.resolve({
|
||||||
path: '/partyRole',
|
path: '/partyRole',
|
||||||
query: {
|
query: {
|
||||||
id: e.user_id
|
id: e.user.user_id
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
window.open(routerJump.href, '_blank');
|
window.open(routerJump.href, '_blank');
|
||||||
@@ -352,9 +519,7 @@
|
|||||||
|
|
||||||
// 修改标记
|
// 修改标记
|
||||||
saveRemark() {
|
saveRemark() {
|
||||||
this.$api
|
this.$api.post('api/User/editRemarkForUser', this.remarkMes).then((res) => {
|
||||||
.post('api/User/editRemarkForUser', this.remarkMes)
|
|
||||||
.then(res => {
|
|
||||||
if (res.code == 0) {
|
if (res.code == 0) {
|
||||||
this.$message.success('Success');
|
this.$message.success('Success');
|
||||||
this.remarkBox = false;
|
this.remarkBox = false;
|
||||||
@@ -370,7 +535,8 @@
|
|||||||
this.$api
|
this.$api
|
||||||
.post('api/Ucenter/getMajor', {
|
.post('api/Ucenter/getMajor', {
|
||||||
major_id: 1
|
major_id: 1
|
||||||
}).then((res) => {
|
})
|
||||||
|
.then((res) => {
|
||||||
this.majors_a = res.data.major.children;
|
this.majors_a = res.data.major.children;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
@@ -381,36 +547,38 @@
|
|||||||
this.$api
|
this.$api
|
||||||
.post('api/Ucenter/getMajor', {
|
.post('api/Ucenter/getMajor', {
|
||||||
major_id: this.query.major_a
|
major_id: this.query.major_a
|
||||||
}).then((res) => {
|
})
|
||||||
|
.then((res) => {
|
||||||
this.majors_b = res.data.major.children;
|
this.majors_b = res.data.major.children;
|
||||||
this.majors_c = []
|
this.majors_c = [];
|
||||||
this.query.major_b = ''
|
this.query.major_b = '';
|
||||||
this.query.major_c = ''
|
this.query.major_c = '';
|
||||||
this.majorChange_panduan()
|
this.majorChange_panduan();
|
||||||
});
|
});
|
||||||
} else if (e == 2 && this.query.major_b != 0) {
|
} else if (e == 2 && this.query.major_b != 0) {
|
||||||
this.$api
|
this.$api
|
||||||
.post('api/Ucenter/getMajor', {
|
.post('api/Ucenter/getMajor', {
|
||||||
major_id: this.query.major_b
|
major_id: this.query.major_b
|
||||||
}).then((res) => {
|
})
|
||||||
|
.then((res) => {
|
||||||
this.majors_c = res.data.major.children;
|
this.majors_c = res.data.major.children;
|
||||||
this.query.major_c = ''
|
this.query.major_c = '';
|
||||||
this.majorChange_panduan()
|
this.majorChange_panduan();
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
this.majorChange_panduan()
|
this.majorChange_panduan();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
majorChange_panduan() {
|
majorChange_panduan() {
|
||||||
if (this.query.major_c != '' || this.query.major_c != 0) {
|
// if (this.query.major_c != '' || this.query.major_c != 0) {
|
||||||
this.query.major = this.query.major_c
|
// this.query.major = this.query.major_c
|
||||||
} else if (this.query.major_b != '' || this.query.major_b != 0) {
|
// } else if (this.query.major_b != '' || this.query.major_b != 0) {
|
||||||
this.query.major = this.query.major_b
|
// this.query.major = this.query.major_b
|
||||||
} else {
|
// } else {
|
||||||
this.query.major = this.query.major_a
|
// this.query.major = this.query.major_a
|
||||||
}
|
// }
|
||||||
this.query.pageIndex = 1
|
this.query.page = 1;
|
||||||
this.getData();
|
this.getData();
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -427,21 +595,29 @@
|
|||||||
}
|
}
|
||||||
let str = '';
|
let str = '';
|
||||||
if (num < 10) {
|
if (num < 10) {
|
||||||
str = '<b style="color:#cb160a">' + num +
|
str =
|
||||||
'</b><span style="color:#aaa;font-size:14px;margin-left:10px;">(' + time +
|
'<b style="color:#cb160a">' +
|
||||||
')</span>'
|
num +
|
||||||
|
'</b><span style="color:#aaa;font-size:14px;margin-left:10px;">(' +
|
||||||
|
time +
|
||||||
|
')</span>';
|
||||||
} else if (num < 15) {
|
} else if (num < 15) {
|
||||||
str = '<b style="color:#cbb504">' + num +
|
str =
|
||||||
'</b><span style="color:#aaa;font-size:14px;margin-left:10px;">(' + time +
|
'<b style="color:#cbb504">' +
|
||||||
')</span>'
|
num +
|
||||||
|
'</b><span style="color:#aaa;font-size:14px;margin-left:10px;">(' +
|
||||||
|
time +
|
||||||
|
')</span>';
|
||||||
} else {
|
} else {
|
||||||
str = '<b style="color:#0cbc15">' + num +
|
str =
|
||||||
'</b><span style="color:#aaa;font-size:14px;margin-left:10px;">(' + time +
|
'<b style="color:#0cbc15">' +
|
||||||
')</span>'
|
num +
|
||||||
|
'</b><span style="color:#aaa;font-size:14px;margin-left:10px;">(' +
|
||||||
|
time +
|
||||||
|
')</span>';
|
||||||
}
|
}
|
||||||
if (time == 0) {
|
if (time == 0) {
|
||||||
str =
|
str = '<b style="color:#aaa;">0</b><span style="color:#aaa;font-size:14px;margin-left:10px;">(No time)</span>';
|
||||||
'<b style="color:#aaa;">0</b><span style="color:#aaa;font-size:14px;margin-left:10px;">(No time)</span>'
|
|
||||||
}
|
}
|
||||||
return str;
|
return str;
|
||||||
},
|
},
|
||||||
@@ -456,7 +632,7 @@
|
|||||||
var m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes();
|
var m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes();
|
||||||
var s = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
|
var s = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
|
||||||
return Y + M + D;
|
return Y + M + D;
|
||||||
},
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
@@ -517,7 +693,6 @@
|
|||||||
margin-right: 0;
|
margin-right: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.txt_pdf {
|
.txt_pdf {
|
||||||
margin: 0 0 20px 10px;
|
margin: 0 0 20px 10px;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
@@ -533,8 +708,6 @@
|
|||||||
.iss_vol {
|
.iss_vol {
|
||||||
/* color: #006699; */
|
/* color: #006699; */
|
||||||
margin: 5px 0;
|
margin: 5px 0;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.iss_vol:hover {
|
.iss_vol:hover {
|
||||||
@@ -543,7 +716,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.moreShrink {
|
.moreShrink {
|
||||||
text-align: right;
|
text-align: left;
|
||||||
color: #006699;
|
color: #006699;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -337,6 +337,16 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</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">
|
<el-table-column :label="$t('partyRole.status')" prop="title" width="80">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<div
|
<div
|
||||||
|
|||||||
Reference in New Issue
Block a user