提交
This commit is contained in:
@@ -19,8 +19,8 @@ const service = axios.create({
|
||||
// baseURL: 'https://submission.tmrjournals.com/', //正式 记得切换
|
||||
// baseURL: 'http://www.tougao.com/', //测试本地 记得切换
|
||||
// baseURL: 'http://192.168.110.110/tougao/public/index.php/',
|
||||
// baseURL: '/api', //本地
|
||||
baseURL: '/', //正式
|
||||
baseURL: '/api', //本地
|
||||
// baseURL: '/', //正式
|
||||
|
||||
});
|
||||
|
||||
|
||||
@@ -113,7 +113,8 @@ export default {
|
||||
day: '0',
|
||||
hour: '00',
|
||||
min: '00',
|
||||
second: '00'
|
||||
second: '00',
|
||||
|
||||
};
|
||||
},
|
||||
created() {
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
</template>
|
||||
<template v-else>
|
||||
<v-head2 :home="true"></v-head2>
|
||||
<div style="width: 100%; height: calc(100% - 42px); overflow: hidden">
|
||||
<div style="width: 100%; height: calc(100% - 42px); overflow: hidden" :style="{background: bgColor}">
|
||||
<div class="content" style="padding: 0; overflow: hidden">
|
||||
<!-- <transition name="move" mode="out-in"> -->
|
||||
<!-- <keep-alive :include="tagsList"> -->
|
||||
@@ -56,6 +56,7 @@ import bus from './bus';
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
bgColor: this.$route.meta.bgColor || '#fff',
|
||||
tagsList: [],
|
||||
collapse: false
|
||||
};
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
<template>
|
||||
<div>
|
||||
<div style="width: 100%; height: 100%">
|
||||
<div class="tab_post">
|
||||
|
||||
|
||||
<div v-for="(item, index) in tabsList" @click="jumpTab(index, item)" :class="tabName == item.refName ? 'P_style' : ''">
|
||||
<h5>
|
||||
<span>{{ index + 1 }}</span>
|
||||
@@ -59,262 +57,73 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div
|
||||
class="scroll-content guanSty"
|
||||
@scroll="onScroll"
|
||||
:style="'overflow-x: hidden; overflow-y: auto;height:' + contentStyleObj.height"
|
||||
>
|
||||
<!-- 基本信息 -->
|
||||
|
||||
<!-- 作者列表 -->
|
||||
|
||||
<!-- 文件上传 -->
|
||||
|
||||
<!-- 文章正文 -->
|
||||
|
||||
<!-- 参考文献 -->
|
||||
<div class="scroll-content guanSty" @scroll="onScroll" :style="'height: calc(100%);overflow: auto;'">
|
||||
<div :ref="tabsList[0].refName" class="scroll-item">
|
||||
<div class="bor_style_onli" style="height: auto;max-height: 700px;">
|
||||
<div class="bor_style_onli" style="height: auto; overflow: hidden">
|
||||
<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>
|
||||
<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="" :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>
|
||||
<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">
|
||||
<div class="bor_style_onli bor_style_onli_ref">
|
||||
<h4>{{ tabsList[1].name }}</h4>
|
||||
<div class="liter_ture" v-if="0 == 2">
|
||||
<div class="chanSelLef">
|
||||
<!-- 1 -->
|
||||
<div :class="showB_step == 1 ? 'C_style' : ''">
|
||||
<h3><span>1</span>Check References and Doi</h3>
|
||||
<div v-if="showB_step == 1">
|
||||
<p>
|
||||
You need to click
|
||||
<el-button
|
||||
type="warning"
|
||||
@click="StepBOper(1)"
|
||||
size="mini"
|
||||
style="padding: 5px 8px; font-size: 12px; margin: 0 5px"
|
||||
>
|
||||
<i class="el-icon-edit-outline"></i>
|
||||
Crossref
|
||||
</el-button>
|
||||
to open the website, then paste the references part of the
|
||||
<a :href="mediaUrl + this.gridData" target="_blank">
|
||||
<el-button type="text" size="mini" style="font-size: 12px; margin: 0 5px; font-weight: bold">
|
||||
<i class="el-icon-download" style="font-weight: bold"></i>
|
||||
manuscript
|
||||
</el-button>
|
||||
</a>
|
||||
|
||||
to get the new references part, please paste the new one into the input box.
|
||||
</p>
|
||||
<el-button
|
||||
@click="StepBNext(2)"
|
||||
plain
|
||||
type="primary"
|
||||
style="width: 85%; margin: 15px 0px 0px 30px; position: relative"
|
||||
>
|
||||
<i class="el-icon-right" style="font-size: 18px; position: absolute; right: 8px; top: 5px"></i>
|
||||
Next Step
|
||||
</el-button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 2 -->
|
||||
<div :class="showB_step == 2 ? 'C_style' : ''">
|
||||
<h3><span>2</span>Check Standard</h3>
|
||||
<div v-if="showB_step == 2">
|
||||
<p>Convert to standard format.</p>
|
||||
<p style="background-color: #fdf3e3; padding: 10px; margin: 10px 0 0 30px">
|
||||
The references with yellow background are problematic, so you can check and correct them yourself.
|
||||
</p>
|
||||
<el-button
|
||||
@click="StepBNext(1)"
|
||||
type="primary"
|
||||
plain
|
||||
style="width: 85%; margin: 15px 0px 0px 30px; position: relative"
|
||||
>
|
||||
<i
|
||||
class="el-icon-back"
|
||||
style="font-size: 18px; margin: 0; position: absolute; left: 8px; top: 5px"
|
||||
></i>
|
||||
Back Step and Reset
|
||||
</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="chanFerAll">
|
||||
<div v-if="showB_step == 1">
|
||||
<el-input
|
||||
v-model="refAarray"
|
||||
type="textarea"
|
||||
rows="20"
|
||||
style="width: 100%"
|
||||
:placeholder="placeRef"
|
||||
></el-input>
|
||||
<el-button type="primary" @click="StepBOper(2)" style="width: 250px; margin: 20px 0 0 0; float: right">
|
||||
<i class="el-icon-document-checked"></i>
|
||||
Complete and conversion
|
||||
</el-button>
|
||||
<br clear="both" />
|
||||
</div>
|
||||
|
||||
<div v-for="(item, index) in this.chanFerForm" v-if="showB_step == 2" class="ref_list">
|
||||
<div>
|
||||
<span style="float: left; margin: 3px 10px 0 0; width: 80px; text-align: right; font-size: 14px"
|
||||
>DOI :</span
|
||||
>
|
||||
<p style="float: left; font-size: 14px; color: #555">{{ item.refer_doi }}</p>
|
||||
<br clear="both" />
|
||||
</div>
|
||||
<div v-if="item.cs == 1 && item.edit_mark != 0" style="margin-bottom: 0">
|
||||
<span style="float: left; margin: 0 12px 0 0; width: 80px; text-align: right; font-size: 14px"
|
||||
>Standard :</span
|
||||
>
|
||||
<p
|
||||
v-if="item.author == ''"
|
||||
style="float: left; width: 74.5%; font-size: 14px; color: #555; line-height: 20px"
|
||||
>
|
||||
{{ item.refer_frag }}
|
||||
</p>
|
||||
<p
|
||||
v-if="item.author != ''"
|
||||
style="float: left; width: 74.5%; font-size: 14px; color: #555; line-height: 20px"
|
||||
>
|
||||
{{ item.author }} {{ item.title }} {{ item.joura }}{{ item.dateno }}. Available at:
|
||||
{{ item.doilink }}
|
||||
</p>
|
||||
<br clear="both" />
|
||||
</div>
|
||||
<div
|
||||
v-if="item.cs == 0 || item.edit_mark == 0"
|
||||
:class="item.cs == 0 ? 'BG_yell' : ''"
|
||||
style="margin-bottom: 0"
|
||||
>
|
||||
<span style="float: left; margin: 0 12px 0 0; width: 80px; text-align: right; font-size: 14px"
|
||||
>Standard :</span
|
||||
>
|
||||
<el-input
|
||||
type="textarea"
|
||||
v-model="item.refer_frag"
|
||||
autosize
|
||||
style="width: 60%; display: inline-block"
|
||||
></el-input>
|
||||
|
||||
<div style="display: inline-block; width: 50px; vertical-align: top">
|
||||
<el-button
|
||||
@click="ChanFerEditFrag(item, index)"
|
||||
type="primary"
|
||||
icon="el-icon-check"
|
||||
size="mini"
|
||||
style="margin: 0 5px 0 15px"
|
||||
>
|
||||
</el-button>
|
||||
<el-button
|
||||
@click="ChanFerMashUp(item)"
|
||||
type="warning"
|
||||
size="mini"
|
||||
style="margin: 10px 5px 0 15px"
|
||||
v-if="index != 0"
|
||||
>Up</el-button
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<b>{{ index + 1 }}</b>
|
||||
<i
|
||||
class="el-icon-edit-outline"
|
||||
@click="referMark(index)"
|
||||
v-if="item.edit_mark == 1 && item.cs != 0 && item.author == ''"
|
||||
></i>
|
||||
<i
|
||||
class="el-icon-top"
|
||||
@click="ChanFerMashUp(item)"
|
||||
v-if="index != 0 && item.edit_mark == 1 && item.cs != 0"
|
||||
style="right: 40px; font-size: 10px"
|
||||
>up</i
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<br clear="both" />
|
||||
<!-- <p v-if="this.chanFerForm==''" style="text-align: center;color: #999;margin-top: 50px;">No references</p> -->
|
||||
<!-- 进度条 -->
|
||||
<div v-if="refProcess == 1" class="RefProBar">
|
||||
<div>
|
||||
<el-progress
|
||||
:text-inside="true"
|
||||
:stroke-width="24"
|
||||
:percentage="refReal"
|
||||
:color="customColorMethod"
|
||||
></el-progress>
|
||||
<p>
|
||||
<img src="../../assets/img/Ip_spinner.gif" />
|
||||
<span>{{ this.refReal }}%</span> completed, please wait...
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<editPublicRefRdit
|
||||
ref="editPublicRefRdit"
|
||||
:chanFerForm="chanFerForm"
|
||||
:chanFerFormRepeatList="chanFerFormRepeatList"
|
||||
:gridData="gridData"
|
||||
:p_article_id="p_article_id"
|
||||
@ChanFerMashUp="ChanFerMashUp"
|
||||
@@ -433,11 +242,10 @@
|
||||
</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 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-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> -->
|
||||
@@ -449,7 +257,6 @@
|
||||
<el-button type="primary" @click="saveFinalFee">Save</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -465,9 +272,7 @@ export default {
|
||||
props: ['type'],
|
||||
data() {
|
||||
return {
|
||||
finalFeeData:{
|
||||
|
||||
},
|
||||
finalFeeData: {},
|
||||
article_pay_info: {},
|
||||
feeStatus: null,
|
||||
isShowCommit: false,
|
||||
@@ -710,6 +515,7 @@ export default {
|
||||
editFomschool: {},
|
||||
|
||||
chanFerForm: [],
|
||||
chanFerFormRepeatList: [],
|
||||
refProcess: 0,
|
||||
refReal: 0,
|
||||
refAarray: '',
|
||||
@@ -753,16 +559,20 @@ export default {
|
||||
deAuthorYul: {},
|
||||
deMesYul: {},
|
||||
rules: {
|
||||
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'
|
||||
}],
|
||||
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'
|
||||
}
|
||||
]
|
||||
}
|
||||
};
|
||||
},
|
||||
@@ -774,18 +584,21 @@ export default {
|
||||
// this.getData();
|
||||
this.getArtcleDetails();
|
||||
this.getTalkList();
|
||||
// this.getAuthorJG();
|
||||
// this.getCount();
|
||||
// this.getWorldPdf();
|
||||
|
||||
},
|
||||
activated() {
|
||||
this.opMedical = this.$commonJS.opMedicalList();
|
||||
this.getPreacceptPayment();
|
||||
this.getHight();
|
||||
window.addEventListener('resize', this.getHight);
|
||||
// this.getData();
|
||||
this.getArtcleDetails();
|
||||
this.getTalkList();
|
||||
},
|
||||
methods: {
|
||||
saveFinalFee(){
|
||||
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');
|
||||
@@ -793,47 +606,45 @@ export default {
|
||||
}
|
||||
|
||||
const load = this.$loading({
|
||||
lock: true,
|
||||
text: 'Loading...',
|
||||
spinner: 'el-icon-loading',
|
||||
background: 'rgba(0, 0, 0, 0.7)'
|
||||
});
|
||||
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
|
||||
.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(){
|
||||
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
|
||||
}
|
||||
|
||||
|
||||
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, ',');
|
||||
},
|
||||
@@ -915,22 +726,21 @@ export default {
|
||||
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 : ''
|
||||
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{
|
||||
} else {
|
||||
this.feeStatus = 1;
|
||||
}
|
||||
} else {
|
||||
this.feeStatus = 0;
|
||||
}
|
||||
this.tableData=[{...this.article_pay_info}]
|
||||
this.tableData = [{ ...this.article_pay_info }];
|
||||
this.feeStatus = res.data.state;
|
||||
this.isShowCommit = res.data.state == 1 ? true : false;
|
||||
console.log(this.isShowCommit);
|
||||
@@ -993,20 +803,7 @@ this.tableData=[{...this.article_pay_info}]
|
||||
this.fileL_Icm[0].url = this.mediaUrl + 'articleCDF/' + res.data.production.file_cdf;
|
||||
}
|
||||
|
||||
// if (this.detailMes.main != '') {
|
||||
// this.detailMes.main = JSON.parse(this.detailMes.main)
|
||||
// if (typeof(this.detailMes.main) != 'object') {
|
||||
// this.detailMes.main = eval("(" + this.detailMes.main + ")")
|
||||
// }
|
||||
// }
|
||||
|
||||
// this.Main_List = []
|
||||
// for (let i = 0; i < this.detailMes.main.length; i++) {
|
||||
// this.Main_List.push({
|
||||
// name: this.detailMes.main[i],
|
||||
// value: i,
|
||||
// })
|
||||
// }
|
||||
|
||||
|
||||
this.CSonline();
|
||||
|
||||
@@ -1039,7 +836,7 @@ this.tableData=[{...this.article_pay_info}]
|
||||
console.log(err);
|
||||
});
|
||||
|
||||
loading.close();
|
||||
|
||||
} else {
|
||||
this.$message.error(res.msg);
|
||||
loading.close();
|
||||
@@ -1049,14 +846,16 @@ this.tableData=[{...this.article_pay_info}]
|
||||
this.$message.error(err);
|
||||
loading.close();
|
||||
});
|
||||
|
||||
|
||||
// 获取参考文献
|
||||
this.$api
|
||||
.post('api/Production/getReferList', {
|
||||
p_article_id: this.p_article_id
|
||||
})
|
||||
.then((res) => {
|
||||
.then((res) => { loading.close();
|
||||
this.chanFerForm = res.data.refers;
|
||||
this.chanFerFormRepeatList = Object.values(res.data.repeat);
|
||||
console.log('this.chanFerFormRepeatList at line 853:', this.chanFerFormRepeatList)
|
||||
for (var i = 0; i < this.chanFerForm.length; i++) {
|
||||
this.chanFerForm[i].edit_mark = 1;
|
||||
if (this.chanFerForm[i].refer_frag != '') {
|
||||
@@ -1069,6 +868,7 @@ this.tableData=[{...this.article_pay_info}]
|
||||
});
|
||||
})
|
||||
.catch((err) => {
|
||||
loading.close();
|
||||
console.log(err);
|
||||
});
|
||||
|
||||
@@ -1478,12 +1278,13 @@ this.tableData=[{...this.article_pay_info}]
|
||||
//5----按钮每一步操作
|
||||
StepBOper(e) {
|
||||
if (e == 1) {
|
||||
window.open(`/References`, '_blank', 'width=1000,height=800,scrollbars=no,resizable=no');
|
||||
// 弹出新的页面粘贴DOI
|
||||
window.open(
|
||||
'https://apps.crossref.org/SimpleTextQuery',
|
||||
'_blank',
|
||||
'width=900,height=600,toolbar=no,scrollbars=no,menubar=no,screenX=240,screenY=100'
|
||||
);
|
||||
// window.open(
|
||||
// 'https://apps.crossref.org/SimpleTextQuery',
|
||||
// '_blank',
|
||||
// 'width=900,height=600,toolbar=no,scrollbars=no,menubar=no,screenX=240,screenY=100'
|
||||
// );
|
||||
} else if (e == 2) {
|
||||
// 发送转化为标准格式
|
||||
let refAarray_list = [];
|
||||
@@ -1563,6 +1364,7 @@ this.tableData=[{...this.article_pay_info}]
|
||||
})
|
||||
.then((res) => {
|
||||
this.chanFerForm = res.data.refers;
|
||||
this.chanFerFormRepeatList = Object.values(res.data.repeat);
|
||||
for (var i = 0; i < this.chanFerForm.length; i++) {
|
||||
this.chanFerForm[i].edit_mark = 1;
|
||||
}
|
||||
@@ -2142,37 +1944,37 @@ this.tableData=[{...this.article_pay_info}]
|
||||
// type: 'warning'
|
||||
// })
|
||||
// .then(() => {
|
||||
const load = this.$loading({
|
||||
lock: true,
|
||||
text: 'Loading...',
|
||||
spinner: 'el-icon-loading',
|
||||
background: 'rgba(0, 0, 0, 0.7)'
|
||||
});
|
||||
this.$api
|
||||
.post('api/Preaccept/beginProduce', {
|
||||
article_id: this.$route.query.id
|
||||
})
|
||||
.then((res) => {
|
||||
if (res.code == 0) {
|
||||
load.close();
|
||||
// this.$message.success('successed!');
|
||||
// setTimeout(() => {
|
||||
// localStorage.setItem('U_point', 2);
|
||||
// this.$router.push({
|
||||
// path: 'articleListEditor'
|
||||
// });
|
||||
// }, 1000);
|
||||
} else {
|
||||
load.close();
|
||||
this.$message.error(res.msg);
|
||||
}
|
||||
})
|
||||
.catch((err) => {
|
||||
load.close();
|
||||
this.$message.error(err);
|
||||
});
|
||||
// })
|
||||
// .catch(() => {});
|
||||
const load = this.$loading({
|
||||
lock: true,
|
||||
text: 'Loading...',
|
||||
spinner: 'el-icon-loading',
|
||||
background: 'rgba(0, 0, 0, 0.7)'
|
||||
});
|
||||
this.$api
|
||||
.post('api/Preaccept/beginProduce', {
|
||||
article_id: this.$route.query.id
|
||||
})
|
||||
.then((res) => {
|
||||
if (res.code == 0) {
|
||||
load.close();
|
||||
// this.$message.success('successed!');
|
||||
// setTimeout(() => {
|
||||
// localStorage.setItem('U_point', 2);
|
||||
// this.$router.push({
|
||||
// path: 'articleListEditor'
|
||||
// });
|
||||
// }, 1000);
|
||||
} else {
|
||||
load.close();
|
||||
this.$message.error(res.msg);
|
||||
}
|
||||
})
|
||||
.catch((err) => {
|
||||
load.close();
|
||||
this.$message.error(err);
|
||||
});
|
||||
// })
|
||||
// .catch(() => {});
|
||||
},
|
||||
// 点击开始上线显示
|
||||
pushOnline(detailMes) {
|
||||
@@ -2351,7 +2153,7 @@ this.tableData=[{...this.article_pay_info}]
|
||||
width: 260px !important;
|
||||
}
|
||||
.scroll-item {
|
||||
margin: 0 30px 50px 276px;
|
||||
margin: 10px 20px 20px 276px;
|
||||
}
|
||||
.payment_info_box {
|
||||
margin-bottom: 10px;
|
||||
@@ -2403,10 +2205,11 @@ this.tableData=[{...this.article_pay_info}]
|
||||
|
||||
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 {
|
||||
::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 {
|
||||
@@ -2439,8 +2242,8 @@ this.tableData=[{...this.article_pay_info}]
|
||||
.tab_post {
|
||||
background-color: #fafafa;
|
||||
position: absolute;
|
||||
left: 25px;
|
||||
top: 40px;
|
||||
left: 15px;
|
||||
top: 60px;
|
||||
/* width: 220px; */
|
||||
z-index: 50;
|
||||
}
|
||||
@@ -2513,13 +2316,16 @@ this.tableData=[{...this.article_pay_info}]
|
||||
|
||||
.bor_style_onli {
|
||||
height: 700px;
|
||||
overflow-y: scroll;
|
||||
|
||||
border: 2px solid #0066991a;
|
||||
background-color: #fff;
|
||||
border-radius: 5px;
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
.bor_style_onli_ref {
|
||||
height: auto;
|
||||
min-height: calc(100vh - 40px - 270px);
|
||||
}
|
||||
.bor_style_onli > h4 {
|
||||
margin: 0 0 20px 0;
|
||||
letter-spacing: -0.5px;
|
||||
@@ -2644,9 +2450,7 @@ this.tableData=[{...this.article_pay_info}]
|
||||
}
|
||||
|
||||
.chanSelLef {
|
||||
float: left;
|
||||
width: 30%;
|
||||
margin: 0 50px 0 0;
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
.chanSelLef > p {
|
||||
@@ -2692,12 +2496,6 @@ this.tableData=[{...this.article_pay_info}]
|
||||
background-color: #006699;
|
||||
}
|
||||
|
||||
.chanFerAll {
|
||||
float: left;
|
||||
position: relative;
|
||||
width: 61.5%;
|
||||
}
|
||||
|
||||
.chanFerAll .chanFerBtn {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
@@ -1846,12 +1846,13 @@ export default {
|
||||
},
|
||||
// 算平均分
|
||||
avegeCount(arry) {
|
||||
var ratedLength = arry.map(item => item.rated).filter(rated => rated&&rated>0).length;
|
||||
let str = 0;
|
||||
let all = 0;
|
||||
for (let i = 0; i < arry.length; i++) {
|
||||
all += Number(arry[i].rated);
|
||||
}
|
||||
str = (all / arry.length).toFixed(1);
|
||||
str = (all / ratedLength).toFixed(1);
|
||||
return str;
|
||||
},
|
||||
|
||||
|
||||
@@ -1457,15 +1457,7 @@ export default {
|
||||
window.open(routeData.href, '_blank');
|
||||
},
|
||||
// 算平均分
|
||||
avegeCount(arry) {
|
||||
let str = 0;
|
||||
let all = 0;
|
||||
for (let i = 0; i < arry.length; i++) {
|
||||
all += Number(arry[i].rated);
|
||||
}
|
||||
str = (all / arry.length).toFixed(1);
|
||||
return str;
|
||||
},
|
||||
|
||||
toggleShowAll(item, i) {
|
||||
this.$set(this.tableData[i], 'showAll', !item.showAll);
|
||||
this.$forceUpdate();
|
||||
@@ -1891,13 +1883,17 @@ export default {
|
||||
// 跳入预收录编辑页面
|
||||
changeEnter(val) {
|
||||
console.log(val, 'val');
|
||||
this.$router.push({
|
||||
name: 'PreIngestedEditor',
|
||||
query: {
|
||||
id: val.article_id,
|
||||
window.open(
|
||||
this.$router.resolve({
|
||||
path: '/PreIngestedEditor',
|
||||
query: {
|
||||
id: val.article_id,
|
||||
uid: val.user_id
|
||||
}
|
||||
});
|
||||
}
|
||||
}).href,
|
||||
'_blank'
|
||||
);
|
||||
|
||||
},
|
||||
changeCountry() {
|
||||
this.currentSearchForm={}
|
||||
@@ -2645,12 +2641,15 @@ export default {
|
||||
|
||||
// 算平均分
|
||||
avegeCount(arry) {
|
||||
console.log('arry at line 2643:', arry)
|
||||
var ratedLength = arry.map(item => item.rated).filter(rated => rated&&rated>0).length;
|
||||
|
||||
let str = 0;
|
||||
let all = 0;
|
||||
for (let i = 0; i < arry.length; i++) {
|
||||
all += arry[i].rated;
|
||||
}
|
||||
str = (all / arry.length).toFixed(1);
|
||||
str = (all / ratedLength).toFixed(1);
|
||||
return str;
|
||||
},
|
||||
|
||||
|
||||
@@ -0,0 +1,318 @@
|
||||
<template>
|
||||
<div
|
||||
style="
|
||||
background-color: #f8f8f8;
|
||||
|
||||
height: 100vh;
|
||||
overflow: hidden;
|
||||
background: linear-gradient(to top, #fbfffe, #ebf9ff);
|
||||
z-index: 9999;
|
||||
border-radius: 10px 10px 0 0;
|
||||
box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
|
||||
"
|
||||
>
|
||||
<div class="navbar-default" style="padding: 10px">
|
||||
<div class="nav commonWidth" style="">
|
||||
<div class="title" style="padding: 0 0px; box-sizing: border-box">
|
||||
<img src="@/assets/img/logo.png" style="width: 30px; height: 20px; margin-right: 10px" />
|
||||
References
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="" class="references-container">
|
||||
<div class="commonWidth" style="height:auto; padding:0 20px; box-sizing: border-box;">
|
||||
<p style="padding: 10px 0; color: rgb(51, 51, 51); box-sizing: border-box">Numerical formula:</p>
|
||||
<el-input
|
||||
id="referenceInput"
|
||||
v-model="refStr"
|
||||
type="textarea"
|
||||
rows="5"
|
||||
style="width: 100%"
|
||||
placeholder="Enter each reference in the format of your choice..."
|
||||
></el-input>
|
||||
|
||||
<!-- 公式显示框 -->
|
||||
|
||||
<div style="margin-top: 10px; overflow: hidden">
|
||||
<el-button type="primary" @click="processReferences" style="background-color: #1654f7 !important; float: right"
|
||||
>Format</el-button
|
||||
>
|
||||
<el-button @click="clearReferences" style="float: right; margin-right: 10px">Clear</el-button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="commonWidth showReferences" style="" v-if="cleanedReferences.length > 0">
|
||||
<p style="padding: 10px 0; color: rgb(51, 51, 51); box-sizing: border-box">Formatted References: <span>{{cleanedReferences.length}}</span></p>
|
||||
<div class="panel-default">
|
||||
<div v-for="(ref, index) in cleanedReferences" :key="index" class="reference-item">
|
||||
{{ ref }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 公式显示框 -->
|
||||
|
||||
<div style="margin-top: 10px; overflow: hidden"> <el-button type="warning" @click="openCrossref" style=" float: right"
|
||||
>Copy and open Crossref</el-button
|
||||
>
|
||||
<el-button type="primary" @click="copyToClipboard" style="background-color: green !important; float: right;margin-right: 20px"
|
||||
>Copy</el-button
|
||||
>
|
||||
|
||||
<!-- <el-button @click="handleCancel" style="float: right; margin-right: 10px">Cancel</el-button> -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
|
||||
export default {
|
||||
props: ['LateXInfo'],
|
||||
data() {
|
||||
return {
|
||||
refStr: '',
|
||||
currentSelect: 0,
|
||||
list: [],
|
||||
cleanedReferences: [],
|
||||
latex: '', // 默认公式
|
||||
mathFieldInstance: null,
|
||||
showLatex: false // 控制 LaTeX 代码框的显示与隐藏
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
|
||||
},
|
||||
methods: {
|
||||
|
||||
|
||||
copyLatex() {
|
||||
if (this.cleanedReferences.length==0) {
|
||||
return;
|
||||
}
|
||||
if (this.$refs.latexBox) {
|
||||
this.$refs.latexBox.select(); // 选中文本
|
||||
document.execCommand('copy'); // 复制到剪贴板
|
||||
this.$message({
|
||||
message: 'Replicating Success',
|
||||
type: 'success'
|
||||
});
|
||||
}
|
||||
},
|
||||
clearReferences() {
|
||||
this.refStr = '';
|
||||
this.cleanedReferences = [];
|
||||
},
|
||||
handleCancel() {
|
||||
this.$emit('close');
|
||||
},
|
||||
processReferences() {
|
||||
const inputText = this.refStr;
|
||||
|
||||
// Split input by newline (\n) to separate each reference
|
||||
const references = inputText
|
||||
.split('\n') // Split by newline
|
||||
.map((ref) => ref.trim()) // Trim each reference to remove extra spaces
|
||||
.filter((ref) => ref !== ''); // Remove empty references (empty lines)
|
||||
|
||||
// Remove DOI URLs and replace 'Available at:' with 'Available at:' followed by a single newline
|
||||
this.cleanedReferences = references.map((ref) =>
|
||||
ref
|
||||
.replace(/https?:\/\/doi\.org\/\S+/g, '') // Remove both http://doi.org/ and https://doi.org/ URLs
|
||||
.replace(/Available at:.*/g, 'Available at:') // Replace 'Available at:' and subsequent content
|
||||
.trim()
|
||||
);
|
||||
|
||||
// Filter out any empty strings from the cleanedReferences array
|
||||
this.cleanedReferences = this.cleanedReferences.filter((ref) => ref !== '');
|
||||
|
||||
// Display formatted references in a list
|
||||
this.displayReferences();
|
||||
// setTimeout(() => {
|
||||
// window.close();
|
||||
// // this.$emit('close');
|
||||
// }, 100);
|
||||
},
|
||||
displayReferences() {},
|
||||
|
||||
// Function to copy the formatted references to clipboard
|
||||
copyToClipboard() {
|
||||
const referencesText = this.cleanedReferences.join('\n'); // Join references with newline
|
||||
const textarea = document.createElement('textarea');
|
||||
textarea.value = referencesText;
|
||||
document.body.appendChild(textarea);
|
||||
textarea.select();
|
||||
document.execCommand('copy');
|
||||
document.body.removeChild(textarea);
|
||||
this.$message({
|
||||
message: 'References copied to clipboard!',
|
||||
type: 'success'
|
||||
});
|
||||
|
||||
},
|
||||
async openCrossref(){
|
||||
await this.copyToClipboard()
|
||||
setTimeout(()=>{
|
||||
window.close();
|
||||
window.open(
|
||||
'https://apps.crossref.org/SimpleTextQuery',
|
||||
'_blank',
|
||||
'width=900,height=600,toolbar=no,scrollbars=no,menubar=no,screenX=240,screenY=100'
|
||||
);
|
||||
},1000)
|
||||
|
||||
}
|
||||
|
||||
},
|
||||
beforeDestroy() {
|
||||
this.mathFieldInstance = null; // 组件销毁时清除实例
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.commonWidth {
|
||||
width: 100%;
|
||||
margin: 0 auto;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-size: 20px;
|
||||
font-weight: bold;
|
||||
line-height: 30px;
|
||||
background-color: #0f4eb6;
|
||||
color: #fff;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.navbar-default {
|
||||
width: 100%;
|
||||
height: 30px;
|
||||
background-color: #0f4eb6;
|
||||
border-color: #e7e7e7;
|
||||
}
|
||||
|
||||
.math-container {
|
||||
height: 200px;
|
||||
/* padding: 5px; */
|
||||
font-size: 18px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.formula-box {
|
||||
/* margin-top: 10px;
|
||||
padding: 10px;
|
||||
border: 1px solid #ccc;
|
||||
background-color: #f9f9f9;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: flex-start; */
|
||||
}
|
||||
|
||||
.latex-text {
|
||||
width: 100%;
|
||||
height: 50px;
|
||||
font-size: 16px;
|
||||
padding: 5px;
|
||||
margin-bottom: 10px;
|
||||
resize: none;
|
||||
}
|
||||
|
||||
::v-deep .ML__virtual-keyboard-toggle {
|
||||
opacity: 1 !important;
|
||||
}
|
||||
li {
|
||||
line-height: none;
|
||||
}
|
||||
.panel-default {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow: auto;
|
||||
box-sizing: border-box;
|
||||
padding: 10px;
|
||||
/* float: right; */
|
||||
border: 1px solid #ddd;
|
||||
background-color: #fff;
|
||||
}
|
||||
.panel-heading {
|
||||
color: #333;
|
||||
font-weight: bold;
|
||||
background-color: #f5f5f5;
|
||||
border-color: #ddd;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
.panel-heading div {
|
||||
width: 25%;
|
||||
padding: 5px 0px;
|
||||
line-height: 20px;
|
||||
border-radius: 4px;
|
||||
text-align: center;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.isSelect {
|
||||
color: white !important;
|
||||
background: #333;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.math-block {
|
||||
background-color: #fff;
|
||||
cursor: pointer;
|
||||
background: #f0f0f0;
|
||||
color: #000;
|
||||
display: block;
|
||||
margin: 10px;
|
||||
padding: 6px;
|
||||
|
||||
/* min-height: 40px !important; */
|
||||
border: 1px solid #ddd;
|
||||
}
|
||||
::v-deep .math-block mjx-container {
|
||||
font-size: 18px !important;
|
||||
margin: 0 !important;
|
||||
text-align: left !important;
|
||||
}
|
||||
|
||||
.latexBox1 {
|
||||
width: 100%;
|
||||
padding: 10px 140px 10px 10px;
|
||||
box-sizing: border-box;
|
||||
border: 1px solid #ccc;
|
||||
background-color: #f9f9f9;
|
||||
font-size: 18px;
|
||||
resize: none;
|
||||
height: 200px;
|
||||
}
|
||||
.reference-item {
|
||||
margin-bottom: 4px;
|
||||
display: flex;
|
||||
font-size: 12px;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.copy-button {
|
||||
margin-top: 10px;
|
||||
}
|
||||
.references-container {
|
||||
height: calc(100vh - 50px);
|
||||
overflow: auto;
|
||||
padding-top: 20px;
|
||||
box-sizing: border-box;
|
||||
|
||||
}
|
||||
::v-deep .el-textarea {
|
||||
height: 100px;
|
||||
}
|
||||
::v-deep .el-textarea__inner {
|
||||
height: 100px;
|
||||
}
|
||||
.showReferences {
|
||||
height: calc(100vh - 360px); padding:0 20px; box-sizing: border-box;;
|
||||
}
|
||||
</style>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -208,7 +208,12 @@ const i18n = new VueI18n({
|
||||
});
|
||||
//使用钩子函数对路由进行权限跳转
|
||||
router.beforeEach(async (to, from, next) => {
|
||||
try {
|
||||
const currentRoute = to; // 获取当前路由路径,例如 "/home"
|
||||
console.log('currentRoute at line 211:', currentRoute.meta)
|
||||
if(currentRoute.meta.hideTitle){
|
||||
|
||||
}else{
|
||||
try {
|
||||
// 尝试请求接口(即使失败也继续后续逻辑)
|
||||
await Promise.all([
|
||||
loadJournalList(),
|
||||
@@ -217,7 +222,9 @@ router.beforeEach(async (to, from, next) => {
|
||||
} catch (err) {
|
||||
// 仅打印错误,不阻断路由
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// 无论接口成功/失败,都执行原有跳转逻辑
|
||||
document.title = `${to.meta.title} | Traditional Medicine Research`;
|
||||
|
||||
@@ -1074,13 +1074,24 @@ export default new Router({
|
||||
hideTitle: true,
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/References', //用户端预收录-引用编辑
|
||||
component: () => import('../components/page/components/OnlineProofreading/references-format.vue'),
|
||||
meta: {
|
||||
title: 'References',
|
||||
hideSidebar: true,
|
||||
hideTitle: true,
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'PreIngestedEditor',
|
||||
path: '/PreIngestedEditor', // 编辑端 - 预收录编辑页面
|
||||
component: () => import('../components/page/PreIngestedEditor'),
|
||||
meta: {
|
||||
|
||||
title: 'PreIngestedEditor'
|
||||
title: 'PreIngestedEditor',
|
||||
hideSidebar: true,
|
||||
bgColor: '#fafafa'
|
||||
}
|
||||
},
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user