类型 6 青年编委2025前 7 作者2025年之前的
This commit is contained in:
@@ -1375,7 +1375,8 @@ const en = {
|
||||
factoryExpertYoungBoard: 'Young editorial board',
|
||||
factoryExpertAuthor: 'Author',
|
||||
factoryExpertDb: 'Expert database',
|
||||
factoryExpertReviewer: 'Reviewer',
|
||||
factoryExpertYoungBoardBefore2025: 'Young board (before 2025)',
|
||||
factoryExpertAuthorBefore2025: 'Author (before 2025)',
|
||||
factoryExpertJump: 'View',
|
||||
factoryOfficialEmailTip: 'For this type, the system uses the official sender email by default. No account selection is required.',
|
||||
factoryScenario: 'Scenario',
|
||||
|
||||
@@ -1356,7 +1356,8 @@ const zh = {
|
||||
factoryExpertYoungBoard: '青年编委',
|
||||
factoryExpertAuthor: '作者',
|
||||
factoryExpertDb: 'expert库',
|
||||
factoryExpertReviewer: '审稿人',
|
||||
factoryExpertYoungBoardBefore2025: '2025前青年编委',
|
||||
factoryExpertAuthorBefore2025: '2025前作者',
|
||||
factoryExpertJump: '查看',
|
||||
factoryOfficialEmailTip: '此类型默认使用系统官方邮箱发送,无需选择邮箱账号。',
|
||||
factoryScenario: '场景',
|
||||
|
||||
@@ -1221,7 +1221,8 @@ export default {
|
||||
if (t === '3') return this.$t('autoPromotion.factoryExpertYoungBoard');
|
||||
if (t === '4') return this.$t('autoPromotion.factoryExpertAuthor');
|
||||
if (t === '5') return this.$t('autoPromotion.factoryExpertDb');
|
||||
if (t === '6') return this.$t('autoPromotion.factoryExpertReviewer');
|
||||
if (t === '6') return this.$t('autoPromotion.factoryExpertYoungBoardBefore2025');
|
||||
if (t === '7') return this.$t('autoPromotion.factoryExpertAuthorBefore2025');
|
||||
return '-';
|
||||
},
|
||||
getJournalDisplayTasks(journal) {
|
||||
|
||||
@@ -490,7 +490,8 @@ export default {
|
||||
if (t === '3') return this.$t('autoPromotion.factoryExpertYoungBoard');
|
||||
if (t === '4') return this.$t('autoPromotion.factoryExpertAuthor');
|
||||
if (t === '5') return this.$t('autoPromotion.factoryExpertDb');
|
||||
if (t === '6') return this.$t('autoPromotion.factoryExpertReviewer');
|
||||
if (t === '6') return this.$t('autoPromotion.factoryExpertYoungBoardBefore2025');
|
||||
if (t === '7') return this.$t('autoPromotion.factoryExpertAuthorBefore2025');
|
||||
return '-';
|
||||
},
|
||||
getStatusType(status) {
|
||||
|
||||
@@ -354,8 +354,9 @@
|
||||
chief: null,
|
||||
board: null,
|
||||
young: null,
|
||||
youngBefore2025: null,
|
||||
authorBefore2025: null,
|
||||
author: null,
|
||||
reviewer: null,
|
||||
expertDb: null
|
||||
},
|
||||
expertTypeCountsLoading: false,
|
||||
@@ -434,11 +435,19 @@
|
||||
},
|
||||
{
|
||||
value: '6',
|
||||
label: this.$t('autoPromotion.factoryExpertReviewer'),
|
||||
desc: this.$t('autoPromotion.factoryExpertReviewer'),
|
||||
icon: 'el-icon-s-check',
|
||||
count: counts.reviewer,
|
||||
jump: { path: '/reviewerList', queryKey: 'journal_id' }
|
||||
label: this.$t('autoPromotion.factoryExpertYoungBoardBefore2025'),
|
||||
desc: this.$t('autoPromotion.factoryExpertYoungBoardBefore2025'),
|
||||
icon: 'el-icon-time',
|
||||
count: counts.youngBefore2025,
|
||||
jump: { path: '/youthList', queryKey: 'journal_id' }
|
||||
},
|
||||
{
|
||||
value: '7',
|
||||
label: this.$t('autoPromotion.factoryExpertAuthorBefore2025'),
|
||||
desc: this.$t('autoPromotion.factoryExpertAuthorBefore2025'),
|
||||
icon: 'el-icon-document',
|
||||
count: counts.authorBefore2025,
|
||||
jump: { path: '/partyListCorr', queryKey: 'journal_id' }
|
||||
},
|
||||
{
|
||||
value: '4',
|
||||
@@ -892,12 +901,28 @@
|
||||
this.availableFields = [];
|
||||
this.factoryFieldIds = [];
|
||||
this.selectedEmailIds = [];
|
||||
this.expertTypeCounts = { chief: null, board: null, young: null, author: null, reviewer: null, expertDb: null };
|
||||
this.expertTypeCounts = {
|
||||
chief: null,
|
||||
board: null,
|
||||
young: null,
|
||||
youngBefore2025: null,
|
||||
authorBefore2025: null,
|
||||
author: null,
|
||||
expertDb: null
|
||||
};
|
||||
this.syncActiveStep();
|
||||
return;
|
||||
}
|
||||
// 切换期刊时:先清空旧人数并立即触发 loading
|
||||
this.expertTypeCounts = { chief: null, board: null, young: null, author: null, reviewer: null, expertDb: null };
|
||||
this.expertTypeCounts = {
|
||||
chief: null,
|
||||
board: null,
|
||||
young: null,
|
||||
youngBefore2025: null,
|
||||
authorBefore2025: null,
|
||||
author: null,
|
||||
expertDb: null
|
||||
};
|
||||
this.fetchExpertTypeCounts();
|
||||
await this.loadAccounts(val);
|
||||
await Promise.all([
|
||||
@@ -915,6 +940,7 @@
|
||||
const payload = {
|
||||
from: 'promotionFactory',
|
||||
journal_id: journalId != null && journalId !== '' ? String(journalId) : '',
|
||||
expert_type: opt && opt.value != null ? String(opt.value) : '',
|
||||
ts: Date.now(),
|
||||
targetPath: String(jump.path || '')
|
||||
};
|
||||
@@ -947,19 +973,21 @@
|
||||
return sum;
|
||||
};
|
||||
|
||||
const [boardRes, youngRes, authorRes, reviewerRes, expertDbRes] = await Promise.all([
|
||||
const yboardBase = {
|
||||
journal_id: journalId,
|
||||
pageIndex: 1,
|
||||
pageSize: 1,
|
||||
keywords: '',
|
||||
fieldkey: '',
|
||||
order_remark: 0
|
||||
};
|
||||
const [boardRes, youngRes, youngBefore2025Res, authorRes, authorBefore2025Res, expertDbRes] = await Promise.all([
|
||||
this.$api.post('api/Board/getBoards', { journal_id: journalId }).catch(() => null),
|
||||
this.$api
|
||||
.post('api/User/getYboardlist', {
|
||||
journal_id: journalId,
|
||||
type: 1,
|
||||
year: 0,
|
||||
pageIndex: 1,
|
||||
pageSize: 1,
|
||||
keywords: '',
|
||||
fieldkey: '',
|
||||
order_remark: 0
|
||||
})
|
||||
.post('api/User/getYboardlist', Object.assign({}, yboardBase, { type: 1, year: 0 }))
|
||||
.catch(() => null),
|
||||
this.$api
|
||||
.post('api/User/getYboardlist', Object.assign({}, yboardBase, { type: 6, year: 0 }))
|
||||
.catch(() => null),
|
||||
this.$api
|
||||
.post('api/User/authorDatabase', {
|
||||
@@ -970,12 +998,12 @@
|
||||
})
|
||||
.catch(() => null),
|
||||
this.$api
|
||||
.post('api/Reviewer/getReviewerListByJournal', {
|
||||
username: localStorage.getItem('U_name'),
|
||||
journalId: journalId,
|
||||
class: 0,
|
||||
pageIndex: 1,
|
||||
pageSize: 1
|
||||
.post('api/User/authorDatabase', {
|
||||
journal_id: journalId,
|
||||
type: 7,
|
||||
keywords: '',
|
||||
page: 1,
|
||||
limit: 1
|
||||
})
|
||||
.catch(() => null),
|
||||
this.$api
|
||||
@@ -986,7 +1014,15 @@
|
||||
.catch(() => null)
|
||||
]);
|
||||
|
||||
const next = { chief: null, board: null, young: null, author: null, reviewer: null, expertDb: null };
|
||||
const next = {
|
||||
chief: null,
|
||||
board: null,
|
||||
young: null,
|
||||
youngBefore2025: null,
|
||||
authorBefore2025: null,
|
||||
author: null,
|
||||
expertDb: null
|
||||
};
|
||||
|
||||
if (boardRes && boardRes.code === 0 && boardRes.data && boardRes.data.boards) {
|
||||
const b = boardRes.data.boards || {};
|
||||
@@ -999,11 +1035,14 @@
|
||||
if (youngRes && youngRes.code === 0) {
|
||||
next.young = safeCount(youngRes.data && youngRes.data.count);
|
||||
}
|
||||
if (youngBefore2025Res && youngBefore2025Res.code === 0) {
|
||||
next.youngBefore2025 = safeCount(youngBefore2025Res.data && youngBefore2025Res.data.count);
|
||||
}
|
||||
if (authorRes && authorRes.code === 0) {
|
||||
next.author = safeCount(authorRes.data && authorRes.data.count);
|
||||
}
|
||||
if (reviewerRes && reviewerRes.code === 0) {
|
||||
next.reviewer = safeCount(reviewerRes.total);
|
||||
if (authorBefore2025Res && authorBefore2025Res.code === 0) {
|
||||
next.authorBefore2025 = safeCount(authorBefore2025Res.data && authorBefore2025Res.data.count);
|
||||
}
|
||||
if (expertDbRes && expertDbRes.code === 0) {
|
||||
const total = (expertDbRes.data && (expertDbRes.data.total || expertDbRes.data.count)) || expertDbRes.total;
|
||||
|
||||
Reference in New Issue
Block a user