This commit is contained in:
2025-01-08 14:58:51 +08:00
parent f299239ae6
commit 12e3938e23
7 changed files with 1364 additions and 940 deletions

View File

@@ -1,171 +1,371 @@
<template>
<div class="container" >
<el-row :gutter="20" >
<el-alert v-if="alertShow"
:title="'Dear '+ user_name + ' Congratulations! , The information will be hidden after ' + hideSec + ' seconds'"
type="success"
show-icon>
</el-alert>
<el-col class="mt20">
<p>Congratulations! Your manuscript has entered into <b>Pre-accept</b> status. Now please check and complete the necessary information of your manuscript for final publication.</p>
</el-col>
</el-row>
<!-- 内容 -->
<el-row :gutter="20" class="content_box mt20">
<!-- 文章引用 -->
<el-col :class="['item', 'borderBottom', Ainfo.refer_state.state? 'passborder' : 'notPassborder']">
<h5 :class="['statusTop', Ainfo.refer_state.state? 'passStatus' : 'notPassStatus']">
<span v-if="Ainfo.refer_state.state" class="el-icon-check pass status"> Complete</span>
<span v-else class="el-icon-pie-chart notPass status"> Pending</span>
</h5>
<div class="con">
<h4>Manuscript payment </h4>
<div class="container" style="padding-top: 0px">
<el-row :gutter="20">
<el-alert
v-if="alertShow"
:title="'Dear ' + user_name + ' Congratulations! , The information will be hidden after ' + hideSec + ' seconds'"
type="success"
show-icon
>
</el-alert>
<el-col class="mt20">
<p v-html="$t('PreAccept.successInfo')"></p>
</el-col>
</el-row>
<div style="" v-if="journalInfo.fee != '0.00'">
<p
v-if="articleInfo.is_buy == 0"
style="
color: #409eff;
margin-top: 10px;
background: #ecf5ff;
border-color: #b3d8ff;
color: #505050;
font-size: 14px;
padding: 10px;
box-sizing: border-box;
position: relative;
overflow: hidden;
"
>
<i class="el-icon-warning" style="color: #517fd5; margin-right: 10px"></i>The article processing fee is
<span style="color: #ff5000;font-weight: bold;">{{ journalInfo.fee }}</span> United States Dollars (USD), applicable to papers submitted after January 1, 2025, and ultimately
accepted for publication. For authors seeking to apply for a fee discount, please
<a
style="color: rgb(81, 127, 213); cursor: pointer; text-decoration: underline"
href="https://www.tmrjournals.com/apc/"
target="_blank"
>click here</a
>
to view the detailed policy.
<el-button
size="mini"
type="primary"
style="padding: 4px 6px; float: right; background: #ff5000 !important; border-color: #ff5000 !important"
@click="goOrderConfirmation(articleInfo)"
>Payment</el-button
>
</p>
<p
v-if="articleInfo.is_buy == 1"
style="
color: #409eff;
margin-top: 10px;
background: #ecf5ff;
border-color: #b3d8ff;
color: #505050;
font-size: 14px;
padding: 10px;
box-sizing: border-box;
position: relative;
overflow: hidden;
"
>
<i class="el-icon-warning" style="color: #517fd5; margin-right: 10px"></i>
Dear {{ user_name }}, congratulations! Your manuscript has been successfully paid. Total amount: <span style="color: #ff5000;font-weight: bold;">{{ journalInfo.fee }}</span> USD
<p class="mt10"><common-paypal-button style="width: 150px;"
:amount="40.00"
:orderId="4477"
@payment-success="handlePaymentSuccess"
@payment-error="handlePaymentError"
/></p>
</div>
</p>
</div>
<p
style="
margin-top: 10px;
color: #409eff;
background: #ecf5ff;
border-color: #b3d8ff;
color: #505050;
font-size: 14px;
padding: 10px;
box-sizing: border-box;
"
v-else
>
<i class="el-icon-warning" style="color: #517fd5; margin-right: 10px"></i>
This manuscript does not require payment
</p>
<!-- <el-steps :active="active" finish-status="success" simple style="margin-top: 10px">
<el-step :title="`${$t('PreAccept.step')} ${i + 1} ${v.title} `" v-for="(v, i) in stepList"> </el-step>
</el-steps> -->
<!-- 内容 -->
<!-- <div class="content_box mt20 stepbox" v-if="active == 0">
<div class="con">
<h4>HTML Proofread </h4>
<h4 class="con-title">{{ this.$t('PreAccept.step1') }}</h4>
<template v-if="articleInfo && articleInfo.is_buy == 0">
<OrderConfirmation
type="component"
@paySuccess="paySuccess"
ref="OrderConfirmation"
style="padding: 0 20px; box-sizing: border-box"
></OrderConfirmation>
</template>
<p class="mt10"><el-button @click="goGenerateCharts(thisArtcleId)" icon="el-icon-edit" type="text">Edit</el-button></p>
</div>
</div>
</div> -->
<div class="content_box mt20 stepbox">
<!-- 文章引用 -->
<div class="con">
<h4>References </h4>
<p class="mt20">A total of <i class="tip">{{Ainfo.refer_state.num}}</i> references in this manuscript is identified.</p>
<!-- <p class="mt10"><img src="../../assets/img/icon_9.png" alt="" class="icon_img"> <el-link @click="goAddReferences(thisArtcleId)" type="primary" >&nbsp; &nbsp;Click here to edit</el-link> </p> -->
<p class="mt10"><el-button @click="goAddReferences(thisArtcleId)" icon="el-icon-edit" type="text">Edit</el-button></p>
</div>
</el-col>
</el-row>
<!-- 答疑 -->
<div class="mt20 helpcontent">
<div class="flexbox">
<span class="el-icon-info help"></span>
<div>
<h4>Any questions/Help</h4>
<p class="mt20">If you experience any problems, please contact us by publisher@tmrjournals.com</p>
<h4 class="con-title">{{ this.$t('PreAccept.step2') }}</h4>
<p style="color: #505050; font-size: 14px; padding: 20px; box-sizing: border-box">
<el-button @click="goGenerateCharts(thisArtcleId)" icon="el-icon-edit" type="text">Edit</el-button>
</p>
<!-- <div v-else style="padding: 20px; box-sizing: border-box"></div> -->
</div>
</div>
<div class="content_box mt20 stepbox">
<!-- 文章引用 -->
<div class="con">
<h4 class="con-title" style="overflow: hidden">
{{ this.$t('PreAccept.step3') }}
<span v-if="Ainfo.refer_state.state" style="float: right" class="el-icon-check pass status"> Complete</span>
<span v-else class="el-icon-pie-chart notPass status" style="float: right"> Pending</span>
</h4>
<p style="color: #505050; font-size: 14px; padding: 20px; box-sizing: border-box">
<i class="el-icon-warning" style="color: #517fd5; margin-right: 8px"></i> A total of
<i class="tip">{{ Ainfo.refer_state.num }}</i> references in this manuscript is identified.
</p>
<p style="color: #505050; font-size: 14px; padding: 0 20px 20px; box-sizing: border-box">
<el-button @click="goAddReferences(thisArtcleId)" icon="el-icon-edit" type="text">Edit</el-button>
</p>
<!-- <div v-else style="padding: 20px; box-sizing: border-box"></div> -->
</div>
</div>
<!-- 答疑 -->
<div class="mt20 helpcontent">
<div class="flexbox">
<span class="el-icon-info help"></span>
<div>
<h4>Any questions/Help</h4>
<p class="mt20">If you experience any problems, please contact us by publisher@tmrjournals.com</p>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
</template>
<script>
import OrderConfirmation from '../page/components/pendingPayment/OrderConfirmation.vue';
export default {
data() {
return {
articleInfo: {},
journalInfo: {},
urlList: {
detail: 'api/Order/preOrderDetail'
},
active: 0,
stepList: [
{
title: this.$t('PreAccept.step1'),
value: 1
},
{
title: this.$t('PreAccept.Information'),
value: 2
}
// {
// title: this.$t('PreAccept.step3'),
// value: 3
// }
],
user_name: localStorage.getItem('U_relname'),
thisArtcleId: this.$route.query.id,
alertShow:true,
dingshi:null,
hideSec:5,
alertShow: true,
dingshi: null,
hideSec: 5,
// 引用表单数据
ReferenceList:[],
Ainfo:{
refer_state:{
state:null,
ReferenceList: [],
Ainfo: {
refer_state: {
state: null,
num: null
}
}
}
},
created() {
this.getInfoStatu()
this.hideAlert()
},
methods:{
};
},
created() {
this.getInfoStatu();
this.hideAlert();
this.getDetail();
},
components: {
OrderConfirmation
},
methods: {
paySuccess() {
this.active = 1;
},
goOrderConfirmation(data) {
this.$router.push({
path: '/OrderConfirmation',
query: {
id: this.$route.query.id,
type: 'Pre-accept'
}
});
},
getDetail() {
this.$api
.post(this.urlList.detail, {
article_id: this.$route.query.id
})
.then((res) => {
console.log('res at line 191:', res);
if (res.code == 0) {
this.articleInfo = res.data.article_detail;
this.journalInfo = res.data.journal_detail;
if (this.articleInfo.is_buy == 1 || (this.articleInfo.is_buy == 0 && this.journalInfo.fee == '0.00')) {
this.active = 1;
}
}
});
},
handleClickStep(e) {
console.log('e at line 127:', e);
this.active = e.value;
this.$forceUpdate();
},
// 跳转到引用编辑页面
goAddReferences(id){
this.$router.push({
path: 'ReferenceEditor',
query: {
id: id
}
});
goAddReferences(id) {
this.$router.push({
path: 'ReferenceEditor',
query: {
id: id
}
});
},
// 跳转到图表编辑页面
goGenerateCharts(id){
this.$router.push({
path: 'GenerateCharts',
query: {
id: id
}
});
goGenerateCharts(id) {
this.$router.push({
path: 'GenerateCharts',
query: {
id: id
}
});
},
// 隐藏alert
hideAlert(){
this.dingshi = setInterval(()=>{
this.hideSec -= 1
hideAlert() {
this.dingshi = setInterval(() => {
this.hideSec -= 1;
// console.log(this.hideSec)
if(this.hideSec == 0){
this.alertShow = false
clearInterval(this.dingshi)
if (this.hideSec == 0) {
this.alertShow = false;
clearInterval(this.dingshi);
}
},1000)
}, 1000);
},
// 获取资料状态
getInfoStatu(){
getInfoStatu() {
this.$api
.post('/api/Article/getPreacceptStatus', {
'article_id': this.$route.query.id
})
.then(res => {
if(res.code == 0){
// console.log(res, 'res')
this.Ainfo = {
refer_state:{
state: res.data.refer_state.state,
num:res.data.refer_state.num
}
.post('/api/Article/getPreacceptStatus', {
article_id: this.$route.query.id
})
.then((res) => {
if (res.code == 0) {
// console.log(res, 'res')
this.Ainfo = {
refer_state: {
state: res.data.refer_state.state,
num: res.data.refer_state.num
}
}
})
.catch(err => {
console.log(err);
});
};
}
})
.catch((err) => {
console.log(err);
});
}
}
}
</script>
<style scoped>
.tip{background: #e6effb; padding: 4px; font-style: normal; border-radius:10px ;}
.passborder{border:1px solid #f0f9eb;}
.notPassborder{border:1px solid #fdf6ec;}
.con{padding: 20px;}
.statusTop{height:30px;}
.borderBottom{ border-bottom:1px solid #f1f1f1; margin-bottom: 20px; }
.help{font-size: 22px; margin-right: 10px;}
.el-alert__title{font-size: 26px;}
.mt20{margin-top: 20px;}
/* .content_box{padding:15px 10px; border:3px dashed #eff6ff; } */
.content_box .item{padding: 0 !important; border-radius: 20px 20px 0 0; overflow: hidden;}
.passStatus{ background: #f0f9eb;}
.notPassStatus{background: #fdf6ec;}
.content_box .item .status{ font-size: 16px; padding:0 10px; line-height: 30px; }
.content_box .item .status.pass{ color: #67c23a;}
.content_box .item .status.notPass{ color: #e6a23c;}
.flexbox{display: flex;}
p{color: #333;}
.mt10{margin-top: 10px;}
.more{font-weight: bold;}
.helpcontent{color: #888; margin-top: 150px; padding-top: 30px; border-top: 2px solid #f1f1f1;}
.helpcontent p{color: inherit; font-size: 12px;}
</style>
}
};
</script>
<style scoped>
.tip {
background: #e6effb;
padding: 4px;
font-style: normal;
border-radius: 10px;
}
.passborder {
border: 1px solid #f0f9eb;
}
.notPassborder {
border: 1px solid #fdf6ec;
}
/* .con{padding: 20px;} */
.statusTop {
height: 30px;
}
.borderBottom {
border-bottom: 1px solid #f1f1f1;
margin-bottom: 20px;
}
.help {
font-size: 22px;
margin-right: 10px;
}
.el-alert__title {
font-size: 26px;
}
.mt20 {
margin-top: 20px;
}
/* .content_box{padding:15px 10px; border:3px dashed #eff6ff; } */
.content_box .item {
padding: 0 !important;
border-radius: 20px 20px 0 0;
overflow: hidden;
}
.passStatus {
background: #f0f9eb;
}
.notPassStatus {
background: #fdf6ec;
}
.content_box .item .status {
font-size: 16px;
padding: 0 10px;
line-height: 30px;
}
.pass {
color: #67c23a !important;
}
.notPass {
color: #e6a23c !important;
}
.flexbox {
display: flex;
}
p {
color: #333;
}
.mt10 {
margin-top: 10px;
}
.more {
font-weight: bold;
}
.helpcontent {
color: #888;
margin-top: 150px;
padding-top: 30px;
border-top: 2px solid #f1f1f1;
}
.helpcontent p {
color: inherit;
font-size: 12px;
}
.stepbox {
border: 1px solid #ebebeb;
}
.con-title {
background-color: #f8f8f8;
padding: 10px 20px;
box-sizing: border-box;
}
</style>