提交
This commit is contained in:
@@ -393,7 +393,17 @@ const en = {
|
|||||||
Disbursements:'Disbursements',
|
Disbursements:'Disbursements',
|
||||||
Confirmorderinformation:'Confirm order information',
|
Confirmorderinformation:'Confirm order information',
|
||||||
orderDetail:'Order information',
|
orderDetail:'Order information',
|
||||||
}
|
},
|
||||||
|
PreAccept:{
|
||||||
|
successInfo:'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.',
|
||||||
|
step1:'Manuscript Payment',
|
||||||
|
step2:'Article Proofreading',
|
||||||
|
step3:'References',
|
||||||
|
step:'step',
|
||||||
|
Information:'Fill in information',
|
||||||
|
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -363,30 +363,40 @@ const zh = {
|
|||||||
exportWord: '导出 Word',
|
exportWord: '导出 Word',
|
||||||
exportImg: '导出 图片',
|
exportImg: '导出 图片',
|
||||||
PaperRotation: '纸张方向',
|
PaperRotation: '纸张方向',
|
||||||
removeAnnotations:'确定要删除这条批注吗?',
|
removeAnnotations: '确定要删除这条批注吗?',
|
||||||
removeContent:'确定要删除这条内容吗?',
|
removeContent: '确定要删除这条内容吗?',
|
||||||
reContent:'确定要恢复这条内容吗?',
|
reContent: '确定要恢复这条内容吗?',
|
||||||
uploadImageInfo:'Figures 只能上传 JPG、JPEG 和 PNG 格式的文件'
|
uploadImageInfo: 'Figures 只能上传 JPG、JPEG 和 PNG 格式的文件'
|
||||||
|
},
|
||||||
|
pendingPayment: {
|
||||||
|
title: 'Title',
|
||||||
|
journal: '期刊',
|
||||||
|
Paymentamount: '缴费金额',
|
||||||
|
Paymentstatus: '缴费状态',
|
||||||
|
subtotal: '小计',
|
||||||
|
payment: '在线缴费',
|
||||||
|
payDetail: '付款详情',
|
||||||
|
total: '总价',
|
||||||
|
youhui: '优惠',
|
||||||
|
submitOrder: '提交订单',
|
||||||
|
state0: '待付款',
|
||||||
|
state1: '已缴费',
|
||||||
|
state2: '已取消',
|
||||||
|
paymentmethod: '付款方式',
|
||||||
|
Disbursements: '已付款',
|
||||||
|
Confirmorderinformation: '确认订单信息',
|
||||||
|
orderDetail: '订单信息',
|
||||||
|
},
|
||||||
|
PreAccept: {
|
||||||
|
successInfo: '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.',
|
||||||
|
step1: 'Manuscript Payment',
|
||||||
|
step2: 'Article Proofreading',
|
||||||
|
step3: 'References',
|
||||||
|
step: 'step',
|
||||||
|
Information: 'Fill in information',
|
||||||
|
|
||||||
|
|
||||||
},
|
},
|
||||||
pendingPayment:{
|
|
||||||
title:'Title',
|
|
||||||
journal:'期刊',
|
|
||||||
Paymentamount:'缴费金额',
|
|
||||||
Paymentstatus:'缴费状态',
|
|
||||||
subtotal:'小计',
|
|
||||||
payment:'在线缴费',
|
|
||||||
payDetail:'付款详情',
|
|
||||||
total:'总价',
|
|
||||||
youhui:'优惠',
|
|
||||||
submitOrder:'提交订单',
|
|
||||||
state0:'待付款',
|
|
||||||
state1:'已缴费',
|
|
||||||
state2:'已取消',
|
|
||||||
paymentmethod:'付款方式',
|
|
||||||
Disbursements:'已付款',
|
|
||||||
Confirmorderinformation:'确认订单信息',
|
|
||||||
orderDetail:'订单信息',
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,171 +1,371 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="container" >
|
<div class="container" style="padding-top: 0px">
|
||||||
|
<el-row :gutter="20">
|
||||||
<el-row :gutter="20" >
|
<el-alert
|
||||||
<el-alert v-if="alertShow"
|
v-if="alertShow"
|
||||||
:title="'Dear '+ user_name + ' Congratulations! , The information will be hidden after ' + hideSec + ' seconds'"
|
:title="'Dear ' + user_name + ' Congratulations! , The information will be hidden after ' + hideSec + ' seconds'"
|
||||||
type="success"
|
type="success"
|
||||||
show-icon>
|
show-icon
|
||||||
|
>
|
||||||
</el-alert>
|
</el-alert>
|
||||||
<el-col class="mt20">
|
<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>
|
<p v-html="$t('PreAccept.successInfo')"></p>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<!-- 内容 -->
|
|
||||||
|
<div style="" v-if="journalInfo.fee != '0.00'">
|
||||||
<el-row :gutter="20" class="content_box mt20">
|
<p
|
||||||
<!-- 文章引用 -->
|
v-if="articleInfo.is_buy == 0"
|
||||||
<el-col :class="['item', 'borderBottom', Ainfo.refer_state.state? 'passborder' : 'notPassborder']">
|
style="
|
||||||
<h5 :class="['statusTop', Ainfo.refer_state.state? 'passStatus' : 'notPassStatus']">
|
color: #409eff;
|
||||||
<span v-if="Ainfo.refer_state.state" class="el-icon-check pass status"> Complete</span>
|
margin-top: 10px;
|
||||||
<span v-else class="el-icon-pie-chart notPass status"> Pending</span>
|
background: #ecf5ff;
|
||||||
</h5>
|
border-color: #b3d8ff;
|
||||||
<div class="con">
|
color: #505050;
|
||||||
<h4>Manuscript payment </h4>
|
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>
|
||||||
<p class="mt10"><common-paypal-button style="width: 150px;"
|
</div>
|
||||||
:amount="40.00"
|
<p
|
||||||
:orderId="4477"
|
style="
|
||||||
@payment-success="handlePaymentSuccess"
|
margin-top: 10px;
|
||||||
@payment-error="handlePaymentError"
|
color: #409eff;
|
||||||
/></p>
|
background: #ecf5ff;
|
||||||
|
border-color: #b3d8ff;
|
||||||
</div>
|
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">
|
<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>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div> -->
|
||||||
<p class="mt10"><el-button @click="goGenerateCharts(thisArtcleId)" icon="el-icon-edit" type="text">Edit</el-button></p>
|
<div class="content_box mt20 stepbox">
|
||||||
|
<!-- 文章引用 -->
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="con">
|
<div class="con">
|
||||||
<h4>References </h4>
|
<h4 class="con-title">{{ this.$t('PreAccept.step2') }}</h4>
|
||||||
<p class="mt20">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: 20px; box-sizing: border-box">
|
||||||
<!-- <p class="mt10"><img src="../../assets/img/icon_9.png" alt="" class="icon_img"> <el-link @click="goAddReferences(thisArtcleId)" type="primary" > Click here to edit</el-link> </p> -->
|
<el-button @click="goGenerateCharts(thisArtcleId)" icon="el-icon-edit" type="text">Edit</el-button>
|
||||||
<p class="mt10"><el-button @click="goAddReferences(thisArtcleId)" icon="el-icon-edit" type="text">Edit</el-button></p>
|
</p>
|
||||||
</div>
|
<!-- <div v-else style="padding: 20px; box-sizing: border-box"></div> -->
|
||||||
</el-col>
|
</div>
|
||||||
</el-row>
|
</div>
|
||||||
<!-- 答疑 -->
|
<div class="content_box mt20 stepbox">
|
||||||
<div class="mt20 helpcontent">
|
<!-- 文章引用 -->
|
||||||
<div class="flexbox">
|
<div class="con">
|
||||||
<span class="el-icon-info help"></span>
|
<h4 class="con-title" style="overflow: hidden">
|
||||||
<div>
|
{{ this.$t('PreAccept.step3') }}
|
||||||
<h4>Any questions/Help</h4>
|
<span v-if="Ainfo.refer_state.state" style="float: right" class="el-icon-check pass status"> Complete</span>
|
||||||
<p class="mt20">If you experience any problems, please contact us by publisher@tmrjournals.com</p>
|
<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>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</template>
|
||||||
</template>
|
|
||||||
|
<script>
|
||||||
<script>
|
import OrderConfirmation from '../page/components/pendingPayment/OrderConfirmation.vue';
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
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'),
|
user_name: localStorage.getItem('U_relname'),
|
||||||
thisArtcleId: this.$route.query.id,
|
thisArtcleId: this.$route.query.id,
|
||||||
alertShow:true,
|
alertShow: true,
|
||||||
dingshi:null,
|
dingshi: null,
|
||||||
hideSec:5,
|
hideSec: 5,
|
||||||
// 引用表单数据
|
// 引用表单数据
|
||||||
ReferenceList:[],
|
ReferenceList: [],
|
||||||
Ainfo:{
|
Ainfo: {
|
||||||
refer_state:{
|
refer_state: {
|
||||||
state:null,
|
state: null,
|
||||||
num: null
|
num: null
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.getInfoStatu()
|
this.getInfoStatu();
|
||||||
this.hideAlert()
|
this.hideAlert();
|
||||||
},
|
this.getDetail();
|
||||||
methods:{
|
},
|
||||||
|
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){
|
goAddReferences(id) {
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
path: 'ReferenceEditor',
|
path: 'ReferenceEditor',
|
||||||
query: {
|
query: {
|
||||||
id: id
|
id: id
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 跳转到图表编辑页面
|
// 跳转到图表编辑页面
|
||||||
goGenerateCharts(id){
|
goGenerateCharts(id) {
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
path: 'GenerateCharts',
|
path: 'GenerateCharts',
|
||||||
query: {
|
query: {
|
||||||
id: id
|
id: id
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
// 隐藏alert
|
// 隐藏alert
|
||||||
hideAlert(){
|
hideAlert() {
|
||||||
this.dingshi = setInterval(()=>{
|
this.dingshi = setInterval(() => {
|
||||||
this.hideSec -= 1
|
this.hideSec -= 1;
|
||||||
// console.log(this.hideSec)
|
// console.log(this.hideSec)
|
||||||
if(this.hideSec == 0){
|
if (this.hideSec == 0) {
|
||||||
this.alertShow = false
|
this.alertShow = false;
|
||||||
clearInterval(this.dingshi)
|
clearInterval(this.dingshi);
|
||||||
}
|
}
|
||||||
},1000)
|
}, 1000);
|
||||||
|
|
||||||
},
|
},
|
||||||
// 获取资料状态
|
// 获取资料状态
|
||||||
getInfoStatu(){
|
getInfoStatu() {
|
||||||
this.$api
|
this.$api
|
||||||
.post('/api/Article/getPreacceptStatus', {
|
.post('/api/Article/getPreacceptStatus', {
|
||||||
'article_id': this.$route.query.id
|
article_id: this.$route.query.id
|
||||||
})
|
})
|
||||||
.then(res => {
|
.then((res) => {
|
||||||
if(res.code == 0){
|
if (res.code == 0) {
|
||||||
// console.log(res, 'res')
|
// console.log(res, 'res')
|
||||||
this.Ainfo = {
|
this.Ainfo = {
|
||||||
refer_state:{
|
refer_state: {
|
||||||
state: res.data.refer_state.state,
|
state: res.data.refer_state.state,
|
||||||
num:res.data.refer_state.num
|
num: res.data.refer_state.num
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
})
|
}
|
||||||
.catch(err => {
|
})
|
||||||
console.log(err);
|
.catch((err) => {
|
||||||
});
|
console.log(err);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
.tip{background: #e6effb; padding: 4px; font-style: normal; border-radius:10px ;}
|
.tip {
|
||||||
.passborder{border:1px solid #f0f9eb;}
|
background: #e6effb;
|
||||||
.notPassborder{border:1px solid #fdf6ec;}
|
padding: 4px;
|
||||||
.con{padding: 20px;}
|
font-style: normal;
|
||||||
.statusTop{height:30px;}
|
border-radius: 10px;
|
||||||
.borderBottom{ border-bottom:1px solid #f1f1f1; margin-bottom: 20px; }
|
}
|
||||||
.help{font-size: 22px; margin-right: 10px;}
|
.passborder {
|
||||||
.el-alert__title{font-size: 26px;}
|
border: 1px solid #f0f9eb;
|
||||||
.mt20{margin-top: 20px;}
|
}
|
||||||
/* .content_box{padding:15px 10px; border:3px dashed #eff6ff; } */
|
.notPassborder {
|
||||||
.content_box .item{padding: 0 !important; border-radius: 20px 20px 0 0; overflow: hidden;}
|
border: 1px solid #fdf6ec;
|
||||||
.passStatus{ background: #f0f9eb;}
|
}
|
||||||
.notPassStatus{background: #fdf6ec;}
|
/* .con{padding: 20px;} */
|
||||||
.content_box .item .status{ font-size: 16px; padding:0 10px; line-height: 30px; }
|
.statusTop {
|
||||||
.content_box .item .status.pass{ color: #67c23a;}
|
height: 30px;
|
||||||
.content_box .item .status.notPass{ color: #e6a23c;}
|
}
|
||||||
.flexbox{display: flex;}
|
.borderBottom {
|
||||||
p{color: #333;}
|
border-bottom: 1px solid #f1f1f1;
|
||||||
.mt10{margin-top: 10px;}
|
margin-bottom: 20px;
|
||||||
.more{font-weight: bold;}
|
}
|
||||||
.helpcontent{color: #888; margin-top: 150px; padding-top: 30px; border-top: 2px solid #f1f1f1;}
|
.help {
|
||||||
.helpcontent p{color: inherit; font-size: 12px;}
|
font-size: 22px;
|
||||||
</style>
|
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>
|
||||||
|
|||||||
@@ -1,8 +1,61 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
|
|
||||||
|
|
||||||
<div class="tab_post">
|
<div class="tab_post">
|
||||||
|
<div style="margin-bottom: 10px">
|
||||||
|
<p
|
||||||
|
v-if="feeStatus == 0"
|
||||||
|
style="
|
||||||
|
color: #f56c6c;
|
||||||
|
|
||||||
|
background: #fef0f0;
|
||||||
|
border-color: #fbc4c4;
|
||||||
|
|
||||||
|
font-size: 14px;
|
||||||
|
padding: 10px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
margin: 0;
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<i class="el-icon-warning" style="color: #f56c6c; margin-right: 10px"></i>Manuscript unpaid
|
||||||
|
</p>
|
||||||
|
<p
|
||||||
|
v-if="feeStatus == 1"
|
||||||
|
style="
|
||||||
|
color: #67c23a;
|
||||||
|
margin: 0;
|
||||||
|
background: #f0f9eb;
|
||||||
|
border-color: #c2e7b0;
|
||||||
|
color: #67c23a;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 12px;
|
||||||
|
padding: 10px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
|
||||||
|
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<i class="el-icon-warning" style="color: #67c23a; margin-right: 10px"></i>Paid already
|
||||||
|
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div style="margin-bottom: 10px">
|
||||||
|
<p
|
||||||
|
style="
|
||||||
|
margin: 0;
|
||||||
|
color: #409eff;
|
||||||
|
background: #ecf5ff;
|
||||||
|
border-color: #b3d8ff;
|
||||||
|
color: #505050;
|
||||||
|
font-size: 12px;
|
||||||
|
padding: 10px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
"
|
||||||
|
v-if="feeStatus == 2"
|
||||||
|
>
|
||||||
|
<i class="el-icon-warning" style="color: #517fd5; margin-right: 10px"></i>
|
||||||
|
This manuscript does not require payment
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
<div v-for="(item, index) in tabsList" @click="jumpTab(index, item)" :class="tabName == item.refName ? 'P_style' : ''">
|
<div v-for="(item, index) in tabsList" @click="jumpTab(index, item)" :class="tabName == item.refName ? 'P_style' : ''">
|
||||||
<h5>
|
<h5>
|
||||||
<span>{{ index + 1 }}</span>
|
<span>{{ index + 1 }}</span>
|
||||||
@@ -365,6 +418,8 @@ import timetalk from './time_talk';
|
|||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
feeStatus: null,
|
||||||
|
isShowCommit: false,
|
||||||
talkMsgs: [],
|
talkMsgs: [],
|
||||||
communVisible: false,
|
communVisible: false,
|
||||||
msgform: {
|
msgform: {
|
||||||
@@ -796,6 +851,7 @@ export default {
|
|||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
|
this.getDetail();
|
||||||
this.getHight();
|
this.getHight();
|
||||||
window.addEventListener('resize', this.getHight);
|
window.addEventListener('resize', this.getHight);
|
||||||
// this.getData();
|
// this.getData();
|
||||||
@@ -805,6 +861,9 @@ export default {
|
|||||||
// this.getCount();
|
// this.getCount();
|
||||||
// this.getWorldPdf();
|
// this.getWorldPdf();
|
||||||
},
|
},
|
||||||
|
activated() {
|
||||||
|
this.getDetail();
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
talksave(val) {
|
talksave(val) {
|
||||||
this.msgform.ad_content = '';
|
this.msgform.ad_content = '';
|
||||||
@@ -869,6 +928,30 @@ export default {
|
|||||||
loading.close();
|
loading.close();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
getDetail() {
|
||||||
|
this.isShowCommit = false;
|
||||||
|
this.$api
|
||||||
|
.post('api/Order/preOrderDetail', {
|
||||||
|
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.journalInfo.fee != '0.00') {
|
||||||
|
this.isShowCommit = true;
|
||||||
|
this.feeStatus = 1;
|
||||||
|
} else if (this.journalInfo.fee == '0.00' && this.articleInfo.is_buy == 1) {
|
||||||
|
this.isShowCommit = true;
|
||||||
|
this.feeStatus = 2;
|
||||||
|
} else {
|
||||||
|
this.feeStatus = 0;
|
||||||
|
this.isShowCommit = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
getData() {
|
getData() {
|
||||||
this.idform.p_article_id = this.p_article_id;
|
this.idform.p_article_id = this.p_article_id;
|
||||||
this.detailMes.p_article_id = this.p_article_id;
|
this.detailMes.p_article_id = this.p_article_id;
|
||||||
@@ -2026,6 +2109,11 @@ export default {
|
|||||||
|
|
||||||
// 提交到 accept
|
// 提交到 accept
|
||||||
pushToAccept(detailMes) {
|
pushToAccept(detailMes) {
|
||||||
|
if (!this.isShowCommit) {
|
||||||
|
this.$message.error('The manuscript has not been paid, please contact the author promptly for payment');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
this.$confirm(`Are you sure you want to adjust this article status to 'accept'?`, 'Prompt', {
|
this.$confirm(`Are you sure you want to adjust this article status to 'accept'?`, 'Prompt', {
|
||||||
confirmButtonText: 'Yes',
|
confirmButtonText: 'Yes',
|
||||||
cancelButtonText: 'Cancle',
|
cancelButtonText: 'Cancle',
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1,19 +1,18 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="order-confirmation-box">
|
<div class="order-confirmation-box">
|
||||||
|
|
||||||
<div id="paypal-container" style="display: none">
|
<div id="paypal-container" style="display: none">
|
||||||
<div id="paypal-payment-button" style="width: 100%; height: 50px"></div>
|
<div id="paypal-payment-button" style="width: 100%; height: 50px"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="order-confirmation">
|
<div class="order-confirmation">
|
||||||
|
|
||||||
<el-descriptions :title="$t('pendingPayment.Confirmorderinformation')" column="2">
|
<el-descriptions :title="$t('pendingPayment.Confirmorderinformation')" column="2">
|
||||||
<el-descriptions-item label="ID">{{ articleInfo.accept_sn }}</el-descriptions-item>
|
<el-descriptions-item label="ID">{{ articleInfo.accept_sn }}</el-descriptions-item>
|
||||||
<el-descriptions-item :label=" $t('pendingPayment.journal')">{{ journalInfo.title }} </el-descriptions-item>
|
<el-descriptions-item :label="$t('pendingPayment.journal')">{{ journalInfo.title }} </el-descriptions-item>
|
||||||
<el-descriptions-item :span="2" style="width: 100%;" :label="$t('pendingPayment.title')"><p>{{ articleInfo.title }}</p></el-descriptions-item>
|
<el-descriptions-item :span="2" style="width: 100%" :label="$t('pendingPayment.title')"
|
||||||
|
><p>{{ articleInfo.title }}</p></el-descriptions-item
|
||||||
|
>
|
||||||
</el-descriptions>
|
</el-descriptions>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
id="settlementContainer"
|
id="settlementContainer"
|
||||||
@@ -148,9 +147,9 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
export default {
|
export default {
|
||||||
|
props: ['type'],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
|
||||||
orderInfo: {},
|
orderInfo: {},
|
||||||
articleInfo: {},
|
articleInfo: {},
|
||||||
journalInfo: {},
|
journalInfo: {},
|
||||||
@@ -160,7 +159,7 @@ export default {
|
|||||||
urlList: {
|
urlList: {
|
||||||
detail: 'api/Order/preOrderDetail',
|
detail: 'api/Order/preOrderDetail',
|
||||||
createdOrder: 'api/Order/creatArticleOrder',
|
createdOrder: 'api/Order/creatArticleOrder',
|
||||||
completeOrder: 'api/Order/completeOrder',
|
completeOrder: 'api/Order/completeOrder'
|
||||||
},
|
},
|
||||||
orderId: '1234567890', // 订单号
|
orderId: '1234567890', // 订单号
|
||||||
orderItems: [], // 订单明细
|
orderItems: [], // 订单明细
|
||||||
@@ -224,16 +223,15 @@ export default {
|
|||||||
})
|
})
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
console.log('res at line 222:', res);
|
console.log('res at line 222:', res);
|
||||||
that.orderInfo=res.data.detail
|
that.orderInfo = res.data.detail;
|
||||||
document.querySelector('#paypal-container').style.display = 'none';
|
document.querySelector('#paypal-container').style.display = 'none';
|
||||||
return res.data.paypal.jsonResponse.id;
|
return res.data.paypal.jsonResponse.id;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
onApprove(data, actions) {
|
onApprove(data, actions) {
|
||||||
return actions.order.capture().then((details) => {
|
return actions.order.capture().then((details) => {
|
||||||
console.log('details at line 232:', details.id)
|
console.log('details at line 232:', details.id);
|
||||||
|
|
||||||
|
|
||||||
const loading = that.$loading({
|
const loading = that.$loading({
|
||||||
lock: true,
|
lock: true,
|
||||||
text: 'Loading',
|
text: 'Loading',
|
||||||
@@ -242,21 +240,29 @@ that.orderInfo=res.data.detail
|
|||||||
});
|
});
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
loading.close();
|
loading.close();
|
||||||
that.$router.replace({ name: 'OrderConfirmation' });
|
var info={id: that.articleId}
|
||||||
// 跳转到新的路由
|
var type=''
|
||||||
that.$api
|
type=that.$route.query.type?that.$route.query.type:'';
|
||||||
.post(that.urlList.completeOrder, {
|
if(type == 'Pre-accept'){
|
||||||
order_id: that.orderInfo.order_id
|
info={...info,type:type}
|
||||||
})
|
|
||||||
.then((res) => {
|
|
||||||
|
|
||||||
});
|
|
||||||
that.$router.push({
|
|
||||||
path: '/success',
|
|
||||||
query: {
|
|
||||||
id: that.articleId
|
|
||||||
}
|
}
|
||||||
});
|
that.$router.replace({ name: 'OrderConfirmation' });
|
||||||
|
|
||||||
|
|
||||||
|
// 跳转到新的路由
|
||||||
|
that.$api
|
||||||
|
.post(that.urlList.completeOrder, {
|
||||||
|
order_id: that.orderInfo.order_id
|
||||||
|
|
||||||
|
})
|
||||||
|
.then((res) => {});
|
||||||
|
that.$router.push({
|
||||||
|
path: '/success',
|
||||||
|
query: {
|
||||||
|
...info
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
}, 500);
|
}, 500);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
@@ -794,7 +800,7 @@ h3 {
|
|||||||
.isSelect {
|
.isSelect {
|
||||||
border: 0.5px solid #ff5000;
|
border: 0.5px solid #ff5000;
|
||||||
}
|
}
|
||||||
.tableInfo{
|
.tableInfo {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="success-box" v-if="articleInfo.accept_sn">
|
<div class="success-box" v-if="articleInfo.accept_sn">
|
||||||
<div class="payment-success">
|
<div class="payment-success">
|
||||||
<div style="display: flex; align-items: center;margin-bottom: 10px;">
|
<div style="display: flex; align-items: center; margin-bottom: 10px">
|
||||||
<h2 style="margin: 0 auto;display: flex; align-items: center">
|
<h2 style="margin: 0 auto; display: flex; align-items: center">
|
||||||
<img src="@/assets/img/success.png" alt="" style="margin-right: 20px; width: 128px; height: 128px" />Payment Successful
|
<img src="@/assets/img/success.png" alt="" style="margin-right: 20px; width: 128px; height: 128px" />Payment Successful
|
||||||
</h2>
|
</h2>
|
||||||
</div>
|
</div>
|
||||||
@@ -18,7 +18,10 @@
|
|||||||
</p>
|
</p>
|
||||||
<!-- <p>Payment Method: {{ paymentMethod }}</p> -->
|
<!-- <p>Payment Method: {{ paymentMethod }}</p> -->
|
||||||
<p>You will receive an email confirmation shortly.</p>
|
<p>You will receive an email confirmation shortly.</p>
|
||||||
<button @click="goBack">Back to Order List</button>
|
<button @click="goBack">
|
||||||
|
{{ $route.query.type && $route.query.type == 'Pre-accept' ? 'Continue Operation' : 'Back to Order List' }}
|
||||||
|
</button>
|
||||||
|
<p style="color: #67c23a; font-size: 13px; line-height: 40px">Automatically jump after {{ hideSec }} seconds</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -27,6 +30,7 @@
|
|||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
alertShow: true,
|
||||||
urlList: {
|
urlList: {
|
||||||
detail: 'api/Order/preOrderDetail',
|
detail: 'api/Order/preOrderDetail',
|
||||||
createdOrder: 'api/Order/creatArticleOrder'
|
createdOrder: 'api/Order/creatArticleOrder'
|
||||||
@@ -34,13 +38,27 @@ export default {
|
|||||||
articleInfo: {},
|
articleInfo: {},
|
||||||
journalInfo: {},
|
journalInfo: {},
|
||||||
total: '',
|
total: '',
|
||||||
articleId: this.$route.query.id
|
articleId: this.$route.query.id,
|
||||||
|
dingshi: null,
|
||||||
|
hideSec: 5
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.getDetail();
|
this.getDetail();
|
||||||
},
|
},
|
||||||
|
mounted() {
|
||||||
|
this.hideAlert();
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
hideAlert() {
|
||||||
|
this.dingshi = setInterval(() => {
|
||||||
|
this.hideSec -= 1;
|
||||||
|
// console.log(this.hideSec)
|
||||||
|
if (this.hideSec == 0) {
|
||||||
|
this.goBack();
|
||||||
|
}
|
||||||
|
}, 1000);
|
||||||
|
},
|
||||||
formatAmount(amount) {
|
formatAmount(amount) {
|
||||||
return amount.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
return amount.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
||||||
},
|
},
|
||||||
@@ -60,12 +78,28 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
goBack() {
|
goBack() {
|
||||||
this.$router.replace({ name: 'success' });
|
var type=''
|
||||||
// 跳转到新的路由
|
type=this.$route.query.type?this.$route.query.type:'';
|
||||||
|
var id=this.$route.query.id
|
||||||
this.$router.push({
|
console.log('id at line 83:', id)
|
||||||
path: '/orderListAuthor'
|
// 跳转到新的路由
|
||||||
});
|
|
||||||
|
if (type == 'Pre-accept') {
|
||||||
|
this.$router.replace({ name: 'success' });
|
||||||
|
this.$router.push({
|
||||||
|
path: '/PreIngested',
|
||||||
|
query:{
|
||||||
|
id: id
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
this.$router.replace({ name: 'success' });
|
||||||
|
this.$router.push({
|
||||||
|
path: '/orderListAuthor'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
//
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user