From 8fbcf39a251479fa7b9bdcc5390c7d5ddfe35d16 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=A7=8B=E4=BA=8E=E5=88=9D=E8=A7=81?= <752204717@qq.com>
Date: Fri, 17 Apr 2026 10:36:48 +0800
Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/index.js | 4 +-
src/components/common/Sidebar.vue | 153 +++++----
src/components/common/langs/en.js | 53 ++++
src/components/common/langs/zh.js | 53 ++++
src/components/page/countryManagement.vue | 362 ++++++++++++++++++++++
src/components/page/expertDatabase.vue | 70 ++++-
src/router/index.js | 11 +-
7 files changed, 614 insertions(+), 92 deletions(-)
create mode 100644 src/components/page/countryManagement.vue
diff --git a/src/api/index.js b/src/api/index.js
index 525753d..487fb66 100644
--- a/src/api/index.js
+++ b/src/api/index.js
@@ -19,8 +19,8 @@ const service = axios.create({
// baseURL: 'https://submission.tmrjournals.com/', //正式 记得切换
// baseURL: 'http://www.tougao.com/', //测试本地 记得切换
// baseURL: 'http://192.168.110.110/tougao/public/index.php/',
- // baseURL: '/api', //本地
- baseURL: '/', //正式
+ baseURL: '/api', //本地
+ // baseURL: '/', //正式
});
diff --git a/src/components/common/Sidebar.vue b/src/components/common/Sidebar.vue
index 3e4417e..0d93f07 100644
--- a/src/components/common/Sidebar.vue
+++ b/src/components/common/Sidebar.vue
@@ -64,8 +64,8 @@
-
-
+
+
{{ $t('sidebar.edit_oria') }}
-
+
{{ $t('sidebar.edit_ewer1') }}
@@ -83,9 +83,10 @@
-
-
+
{{ $t('sidebar.man_ing') }}
@@ -168,6 +169,7 @@
{{ $t('sidebar.mailboxManagement') }}
+
{{ $t('sidebar.expertDatabase') }}
@@ -175,19 +177,16 @@
{{ $t('sidebar.expertList') }}
+
{{ $t('sidebar.crawlTasks') }}
-
-
-
-
-
-
-
+
+ {{ $t('sidebar.countryManagement') }}
+
-
+
{{ $t('sidebar.tools') }}
@@ -234,7 +233,6 @@ export default {
index: '1',
title: this.$t('sidebar.author'),
subs: [
-
{
index: 'articleList',
title: this.$t('sidebar.author1')
@@ -246,10 +244,11 @@ export default {
{
index: 'articleAdd',
title: this.$t('sidebar.author2')
- } , {
+ },
+ {
index: 'orderListAuthor',
title: this.$t('sidebar.author4')
- },
+ }
]
}
// ,{
@@ -312,7 +311,6 @@ export default {
index: 'Promotionsystem',
title: this.$t('menu.Promotionsystem'),
subs: [
-
{
index: 'disseMRecord',
title: this.$t('menu.userManSys6')
@@ -363,7 +361,7 @@ export default {
index: '4',
title: this.$t('sidebar.userManSys'),
subs: [
- {
+ {
//论文编辑系统
icon: 'el-icon-lx-copy',
index: 'Userdatabase',
@@ -679,74 +677,61 @@ export default {
}
},
mounted() {
- // if(this.user_cap.includes(',board')||this.user_cap.includes('board_editor')||this.user_cap.includes('chief')||this.user_cap.includes('chief_editor')||this.user_cap.includes('deputy_editor')){
- // Promise.all([
- // this.$api
- // .post('api/Finalreview/lists', {
- // 'reviewer_id': localStorage.getItem('U_id'),state:5,
- // 'page': 1,
- // 'size': 999999,
- // })
-
- // ]).then(([res1]) => {
- // console.log('res1 at line 770:', res1)
- // const totalCheck = res1.data.total || 0; // 待审核
-
-
- // if (totalCheck > 0 ) {
- // const h = this.$createElement;
- // const messageNodes = [];
-
- // if (totalCheck > 0) {
- // messageNodes.push(
- // h(
- // 'p',
- // {
- // style: {
- // color: '#006699',
- // marginTop: '10px',
- // marginBottom: '4px',
- // display: 'block', width: '280px' // 设置宽度
-
- // }
- // },
- // `You have received 【${totalCheck}】 invitations .`
- // )
- // );
-
- // // 第二行
- // messageNodes.push(
- // h(
- // 'p',
- // {
- // style: {
- // color: '#888',
- // display: 'block', width: '280px' // 设置宽度
-
- // }
- // },
- // 'Please process them promptly in the final review history.'
- // )
- // );
- // }
-
-
-
- // this.$notify({
- // title: 'Final Review',
- // message: h('div', {
- // style: 'width: 200px;'
-
- // }, messageNodes)
- // });
- // }
- // });
- // }
-
+ // if(this.user_cap.includes(',board')||this.user_cap.includes('board_editor')||this.user_cap.includes('chief')||this.user_cap.includes('chief_editor')||this.user_cap.includes('deputy_editor')){
+ // Promise.all([
+ // this.$api
+ // .post('api/Finalreview/lists', {
+ // 'reviewer_id': localStorage.getItem('U_id'),state:5,
+ // 'page': 1,
+ // 'size': 999999,
+ // })
+ // ]).then(([res1]) => {
+ // console.log('res1 at line 770:', res1)
+ // const totalCheck = res1.data.total || 0; // 待审核
+ // if (totalCheck > 0 ) {
+ // const h = this.$createElement;
+ // const messageNodes = [];
+ // if (totalCheck > 0) {
+ // messageNodes.push(
+ // h(
+ // 'p',
+ // {
+ // style: {
+ // color: '#006699',
+ // marginTop: '10px',
+ // marginBottom: '4px',
+ // display: 'block', width: '280px' // 设置宽度
+ // }
+ // },
+ // `You have received 【${totalCheck}】 invitations .`
+ // )
+ // );
+ // // 第二行
+ // messageNodes.push(
+ // h(
+ // 'p',
+ // {
+ // style: {
+ // color: '#888',
+ // display: 'block', width: '280px' // 设置宽度
+ // }
+ // },
+ // 'Please process them promptly in the final review history.'
+ // )
+ // );
+ // }
+ // this.$notify({
+ // title: 'Final Review',
+ // message: h('div', {
+ // style: 'width: 200px;'
+ // }, messageNodes)
+ // });
+ // }
+ // });
+ // }
},
created() {
-
localStorage.setItem('collapse', this.collapse);
if (this.userrole == 2) {
//其余的身份(显示作者)
@@ -788,7 +773,7 @@ export default {
index: 'JournalManagementAll',
title: this.$t('sidebar.journalList')
},
-
+
{
index: 'GroupClassification',
title: this.$t('sidebar.GroupClassification')
diff --git a/src/components/common/langs/en.js b/src/components/common/langs/en.js
index 48f693c..2bd3758 100644
--- a/src/components/common/langs/en.js
+++ b/src/components/common/langs/en.js
@@ -281,6 +281,7 @@ const en = {
keywordManagement: 'Keyword Management',
crawlTasks: 'Crawl Tasks',
expertList: 'Expert List',
+ countryManagement: 'Country Management',
autoPromotion: 'Auto Promotion',
ReArticles: 'Rejected Manuscripts', // 被拒稿件
editorialBoard: 'Boss System',
@@ -307,17 +308,69 @@ const en = {
},
columns: {
baseInfo: 'Base Information',
+ country: 'Country',
affiliation: 'Affiliation',
researchAreas: 'Research areas'
},
+ emptyMark: '-',
fields: {
nameLabel: 'Name:',
emailLabel: 'Email:',
acquisitionTimeLabel: 'Acquisition Time:'
},
+ viewAllInfo: 'View all details',
+ detailDialogTitle: 'Research areas & Article',
+ detailColField: 'Research areas',
+ detailColPaper: 'Article title',
+ detailColJournal: 'Journal',
+ detailClose: 'Close',
+ detailCellEmpty: 'N/A',
+ noFieldDetail: 'No publication details for these fields',
exportWarn: 'Please select a research area, enter a keyword, or enter a field before exporting.',
exportFailed: 'Export failed'
},
+ countryManagement: {
+ title: 'Country maintenance',
+ keywordPlaceholder: 'Chinese / English / code',
+ partitionLabel: 'Partition',
+ partitionAll: 'All partitions',
+ partition1: 'Partition 1',
+ partition2: 'Partition 2',
+ partition3: 'Partition 3',
+ searchBtn: 'Search',
+ resetBtn: 'Reset',
+ table: {
+ no: 'No.',
+ zhName: 'Chinese name',
+ enName: 'English name',
+ code: 'Code',
+ partition: 'Partition',
+ actions: 'Actions'
+ },
+ edit: 'Edit',
+ delete: 'Delete',
+ editTitle: 'Edit country',
+ form: {
+ zhName: 'Chinese name',
+ enName: 'English name',
+ code: 'Code',
+ partition: 'Partition'
+ },
+ cancel: 'Cancel',
+ save: 'Save',
+ confirm: 'OK',
+ deleteTitle: 'Confirm delete',
+ deleteConfirm: 'Delete this country record? This cannot be undone.',
+ saveSuccess: 'Saved',
+ deleteSuccess: 'Deleted',
+ opFailed: 'Operation failed',
+ loadFailed: 'Failed to load list',
+ missingId: 'Missing country id',
+ ruleZhName: 'Enter Chinese name',
+ ruleEnName: 'Enter English name',
+ ruleCode: 'Enter code',
+ rulePartition: 'Select a partition'
+ },
mailboxConfig: {
mailSystem: 'Mailbox system',
title: 'Mailbox config',
diff --git a/src/components/common/langs/zh.js b/src/components/common/langs/zh.js
index 32f8e5f..3d582e0 100644
--- a/src/components/common/langs/zh.js
+++ b/src/components/common/langs/zh.js
@@ -269,6 +269,7 @@ const zh = {
keywordManagement: '关键词管理',
crawlTasks: '抓取任务',
expertList: '专家列表',
+ countryManagement: '国家信息',
autoPromotion: '自动推广',
ReArticles: '被拒稿件', // 被拒稿件
editorialBoard: '编委管理',
@@ -296,17 +297,69 @@ const zh = {
},
columns: {
baseInfo: '基础信息',
+ country: '国家',
affiliation: '单位',
researchAreas: '研究领域'
},
+ emptyMark: '-',
fields: {
nameLabel: '姓名:',
emailLabel: '邮箱:',
acquisitionTimeLabel: '采集时间:'
},
+ viewAllInfo: '查看全部信息',
+ detailDialogTitle: '领域与文章',
+ detailColField: '研究领域',
+ detailColPaper: '文章标题',
+ detailColJournal: '所属期刊',
+ detailClose: '关闭',
+ detailCellEmpty: '暂无',
+ noFieldDetail: '暂无领域对应的文献信息',
exportWarn: '请选择研究领域或输入关键词或领域 field 后再导出。',
exportFailed: '导出失败'
},
+ countryManagement: {
+ title: '国家信息维护',
+ keywordPlaceholder: '中文名 / 英文名 / 代码',
+ partitionLabel: '分区',
+ partitionAll: '全部分区',
+ partition1: '分区 1',
+ partition2: '分区 2',
+ partition3: '分区 3',
+ searchBtn: '搜索',
+ resetBtn: '重置',
+ table: {
+ no: '序号',
+ zhName: '中文名称',
+ enName: '英文名称',
+ code: '代码',
+ partition: '分区',
+ actions: '操作'
+ },
+ edit: '修改',
+ delete: '删除',
+ editTitle: '编辑国家信息',
+ form: {
+ zhName: '中文名称',
+ enName: '英文名称',
+ code: '代码',
+ partition: '分区'
+ },
+ cancel: '取消',
+ save: '保存',
+ confirm: '确定',
+ deleteTitle: '删除确认',
+ deleteConfirm: '确定删除该国家信息?删除后不可恢复。',
+ saveSuccess: '保存成功',
+ deleteSuccess: '删除成功',
+ opFailed: '操作失败',
+ loadFailed: '加载列表失败',
+ missingId: '缺少国家编号,无法删除',
+ ruleZhName: '请输入中文名称',
+ ruleEnName: '请输入英文名称',
+ ruleCode: '请输入代码',
+ rulePartition: '请选择分区'
+ },
mailboxConfig: {
mailSystem: '邮件系统',
title: '邮箱账号管理',
diff --git a/src/components/page/countryManagement.vue b/src/components/page/countryManagement.vue
new file mode 100644
index 0000000..f8c2881
--- /dev/null
+++ b/src/components/page/countryManagement.vue
@@ -0,0 +1,362 @@
+
+
+
+
+
+ {{ $t('countryManagement.title') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('countryManagement.searchBtn') }}
+
+ {{ $t('countryManagement.resetBtn') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('countryManagement.edit') }}
+
+
+ {{ $t('countryManagement.delete') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/page/expertDatabase.vue b/src/components/page/expertDatabase.vue
index cb4e0b1..8ed496a 100644
--- a/src/components/page/expertDatabase.vue
+++ b/src/components/page/expertDatabase.vue
@@ -68,16 +68,16 @@
{{ $t('expertDatabase.fields.acquisitionTimeLabel') }}
- {{ scope.row.ctime_text ? scope.row.ctime_text : '-' }}
+ {{ scope.row.ctime_text ? scope.row.ctime_text : $t('expertDatabase.emptyMark') }}
{{ scope.row.state_text }}
-
-
-
+
+
+
@@ -85,10 +85,43 @@
{{ field.field }}
+
+ {{ $t('expertDatabase.viewAllInfo') }}
+
+
+
+ {{ $t('expertDatabase.fields.nameLabel') }}
+ {{ fieldDetailExpert.name }}
+
+
+
+
+
+
+
+ {{ $t('expertDatabase.noFieldDetail') }}
+
+
+