终审分数

This commit is contained in:
2025-12-17 09:22:33 +08:00
parent 4c7b191311
commit 6a5fecc177
4 changed files with 476 additions and 511 deletions

View File

@@ -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: '/', //正式
});

View File

@@ -2,12 +2,12 @@
//记得切换
//正式
// const mediaUrl = '/public/';
// const baseUrl = '/';
const mediaUrl = '/public/';
const baseUrl = '/';
const mediaUrl = 'https://submission.tmrjournals.com/public/';
// const mediaUrl = 'http://zmzm.tougao.dev.com/public/';
const baseUrl = '/api'
// const mediaUrl = 'https://submission.tmrjournals.com/public/';
// // const mediaUrl = 'http://zmzm.tougao.dev.com/public/';
// const baseUrl = '/api'
// const mediaUrl = 'http://tougaotest.tmrjournals.com/public/';
// // const mediaUrl = 'http://zmzm.tougao.dev.com/public/';

View File

@@ -1859,19 +1859,14 @@ export default {
// 算终审分
finalCount(arry) {
var ratedLength = arry.map(item => item.rated).filter(rated => rated&&rated>0).length;
let str = 0;
let sgr = 0;
let all = 0;
let j = 0; // null 评分人数
let sgr = 0;
for (let i = 0; i < arry.length; i++) {
if (arry[i].rated == null) {
j += 1;
continue;
} else {
all += Number(arry[i].rated);
}
}
str = (all / (arry.length - j)).toFixed(1);
str = (all / ratedLength).toFixed(1);
sgr = ((Number(str) + Number(this.form.scoring)) / 2).toFixed(1);
return sgr;
},

View File

@@ -1,6 +1,5 @@
<template>
<div>
<div class="liter_ture">
<p v-if="role == 'editor'" style="text-indent: 2em; position: absolute; right: 0px; top: -60px">
<el-button type="text" @click="showDialogSpecial">Special way to add</el-button>
@@ -33,8 +32,8 @@
<i class="el-icon-edit-outline"></i>
Crossref
</el-button>
to open the website and get the correct DOI. Finally, copy the Crossref-verified references and place them in the
box.
to open the website and get the correct DOI. Finally, copy the Crossref-verified references and place them in
the box.
</p>
<br />
@@ -60,10 +59,10 @@
>.
</p>
<div class="template-info" v-if="role == 'editor'" style="margin-left: 30px;">
<div class="template-info" v-if="role == 'editor'" style="margin-left: 30px">
<span class="template-title">Article from a Journal (General format)</span> <br />
Author(s) Last Name First Initial.&nbsp;Title of article.&nbsp;<i>Abbreviated Journal Title</i>.&nbsp;Year;Volume(issue):Inclusive page
numbers.<br />
Author(s) Last Name First Initial.&nbsp;Title of article.&nbsp;<i>Abbreviated Journal Title</i
>.&nbsp;Year;Volume(issue):Inclusive page numbers.<br />
<br />
<span class="template-title">For example:</span><br />
Article with More than Six Authors<br />
@@ -104,7 +103,6 @@
</div>
<!-- 新的 -->
<div v-if="showB_step == 2">
<div class="duplicateRefBox" v-if="chanFerFormRepeatList.length > 0">
<el-tooltip class="item" effect="dark" content="Duplicate references" placement="top">
<img src="../../assets/img/repeat.png" alt="" style="width: 22px; height: 22px" />
@@ -283,8 +281,8 @@
@close="cancelSave"
>
<p class="yinyongPre c888" style="margin-bottom: 20px; color: #888; line-height: 24px">
You may add or modify the references. The system will automatically identify and retrieve the reference information. Please
note that if the reference type is set to “Other”, the “Parse” button will not be available.
You may add or modify the references. The system will automatically identify and retrieve the reference information.
Please note that if the reference type is set to “Other”, the “Parse” button will not be available.
</p>
<el-form :model="refenceForm" :rules="refenceFormrules" ref="refenceForm" label-width="150px" class="editForm mt10">
@@ -335,8 +333,8 @@
placeholder="Patel NM, Stottlemyer BA, Gray MP, Boyce RD, Kane Gill SL"
></el-input>
<p class="zhushi">
Six or less authors are required to list all authors while more than six authors are required to list three
of them with “et al.”
Six or less authors are required to list all authors while more than six authors are required to list
three of them with “et al.”
</p>
</el-form-item>
<el-form-item :label="SourceType == 'journal' ? 'Title:' : 'Book'" required prop="title">
@@ -474,7 +472,6 @@
</el-dialog>
</div>
</div>
</template>
<script>
@@ -489,9 +486,7 @@ export default {
ue: null,
wordText: '',
editorConfig: {
// 访问 UEditor 静态资源的根路径,可参考 https://hc199421.gitee.io/vue-ueditor-wrap/#/faq
UEDITOR_HOME_URL: '/UEditor/',
// serverUrl: "//ueditor.zhenghaochuan.com/cos",
serverUrl: ''
},
wordTextArr: [], // 识别出的word引用数组
@@ -575,30 +570,22 @@ export default {
},
methods: {
getJournalDateno(dateno, type) {
// 先判断 dateno 是否存在且为字符串类型(避免非字符串值导致的错误)
if (dateno && typeof dateno === 'string') {
// 核心判断要么没有冒号要么有冒号但冒号后无有效内容trim() 去除空格)
const hasInvalidColon = !dateno.includes(':') ||
(dateno.includes(':') && dateno.split(':').pop().trim() === '');
const hasInvalidColon = !dateno.includes(':') || (dateno.includes(':') && dateno.split(':').pop().trim() === '');
if (hasInvalidColon) {
// 根据 type 返回对应类名type 为 title 返回复盖样式,否则返回 warn
return type === 'title' ? 'text-highlight' : 'warn';
}
}
// 有冒号且后面有值,或 dateno 无效 → 返回空字符串
return '';
},
},
getParsingInfo(data, index) {
//console.log('index at line 457:', data,index)
const targetSubArr = this.chanFerFormRepeatList.find((subArr) => subArr.includes(index));
if (targetSubArr) {
let warningText = 'Please note that ';
const refElements = targetSubArr.map((ref, refIndex) => {
return `${ref + 1}`;
});
if (refElements.length > 0) {
if (refElements.length === 1) {
warningText += `ref. ${refElements[0]} is a duplicate.`;
@@ -607,16 +594,10 @@ export default {
warningText += `ref. ${refElements.join(', ')} and ${lastRef} are duplicates.`;
}
}
//console.log(warningText);
return warningText;
}
//console.log('this.chanFerFormRepeatList at line 459:', this.chanFerFormRepeatList)
},
// 父容器事件委托处理
handleContainerClick(e) {
// 判断点击的是否是目标 span通过标签名或自定义类名筛选
if (e.target.tagName === 'SPAN' && e.target.hasAttribute('data-ref')) {
const ref = Number(e.target.getAttribute('data-ref')); // 获取存储的 ref 值
this.handleClickRef(ref); // 触发实际逻辑
@@ -627,7 +608,6 @@ export default {
getRepeatRefHtml() {
let warningText = 'Please note that ';
this.chanFerFormRepeatList.forEach((pair, index) => {
// 处理单个 pair 数组,例如 [1, 2, 3]
let singlePairText = '';
pair.forEach((ref, refIndex) => {
singlePairText += `<span style="font-weight: bold;color: #F56C6C;cursor: pointer;" data-ref="${ref}" >${
@@ -644,8 +624,6 @@ export default {
warningText += ', and ';
}
});
//console.log(warningText);
return warningText;
},
getParsingData() {
@@ -665,15 +643,12 @@ export default {
})
.then((res) => {
loading.close();
this.isShowParsing = false;
(this.isShowParsingData = true), (this.refenceForm.joura = res.data.joura);
this.refenceForm.author = res.data.author;
this.refenceForm.dateno = res.data.dateno;
this.refenceForm.doilink = res.data.doilink;
// if(this.dialogTitle == 'Add'&&this.SourceType == 'journal'){
this.refenceForm.doi = res.data.doi;
// }
this.refenceForm.title = res.data.title;
this.refenceForm.isbn = this.refenceForm.refer_type == 'book' ? res.data.doilink : res.data.isbn;
})
@@ -690,18 +665,13 @@ export default {
p_refer_id: id
})
.then((res) => {
//console.log('res at line 499:', res)
if (res.status == 1) {
return res.data;
} else {
this.$message.error(res.msg);
return Promise.reject(res.msg);
}
throw res.msg;
})
.catch((err) => {
this.$message.error(err);
// 确保错误被向上传递
return Promise.reject(err);
});
},
@@ -1021,12 +991,12 @@ export default {
this.dialogTitle = optitle;
this.isShowParsing = false;
this.isShowParsingData = false;
try {
const loading = this.$loading({
lock: true,
text: 'Loading...',
background: 'rgba(0, 0, 0, 0.7)'
});
try {
var data = await this.getRefData(row.p_refer_id);
this.SourceType = data.refer_type ? data.refer_type : '';