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

View File

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

View File

@@ -52,7 +52,6 @@
{{ $t('partyListCorr.Email') }}: <span style="color: #409eff">{{ scope.row.email }}</span> {{ $t('partyListCorr.Email') }}: <span style="color: #409eff">{{ scope.row.email }}</span>
</p> </p>
<div <div
v-if=" v-if="
(scope.row.field != '' && scope.row.field != null) || (scope.row.field != '' && scope.row.field != null) ||
(scope.row.major_str != '' && scope.row.major_str != null) || (scope.row.major_str != '' && scope.row.major_str != null) ||
@@ -78,9 +77,7 @@
<span>H-Google: </span> <span>H-Google: </span>
<font v-html="colorIndex(scope.row.user.google_index, scope.row.user.google_time)"></font> <font v-html="colorIndex(scope.row.user.google_index, scope.row.user.google_time)"></font>
</p> </p>
</div> </div>
</div> </div>
<!-- <el-popover <!-- <el-popover
ref="popover" ref="popover"
@@ -168,7 +165,9 @@
style="overflow: hidden" style="overflow: hidden"
v-if="index <= 4" v-if="index <= 4"
:style="`${ :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> <span style="font-size: 700">{{ index + 1 }}. &nbsp;&nbsp;</span>
@@ -233,6 +232,32 @@
{{ $t(`artstate.state${item.state}`) }} {{ $t(`artstate.state${item.state}`) }}
</span> </span>
</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 <!-- <b style="margin-right: 2px">{{ item.journal_abbr }}</b
>: {{ item.doi }} >: {{ item.doi }}
<font v-if="item.doi == ''">Link</font> --> <font v-if="item.doi == ''">Link</font> -->
@@ -256,7 +281,9 @@
</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 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> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@@ -290,7 +317,7 @@
<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%"> <el-drawer :title="$t('partyListCorr.articlelist')" :visible.sync="drawer" size="80%">
<div style="padding: 0 20px; box-sizing: border-box"> <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 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 type="index" label="No." width="45" align="center"></el-table-column> -->
@@ -312,6 +339,7 @@
<div style="color: ">{{ scope.row.journal_jabbr }}</div> <div style="color: ">{{ scope.row.journal_jabbr }}</div>
</template> </template>
</el-table-column> </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
@@ -331,6 +359,45 @@
</div> </div>
</template> </template>
</el-table-column> </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> </el-table>
</div> </div>
</el-drawer> </el-drawer>
@@ -341,8 +408,10 @@
export default { export default {
data() { data() {
return { return {
citeLoading: false, authorList: [],
drawer: false, drawer: false,
articlesList: [], articlesList: [],
baseUrl: this.Common.baseUrl, baseUrl: this.Common.baseUrl,
mediaUrl: this.Common.mediaUrl, mediaUrl: this.Common.mediaUrl,
query: { query: {
@@ -372,7 +441,10 @@ export default {
remarkMes: { remarkMes: {
remark: '' remark: ''
}, },
remarkBox: false remarkBox: false,
urlList: {
getInfo: 'api/User/getAuthorForArticle'
}
}; };
}, },
created() { created() {
@@ -380,6 +452,34 @@ export default {
this.initMajor(); this.initMajor();
}, },
methods: { 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() { getJournal() {
this.$api this.$api

View File

@@ -301,7 +301,7 @@
<template slot-scope="scope"> <template slot-scope="scope">
<span style="font-size: 700">{{ scope.$index + 1 }}. &nbsp;&nbsp;</span> <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">{{ <a target="_blank" :href="scope.row.link" style="color: #006699 !important">{{
scope.row.title scope.row.title
}}</a> }}</a>
@@ -339,12 +339,11 @@
</el-table-column> </el-table-column>
<el-table-column :label="$t('partyRole.journal')" prop="title" width="100"> <el-table-column :label="$t('partyRole.journal')" prop="title" width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<el-tooltip class="item" effect="dark" :content="scope.row.journal_title <el-tooltip class="item" effect="dark" :content="scope.row.journal_title" placement="top-start">
" placement="top-start"> <div>
<div> {{ scope.row.abbr }}
{{ scope.row.abbr }} </div>
</div> </el-tooltip>
</el-tooltip>
</template> </template>
</el-table-column> </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">
@@ -366,6 +365,52 @@
</div> </div>
</template> </template>
</el-table-column> </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> </el-table>
</div> </div>
<!-- <p v-if="authorTable.manuscriptNum != undefined"> <!-- <p v-if="authorTable.manuscriptNum != undefined">
@@ -768,6 +813,7 @@
export default { export default {
data() { data() {
return { return {
citeLoading: false, authorList: [],
loading: false, loading: false,
authorArticlesList: [], authorArticlesList: [],
userrole: localStorage.getItem('U_status'), userrole: localStorage.getItem('U_status'),
@@ -1019,6 +1065,33 @@ export default {
this.getDate(); this.getDate();
}, },
methods: { 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() { getSelectData() {
this.$api this.$api