This commit is contained in:
2024-09-14 11:05:43 +08:00
parent e1807241b5
commit ae6a6b52e8
4 changed files with 231 additions and 54 deletions

View File

@@ -42,49 +42,51 @@ const en = {
userManSys7: 'Blacklist',
userManSys6: 'Promotion Record',
JournalCitationAnalysis: 'Journal Citation Analysis',
Academicresourcesupervise:'Academic Resource Supervise',
publicationsupervise:'Publication Supervise',
papersubmit:'Paper Submit',
ArticlePublication:'Article Publication',
JournalCitationAnalysis:'Journal Citation Analysis',
Academicresourcesupervise: 'Academic Resource Supervise',
publicationsupervise: 'Publication Supervise',
papersubmit: 'Paper Submit',
ArticlePublication: 'Article Publication',
JournalCitationAnalysis: 'Journal Citation Analysis',
},
JournalCitationAnalysis:{
journal:'Journal',
editor:'Editor',
cite:'Cited in',
article:'Articles for',
info:'The following data is',
wos:'Wos',
all:'All references',
JournalCitationAnalysis: {
journal: 'Journal',
editor: 'Editor',
cite: 'Cited in',
article: 'Articles for',
info: 'The following data is',
wos: 'Wos',
all: 'All references',
factor: 'Factor',
},
partyRole:{
identity:'Identity',
InvestorProducer:'Investor Producer',
author:'Author',
status:'Status',
Published:'Published',journal:'Journal',
partyRole: {
identity: 'Identity',
InvestorProducer: 'Investor Producer',
author: 'Author',
status: 'Status',
Published: 'Published', journal: 'Journal',
},
paperArticleCount:{
Periodroll:'Period Roll',
article:'Articles',
articleTitle:'Article Tiltle',
articleLen:'Number Of Articles',
articleLen1:'Articles',
cite:'Cited',
relation:'Relation',
paperArticleCount: {
Periodroll: 'Period Roll',
article: 'Articles',
articleTitle: 'Article Tiltle',
articleLen: 'Number Of Articles',
articleLen1: 'Articles',
cite: 'Cited',
relation: 'Relation',
},
partyListCorr:{
Realname:'Realname',
Email:'Email',
unregistered:'unregistered',
OtherInformation:'Other Information',
articlelist: 'Article List',journal:'Journal',
partyListCorr: {
Realname: 'Realname',
Email: 'Email',
unregistered: 'unregistered',
OtherInformation: 'Other Information',
articlelist: 'Article List',
journal: 'Journal',
Authors: 'Authors',
},
sidebar: {
main: 'Personal Center',
@@ -235,9 +237,9 @@ const en = {
yearTitle: 'Total annual submission volume',
monthTitle: 'Monthly submission volume',
dataTitle: 'Submission volume',
transferQuantity:'Transfer quantity',
info:'The following data is',
loading:'LOADING',
transferQuantity: 'Transfer quantity',
info: 'The following data is',
loading: 'LOADING',
},
journalArticleTable: {
title: 'journal',

View File

@@ -72,7 +72,9 @@ const zh = {
Email: '邮箱',
unregistered:'unregistered',
OtherInformation:'其他信息',
articlelist: '文章列表',journal: '期刊',
articlelist: '文章列表',
journal: '期刊',
Authors: '作者',
},
partyRole: {
identity: '身份',

View File

@@ -52,7 +52,6 @@
{{ $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) ||
@@ -78,9 +77,7 @@
<span>H-Google: </span>
<font v-html="colorIndex(scope.row.user.google_index, scope.row.user.google_time)"></font>
</p>
</div>
</div>
</div>
<!-- <el-popover
ref="popover"
@@ -168,7 +165,9 @@
style="overflow: hidden"
v-if="index <= 4"
:style="`${
index != 0 ? 'border-top: 1px solid #409EFF ;padding:5px 0 !important;' : 'padding:5px 0 !important'
index != 0
? 'border-top: 1px solid rgb(64 158 255 / 61%) ;padding:5px 0 !important;'
: 'padding:5px 0 !important'
}`"
>
<span style="font-size: 700">{{ index + 1 }}. &nbsp;&nbsp;</span>
@@ -233,6 +232,32 @@
{{ $t(`artstate.state${item.state}`) }}
</span>
</span>
<el-popover ref="popover" placement="right" trigger="click" width="700">
<ul
style="padding: 0 0px; box-sizing: border-box; max-height: 500px; overflow-y: auto; white-space: normal"
v-loading="citeLoading"
>
<li v-for="(v, i) in authorList" style="overflow: hidden; margin-bottom: 5px">
<div style="color: #7a2702; margin-right: 10px; float: left">{{ i + 1 }} .</div>
<div style="float: left; width: calc(100% - 100px)">
<p class="tab_tie_col">
{{ v.firstname }}&nbsp;{{ v.lastname }}
<span
>( {{ $t('partyListCorr.Email') }}: <span style="color: #409eff">{{ v.email }}</span
>)</span
>
</p>
</div>
</li>
</ul>
<span slot="reference" style="float: right" @click="getAuthorList(item.article_id)">{{
$t('partyListCorr.Authors')
}}</span>
</el-popover>
<!-- <b style="margin-right: 2px">{{ item.journal_abbr }}</b
>: {{ item.doi }}
<font v-if="item.doi == ''">Link</font> -->
@@ -256,7 +281,9 @@
</el-table-column>
<el-table-column label="" width="105" align="center">
<template slot-scope="scope">
<el-button v-if="scope.row.user" 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>
@@ -290,7 +317,7 @@
<el-button type="primary" @click="saveRemark">Save</el-button>
</span>
</el-dialog>
<el-drawer :title="$t('partyListCorr.articlelist')" :visible.sync="drawer" size="50%">
<el-drawer :title="$t('partyListCorr.articlelist')" :visible.sync="drawer" size="80%">
<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> -->
@@ -312,6 +339,7 @@
<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
@@ -331,6 +359,45 @@
</div>
</template>
</el-table-column>
<el-table-column label="" prop="title" width="100">
<template slot-scope="scope">
<el-popover ref="popover" placement="right" trigger="click" width="700">
<ul
style="padding: 0 0px; box-sizing: border-box; max-height: 500px; overflow-y: auto; white-space: normal"
v-loading="citeLoading"
>
<li v-for="(v, i) in authorList" style="overflow: hidden; margin-bottom: 5px">
<div style="color: #7a2702; margin-right: 10px; float: left">{{ i + 1 }} .</div>
<div style="float: left; width: calc(100% - 100px)">
<p class="tab_tie_col">
{{ v.firstname }}&nbsp;{{ v.lastname }}
<span
>( {{ $t('partyListCorr.Email') }}: <span style="color: #409eff">{{ v.email }}</span
>)</span
>
</p>
</div>
</li>
</ul>
<span
slot="reference"
@click="getAuthorList(scope.row.article_id)"
style="
color: #006699;
background: #ecf5ff;
border: 1px solid #b3d8ff;
padding: 4px;
border-radius: 4px;
margin-top: 10px;
"
><i class="el-icon-user-solid" style="margin-right: 5px; color: #006699"></i
>{{ $t('partyListCorr.Authors') }}</span
>
</el-popover>
</template>
</el-table-column>
</el-table>
</div>
</el-drawer>
@@ -341,8 +408,10 @@
export default {
data() {
return {
citeLoading: false, authorList: [],
drawer: false,
articlesList: [],
baseUrl: this.Common.baseUrl,
mediaUrl: this.Common.mediaUrl,
query: {
@@ -372,7 +441,10 @@ export default {
remarkMes: {
remark: ''
},
remarkBox: false
remarkBox: false,
urlList: {
getInfo: 'api/User/getAuthorForArticle'
}
};
},
created() {
@@ -380,6 +452,34 @@ export default {
this.initMajor();
},
methods: {
async getAuthorList(id) {
var that = this;
this.authorList = [];
this.citeLoading = true;
await this.$api
.post('api/User/getAuthorForArticle', {
article_id: id
})
.then(async (res) => {
if (res.code == 0) {
this.authorList = res.data.list;
this.citeLoading = false;
setTimeout(() => {
that.$nextTick(() => {
that.$refs.popover.updatePopper();
});
}, 100);
} else {
this.$message.error(res.msg);
this.citeLoading = false;
}
})
.catch((err) => {
this.$message.error(err);
this.citeLoading = false;
});
},
// 获取期刊列表数据
getJournal() {
this.$api

View File

@@ -301,7 +301,7 @@
<template slot-scope="scope">
<span style="font-size: 700">{{ scope.$index + 1 }}. &nbsp;&nbsp;</span>
<span v-if="scope.row.link" style=" text-decoration: underline; ">
<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>
@@ -339,12 +339,11 @@
</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>
<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">
@@ -366,6 +365,52 @@
</div>
</template>
</el-table-column>
<el-table-column label="" prop="title" width="100">
<template slot-scope="scope">
<el-popover ref="popover" placement="right" trigger="click" width="700">
<ul
style="
padding: 0 0px;
box-sizing: border-box;
max-height: 500px;
overflow-y: auto;
white-space: normal;
"
v-loading="citeLoading"
>
<li v-for="(v, i) in authorList" style="overflow: hidden; margin-bottom: 5px">
<div style="color: #7a2702; margin-right: 10px; float: left">{{ i + 1 }} .</div>
<div style="float: left; width: calc(100% - 100px)">
<p class="tab_tie_col">
{{ v.firstname }}&nbsp;{{ v.lastname }}
<span
>( {{ $t('partyListCorr.Email') }}:
<span style="color: #409eff">{{ v.email }}</span
>)</span
>
</p>
</div>
</li>
</ul>
<span
slot="reference"
@click="getAuthorList(scope.row.article_id)"
style="
color: #006699;
background: #ecf5ff;
border: 1px solid #b3d8ff;
padding: 4px;
border-radius: 4px;
margin-top: 10px;
"
><i class="el-icon-user-solid" style="margin-right: 5px; color: #006699"></i
>{{ $t('partyListCorr.Authors') }}</span
>
</el-popover>
</template>
</el-table-column>
</el-table>
</div>
<!-- <p v-if="authorTable.manuscriptNum != undefined">
@@ -768,6 +813,7 @@
export default {
data() {
return {
citeLoading: false, authorList: [],
loading: false,
authorArticlesList: [],
userrole: localStorage.getItem('U_status'),
@@ -1019,6 +1065,33 @@ export default {
this.getDate();
},
methods: {
async getAuthorList(id) {
var that = this;
this.authorList = [];
this.citeLoading = true;
await this.$api
.post('api/User/getAuthorForArticle', {
article_id: id
})
.then(async (res) => {
if (res.code == 0) {
this.authorList = res.data.list;
this.citeLoading = false;
setTimeout(() => {
that.$nextTick(() => {
that.$refs.popover.updatePopper();
});
}, 100);
} else {
this.$message.error(res.msg);
this.citeLoading = false;
}
})
.catch((err) => {
this.$message.error(err);
this.citeLoading = false;
});
},
// 获取下拉列表
getSelectData() {
this.$api