提交
This commit is contained in:
@@ -1,48 +1,26 @@
|
||||
<template>
|
||||
<div>
|
||||
<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"></div>
|
||||
|
||||
|
||||
<div v-for="(item, index) in tabsList" @click="jumpTab(index, item)" :class="tabName == item.refName ? 'P_style' : ''">
|
||||
<h5>
|
||||
<span>{{ index + 1 }}</span>
|
||||
{{ item.name }}
|
||||
</h5>
|
||||
<p v-if="index != 1">{{ item.rongCont }}</p>
|
||||
<p v-else>
|
||||
<p v-if="index == 0">
|
||||
<span style="color: #f56c6c; font-weight: 700" v-if="feeStatus == 0">
|
||||
<i class="el-icon-warning" style="margin-right: 10px"></i>Manuscript unpaid
|
||||
</span>
|
||||
<span v-else-if="feeStatus == 1" style="font-weight: 700">
|
||||
<i class="el-icon-warning" style="color: #67c23a; margin-right: 10px"></i>Paid already
|
||||
</span>
|
||||
<span v-else-if="feeStatus == 2" style="font-weight: 700">
|
||||
<i class="el-icon-warning" style="color: #67c23a; margin-right: 10px"></i>No payment required
|
||||
</span>
|
||||
</p>
|
||||
<p v-if="index == 1">{{ item.rongCont }}</p>
|
||||
<p v-if="index == 2">
|
||||
<el-button type="primary" plain @click="htmlContet()" style="width: auto; font-weight: bold; margin-top: 10px">
|
||||
<i class="el-icon-document-copy" style="font-weight: bold; font-size: 14px"></i>
|
||||
Text Proofread
|
||||
@@ -57,12 +35,12 @@
|
||||
Push To Accept
|
||||
</el-button>
|
||||
</div>
|
||||
<div style="margin: 20px 0 0 0">
|
||||
<!-- <div style="margin: 20px 0 0 0">
|
||||
<el-button type="text" @click="pushToProduce(detailMes)" style="font-size: 13px">
|
||||
<i class="el-icon-finished"></i>
|
||||
Begin to Production
|
||||
</el-button>
|
||||
</div>
|
||||
</div> -->
|
||||
<!-- 作者联系 -->
|
||||
<div class="contactAuthor">
|
||||
<h4>Contact author</h4>
|
||||
@@ -96,8 +74,72 @@
|
||||
|
||||
<!-- 参考文献 -->
|
||||
<div :ref="tabsList[0].refName" class="scroll-item">
|
||||
<div class="bor_style_onli">
|
||||
<div class="bor_style_onli" style="height: auto;max-height: 700px;">
|
||||
<h4>{{ tabsList[0].name }}</h4>
|
||||
<div style="" class="payment_info_box">
|
||||
|
||||
|
||||
<div class="payment_info" style="width: 100%"
|
||||
><el-table :data="tableData" style="width: 100%" align="center">
|
||||
<el-table-column prop="fee" :label="$t('pendingPayment.total')" width="150px">
|
||||
<template slot-scope="scope"> {{ scope.row.original_price }} USD </template>
|
||||
</el-table-column>
|
||||
<el-table-column :label="$t('pendingPayment.discountprice')" width="200px">
|
||||
<template slot-scope="scope"> {{ scope.row.fee }} USD <span style="cursor: pointer;color:#006699;margin-left: 10px;" v-if="feeStatus == 0" @click="handleEditFee"><i class="el-icon-edit"></i> Edit</span></template>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column prop="name" :label="$t('pendingPayment.Paymentamount')">
|
||||
<template slot-scope="scope">
|
||||
|
||||
</template>
|
||||
</el-table-column> -->
|
||||
<el-table-column :label="$t('pendingPayment.youhuiremark')">
|
||||
<template slot-scope="scope">
|
||||
<p > <span class="remark">{{ article_pay_info.fee_remark }}</span>
|
||||
</p>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column prop="" :label="$t('pendingPayment.Paymentstatus')">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="feeStatus == 0" style="color: #f56c6c"
|
||||
><b>Manuscript unpaid</b></span
|
||||
>
|
||||
<span v-if="feeStatus == 1" style="color: #67c23a"
|
||||
><b>Paid already</b></span
|
||||
>
|
||||
<span v-if="feeStatus == 2" style="color: #67c23a"
|
||||
><b>No payment required</b></span
|
||||
>
|
||||
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="" :label="$t('pendingPayment.Paymentamount')" v-if="feeStatus == 1">
|
||||
<template slot-scope="scope">
|
||||
|
||||
<p v-if="article_pay_info.paystation_fee"> <span class="price">{{ formatAmount(Number(article_pay_info.paystation_fee / 100)) }}</span>
|
||||
{{ article_pay_info.paystation_currency }}</p>
|
||||
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="" :label="$t('pendingPayment.time')" v-if="feeStatus == 1">
|
||||
<template slot-scope="scope">
|
||||
|
||||
|
||||
<p><span style="color: #888">{{ article_pay_info.paystation_time ? article_pay_info.paystation_time : 'unknown' }}</span>
|
||||
</p>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div
|
||||
>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div :ref="tabsList[1].refName" class="scroll-item">
|
||||
<div class="bor_style_onli">
|
||||
<h4>{{ tabsList[1].name }}</h4>
|
||||
<div class="liter_ture" v-if="0 == 2">
|
||||
<div class="chanSelLef">
|
||||
<!-- 1 -->
|
||||
@@ -390,6 +432,24 @@
|
||||
<timetalk :talkMsgs="talkMsgs" :msgform="msgform" @talksave="talksave"></timetalk>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<el-dialog :title="`Edit`" :visible.sync="finalFeeVisible" width="600px" :close-on-click-modal="false">
|
||||
<el-form ref="finalFee" :rules="rules" :model="finalFeeData" label-width="180px">
|
||||
|
||||
<el-form-item :label="$t('pendingPayment.discountprice')" prop="fee" clearable>
|
||||
<!-- <commonRemarkList :list="remark.contentList" @load="(e) => (this.remark.contentList = e)"></commonRemarkList> -->
|
||||
<el-input v-model="finalFeeData.fee"> <span slot="suffix" >USD</span></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('pendingPayment.youhuiremark')" prop="fee_remark">
|
||||
<!-- <commonRemarkList :list="remark.contentList" @load="(e) => (this.remark.contentList = e)"></commonRemarkList> -->
|
||||
<el-input type="textarea" rows="5" v-model="finalFeeData.fee_remark"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="finalFeeVisible = false">Cancel</el-button>
|
||||
<el-button type="primary" @click="saveFinalFee">Save</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -405,9 +465,16 @@ export default {
|
||||
props: ['type'],
|
||||
data() {
|
||||
return {
|
||||
finalFeeData:{
|
||||
|
||||
},
|
||||
article_pay_info: {},
|
||||
feeStatus: null,
|
||||
isShowCommit: false,
|
||||
tableData: [],
|
||||
talkMsgs: [],
|
||||
finalFeeVisible: false,
|
||||
FeeVisible: false,
|
||||
communVisible: false,
|
||||
msgform: {
|
||||
username: localStorage.getItem('U_name'),
|
||||
@@ -444,8 +511,13 @@ export default {
|
||||
// rongCont: 'Please upload the article file.'
|
||||
// },
|
||||
{
|
||||
name: 'Reference Conversion',
|
||||
name: 'Article Processing Charge',
|
||||
refName: 'setOneRef',
|
||||
rongCont: ''
|
||||
},
|
||||
{
|
||||
name: 'Reference Conversion',
|
||||
refName: 'setTwoRef',
|
||||
rongCont: 'Revise, check and complete the references of the manuscript.'
|
||||
},
|
||||
// {
|
||||
@@ -455,7 +527,7 @@ export default {
|
||||
// },
|
||||
{
|
||||
name: 'Text Proofread',
|
||||
refName: 'setTwoRef',
|
||||
refName: 'setThreeRef',
|
||||
rongCont: 'HTML layout.'
|
||||
}
|
||||
// {
|
||||
@@ -681,166 +753,22 @@ export default {
|
||||
deAuthorYul: {},
|
||||
deMesYul: {},
|
||||
rules: {
|
||||
title: [
|
||||
{
|
||||
required: true,
|
||||
message: 'Please enter title',
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
npp: [
|
||||
{
|
||||
required: true,
|
||||
message: 'Please enter page',
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
journal_stage_id: [
|
||||
{
|
||||
required: true,
|
||||
message: 'Please select stage',
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
type: [
|
||||
{
|
||||
required: true,
|
||||
message: 'Please select type',
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
icon: [
|
||||
{
|
||||
required: true,
|
||||
message: 'Please select picture',
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
abbr: [
|
||||
{
|
||||
required: true,
|
||||
message: 'Please enter abbr',
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
tradition_tag: [
|
||||
{
|
||||
required: true,
|
||||
message: 'Please enter tradition tag',
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
tradition: [
|
||||
{
|
||||
required: true,
|
||||
message: 'Please enter tradition',
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
pubDate: [
|
||||
{
|
||||
required: true,
|
||||
message: 'Please select pubDate',
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
doi: [
|
||||
{
|
||||
required: true,
|
||||
message: 'Please enter doi',
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
abstract: [
|
||||
{
|
||||
required: true,
|
||||
message: 'Please enter abstract',
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
keywords: [
|
||||
{
|
||||
required: true,
|
||||
message: 'Please enter keywords',
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
fund: [
|
||||
{
|
||||
required: true,
|
||||
message: 'Please enter Fund',
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
acknowledgment: [
|
||||
{
|
||||
required: true,
|
||||
message: 'Please enter acknowledgment',
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
abbreviation: [
|
||||
{
|
||||
required: true,
|
||||
message: 'Please enter abbreviation',
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
author_contribution: [
|
||||
{
|
||||
required: true,
|
||||
message: 'Please enter author contribution',
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
pub_date: [
|
||||
{
|
||||
required: true,
|
||||
message: 'Please enter date',
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
first_name: [
|
||||
{
|
||||
required: true,
|
||||
message: 'Please enter author name',
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
last_name: [
|
||||
{
|
||||
required: true,
|
||||
message: 'Please enter author name',
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
email: [
|
||||
{
|
||||
required: true,
|
||||
message: 'Please enter contact author email',
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
author_country: [
|
||||
{
|
||||
required: true,
|
||||
message: 'Please select a country',
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
organ_name: [
|
||||
{
|
||||
required: true,
|
||||
message: 'Please enter mechanism',
|
||||
trigger: 'blur'
|
||||
}
|
||||
]
|
||||
fee: [{
|
||||
required: true,
|
||||
message: 'Please enter the final price after discount',
|
||||
trigger: 'blur'
|
||||
}],
|
||||
fee_remark: [{
|
||||
required: true,
|
||||
message: 'Please enter the discount description',
|
||||
trigger: 'blur'
|
||||
}],
|
||||
}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.opMedical = this.$commonJS.opMedicalList();
|
||||
this.getDetail();
|
||||
this.getPreacceptPayment();
|
||||
this.getHight();
|
||||
window.addEventListener('resize', this.getHight);
|
||||
// this.getData();
|
||||
@@ -851,9 +779,64 @@ export default {
|
||||
// this.getWorldPdf();
|
||||
},
|
||||
activated() {
|
||||
this.getDetail();
|
||||
this.getPreacceptPayment();
|
||||
},
|
||||
methods: {
|
||||
saveFinalFee(){
|
||||
this.$refs.finalFee.validate((valid) => {
|
||||
if (valid) {
|
||||
|
||||
const integerRegex = /^-?\d+$/;
|
||||
if (!integerRegex.test(this.finalFeeData.fee)) {
|
||||
this.$message.error('Please enter a valid integer for the final price after discount');
|
||||
return false;
|
||||
}
|
||||
|
||||
const load = this.$loading({
|
||||
lock: true,
|
||||
text: 'Loading...',
|
||||
spinner: 'el-icon-loading',
|
||||
background: 'rgba(0, 0, 0, 0.7)'
|
||||
});
|
||||
this.$api
|
||||
.post('api/Order/changePrice', {
|
||||
article_id: this.$route.query.id,
|
||||
editor_id: localStorage.getItem('U_id'),
|
||||
fee: Number(this.finalFeeData.fee).toFixed(2),
|
||||
fee_remark: this.finalFeeData.fee_remark,
|
||||
})
|
||||
.then((res) => { load.close()
|
||||
|
||||
if(res.code==0){
|
||||
this.finalFeeVisible=false
|
||||
this.getPreacceptPayment()
|
||||
}else{
|
||||
this.$message.error(res.msg)
|
||||
}
|
||||
|
||||
})
|
||||
.catch((err) => {
|
||||
load.close()
|
||||
console.log(err);
|
||||
});
|
||||
}else{
|
||||
return false
|
||||
}
|
||||
})
|
||||
},
|
||||
handleEditFee(){
|
||||
this.finalFeeVisible = true;
|
||||
this.finalFeeData={
|
||||
fee:this.article_pay_info.fee?Number(this.article_pay_info.fee).toFixed(0):0,
|
||||
fee_remark:this.article_pay_info.fee_remark
|
||||
}
|
||||
|
||||
|
||||
},
|
||||
|
||||
formatAmount(amount) {
|
||||
return amount.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
||||
},
|
||||
talksave(val) {
|
||||
this.msgform.ad_content = '';
|
||||
this.getTalkList();
|
||||
@@ -917,7 +900,7 @@ export default {
|
||||
loading.close();
|
||||
});
|
||||
},
|
||||
getDetail() {
|
||||
getPreacceptPayment() {
|
||||
this.isShowCommit = false;
|
||||
this.$api
|
||||
.post('api/Preaccept/getPreacceptPayment', {
|
||||
@@ -926,6 +909,28 @@ export default {
|
||||
.then((res) => {
|
||||
console.log('res at line 191:', res);
|
||||
if (res.code == 0) {
|
||||
this.article_pay_info = {
|
||||
fee: res.data.article.fee,
|
||||
is_buy: res.data.article.is_buy,
|
||||
original_price: res.data.journal.fee,
|
||||
fee_remark: res.data.article.fee_remark,
|
||||
order: res.data.order,
|
||||
paystation_fee: res.data.order&&res.data.order.paystation ? res.data.order.paystation.amount : '',
|
||||
paystation_time: res.data.order&&res.data.order.paystation ? res.data.order.paystation.request_time : '',
|
||||
paystation_currency: res.data.order&&res.data.order.paystation ? res.data.order.paystation.currency : ''
|
||||
};
|
||||
|
||||
if (this.article_pay_info.is_buy == 1) {
|
||||
|
||||
if (this.article_pay_info.fee == 0) {
|
||||
this.feeStatus = 2;
|
||||
}else{
|
||||
this.feeStatus = 1;
|
||||
}
|
||||
} else {
|
||||
this.feeStatus = 0;
|
||||
}
|
||||
this.tableData=[{...this.article_pay_info}]
|
||||
this.feeStatus = res.data.state;
|
||||
this.isShowCommit = res.data.state == 1 ? true : false;
|
||||
console.log(this.isShowCommit);
|
||||
@@ -2126,17 +2131,17 @@ export default {
|
||||
.catch(() => {});
|
||||
},
|
||||
pushToProduce(detailMes) {
|
||||
if (!this.isShowCommit) {
|
||||
this.$message.error('The manuscript has not been paid, please contact the author promptly for payment');
|
||||
return false;
|
||||
}
|
||||
// if (!this.isShowCommit) {
|
||||
// this.$message.error('The manuscript has not been paid, please contact the author promptly for payment');
|
||||
// return false;
|
||||
// }
|
||||
|
||||
this.$confirm(`Please confirm if you would like to push this article to the production stage?`, 'Prompt', {
|
||||
confirmButtonText: 'Yes',
|
||||
cancelButtonText: 'Cancle',
|
||||
type: 'warning'
|
||||
})
|
||||
.then(() => {
|
||||
// this.$confirm(`Please confirm if you would like to push this article to the production stage?`, 'Prompt', {
|
||||
// confirmButtonText: 'Yes',
|
||||
// cancelButtonText: 'Cancle',
|
||||
// type: 'warning'
|
||||
// })
|
||||
// .then(() => {
|
||||
const load = this.$loading({
|
||||
lock: true,
|
||||
text: 'Loading...',
|
||||
@@ -2150,13 +2155,13 @@ export default {
|
||||
.then((res) => {
|
||||
if (res.code == 0) {
|
||||
load.close();
|
||||
this.$message.success('successed!');
|
||||
setTimeout(() => {
|
||||
localStorage.setItem('U_point', 2);
|
||||
this.$router.push({
|
||||
path: 'articleListEditor'
|
||||
});
|
||||
}, 1000);
|
||||
// this.$message.success('successed!');
|
||||
// setTimeout(() => {
|
||||
// localStorage.setItem('U_point', 2);
|
||||
// this.$router.push({
|
||||
// path: 'articleListEditor'
|
||||
// });
|
||||
// }, 1000);
|
||||
} else {
|
||||
load.close();
|
||||
this.$message.error(res.msg);
|
||||
@@ -2166,8 +2171,8 @@ export default {
|
||||
load.close();
|
||||
this.$message.error(err);
|
||||
});
|
||||
})
|
||||
.catch(() => {});
|
||||
// })
|
||||
// .catch(() => {});
|
||||
},
|
||||
// 点击开始上线显示
|
||||
pushOnline(detailMes) {
|
||||
@@ -2348,6 +2353,60 @@ export default {
|
||||
.scroll-item {
|
||||
margin: 0 30px 50px 276px;
|
||||
}
|
||||
.payment_info_box {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.payment_info_box li {
|
||||
list-style: none;
|
||||
margin-top: 2px;
|
||||
}
|
||||
.payment_info {
|
||||
color: #333;
|
||||
font-size: 14px;
|
||||
}
|
||||
.payment_info .label {
|
||||
color: #333;
|
||||
}
|
||||
.payment_info .price {
|
||||
font-weight: 700;
|
||||
}
|
||||
.payment_info .remark {
|
||||
/* color: #888; */
|
||||
}
|
||||
.payment_info .price {
|
||||
color: #ff5000;
|
||||
/* color: #888; */
|
||||
}
|
||||
.unpaid {
|
||||
color: #f56c6c;
|
||||
background: #fef0f0;
|
||||
border-color: #fbc4c4;
|
||||
font-size: 14px;
|
||||
padding: 10px;
|
||||
box-sizing: border-box;
|
||||
margin: 0;
|
||||
}
|
||||
.paid {
|
||||
color: #67c23a;
|
||||
margin: 0;
|
||||
background: #f0f9eb;
|
||||
border-color: #c2e7b0;
|
||||
color: #67c23a;
|
||||
font-weight: bold;
|
||||
font-size: 12px;
|
||||
padding: 10px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
::v-deep .box-card .el-table th {
|
||||
background-color: #f0f0f0 !important;
|
||||
/* border-top: 1px solid #b0b0b0 !important; */
|
||||
|
||||
color: #333 !important;
|
||||
}
|
||||
::v-deep .box-card .el-table td.el-table__cell,
|
||||
::v-deep .box-card .el-table th.el-table__cell.is-leaf {
|
||||
/* border-bottom: 1px solid #b0b0b0 !important; */
|
||||
}
|
||||
</style>
|
||||
<style>
|
||||
.talkDialog {
|
||||
@@ -2381,7 +2440,7 @@ export default {
|
||||
background-color: #fafafa;
|
||||
position: absolute;
|
||||
left: 25px;
|
||||
top: 60px;
|
||||
top: 40px;
|
||||
/* width: 220px; */
|
||||
z-index: 50;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user