总监
This commit is contained in:
@@ -119,29 +119,7 @@
|
|||||||
</el-submenu>
|
</el-submenu>
|
||||||
</template>
|
</template>
|
||||||
<!-- 超管:总经理+总监 -->
|
<!-- 超管:总经理+总监 -->
|
||||||
<template v-if="this.user_cap.includes('superadmin')">
|
|
||||||
<el-submenu index="12">
|
|
||||||
<template slot="title"> <i class="el-icon-s-operation"></i> {{ $t('sidebar.managingDirector') }} </template>
|
|
||||||
<!-- <el-menu-item index="youthed">
|
|
||||||
{{$t('sidebar.you_thed1')}}
|
|
||||||
</el-menu-item> -->
|
|
||||||
</el-submenu>
|
|
||||||
<el-submenu index="13">
|
|
||||||
<template slot="title"> <i class="el-icon-s-platform"></i> {{ $t('sidebar.chiefInspector') }} </template>
|
|
||||||
<el-menu-item index="editorialBoard">
|
|
||||||
{{ $t('sidebar.editorialBoard1') }}
|
|
||||||
</el-menu-item>
|
|
||||||
<el-menu-item index="superYoungScientistManagement">
|
|
||||||
{{ $t('sidebar.editorialBoard2') }}
|
|
||||||
</el-menu-item>
|
|
||||||
<el-menu-item index="superJournalsManagement">
|
|
||||||
{{ $t('sidebar.editorialBoard3') }}
|
|
||||||
</el-menu-item>
|
|
||||||
<el-menu-item index="journalArticleCount">
|
|
||||||
{{ $t('sidebar.journalArticleCount') }}
|
|
||||||
</el-menu-item>
|
|
||||||
</el-submenu>
|
|
||||||
</template>
|
|
||||||
<!-- 主编/总监统计图 -->
|
<!-- 主编/总监统计图 -->
|
||||||
<template v-if="this.userrole == 0">
|
<template v-if="this.userrole == 0">
|
||||||
<el-submenu index="8">
|
<el-submenu index="8">
|
||||||
@@ -308,27 +286,24 @@ export default {
|
|||||||
{
|
{
|
||||||
index: 'partyListPot',
|
index: 'partyListPot',
|
||||||
title: this.$t('menu.userManSys13')
|
title: this.$t('menu.userManSys13')
|
||||||
},
|
}
|
||||||
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
index: 'partyDelete',
|
index: 'partyDelete',
|
||||||
title: this.$t('menu.userManSys7')
|
title: this.$t('menu.userManSys7')
|
||||||
},
|
}
|
||||||
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
index: 'disseMRecord',
|
index: 'disseMRecord',
|
||||||
title: this.$t('menu.userManSys6')
|
title: this.$t('menu.userManSys6')
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
//论文出版监督
|
//论文出版监督
|
||||||
icon: 'el-icon-lx-copy',
|
icon: 'el-icon-lx-copy',
|
||||||
index: 'JournalCitationAnalysis',
|
index: 'JournalCitationAnalysis',
|
||||||
title: this.$t('menu.JournalCitationAnalysis'),
|
title: this.$t('menu.JournalCitationAnalysis')
|
||||||
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@@ -460,7 +435,7 @@ export default {
|
|||||||
{
|
{
|
||||||
index: 'Editors_Staff',
|
index: 'Editors_Staff',
|
||||||
title: this.$t('sidebar.userManSys9')
|
title: this.$t('sidebar.userManSys9')
|
||||||
},
|
}
|
||||||
|
|
||||||
// {
|
// {
|
||||||
// index: 'partyDelete',
|
// index: 'partyDelete',
|
||||||
@@ -671,6 +646,73 @@ export default {
|
|||||||
//超级管理员
|
//超级管理员
|
||||||
this.items = this.admin_items;
|
this.items = this.admin_items;
|
||||||
}
|
}
|
||||||
|
if (this.user_cap.includes('superadmin')) {
|
||||||
|
var superadminData = [];
|
||||||
|
|
||||||
|
this.items.splice(
|
||||||
|
3,
|
||||||
|
0,
|
||||||
|
|
||||||
|
{
|
||||||
|
icon: 'el-icon-s-platform',
|
||||||
|
index: '13',
|
||||||
|
title: this.$t('sidebar.chiefInspector'),
|
||||||
|
subs: [
|
||||||
|
{
|
||||||
|
index: 'Academicresourcesupervise',
|
||||||
|
title: this.$t('menu.Academicresourcesupervise'),
|
||||||
|
subs: [
|
||||||
|
{
|
||||||
|
index: 'editorialBoard',
|
||||||
|
title: this.$t('sidebar.editorialBoard1')
|
||||||
|
},
|
||||||
|
{
|
||||||
|
index: 'superYoungScientistManagement',
|
||||||
|
title: this.$t('sidebar.editorialBoard2')
|
||||||
|
},
|
||||||
|
{
|
||||||
|
index: 'superJournalsManagement',
|
||||||
|
title: this.$t('sidebar.editorialBoard3')
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
index: 'publicationsupervise',
|
||||||
|
title: this.$t('menu.publicationsupervise'),
|
||||||
|
subs: [
|
||||||
|
{
|
||||||
|
index: 'allPaperSubmitanalysis',
|
||||||
|
// index: 'superYoungScientistManagement',
|
||||||
|
title: this.$t('menu.papersubmit')
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
index: '18',
|
||||||
|
title: this.$t('menu.ArticlePublication')
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
index: 'allJournalCitationAnalysis',
|
||||||
|
title: this.$t('menu.JournalCitationAnalysis')
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
this.items=[...this.items,{
|
||||||
|
icon: 'el-icon-s-operation',
|
||||||
|
index: '12',
|
||||||
|
title: this.$t('sidebar.managingDirector'),
|
||||||
|
subs: [
|
||||||
|
{
|
||||||
|
index: 'chiefeditor',
|
||||||
|
title: this.$t('sidebar.chief1')
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},]
|
||||||
|
}
|
||||||
|
|
||||||
// 通过 Event Bus 进行组件间通信,来折叠侧边栏
|
// 通过 Event Bus 进行组件间通信,来折叠侧边栏
|
||||||
bus.$on('collapse', (msg) => {
|
bus.$on('collapse', (msg) => {
|
||||||
|
|||||||
@@ -42,6 +42,11 @@ const en = {
|
|||||||
userManSys7: 'Blacklist',
|
userManSys7: 'Blacklist',
|
||||||
userManSys6: 'Promotion Record',
|
userManSys6: 'Promotion Record',
|
||||||
JournalCitationAnalysis: 'Journal Citation Analysis',
|
JournalCitationAnalysis: 'Journal Citation Analysis',
|
||||||
|
Academicresourcesupervise:'Academic Resource Supervise',
|
||||||
|
publicationsupervise:'Publication Supervise',
|
||||||
|
papersubmit:'Paper Submit',
|
||||||
|
ArticlePublication:'Article Publication',
|
||||||
|
JournalCitationAnalysis:'Journal Citation Analysis',
|
||||||
|
|
||||||
},
|
},
|
||||||
JournalCitationAnalysis:{
|
JournalCitationAnalysis:{
|
||||||
|
|||||||
@@ -43,6 +43,12 @@ const zh = {
|
|||||||
userManSys7: '黑名单',
|
userManSys7: '黑名单',
|
||||||
userManSys6: '推广记录',
|
userManSys6: '推广记录',
|
||||||
JournalCitationAnalysis: '期刊引文分析',
|
JournalCitationAnalysis: '期刊引文分析',
|
||||||
|
Academicresourcesupervise:'学术资源监督',
|
||||||
|
publicationsupervise:'出版监督',
|
||||||
|
papersubmit:'论文提交',
|
||||||
|
ArticlePublication:'文章发表',
|
||||||
|
JournalCitationAnalysis:'期刊引文分析',
|
||||||
|
|
||||||
|
|
||||||
}, JournalCitationAnalysis:{
|
}, JournalCitationAnalysis:{
|
||||||
journal:'期刊',
|
journal:'期刊',
|
||||||
|
|||||||
186
src/components/page/allJournalCitationAnalysis.vue
Normal file
186
src/components/page/allJournalCitationAnalysis.vue
Normal file
@@ -0,0 +1,186 @@
|
|||||||
|
<template>
|
||||||
|
<div class="container" style="padding-bottom: 50px; width: 100%; height: 100%" v-loading="loading">
|
||||||
|
<div style="width: 100%; height: auto;">
|
||||||
|
<div
|
||||||
|
style="
|
||||||
|
width: 100%;
|
||||||
|
box-sizing: border-box;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
background-color: #f4f4f5;
|
||||||
|
padding: 10px;
|
||||||
|
font-size: 12px;
|
||||||
|
color: #909399;
|
||||||
|
"
|
||||||
|
>
|
||||||
|
{{ $t('JournalCitationAnalysis.info') }} : {{ $t('JournalCitationAnalysis.wos') }} /
|
||||||
|
{{ $t('JournalCitationAnalysis.all') }}
|
||||||
|
</div>
|
||||||
|
<el-table :data="dataList" border class="msg-table" empty-text="New Data (0)">
|
||||||
|
<el-table-column type="index" label="No." width="55" align="center"></el-table-column>
|
||||||
|
<!-- <el-table-column type="index" label="Issn" width="100" align="center">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{ scope.row.issn }}
|
||||||
|
</template>
|
||||||
|
</el-table-column> -->
|
||||||
|
<el-table-column :label="$t('JournalCitationAnalysis.journal')" prop="title"> </el-table-column>
|
||||||
|
<el-table-column :label="$t('JournalCitationAnalysis.editor')" width="110" prop="realname"></el-table-column>
|
||||||
|
|
||||||
|
<el-table-column
|
||||||
|
:label="
|
||||||
|
lang == 'en'
|
||||||
|
? `${$t('JournalCitationAnalysis.cite')} ${getMonthName(month)}`
|
||||||
|
: `${month} 月${$t('JournalCitationAnalysis.cite')}`
|
||||||
|
"
|
||||||
|
width="140"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{ scope.row.cite.month_num }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
:label="
|
||||||
|
lang == 'en' ? `${$t('JournalCitationAnalysis.cite')} ${year}` : `${year} 年${$t('JournalCitationAnalysis.cite')}`
|
||||||
|
"
|
||||||
|
width="130"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
|
||||||
|
{{ scope.row.cite.year_num }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
:label="
|
||||||
|
lang == 'en'
|
||||||
|
? `${$t('JournalCitationAnalysis.cite')} ${p_year}`
|
||||||
|
: `${p_year} 年${$t('JournalCitationAnalysis.cite')}`
|
||||||
|
"
|
||||||
|
width="130"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{ scope.row.cite.pre_year_num }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
:label="
|
||||||
|
lang == 'en'
|
||||||
|
? `${$t('JournalCitationAnalysis.article')} ${year}`
|
||||||
|
: `${year} 年${$t('JournalCitationAnalysis.article')}`
|
||||||
|
"
|
||||||
|
width="130"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{ scope.row.cite.year_aritlce_num }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
:label="
|
||||||
|
lang == 'en'
|
||||||
|
? `${$t('JournalCitationAnalysis.article')} ${p_year}`
|
||||||
|
: `${p_year} 年${$t('JournalCitationAnalysis.article')}`
|
||||||
|
"
|
||||||
|
width="130"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{ scope.row.cite.pre_year_article_num }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
:label="`${$t('JournalCitationAnalysis.factor')}`
|
||||||
|
|
||||||
|
"
|
||||||
|
width="80"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{ scope.row.cite.yc_if&& scope.row.cite.yc_if>0? scope.row.cite.yc_if.toFixed(2):0 }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
const jAtableY = () => import('@/components/common/journalArticleTable');
|
||||||
|
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
lang: !localStorage.getItem('langs') || localStorage.getItem('langs') == 'en' ? 'en' : 'zh',
|
||||||
|
loading: false,
|
||||||
|
dataList: [],
|
||||||
|
p_year: new Date().getFullYear() - 1,
|
||||||
|
year: new Date().getFullYear(),
|
||||||
|
month: new Date().getMonth() + 1
|
||||||
|
};
|
||||||
|
},
|
||||||
|
components: {
|
||||||
|
jAtableY
|
||||||
|
},
|
||||||
|
async created() {
|
||||||
|
this.loading = true;
|
||||||
|
|
||||||
|
await this.getTableData();
|
||||||
|
this.$forceUpdate();
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
getMonthName(month) {
|
||||||
|
const months = [
|
||||||
|
'January',
|
||||||
|
'February',
|
||||||
|
'March',
|
||||||
|
'April',
|
||||||
|
'May',
|
||||||
|
'June',
|
||||||
|
'July',
|
||||||
|
'August',
|
||||||
|
'September',
|
||||||
|
'October',
|
||||||
|
'November',
|
||||||
|
'December'
|
||||||
|
];
|
||||||
|
return months[month - 1];
|
||||||
|
},
|
||||||
|
// 获取文章列表数据
|
||||||
|
async getTableData() {
|
||||||
|
await this.$api
|
||||||
|
.post(`api/Monitor/getCiteForChief`, {
|
||||||
|
|
||||||
|
})
|
||||||
|
.then(async (res) => {
|
||||||
|
var that = this;
|
||||||
|
if (res.code == 0) {
|
||||||
|
this.dataList = res.data.data;
|
||||||
|
this.loading = false;
|
||||||
|
console.log('this.dataList at line 48:', this.dataList);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.log(err, '989898');
|
||||||
|
this.loading = false;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.container {
|
||||||
|
padding: 20px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
.refresh {
|
||||||
|
position: absolute;
|
||||||
|
top: 20px;
|
||||||
|
right: 0px;
|
||||||
|
z-index: 10;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
442
src/components/page/allPaperSubmitanalysis.vue
Normal file
442
src/components/page/allPaperSubmitanalysis.vue
Normal file
@@ -0,0 +1,442 @@
|
|||||||
|
<template>
|
||||||
|
<div class="container" style="padding-bottom: 50px; width: 100%; height: 100%" v-loading="loading">
|
||||||
|
<div style="display: flex; align-items: center; justify-content: space-between; width: 100%; height: 34vh; margin-bottom: 40px">
|
||||||
|
<div style="width: 48%; height: 100%; margin-bottom: 2vh; position: relative">
|
||||||
|
<i class="el-icon-refresh refresh" @click="getCharts('year')"></i>
|
||||||
|
<div id="yearchart" style="width: 100%; height: 100%"></div>
|
||||||
|
</div>
|
||||||
|
<div style="width: 48%; height: 100%; position: relative">
|
||||||
|
<i class="el-icon-refresh refresh" @click="getCharts('month')"></i>
|
||||||
|
<div id="monthchart" style="width: 100%; height: 100%"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div
|
||||||
|
style="
|
||||||
|
width: 100%;
|
||||||
|
height: auto;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
background-color: #f4f4f5;
|
||||||
|
padding: 10px;
|
||||||
|
font-size: 12px;
|
||||||
|
color: #909399;
|
||||||
|
"
|
||||||
|
>
|
||||||
|
{{ $t('journalArticleCount.info') }} : {{ $t('journalArticleCount.dataTitle') }} /
|
||||||
|
{{ $t('journalArticleCount.transferQuantity') }}
|
||||||
|
</div>
|
||||||
|
<div style="width: 100%; height: auto; margin-bottom: 20px">
|
||||||
|
<jAtableY type="year" ref="yearTableData"></jAtableY>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div
|
||||||
|
style="
|
||||||
|
width: 100%;
|
||||||
|
height: auto;
|
||||||
|
margin-top: 50px;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
background-color: #f4f4f5;
|
||||||
|
padding: 10px;
|
||||||
|
font-size: 12px;
|
||||||
|
color: #909399;
|
||||||
|
"
|
||||||
|
>
|
||||||
|
{{ $t('journalArticleCount.info') }} : {{ $t('journalArticleCount.dataTitle') }} /
|
||||||
|
{{ $t('journalArticleCount.transferQuantity') }}
|
||||||
|
</div>
|
||||||
|
<div style="width: 100%; height: auto; margin-bottom: 20px !important">
|
||||||
|
<jAtableM type="month" ref="monthTableData"></jAtableM>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
const jAtableY = () => import('@/components/common/journalArticleTable');
|
||||||
|
const jAtableM = () => import('@/components/common/journalArticleTable');
|
||||||
|
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
loading: false,
|
||||||
|
yearData: {},
|
||||||
|
monthData: {},
|
||||||
|
JournalYearData: [],
|
||||||
|
JournalMonthData: [],
|
||||||
|
user_id: localStorage.getItem('U_id'),
|
||||||
|
urlList: {
|
||||||
|
year: 'api/Monitor/getArticleNumByYearForChief',
|
||||||
|
month: 'api/Monitor/getArticleNumByMonthForChief',
|
||||||
|
Journalyear: 'api/Monitor/getArticleNumByYearAndJournalForChief',
|
||||||
|
Journalmonth: 'api/Monitor/getArticleNumByMonthAndJournalForChief'
|
||||||
|
}
|
||||||
|
};
|
||||||
|
},
|
||||||
|
components: {
|
||||||
|
jAtableY,
|
||||||
|
jAtableM
|
||||||
|
},
|
||||||
|
async created() {
|
||||||
|
this.loading = true;
|
||||||
|
// this.loading = this.$loading({
|
||||||
|
// lock: true,
|
||||||
|
// text: 'Loading...',
|
||||||
|
// spinner: 'el-icon-loading',
|
||||||
|
// background: 'rgba(0, 0, 0, 0.7)'
|
||||||
|
// });
|
||||||
|
await this.getData('year');
|
||||||
|
await this.getData('month');
|
||||||
|
await this.getJournalData('year');
|
||||||
|
await this.getJournalData('month');
|
||||||
|
await this.getCharts('year');
|
||||||
|
await this.getCharts('month');
|
||||||
|
await this.getTableData();
|
||||||
|
this.$forceUpdate();
|
||||||
|
},
|
||||||
|
async mounted() {},
|
||||||
|
methods: {
|
||||||
|
handleRefresh() {},
|
||||||
|
async getEchartsData() {
|
||||||
|
await this.getCharts('year');
|
||||||
|
await this.getCharts('month');
|
||||||
|
this.$forceUpdate();
|
||||||
|
},
|
||||||
|
async getCharts(type) {
|
||||||
|
var optionsData = await this.getdata(type);
|
||||||
|
|
||||||
|
const chartBox = await this.$echarts.init(document.getElementById(`${type}chart`));
|
||||||
|
var option = {};
|
||||||
|
option = {
|
||||||
|
title: {
|
||||||
|
text: this.$t(`journalArticleCount.${type}Title`)
|
||||||
|
},
|
||||||
|
// tooltip: {
|
||||||
|
// trigger: 'axis',
|
||||||
|
// axisPointer: {
|
||||||
|
// type: 'cross',
|
||||||
|
// label: {
|
||||||
|
// backgroundColor: '#6a7985'
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// },
|
||||||
|
|
||||||
|
tooltip: {
|
||||||
|
trigger: 'axis',
|
||||||
|
enterable:true, //设置鼠标 是否可以进入浮框中
|
||||||
|
confine:true, //设置 浮框 限制在 图表的区域内
|
||||||
|
extraCssText:'max-height:98%;overflow:scroll' , //设置最大高度,并添加滚动
|
||||||
|
|
||||||
|
// formatter函数动态修改tooltip样式
|
||||||
|
formatter: function (params) {
|
||||||
|
var that = this;
|
||||||
|
console.log('params at line 430:', params);
|
||||||
|
if (params) {
|
||||||
|
var htmlStr = '';
|
||||||
|
// htmlStr += params[0].name.replace(/\-/g, '/') + '<br/>'; //x轴的名称
|
||||||
|
|
||||||
|
if (params[0].axisIndex == 0) {
|
||||||
|
htmlStr += '<div>';
|
||||||
|
htmlStr += `${params[0].name} `;
|
||||||
|
//圆点后面显示的文本
|
||||||
|
for (var i = 0; i < params.length; i++) {
|
||||||
|
var param = params[i]; // 存一份item项
|
||||||
|
console.log('param at line 404:', param);
|
||||||
|
|
||||||
|
var value = param.value; //y轴值
|
||||||
|
var color = param.color; //图例颜色
|
||||||
|
var journalStr = ``;
|
||||||
|
param.data.otherInfo.forEach((e) => {
|
||||||
|
journalStr +=
|
||||||
|
'<span style="margin-right:5px;display:inline-block;width:10px;height:10px;border-radius:5px;background-color:' +
|
||||||
|
color +
|
||||||
|
';"></span>' +
|
||||||
|
`<span>${e.key} : ${e.value}</span><br/>`;
|
||||||
|
});
|
||||||
|
|
||||||
|
htmlStr += `${param.seriesName}: ${value}`; //2023年
|
||||||
|
|
||||||
|
htmlStr += `<p style='border-bottom:1px solid #b0b0b0;margin:5px 0;'></p>`;
|
||||||
|
htmlStr += journalStr;
|
||||||
|
htmlStr += '</div>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return htmlStr;
|
||||||
|
} else {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
backgroundColor: '#fff',
|
||||||
|
borderWidth: 1,
|
||||||
|
borderColor: '#ccc',
|
||||||
|
padding: 10,
|
||||||
|
textStyle: {
|
||||||
|
color: '#000',
|
||||||
|
fontSize: 12,
|
||||||
|
align: 'left'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// legend: {
|
||||||
|
// data: ['Email', 'Union Ads', 'Video Ads', 'Direct', 'Search Engine']
|
||||||
|
// },
|
||||||
|
toolbox: {
|
||||||
|
// feature: {
|
||||||
|
// // dataZoom: {
|
||||||
|
// // yAxisIndex: 'none'
|
||||||
|
// // },
|
||||||
|
// restore: {},
|
||||||
|
// }
|
||||||
|
},
|
||||||
|
label: {
|
||||||
|
formatter: '',
|
||||||
|
|
||||||
|
rich: {
|
||||||
|
b: {
|
||||||
|
color: '#4C5058',
|
||||||
|
fontSize: 12,
|
||||||
|
fontWeight: 'bold',
|
||||||
|
lineHeight: 10
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
dataZoom:
|
||||||
|
type == 'month'
|
||||||
|
? [
|
||||||
|
{
|
||||||
|
show: true,
|
||||||
|
realtime: true,
|
||||||
|
start: 1,
|
||||||
|
end: 100,
|
||||||
|
xAxisIndex: [0, 1]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'inside',
|
||||||
|
realtime: true,
|
||||||
|
start: 1,
|
||||||
|
end: 100,
|
||||||
|
xAxisIndex: [0, 1]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
: [],
|
||||||
|
grid: {
|
||||||
|
left: '3%',
|
||||||
|
right: '4%',
|
||||||
|
bottom: type == 'month' ? '20%' : '4%',
|
||||||
|
containLabel: true
|
||||||
|
},
|
||||||
|
xAxis: [
|
||||||
|
{
|
||||||
|
type: 'category',
|
||||||
|
axisLabel: {},
|
||||||
|
// axisLabel:
|
||||||
|
// type == 'year'
|
||||||
|
// ? {}
|
||||||
|
// : {
|
||||||
|
// interval: 0,
|
||||||
|
// rotate: 30
|
||||||
|
// },
|
||||||
|
boundaryGap: false,
|
||||||
|
data: optionsData.xAxisData
|
||||||
|
}
|
||||||
|
],
|
||||||
|
yAxis: [
|
||||||
|
{
|
||||||
|
type: 'value'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
series: [
|
||||||
|
{
|
||||||
|
name: this.$t(`journalArticleCount.dataTitle`),
|
||||||
|
type: 'line',
|
||||||
|
stack: 'Total',
|
||||||
|
areaStyle: {
|
||||||
|
opacity: 0.8,
|
||||||
|
color: this.$echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
||||||
|
{
|
||||||
|
offset: 0,
|
||||||
|
color: type == 'year' ? 'rgb(0, 221, 255)' : 'rgb(0, 102, 153)'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
offset: 1,
|
||||||
|
color: type == 'month' ? 'rgb(77, 119, 255)' : 'rgb(1, 191, 236)'
|
||||||
|
}
|
||||||
|
])
|
||||||
|
},
|
||||||
|
smooth: true,
|
||||||
|
emphasis: {
|
||||||
|
focus: 'series'
|
||||||
|
},
|
||||||
|
data: optionsData.seriesData
|
||||||
|
}
|
||||||
|
]
|
||||||
|
};
|
||||||
|
chartBox.clear();
|
||||||
|
chartBox.setOption(option, true);
|
||||||
|
// 根据页面大小自动响应图表大小
|
||||||
|
window.addEventListener('resize', function () {
|
||||||
|
chartBox.resize();
|
||||||
|
});
|
||||||
|
this.$forceUpdate();
|
||||||
|
},
|
||||||
|
async getData(type) {
|
||||||
|
var url = '';
|
||||||
|
if (type == 'month') {
|
||||||
|
url = this.urlList.month;
|
||||||
|
} else if (type == 'year') {
|
||||||
|
url = this.urlList.year;
|
||||||
|
}
|
||||||
|
await this.$api
|
||||||
|
.post(url, {
|
||||||
|
// user_id: this.user_id
|
||||||
|
})
|
||||||
|
.then((res) => {
|
||||||
|
var that = this;
|
||||||
|
if (res.code == 0) {
|
||||||
|
if (type == 'month') {
|
||||||
|
this.monthData = res.data.articles;
|
||||||
|
} else if (type == 'year') {
|
||||||
|
this.yearData = res.data.articles;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.log(err);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 获取文章列表数据
|
||||||
|
async getdata(type) {
|
||||||
|
var data = {};
|
||||||
|
var optionJournalData = [];
|
||||||
|
var optionData = [];
|
||||||
|
console.log('...this.JournalMonthData at line 308:', this.JournalMonthData);
|
||||||
|
if (type == 'month') {
|
||||||
|
optionJournalData = [...this.JournalMonthData];
|
||||||
|
|
||||||
|
optionData = this.monthData;
|
||||||
|
} else if (type == 'year') {
|
||||||
|
optionJournalData = [...this.JournalYearData];
|
||||||
|
optionData = this.yearData;
|
||||||
|
}
|
||||||
|
|
||||||
|
var xAxisData = [];
|
||||||
|
var seriesData = [];
|
||||||
|
|
||||||
|
console.log('optionJournalData at line 291:', optionData);
|
||||||
|
Object.entries(optionData).forEach(([key, value]) => {
|
||||||
|
xAxisData.push(key);
|
||||||
|
console.log('key at line 294:', key);
|
||||||
|
var otherInfo = optionJournalData.map((e) => {
|
||||||
|
for (let i in e.value) {
|
||||||
|
if (i == key) {
|
||||||
|
console.log('e at line 299:', e.value[i]);
|
||||||
|
return {
|
||||||
|
key: e.key,
|
||||||
|
value: e.value[i].split('/')[0]
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
seriesData.push({ value: value, otherInfo: otherInfo });
|
||||||
|
|
||||||
|
data = { type: type, xAxisData: xAxisData, seriesData: seriesData };
|
||||||
|
});
|
||||||
|
|
||||||
|
return data;
|
||||||
|
},
|
||||||
|
async getJournalData(type) {
|
||||||
|
var data = {};
|
||||||
|
var url = '';
|
||||||
|
if (type == 'month') {
|
||||||
|
url = this.urlList.Journalmonth;
|
||||||
|
} else if (type == 'year') {
|
||||||
|
url = this.urlList.Journalyear;
|
||||||
|
}
|
||||||
|
|
||||||
|
await this.$api
|
||||||
|
.post(url, {
|
||||||
|
// user_id: this.user_id
|
||||||
|
})
|
||||||
|
.then((res) => {
|
||||||
|
var that = this;
|
||||||
|
if (res.code == 0) {
|
||||||
|
data = res.data.data.map((e) => {
|
||||||
|
return { key: e.journal.abbr, value: e.articles, jabbr: e.journal.jabbr };
|
||||||
|
});
|
||||||
|
if (type == 'month') {
|
||||||
|
this.JournalMonthData = data;
|
||||||
|
} else if (type == 'year') {
|
||||||
|
this.JournalYearData = data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.log(err);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 获取文章列表数据
|
||||||
|
async getTableData() {
|
||||||
|
this.$nextTick(async () => {
|
||||||
|
await this.getTableDataInfo('year');
|
||||||
|
await this.getTableDataInfo('month');
|
||||||
|
});
|
||||||
|
},
|
||||||
|
async getTableDataInfo(type) {
|
||||||
|
var that = this;
|
||||||
|
var data = {};
|
||||||
|
var timeData = [];
|
||||||
|
var tableData = [];
|
||||||
|
|
||||||
|
var url = '';
|
||||||
|
if (type == 'month') {
|
||||||
|
for (let i in this.monthData) {
|
||||||
|
console.log('i at line 386:', i);
|
||||||
|
timeData.push(i);
|
||||||
|
}
|
||||||
|
|
||||||
|
tableData = this.JournalMonthData.map((e) => {
|
||||||
|
console.log('e at line 394:', e);
|
||||||
|
return { ...e.value, abbr: e.key, jabbr: e.jabbr };
|
||||||
|
});
|
||||||
|
} else if (type == 'year') {
|
||||||
|
for (let i in this.yearData) {
|
||||||
|
console.log('i at line 386:', i);
|
||||||
|
timeData.push(i);
|
||||||
|
}
|
||||||
|
tableData = this.JournalYearData.map((e) => {
|
||||||
|
console.log('e at line 394:', e);
|
||||||
|
return { ...e.value, abbr: e.key, jabbr: e.jabbr };
|
||||||
|
});
|
||||||
|
}
|
||||||
|
data = { tableData: tableData, timeData };
|
||||||
|
console.log(data, type, '98999');
|
||||||
|
if (type == 'year') {
|
||||||
|
this.$refs.yearTableData.getTableInfo(type, data);
|
||||||
|
} else if (type == 'month') {
|
||||||
|
this.$refs.monthTableData.getTableInfo(type, data);
|
||||||
|
setTimeout(() => {
|
||||||
|
that.loading = false;
|
||||||
|
}, 50);
|
||||||
|
}
|
||||||
|
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.container {
|
||||||
|
padding: 20px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
.refresh {
|
||||||
|
position: absolute;
|
||||||
|
top: 20px;
|
||||||
|
right: 0px;
|
||||||
|
z-index: 10;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -1038,6 +1038,14 @@ export default new Router({
|
|||||||
title: 'Journal Citation Analysis'
|
title: 'Journal Citation Analysis'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name:'all-journal-citation-analysis',
|
||||||
|
path: '/allJournalCitationAnalysis', // 超管单期刊列表
|
||||||
|
component: () => import('../components/page/allJournalCitationAnalysis'),
|
||||||
|
meta: {
|
||||||
|
title: 'Journal Citation Analysis'
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name:'paper-submit-analysis',
|
name:'paper-submit-analysis',
|
||||||
path: '/PaperSubmitanalysis', // 超管单期刊列表
|
path: '/PaperSubmitanalysis', // 超管单期刊列表
|
||||||
@@ -1046,6 +1054,14 @@ export default new Router({
|
|||||||
title: 'Paper Submit Analysis'
|
title: 'Paper Submit Analysis'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name:'all-paper-submit-analysis',
|
||||||
|
path: '/allPaperSubmitanalysis', // 超管单期刊列表
|
||||||
|
component: () => import('../components/page/allPaperSubmitanalysis'),
|
||||||
|
meta: {
|
||||||
|
title: 'Paper Submit'
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
path: '/404',
|
path: '/404',
|
||||||
component: () => import( /* webpackChunkName: "404" */
|
component: () => import( /* webpackChunkName: "404" */
|
||||||
|
|||||||
@@ -72,9 +72,9 @@ module.exports = {
|
|||||||
// target: 'https://www.tmrjournals.cn',
|
// target: 'https://www.tmrjournals.cn',
|
||||||
// target: 'http://www.tougao.com/public/index.php/',
|
// target: 'http://www.tougao.com/public/index.php/',
|
||||||
// target: 'http://www.tougao.com/',
|
// target: 'http://www.tougao.com/',
|
||||||
target: 'http://192.168.110.110/tougao/public/index.php/',
|
// target: 'http://192.168.110.110/tougao/public/index.php/',
|
||||||
// target: 'http://api.tmrjournals.com/public/index.php/',//正式
|
// target: 'http://api.tmrjournals.com/public/index.php/',//正式
|
||||||
// target: 'https://submission.tmrjournals.com/',//正式
|
target: 'https://submission.tmrjournals.com/',//正式
|
||||||
changeOrigin: true,
|
changeOrigin: true,
|
||||||
pathRewrite: {
|
pathRewrite: {
|
||||||
'^/api': ''
|
'^/api': ''
|
||||||
|
|||||||
Reference in New Issue
Block a user