自主修改邮箱
This commit is contained in:
@@ -2,14 +2,14 @@
|
||||
//记得切换
|
||||
|
||||
//正式
|
||||
const mediaUrl = '/public/';
|
||||
const baseUrl = '/';
|
||||
// const mediaUrl = '/public/';
|
||||
// const baseUrl = '/';
|
||||
|
||||
//正式环境
|
||||
|
||||
// const mediaUrl = 'https://submission.tmrjournals.com/public/';
|
||||
// // const mediaUrl = 'http://zmzm.tougao.dev.com/public/';
|
||||
// const baseUrl = '/api'
|
||||
const mediaUrl = 'https://submission.tmrjournals.com/public/';
|
||||
// const mediaUrl = 'http://zmzm.tougao.dev.com/public/';
|
||||
const baseUrl = '/api'
|
||||
|
||||
//测试环境
|
||||
|
||||
|
||||
@@ -20,6 +20,13 @@ const en = {
|
||||
info: {
|
||||
realname: 'English names can only contain uppercase and lowercase letters, "-", and spaces'
|
||||
},
|
||||
articleAdd: {
|
||||
qqEmailAlertLine1: 'The publisher does not currently accept submissions from QQ Mail.',
|
||||
qqEmailAlertLine2Before: 'Please go to',
|
||||
qqEmailDashboardLink: 'Personal Center (Dashboard)',
|
||||
qqEmailAlertLine2After: ' to change your registered email.',
|
||||
qqEmailSubmitBlockedMsg: 'QQ Mail is not supported for submission. Please go to Personal Center (Dashboard) and change your email.'
|
||||
},
|
||||
total: {
|
||||
author: 'author',
|
||||
editor: 'editor',
|
||||
|
||||
@@ -19,6 +19,13 @@ const zh = {
|
||||
}, info: {
|
||||
realname: '英文名字只能包含大小写英文字母、"-" 、和 空格'
|
||||
},
|
||||
articleAdd: {
|
||||
qqEmailAlertLine1: '出版社暂不支持qq邮箱投稿。',
|
||||
qqEmailAlertLine2Before: '请前往',
|
||||
qqEmailDashboardLink: '个人中心(Dashboard)',
|
||||
qqEmailAlertLine2After: '更换邮箱账号。',
|
||||
qqEmailSubmitBlockedMsg: '出版社暂不支持qq邮箱投稿,请去个人中心更换邮箱账号'
|
||||
},
|
||||
total: {
|
||||
author: '作者',
|
||||
editor: '编辑',
|
||||
|
||||
@@ -859,8 +859,8 @@
|
||||
<el-form-item label="Account :" prop="account">
|
||||
<span>{{ coreForm.account }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="Email :">
|
||||
<span>{{ coreForm.email }}</span>
|
||||
<el-form-item label="Email :" prop="email">
|
||||
<el-input type="text" placeholder="Please enter email..." v-model="coreForm.email" style="width: 320px" clearable />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="Real name :" prop="realname">
|
||||
@@ -1610,6 +1610,14 @@ this.applyCvitaTable = data;
|
||||
.then((res) => {
|
||||
if (res.code == 0) {
|
||||
this.coreTable = res.data.baseInfo;
|
||||
try {
|
||||
if (this.coreTable && this.coreTable.email != null && this.coreTable.email !== undefined) {
|
||||
localStorage.setItem('U_email', String(this.coreTable.email));
|
||||
}
|
||||
if (this.coreTable && this.coreTable.realname != null && this.coreTable.realname !== undefined) {
|
||||
localStorage.setItem('U_relname', String(this.coreTable.realname));
|
||||
}
|
||||
} catch (e) {}
|
||||
this.majorsList=res.data.baseInfo.majors;
|
||||
this.cvitaForm.user_id = res.data.baseInfo.user_id;
|
||||
this.reviewForm.user_id = res.data.baseInfo.user_id;
|
||||
@@ -1901,6 +1909,14 @@ this.applyCvitaTable = data;
|
||||
.then((res) => {
|
||||
if (res.code == 0) {
|
||||
this.$message.success('Personal information modified successfully!');
|
||||
try {
|
||||
if (this.coreForm.email != null && this.coreForm.email !== undefined) {
|
||||
localStorage.setItem('U_email', String(this.coreForm.email));
|
||||
}
|
||||
if (this.coreForm.realname != null && this.coreForm.realname !== undefined) {
|
||||
localStorage.setItem('U_relname', String(this.coreForm.realname));
|
||||
}
|
||||
} catch (e) {}
|
||||
this.coreVisible = false;
|
||||
this.tipVisible = false;
|
||||
this.getPersonData();
|
||||
|
||||
@@ -810,9 +810,37 @@
|
||||
>
|
||||
</div>
|
||||
|
||||
<el-alert
|
||||
v-if="articleAddQqEmailSubmitBlocked"
|
||||
type="warning"
|
||||
:closable="false"
|
||||
show-icon
|
||||
style="max-width: 720px; margin: 24px auto 0"
|
||||
>
|
||||
<template slot="title">
|
||||
<div class="qq-email-alert-body">
|
||||
<div class="qq-email-alert-line1">{{ $t('articleAdd.qqEmailAlertLine1') }}</div>
|
||||
<div class="qq-email-alert-line2">
|
||||
<span>{{ $t('articleAdd.qqEmailAlertLine2Before') }}</span>
|
||||
<router-link to="/dashboard" class="qq-email-dashboard-link">
|
||||
<i class="el-icon-user-solid"></i>
|
||||
{{ $t('articleAdd.qqEmailDashboardLink') }}
|
||||
</router-link>
|
||||
<span>{{ $t('articleAdd.qqEmailAlertLine2After') }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</el-alert>
|
||||
<div style="text-align: center; margin: 40px 0 0 0">
|
||||
<el-button type="warning" @click="onStagingSave(4)" class="pro_stage">Save as draft </el-button>
|
||||
<el-button type="primary" @click="onSubmit(1)" class="pro_ceed">Confirm Submit </el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
@click="onSubmit(1)"
|
||||
class="pro_ceed"
|
||||
:disabled="articleAddQqEmailSubmitBlocked"
|
||||
>
|
||||
Confirm Submit
|
||||
</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1612,6 +1640,17 @@ export default {
|
||||
},
|
||||
upload_qualifications: function () {
|
||||
return this.baseUrl + 'api/Admin/up_file';
|
||||
},
|
||||
/** 投稿页第四步:登录邮箱为 QQ 邮箱时不允许正式提交 */
|
||||
articleAddQqEmailSubmitBlocked() {
|
||||
try {
|
||||
const raw = localStorage.getItem('U_email') || '';
|
||||
const email = String(raw).trim().toLowerCase();
|
||||
if (!email || !email.includes('@')) return false;
|
||||
return /@qq\.com$/i.test(email) || /@vip\.qq\.com$/i.test(email);
|
||||
} catch (e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
@@ -1907,6 +1946,10 @@ export default {
|
||||
}
|
||||
},
|
||||
async onSubmit() {
|
||||
if (this.articleAddQqEmailSubmitBlocked) {
|
||||
this.$message.warning(this.$t('articleAdd.qqEmailSubmitBlockedMsg'));
|
||||
return false;
|
||||
}
|
||||
// 1. 校验协议勾选
|
||||
if (!this.agreechecked) {
|
||||
this.$message.error(
|
||||
@@ -4063,6 +4106,28 @@ export default {
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.qq-email-alert-body {
|
||||
line-height: 1.55;
|
||||
}
|
||||
.qq-email-alert-line1 {
|
||||
display: block;
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
.qq-email-alert-line2 {
|
||||
display: block;
|
||||
}
|
||||
.qq-email-dashboard-link {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
margin: 0 4px;
|
||||
font-weight: 600;
|
||||
color: #cf9236;
|
||||
text-decoration: underline;
|
||||
}
|
||||
.qq-email-dashboard-link:hover {
|
||||
color: #b8822f;
|
||||
}
|
||||
/deep/.apc_content a{
|
||||
color: rgb(81, 127, 213) !important; cursor: pointer !important; text-decoration: underline !important;
|
||||
}
|
||||
|
||||
@@ -198,8 +198,8 @@
|
||||
<el-form-item label="Account :" prop="account">
|
||||
<span>{{coreForm.account}}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="Email :">
|
||||
<span>{{coreForm.email}}</span>
|
||||
<el-form-item label="Email :" prop="email">
|
||||
<el-input type="text" placeholder="Please enter email..." v-model="coreForm.email" clearable></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="head portrait :">
|
||||
<el-upload class="avatar-uploader" :action="baseUrl+'master/Journal/up_topic_file'"
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
<!-- <div class="mini-label">{{ $t('autoPromotion.factoryJournal') }}</div> -->
|
||||
<div class="journal-grid-compact">
|
||||
<div
|
||||
v-for="j in journalList"
|
||||
v-for="j in journalListForDisplay"
|
||||
:key="String(j.journal_id)"
|
||||
class="journal-card-mini"
|
||||
:class="{ 'is-active': selectedJournalId === j.journal_id, 'is-disabled': isEditMode }"
|
||||
@@ -455,6 +455,17 @@
|
||||
const current = String(this.expertType || '').trim();
|
||||
return this.expertOptions.filter((opt) => String(opt.value) === current);
|
||||
},
|
||||
/** 编辑任务时期刊不可切换:列表只展示当前任务所属期刊 */
|
||||
journalListForDisplay() {
|
||||
const list = Array.isArray(this.journalList) ? this.journalList : [];
|
||||
if (!this.isEditMode) return list;
|
||||
const id = this.selectedJournalId != null && this.selectedJournalId !== '' ? String(this.selectedJournalId) : '';
|
||||
if (!id) return list;
|
||||
const rows = list.filter(function (j) {
|
||||
return String(j.journal_id) === id;
|
||||
});
|
||||
return rows.length ? rows : list;
|
||||
},
|
||||
isEditMode() {
|
||||
const task = this.initialTask;
|
||||
return !!(task && typeof task === 'object' && Object.keys(task).length);
|
||||
|
||||
Reference in New Issue
Block a user