This commit is contained in:
@fawn-nine
2023-07-14 18:01:48 +08:00
parent 4db9243a28
commit 754046f93c
5 changed files with 181 additions and 24 deletions

View File

@@ -26,6 +26,7 @@
"vue-quill-editor": "^3.0.6", "vue-quill-editor": "^3.0.6",
"vue-router": "^3.0.3", "vue-router": "^3.0.3",
"vue-schart": "^2.0.0", "vue-schart": "^2.0.0",
"vue-ueditor-wrap": "^2.5.6",
"vuedraggable": "^2.17.0" "vuedraggable": "^2.17.0"
}, },
"devDependencies": { "devDependencies": {

View File

@@ -206,7 +206,7 @@
<el-col :span="24" v-if="!this.usercap.includes('editor')"> <el-col :span="24" v-if="!this.usercap.includes('editor')">
<el-row :gutter="40" style="display: flex;"> <el-row :gutter="40" style="display: flex;">
<el-col :span="12"> <el-col :span="14">
<!-- 作者信息 --> <!-- 作者信息 -->
<div class="chunking" style="margin-top: 55px;"> <div class="chunking" style="margin-top: 55px;">
<!-- <el-divider></el-divider> --> <!-- <el-divider></el-divider> -->
@@ -222,15 +222,23 @@
</div> --> </div> -->
<div class="numerItem"> <div class="numerItem">
<b @click="JumpPage(2)">{{authorTable.manuscriptNum}}</b> <b @click="JumpPage(2)">{{authorTable.manuscriptNum}}</b>
<p>Record of<br />submitted manuscript</p> <p>Submitted manuscripts</p>
</div> </div>
<div class="numerItem"> <div class="numerItem">
<b @click="JumpPage(3)">{{authorTable.accept}}</b> <b @click="JumpPage(3)">{{authorTable.accept}}</b>
<p>Record of<br />published articles</p> <p>Published articles</p>
</div>
<div class="numerItem">
<b >{{authorTable.tj}}</b>
<p>Recommended manuscripts</p>
</div>
<div class="numerItem">
<b @click="JumpPage(6)">{{reviewTable.successReview}}</b>
<p>Reviewed manuscripts</p>
</div> </div>
<div class="numerItem"> <div class="numerItem">
<b @click="JumpPage(4)">{{authorTable.index}}</b> <b @click="JumpPage(4)">{{authorTable.index}}</b>
<p>Citing<br />records</p> <p>Cited articles</p>
</div> </div>
</div> </div>
@@ -254,7 +262,7 @@
Click here to <img src="../../assets/img/icon_9.png" alt="" Click here to <img src="../../assets/img/icon_9.png" alt=""
class="icon_img"> class="icon_img">
<el-link> <el-link>
<b @click="apointVisible=true">view your citation records.</b> <b @click="apointVisible=true">add your citation records.</b>
</el-link> </el-link>
</p> </p>
</div> </div>
@@ -264,7 +272,7 @@
</div> </div>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="10">
<!-- 审稿人信息 --> <!-- 审稿人信息 -->
<div class="chunking" style="margin-top: 55px;"> <div class="chunking" style="margin-top: 55px;">
<!-- <el-divider></el-divider> --> <!-- <el-divider></el-divider> -->

View File

@@ -13,7 +13,7 @@
<div style="margin: 30px 0 0 0;"> <div style="margin: 30px 0 0 0;">
<el-button type="primary" @click="pushOnline(detailMes)" style="width: 220px;"> <el-button type="primary" @click="pushOnline(detailMes)" style="width: 220px;">
<i class="el-icon-finished"></i> <i class="el-icon-finished"></i>
Push Online Push Online11
</el-button> </el-button>
</div> </div>
</div> </div>
@@ -727,7 +727,7 @@
<el-button type="warning" @click="gOpreviewList()" icon="el-icon-tickets">Preview list</el-button> <el-button type="warning" @click="gOpreviewList()" icon="el-icon-tickets">Preview list</el-button>
<el-button type="warning" @click="gOpreviewArt()" icon="el-icon-document">Preview article</el-button> <el-button type="warning" @click="gOpreviewArt()" icon="el-icon-document">Preview article</el-button>
<el-button type="warning" @click="gOpreviewPDF()" icon="el-icon-notebook-2">Preview PDF</el-button> <el-button type="warning" @click="gOpreviewPDF()" icon="el-icon-notebook-2">Preview PDF</el-button>
<el-button type="primary" @click="gOline()" icon="el-icon-finished">Push Online</el-button> <el-button type="primary" @click="gOline()" icon="el-icon-finished">Push Online11</el-button>
</div> </div>
</el-dialog> </el-dialog>
@@ -1788,7 +1788,46 @@
//5----参考文献左侧步骤条 //5----参考文献左侧步骤条
StepBNext(e) { StepBNext(e) {
if(e == 1){
this.$confirm('This will clear the current reference information, are you sure you want to do this?', 'Prompt', {
confirmButtonText: 'Sure',
cancelButtonText: 'Cancle',
type: 'warning'
}).then(() => {
this.clearRefences()
}).catch(() => {
});
}else{
this.showB_step = e this.showB_step = e
}
},
// 清空引用数据
clearRefences(){
const loading = this.$loading({
lock: true,
text: 'please wait',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
});
this.$api
.post('api/Preaccept/discardRefersByParticleid', {
'p_article_id': this.p_article_id
})
.then(res => {
loading.close();
if (res.code == 0) {
this.showB_step = 1
} else {
this.$message.error(res.msg);
}
})
.catch(err => {
loading.close();
console.log(err);
});
}, },
//5----按钮每一步操作 //5----按钮每一步操作
@@ -2519,12 +2558,14 @@
type: 'warning' type: 'warning'
}) })
.then(() => { .then(() => {
const loading = this.$loading({ const loading = this.$loading({
lock: true, lock: true,
text: 'Loading...', text: 'Loading...',
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });
this.$api this.$api
.post('api/Production/pushArticleToSystem', { .post('api/Production/pushArticleToSystem', {
'p_article_id': this.detailMes.p_article_id 'p_article_id': this.detailMes.p_article_id

View File

@@ -367,6 +367,7 @@ import { watch } from 'vue';
UpHtpFIle: { UpHtpFIle: {
title: '', title: '',
article_id: '', article_id: '',
p_article_id:null,
htmlfile: '', htmlfile: '',
mains: [], mains: [],
refers:[], //引用参数 refers:[], //引用参数
@@ -430,12 +431,12 @@ import { watch } from 'vue';
goEditRefernces(){ goEditRefernces(){
// let pid = null // let pid = null
this.HtmlVisible = false this.HtmlVisible = false
//this.UpHtpFIle.refers.length > 0 ? pid = this.UpHtpFIle.refers[0].p_article_id : //this.UpHtpFIle.refers.length > 0 ? pid = this.UpHtpFIle.refers[0].p_article_id : \
this.$router.push({ this.$router.push({
name: 'publishRefernceEditor', name: 'publishRefernceEditor',
query: { query: {
id: this.articleId, id: this.articleId,
pid: this.UpHtpFIle.refers[0].p_article_id pid: this.UpHtpFIle.p_article_id
} }
}) })
}, },
@@ -793,6 +794,7 @@ import { watch } from 'vue';
this.articleId = e.article_id this.articleId = e.article_id
this.UpHtpFIle.article_id = e.article_id this.UpHtpFIle.article_id = e.article_id
this.UpHtpFIle.refers = e.refers this.UpHtpFIle.refers = e.refers
this.UpHtpFIle.p_article_id = e.p_article_id
this.UpHtpFIle.doi = e.doi this.UpHtpFIle.doi = e.doi
this.UpHtpFIle.htmlfile = e.file_html this.UpHtpFIle.htmlfile = e.file_html
this.UpHtpFIle.title = e.title this.UpHtpFIle.title = e.title

View File

@@ -48,7 +48,12 @@
</el-button> </el-button>
</div> </div>
</div> </div>
<!-- 临时 -->
<p style="text-indent: 2em;"><el-button type="text" @click="showDialogSpecial">Special way to add</el-button></p>
</div> </div>
<!-- end -->
<div class="chanFerAll"> <div class="chanFerAll">
<div v-if="showB_step ==1"> <div v-if="showB_step ==1">
<el-input v-model="refAarray" type="textarea" rows="20" style="width: 100%;" <el-input v-model="refAarray" type="textarea" rows="20" style="width: 100%;"
@@ -71,7 +76,7 @@
</el-table-column> </el-table-column>
<el-table-column label="state" width="55" align="center"> <el-table-column label="state" width="55" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span class="status ok" v-if="scope.row.refer_doi != '' && scope.row.author != ''" > <span class="status ok" v-if="scope.row.refer_doi != '' || scope.row.doilink != '' || scope.row.isbn != '' || scope.row.refer_frag != ''" >
<i class="el-icon-circle-check"></i> <i class="el-icon-circle-check"></i>
</span> </span>
<span class="status warn" v-else > <span class="status warn" v-else >
@@ -222,14 +227,33 @@
<el-button type="primary" @click="saveAdd" v-else>Save</el-button> <el-button type="primary" @click="saveAdd" v-else>Save</el-button>
</span> </span>
</el-dialog> </el-dialog>
<!-- 复制word添加引用 -->
<el-dialog :title= "dialogTitle + ' References'" :visible.sync="showEditor" width="800px" @close="showEditor= false">
<div style="height: 500px;">
<vue-ueditor-wrap v-model="wordText" :config="editorConfig" editor-id="editor-demo-01"></vue-ueditor-wrap>
</div>
<span slot="footer">
<el-button type="primary" plain @click="wordTextOp">Submit</el-button>
</span>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
import VueUeditorWrap from 'vue-ueditor-wrap'; // ES6 Module
export default { export default {
data(){ data(){
return{ return{
ue: null,
wordText:'',
editorConfig: {
// 访问 UEditor 静态资源的根路径,可参考 https://hc199421.gitee.io/vue-ueditor-wrap/#/faq
UEDITOR_HOME_URL: "/UEditor/",
},
wordTextArr:[], // 识别出的word引用数组
showEditor:false,
dialogTitle:'', dialogTitle:'',
showB_step: 1, showB_step: 1,
baseUrl: this.Common.baseUrl, baseUrl: this.Common.baseUrl,
@@ -255,7 +279,7 @@ export default {
// 引用表单 // 引用表单
refenceForm:{ refenceForm:{
doi:'', doi:'',
article_id:null, p_article_id:null,
p_refer_id:null, // 当前行一行的引用序号 p_refer_id:null, // 当前行一行的引用序号
pre_p_refer_id:null, // 上一行 pre_p_refer_id:null, // 上一行
refer_type:'', // 类型 refer_type:'', // 类型
@@ -265,7 +289,7 @@ export default {
dateno:'', dateno:'',
isbn:'', isbn:'',
content:'', content:'',
title:'' title:'',
}, },
refenceFormrules:{ refenceFormrules:{
@@ -319,14 +343,94 @@ export default {
this.bijiao() this.bijiao()
//console.log('更新更新') //console.log('更新更新')
}, },
wordTextOp(){
//console.log(this.wordText)
// 数据处理
var pp = this.wordText.split('</p>')
var ss = []
var re = /<[^>]+>/gi;
var nbsp = /&nbsp;/gi;
pp.forEach(element => {
element = element.replace(re, "")
element = element.replace(nbsp,"")
ss.push(element)
});
// 去掉最后一个数据
// console.log(pp,ss.slice(0,-1))
this.wordTextArr = ss.slice(0,-1)
this.wordTextArr.length > 0 ? this.wordSubmit() : this.$message.error('Please enter content in the editor before submitting!');
},
// 发送后台
wordSubmit(){
this.$api
.post('api/Publish/addRefersByWord', {
'contents': this.wordTextArr,
'p_article_id': this.p_article_id
}).then((res)=>{
if (res.code == 0) {
this.showEditor = false
this.wordTextArr = []
this.wordText = ''
this.$message.success('successed!');
this.changeRefer()
this.showB_step = 2
}else{
this.$message.error(res.msg);
}
}).catch(err => {
console.log(err);
});
},
showDialogSpecial(){
// 拷贝文本方式添加
this.showEditor = true
},
bijiao(){ bijiao(){
if(this.chanFerForm.length > 0 ){ // 如果有值,则默认展示第二步的内容 if(this.chanFerForm.length > 0 ){ // 如果有值,则默认展示第二步的内容
this.showB_step = 2 this.showB_step = 2
} }
}, },
StepBNext(e) { StepBNext(e) {
if(e == 1){
this.$confirm('This will clear the current reference information, are you sure you want to do this?', 'Prompt', {
confirmButtonText: 'Sure',
cancelButtonText: 'Cancle',
type: 'warning'
}).then(() => {
this.clearRefences()
}).catch(() => {
});
}else{
this.showB_step = e this.showB_step = e
console.log(e) }
},
// 清空引用数据
clearRefences(){
const loading = this.$loading({
lock: true,
text: 'please wait',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
});
this.$api
.post('api/Preaccept/discardRefersByParticleid', {
'p_article_id': this.p_article_id
})
.then(res => {
loading.close();
if (res.code == 0) {
this.showB_step = 1
} else {
this.$message.error(res.msg);
}
})
.catch(err => {
loading.close();
console.log(err);
});
}, },
StepBOper(e) { StepBOper(e) {
if (e == 1) { if (e == 1) {
@@ -632,7 +736,7 @@ export default {
// console.log(this.refenceForm,99) // console.log(this.refenceForm,99)
this.addLoading = true this.addLoading = true
this.$api this.$api
.post('api/Preaccept/addRefer', this.refenceForm) .post('api/Preaccept/addReferByParticleid', this.refenceForm)
.then(res => { .then(res => {
if (res.code == 0) { if (res.code == 0) {
this.addLoading = false this.addLoading = false
@@ -708,7 +812,7 @@ export default {
// this.$refs['refenceForm'].clearValidate() // this.$refs['refenceForm'].clearValidate()
this.editboxVisible = true this.editboxVisible = true
this.refenceForm.pre_p_refer_id = row.p_refer_id this.refenceForm.pre_p_refer_id = row.p_refer_id
this.refenceForm.article_id = this.$route.query.id this.refenceForm.p_article_id = this.p_article_id
// this.refenceLinkForm.pre_p_refer_id = row.p_refer_id // this.refenceLinkForm.pre_p_refer_id = row.p_refer_id
//this.refenceLinkForm.article_id = this.$route.query.id //this.refenceLinkForm.article_id = this.$route.query.id
@@ -781,6 +885,9 @@ export default {
// }); // });
// }).catch(()=>{}); // }).catch(()=>{});
} }
},
components:{
VueUeditorWrap
}, },
watch: { watch: {
SourceType : { SourceType : {
@@ -800,6 +907,8 @@ export default {
</script> </script>
<style scoped> <style scoped>
/* 编辑器高度 */
/deep/ #edui1_iframeholder{ height: 350px;}
/* .itemIndex{position: relative;} */ /* .itemIndex{position: relative;} */
.itemChanged{position: absolute; display: inline-block; background: #006699; color: #fff; padding: 7px; border-radius: 0 0 7px 7px; left: 0; top: 0;} .itemChanged{position: absolute; display: inline-block; background: #006699; color: #fff; padding: 7px; border-radius: 0 0 7px 7px; left: 0; top: 0;}
@@ -1066,10 +1175,6 @@ export default {
color: #999; color: #999;
} }
.chanSelLef>div>h3:hover {
/* text-decoration: underline; */
}
.chanSelLef>div>h3>span { .chanSelLef>div>h3>span {
color: #fff; color: #fff;
background-color: #999; background-color: #999;