更改 新加青年编委报错问题 代码执行顺序有误
This commit is contained in:
@@ -1587,6 +1587,19 @@ const en = {
|
||||
nextRef: 'Next reference',
|
||||
manuscript: 'Manuscript',
|
||||
excerpt: '(excerpt)',
|
||||
simManuscriptPage: 'Simulated manuscript page',
|
||||
locationMatcher: 'Location context matcher',
|
||||
manuscriptSection: 'Manuscript section',
|
||||
highlightedMatch: 'Highlighted match',
|
||||
excerptEmpty: 'No excerpt available yet.',
|
||||
annotationComment: 'Comment',
|
||||
annotationDelete: 'Suggest removal',
|
||||
annotationRevision: 'Revision',
|
||||
annotationOkDefault: 'This citation matches the surrounding argument; keep as is.',
|
||||
annotationReviewDefault: 'Verify that this statement aligns with the cited source.',
|
||||
annotationDeleteDefault: 'This citation is weakly related to the paragraph focus; consider removing or rephrasing.',
|
||||
annotationYearDefault: 'The publication year in the text does not match the reference.',
|
||||
annotationMethodDefault: 'When borrowing methods, note differences in cohort and time range from the cited study.',
|
||||
citeListTitle: 'This reference · all in-text citations',
|
||||
citeListTotal: '{n} citation(s)',
|
||||
current: 'Current',
|
||||
|
||||
@@ -1568,6 +1568,19 @@ const zh = {
|
||||
nextRef: '下一篇参考文献',
|
||||
manuscript: '稿件',
|
||||
excerpt: '(摘录)',
|
||||
simManuscriptPage: '模拟稿件页面',
|
||||
locationMatcher: '引用位置匹配',
|
||||
manuscriptSection: '稿件段落',
|
||||
highlightedMatch: '高亮匹配',
|
||||
excerptEmpty: '暂无段落原文,待接口返回',
|
||||
annotationComment: '批注',
|
||||
annotationDelete: '建议删除',
|
||||
annotationRevision: '修订',
|
||||
annotationOkDefault: '此处引用与正文论述匹配,可保留。',
|
||||
annotationReviewDefault: '建议核对此处表述与文献是否一致。',
|
||||
annotationDeleteDefault: '该处引用与段落主旨关联较弱,可考虑删去或改述。',
|
||||
annotationYearDefault: '正文年份与文献出版年不一致。',
|
||||
annotationMethodDefault: '借用方法时需交代与本文研究人群、年份范围的差异。',
|
||||
citeListTitle: '本参考文献 · 全部引用处',
|
||||
citeListTotal: '共 {n} 处',
|
||||
current: '当前',
|
||||
|
||||
@@ -622,18 +622,13 @@
|
||||
</template>
|
||||
<div v-if="relevanceReviewItem" class="ref-review">
|
||||
<div class="ref-review-body">
|
||||
<div class="ref-review-doc">
|
||||
<div class="ref-review-doc-label">
|
||||
<div class="ref-review-doc-label-left">
|
||||
<span>{{ $t('refRelevance.manuscript') }}</span>
|
||||
<span v-if="!relevanceReviewFromMain" class="ref-review-doc-src">{{ $t('refRelevance.excerpt') }}</span>
|
||||
</div>
|
||||
<span v-if="relevanceCiteLocatorTip" class="ref-review-cite-locator ref-review-cite-locator--doc-end">{{
|
||||
relevanceCiteLocatorTip
|
||||
}}</span>
|
||||
<div class="ref-review-doc ref-review-doc--sim">
|
||||
<div class="ref-review-doc-label ref-review-doc-label--sim">
|
||||
<span class="ref-review-doc-sim-title">{{ refRelevanceT('simManuscriptPage') }}</span>
|
||||
<span class="ref-review-doc-locator">{{ refRelevanceT('locationMatcher') }}</span>
|
||||
</div>
|
||||
<div
|
||||
class="ref-review-para ref-review-word"
|
||||
class="ref-review-para ref-review-word ref-review-ms-scroll"
|
||||
ref="relevanceReviewPara"
|
||||
v-loading="articleMainsLoading"
|
||||
v-html="relevanceReviewMainHtml"
|
||||
@@ -722,6 +717,40 @@
|
||||
|
||||
<script>
|
||||
import VueUeditorWrap from 'vue-ueditor-wrap'; // ES6 Module
|
||||
|
||||
const REF_RELEVANCE_UI_FALLBACK = {
|
||||
en: {
|
||||
simManuscriptPage: 'Simulated manuscript page',
|
||||
locationMatcher: 'Location context matcher',
|
||||
manuscriptSection: 'Manuscript section',
|
||||
highlightedMatch: 'Highlighted match',
|
||||
excerptEmpty: 'No excerpt available yet.',
|
||||
annotationComment: 'Comment',
|
||||
annotationDelete: 'Suggest removal',
|
||||
annotationRevision: 'Revision',
|
||||
annotationOkDefault: 'This citation matches the surrounding argument; keep as is.',
|
||||
annotationReviewDefault: 'Verify that this statement aligns with the cited source.',
|
||||
annotationDeleteDefault: 'This citation is weakly related to the paragraph focus; consider removing or rephrasing.',
|
||||
annotationYearDefault: 'The publication year in the text does not match the reference.',
|
||||
annotationMethodDefault: 'When borrowing methods, note differences in cohort and time range from the cited study.'
|
||||
},
|
||||
zh: {
|
||||
simManuscriptPage: '模拟稿件页面',
|
||||
locationMatcher: '引用位置匹配',
|
||||
manuscriptSection: '稿件段落',
|
||||
highlightedMatch: '高亮匹配',
|
||||
excerptEmpty: '暂无段落原文,待接口返回',
|
||||
annotationComment: '批注',
|
||||
annotationDelete: '建议删除',
|
||||
annotationRevision: '修订',
|
||||
annotationOkDefault: '此处引用与正文论述匹配,可保留。',
|
||||
annotationReviewDefault: '建议核对此处表述与文献是否一致。',
|
||||
annotationDeleteDefault: '该处引用与段落主旨关联较弱,可考虑删去或改述。',
|
||||
annotationYearDefault: '正文年份与文献出版年不一致。',
|
||||
annotationMethodDefault: '借用方法时需交代与本文研究人群、年份范围的差异。'
|
||||
}
|
||||
};
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
@@ -907,9 +936,36 @@ export default {
|
||||
});
|
||||
}
|
||||
}
|
||||
},
|
||||
'$i18n.locale'() {
|
||||
if (!this.relevanceReviewVisible || !this.relevanceReviewItem) return;
|
||||
if (this.relevanceReviewRefRow) {
|
||||
this.getRefRelevanceList(this.relevanceReviewRefRow).forEach((row) => {
|
||||
delete row.annotations;
|
||||
this.enrichRelevanceAnnotations(row);
|
||||
});
|
||||
}
|
||||
this.refreshRelevanceMainHtml();
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
refRelevanceT(key) {
|
||||
const path = 'refRelevance.' + key;
|
||||
if (this.$te && this.$te(path)) {
|
||||
return this.$t(path);
|
||||
}
|
||||
const locale = this.$i18n && this.$i18n.locale === 'zh' ? 'zh' : 'en';
|
||||
const fb = REF_RELEVANCE_UI_FALLBACK[locale] || REF_RELEVANCE_UI_FALLBACK.en;
|
||||
return (fb && fb[key]) || this.$t(path);
|
||||
},
|
||||
resolveRelevanceDesc(item) {
|
||||
if (!item) return '';
|
||||
const isZh = this.$i18n && this.$i18n.locale === 'zh';
|
||||
const desc = isZh
|
||||
? String(item.ai_desc || '').trim()
|
||||
: String(item.ai_desc_en || item.ai_desc || '').trim();
|
||||
return desc;
|
||||
},
|
||||
|
||||
formatTitle(title) {
|
||||
if (!title) return '';
|
||||
@@ -1158,14 +1214,14 @@ export default {
|
||||
enrichRelevanceAnnotations(item) {
|
||||
if (!item || (Array.isArray(item.annotations) && item.annotations.length)) return;
|
||||
const needFix = this.isRelevanceNeedModify(item);
|
||||
const desc = String(item.ai_desc || '').trim();
|
||||
const desc = this.resolveRelevanceDesc(item);
|
||||
if (!needFix) {
|
||||
item.annotations = [
|
||||
{
|
||||
id: 1,
|
||||
type: 'comment',
|
||||
type_label: '批注',
|
||||
text: desc || '此处引用与正文论述匹配,可保留。'
|
||||
type_label: this.refRelevanceT('annotationComment'),
|
||||
text: desc || this.refRelevanceT('annotationOkDefault')
|
||||
}
|
||||
];
|
||||
return;
|
||||
@@ -1178,37 +1234,37 @@ export default {
|
||||
{
|
||||
id: 1,
|
||||
type: 'comment',
|
||||
type_label: '批注',
|
||||
type_label: this.refRelevanceT('annotationComment'),
|
||||
anchor: anchor,
|
||||
text: desc || item.modify_brief || '建议核对此处表述与文献是否一致。'
|
||||
text: desc || item.modify_brief || this.refRelevanceT('annotationReviewDefault')
|
||||
}
|
||||
];
|
||||
if (/精简|删除|弱化/.test(desc + (item.modify_brief || ''))) {
|
||||
if (/精简|删除|弱化|delete|remove|trim|weak/i.test(desc + (item.modify_brief || ''))) {
|
||||
annotations.push({
|
||||
id: 2,
|
||||
type: 'delete',
|
||||
type_label: '建议删除',
|
||||
text: '该处引用与段落主旨关联较弱,可考虑删去或改述。'
|
||||
type_label: this.refRelevanceT('annotationDelete'),
|
||||
text: this.refRelevanceT('annotationDeleteDefault')
|
||||
});
|
||||
}
|
||||
if (/年份|2023|2024|不一致/.test(desc + snippet)) {
|
||||
if (/年份|2023|2024|不一致|year|mismatch/i.test(desc + snippet)) {
|
||||
annotations.push({
|
||||
id: annotations.length + 1,
|
||||
type: 'revision',
|
||||
type_label: '修订',
|
||||
type_label: this.refRelevanceT('annotationRevision'),
|
||||
anchor: '2023',
|
||||
text: '正文年份与文献出版年不一致。',
|
||||
text: this.refRelevanceT('annotationYearDefault'),
|
||||
original: '2023',
|
||||
suggested: '2024'
|
||||
});
|
||||
}
|
||||
if (/差异|说明|方法|人群/.test(desc)) {
|
||||
if (/差异|说明|方法|人群|difference|method|cohort/i.test(desc)) {
|
||||
annotations.push({
|
||||
id: annotations.length + 1,
|
||||
type: 'revision',
|
||||
type_label: '修订',
|
||||
type_label: this.refRelevanceT('annotationRevision'),
|
||||
anchor: anchor,
|
||||
text: '借用方法时需交代与本文研究人群、年份范围的差异。',
|
||||
text: this.refRelevanceT('annotationMethodDefault'),
|
||||
original: 'as described previously',
|
||||
suggested: 'with adaptations as noted below'
|
||||
});
|
||||
@@ -1230,7 +1286,9 @@ export default {
|
||||
label: '高相关',
|
||||
need_modify: false,
|
||||
modify_brief: '引用恰当',
|
||||
ai_desc: '引言段用于概括深度学习在医学影像中的应用背景,与文献主题一致,引用恰当。'
|
||||
ai_desc: '引言段用于概括深度学习在医学影像中的应用背景,与文献主题一致,引用恰当。',
|
||||
ai_desc_en:
|
||||
'Introduction: supports the background on deep learning in medical imaging; appropriate citation.'
|
||||
}
|
||||
],
|
||||
[
|
||||
@@ -1246,7 +1304,9 @@ export default {
|
||||
label: '高相关',
|
||||
need_modify: false,
|
||||
modify_brief: '可保留',
|
||||
ai_desc: '直接支撑 CNN 与 ViT 在 COVID-19 影像检测中的对比论述,高度相关。'
|
||||
ai_desc: '直接支撑 CNN 与 ViT 在 COVID-19 影像检测中的对比论述,高度相关。',
|
||||
ai_desc_en:
|
||||
'Directly supports the CNN vs ViT comparison for COVID-19 imaging; highly relevant.'
|
||||
}
|
||||
],
|
||||
[
|
||||
@@ -1262,7 +1322,9 @@ export default {
|
||||
label: '较相关',
|
||||
need_modify: false,
|
||||
modify_brief: '可保留',
|
||||
ai_desc: '方法段引用:实验流程与文献中的 CNN/ViT 对比设置基本一致,可作为方法参考。'
|
||||
ai_desc: '方法段引用:实验流程与文献中的 CNN/ViT 对比设置基本一致,可作为方法参考。',
|
||||
ai_desc_en:
|
||||
'Methods: the experimental setup aligns with the cited CNN/ViT comparison; suitable as a methods reference.'
|
||||
},
|
||||
{
|
||||
cite_index: 2,
|
||||
@@ -1276,7 +1338,9 @@ export default {
|
||||
label: '部分相关',
|
||||
need_modify: true,
|
||||
modify_brief: '建议精简或改写',
|
||||
ai_desc: '讨论段仅用于对比任务设定差异,与本文核心结论关联偏弱,建议精简表述。'
|
||||
ai_desc: '讨论段仅用于对比任务设定差异,与本文核心结论关联偏弱,建议精简表述。',
|
||||
ai_desc_en:
|
||||
'Discussion: used only to contrast task settings; weak link to main findings—consider trimming.'
|
||||
}
|
||||
],
|
||||
[
|
||||
@@ -1292,7 +1356,8 @@ export default {
|
||||
label: '待核实',
|
||||
need_modify: true,
|
||||
modify_brief: '年份不一致',
|
||||
ai_desc: '正文年份与文献出版年不一致,需核对后再保留该处引用。'
|
||||
ai_desc: '正文年份与文献出版年不一致,需核对后再保留该处引用。',
|
||||
ai_desc_en: 'Publication year in the text does not match the reference; verify before keeping this citation.'
|
||||
}
|
||||
],
|
||||
[
|
||||
@@ -1308,7 +1373,9 @@ export default {
|
||||
label: '高相关',
|
||||
need_modify: false,
|
||||
modify_brief: '可保留',
|
||||
ai_desc: '结果段第 1 处:直接引用 CNN 与 ViT 在 Brain MRI 数据集上的性能对比结论,高度匹配。'
|
||||
ai_desc: '结果段第 1 处:直接引用 CNN 与 ViT 在 Brain MRI 数据集上的性能对比结论,高度匹配。',
|
||||
ai_desc_en:
|
||||
'Results (cite 1): directly cites CNN vs ViT performance on brain MRI; strong match.'
|
||||
},
|
||||
{
|
||||
cite_index: 2,
|
||||
@@ -1321,7 +1388,9 @@ export default {
|
||||
label: '方法参考',
|
||||
need_modify: true,
|
||||
modify_brief: '需补充差异说明',
|
||||
ai_desc: '方法段借用训练超参数设置,但数据集规模与预处理步骤不同,需补充说明。'
|
||||
ai_desc: '方法段借用训练超参数设置,但数据集规模与预处理步骤不同,需补充说明。',
|
||||
ai_desc_en:
|
||||
'Methods: borrows training hyperparameters; dataset size and preprocessing differ—clarify in text.'
|
||||
},
|
||||
{
|
||||
cite_index: 3,
|
||||
@@ -1334,7 +1403,9 @@ export default {
|
||||
label: '弱相关',
|
||||
need_modify: true,
|
||||
modify_brief: '建议删除',
|
||||
ai_desc: '讨论段第 3 处:文献未涉及边缘部署主题,与本文实验结论关联较弱,建议弱化或删除。'
|
||||
ai_desc: '讨论段第 3 处:文献未涉及边缘部署主题,与本文实验结论关联较弱,建议弱化或删除。',
|
||||
ai_desc_en:
|
||||
'Discussion (cite 3): source does not address edge deployment; weak tie—consider removing.'
|
||||
}
|
||||
],
|
||||
[
|
||||
@@ -1350,7 +1421,8 @@ export default {
|
||||
label: '背景相关',
|
||||
need_modify: true,
|
||||
modify_brief: '不宜作主要依据',
|
||||
ai_desc: '仅作混合架构背景铺垫,不宜作为本文 CNN vs ViT 对比的主要论据。'
|
||||
ai_desc: '仅作混合架构背景铺垫,不宜作为本文 CNN vs ViT 对比的主要论据。',
|
||||
ai_desc_en: 'Background on hybrid architectures only; not a primary basis for the CNN vs ViT comparison.'
|
||||
}
|
||||
],
|
||||
[
|
||||
@@ -1366,7 +1438,8 @@ export default {
|
||||
label: '高相关',
|
||||
need_modify: false,
|
||||
modify_brief: '可保留',
|
||||
ai_desc: '与重复条目 [4] 相同文献,此处引用结论与正文数据量依赖性论述一致。'
|
||||
ai_desc: '与重复条目 [4] 相同文献,此处引用结论与正文数据量依赖性论述一致。',
|
||||
ai_desc_en: 'Same source as ref. [4]; citation aligns with the data-availability argument in the text.'
|
||||
}
|
||||
],
|
||||
[
|
||||
@@ -1382,7 +1455,8 @@ export default {
|
||||
label: '较相关',
|
||||
need_modify: false,
|
||||
modify_brief: '可保留',
|
||||
ai_desc: '讨论段引用 ViT 可解释性优势,与本文模型对比讨论方向一致。'
|
||||
ai_desc: '讨论段引用 ViT 可解释性优势,与本文模型对比讨论方向一致。',
|
||||
ai_desc_en: 'Discussion cites ViT interpretability; consistent with the model-comparison narrative.'
|
||||
}
|
||||
],
|
||||
[
|
||||
@@ -1397,7 +1471,9 @@ export default {
|
||||
label: '部分相关',
|
||||
need_modify: true,
|
||||
modify_brief: '建议精简或改写',
|
||||
ai_desc: '预处理流程引用合理,但文献针对 CT 影像,与本文 MRI 模态不完全匹配,宜注明差异。'
|
||||
ai_desc: '预处理流程引用合理,但文献针对 CT 影像,与本文 MRI 模态不完全匹配,宜注明差异。',
|
||||
ai_desc_en:
|
||||
'Preprocessing citation is reasonable, but the source uses CT while this study uses MRI—note the difference.'
|
||||
},
|
||||
{
|
||||
cite_index: 2,
|
||||
@@ -1410,7 +1486,8 @@ export default {
|
||||
label: '弱相关',
|
||||
need_modify: true,
|
||||
modify_brief: '建议删除',
|
||||
ai_desc: '筛查系统论述与本文模型性能对比主题偏离,建议删除或改述。'
|
||||
ai_desc: '筛查系统论述与本文模型性能对比主题偏离,建议删除或改述。',
|
||||
ai_desc_en: 'Screening-system claim is off-topic for a model-comparison study—remove or rephrase.'
|
||||
}
|
||||
],
|
||||
[
|
||||
@@ -1426,7 +1503,8 @@ export default {
|
||||
label: '高相关',
|
||||
need_modify: false,
|
||||
modify_brief: '引用恰当',
|
||||
ai_desc: '讨论段展望集成策略,与全文 CNN/ViT 对比研究脉络一致,可保留。'
|
||||
ai_desc: '讨论段展望集成策略,与全文 CNN/ViT 对比研究脉络一致,可保留。',
|
||||
ai_desc_en: 'Discussion outlook on ensemble strategies fits the CNN/ViT comparison thread; keep.'
|
||||
}
|
||||
],
|
||||
[
|
||||
@@ -1442,7 +1520,9 @@ export default {
|
||||
label: '高相关',
|
||||
need_modify: false,
|
||||
modify_brief: '可保留',
|
||||
ai_desc: '结论段综述性引用,用于归纳 transformer 在医学影像中的研究趋势,匹配度高。'
|
||||
ai_desc: '结论段综述性引用,用于归纳 transformer 在医学影像中的研究趋势,匹配度高。',
|
||||
ai_desc_en:
|
||||
'Conclusion: survey-style citation summarizing transformer trends in medical imaging; strong match.'
|
||||
}
|
||||
]
|
||||
];
|
||||
@@ -1622,7 +1702,7 @@ export default {
|
||||
},
|
||||
getRelevanceInsightText(item) {
|
||||
if (!item) return '';
|
||||
const desc = String(item.ai_desc || '').trim();
|
||||
const desc = this.resolveRelevanceDesc(item);
|
||||
if (desc) return desc;
|
||||
const anns = this.getRelevanceAnnotations(item);
|
||||
return anns.length ? String(anns[0].text || '') : '';
|
||||
@@ -1893,8 +1973,40 @@ export default {
|
||||
if (idx < 0) return html;
|
||||
return this.wrapHtmlRange(html, idx, idx + plainText.length, markClass);
|
||||
},
|
||||
highlightCiteContextInHtml(html, matchIndex, matchLen, highlightWholeBlock) {
|
||||
if (!html) return html;
|
||||
wrapManuscriptSectionHtml(innerHtml, isMatch, extraClass) {
|
||||
const sectionCls = isMatch ? 'ref-ms-section is-match' : 'ref-ms-section is-muted';
|
||||
const extra = extraClass ? ' ' + extraClass : '';
|
||||
const matchTag = isMatch
|
||||
? '<span class="ref-ms-match-tag">' + this.refRelevanceT('highlightedMatch') + '</span>'
|
||||
: '';
|
||||
return (
|
||||
'<div class="' +
|
||||
sectionCls +
|
||||
extra +
|
||||
'">' +
|
||||
'<div class="ref-ms-section-head">' +
|
||||
'<span class="ref-ms-section-label">' +
|
||||
this.refRelevanceT('manuscriptSection') +
|
||||
'</span>' +
|
||||
matchTag +
|
||||
'</div>' +
|
||||
'<div class="ref-ms-section-body">' +
|
||||
innerHtml +
|
||||
'</div>' +
|
||||
'</div>'
|
||||
);
|
||||
},
|
||||
highlightCiteContextInHtml(html, matchIndex, matchLen, highlightWholeBlock, bracketOnly) {
|
||||
if (!html)
|
||||
return html;
|
||||
if (bracketOnly) {
|
||||
if (matchIndex < 0 || !matchLen) return html;
|
||||
const markText = this.extractCiteMarkTextFromHtml(html, matchIndex, matchLen);
|
||||
if (markText) {
|
||||
return this.wrapFirstPlainTextInHtml(html, markText, 'ref-review-cite-bracket');
|
||||
}
|
||||
return html;
|
||||
}
|
||||
if (highlightWholeBlock) {
|
||||
let out = '<mark class="ref-review-cite-active ref-review-cite-para">' + html + '</mark>';
|
||||
if (matchIndex >= 0 && matchLen) {
|
||||
@@ -2054,12 +2166,14 @@ export default {
|
||||
if (!html && block.type !== 0 && block.type !== '0' && block.type != null) {
|
||||
return;
|
||||
}
|
||||
if (loc && loc.block && loc.block.am_id === block.am_id) {
|
||||
const isMatch = !!(loc && loc.block && loc.block.am_id === block.am_id);
|
||||
if (isMatch) {
|
||||
html = this.highlightCiteContextInHtml(
|
||||
html,
|
||||
loc.matchIndex,
|
||||
loc.matchLen,
|
||||
loc.highlightWholeBlock
|
||||
loc.highlightWholeBlock,
|
||||
true
|
||||
);
|
||||
}
|
||||
if (activeAmId != null && block.am_id == activeAmId && item) {
|
||||
@@ -2067,9 +2181,9 @@ export default {
|
||||
}
|
||||
const cls = this.getMainBlockClass(block);
|
||||
const amId = block.am_id != null ? block.am_id : '';
|
||||
parts.push(
|
||||
'<div class="' + cls + '"' + (amId !== '' ? ' data-am-id="' + amId + '"' : '') + '>' + (html || '') + '</div>'
|
||||
);
|
||||
const amAttr = amId !== '' ? ' data-am-id="' + amId + '"' : '';
|
||||
const blockHtml = ['<div class="', cls, '"', amAttr, '>', html || '', '</div>'].join('');
|
||||
parts.push(this.wrapManuscriptSectionHtml(blockHtml, isMatch));
|
||||
});
|
||||
return parts.join('');
|
||||
},
|
||||
@@ -2124,6 +2238,7 @@ export default {
|
||||
const container = this.$refs.relevanceReviewPara;
|
||||
if (!container) return;
|
||||
const mark =
|
||||
container.querySelector('.ref-ms-section.is-match') ||
|
||||
container.querySelector('.ref-review-cite-bracket') ||
|
||||
container.querySelector('.ref-review-cite-para');
|
||||
if (!mark) return;
|
||||
@@ -2241,8 +2356,7 @@ export default {
|
||||
.replace(/"/g, '"');
|
||||
},
|
||||
formatRelevanceParaHtml(item) {
|
||||
let html = this.escapeRelevanceHtml(this.formatRelevanceSnippet(item) || '(暂无段落原文,待接口返回)');
|
||||
html = '<mark class="ref-review-cite-active">' + html + '</mark>';
|
||||
let html = this.escapeRelevanceHtml(this.formatRelevanceSnippet(item) || this.refRelevanceT('excerptEmpty'));
|
||||
const anns = this.getRelevanceAnnotations(item);
|
||||
anns.forEach((ann) => {
|
||||
const anchor = String(ann.anchor || '').trim();
|
||||
@@ -2252,7 +2366,8 @@ export default {
|
||||
ann.type === 'revision' ? 'ref-review-mark ref-review-mark--rev' : 'ref-review-mark ref-review-mark--cmt';
|
||||
html = html.split(esc).join('<mark class="' + markClass + '">' + esc + '</mark>');
|
||||
});
|
||||
return html;
|
||||
const body = '<p class="ref-ms-excerpt-text">' + html + '</p>';
|
||||
return this.wrapManuscriptSectionHtml(body, true, 'is-excerpt');
|
||||
},
|
||||
wordTextOp() {
|
||||
////console.log(this.wordText)
|
||||
@@ -4119,6 +4234,37 @@ export default {
|
||||
min-height: 420px;
|
||||
max-height: min(68vh, 620px);
|
||||
}
|
||||
.ref-review-doc--sim {
|
||||
border-color: #dce3ed;
|
||||
background: #fff;
|
||||
}
|
||||
.ref-review-doc-label--sim {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
gap: 12px;
|
||||
padding: 10px 14px;
|
||||
font-size: 11px;
|
||||
font-weight: 600;
|
||||
color: #64748b;
|
||||
border-bottom: 1px solid #e4e9f0;
|
||||
background: #f8fafc;
|
||||
letter-spacing: 0.02em;
|
||||
}
|
||||
.ref-review-doc-sim-title {
|
||||
color: #475569;
|
||||
}
|
||||
.ref-review-doc-locator {
|
||||
font-size: 11px;
|
||||
font-weight: 500;
|
||||
color: #94a3b8;
|
||||
text-transform: none;
|
||||
letter-spacing: 0;
|
||||
}
|
||||
.ref-review-ms-scroll {
|
||||
padding: 12px 14px;
|
||||
background: #fbfcfe;
|
||||
}
|
||||
.ref-review-doc-label,
|
||||
.ref-review-pane-label {
|
||||
padding: 8px 14px;
|
||||
@@ -4193,6 +4339,55 @@ export default {
|
||||
text-align: justify;
|
||||
color: #606266;
|
||||
}
|
||||
::v-deep .ref-ms-section {
|
||||
margin-bottom: 10px;
|
||||
border-radius: 6px;
|
||||
transition: opacity 0.2s ease;
|
||||
}
|
||||
::v-deep .ref-ms-section.is-muted {
|
||||
opacity: 0.36;
|
||||
pointer-events: none;
|
||||
}
|
||||
::v-deep .ref-ms-section.is-match {
|
||||
opacity: 1;
|
||||
border: 1px dashed #409eff;
|
||||
background: #f0f7ff;
|
||||
box-shadow: 0 0 0 1px rgba(64, 158, 255, 0.1);
|
||||
}
|
||||
::v-deep .ref-ms-section.is-excerpt {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
::v-deep .ref-ms-section-head {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
padding: 8px 12px 4px;
|
||||
}
|
||||
::v-deep .ref-ms-section-label {
|
||||
font-size: 10px;
|
||||
font-weight: 600;
|
||||
letter-spacing: 0.03em;
|
||||
color: #94a3b8;
|
||||
}
|
||||
::v-deep .ref-ms-match-tag {
|
||||
font-size: 10px;
|
||||
font-weight: 700;
|
||||
letter-spacing: 0.02em;
|
||||
color: #409eff;
|
||||
background: #dbeafe;
|
||||
padding: 2px 8px;
|
||||
border-radius: 999px;
|
||||
}
|
||||
::v-deep .ref-ms-section-body {
|
||||
padding: 2px 12px 12px;
|
||||
}
|
||||
::v-deep .ref-ms-excerpt-text {
|
||||
margin: 0;
|
||||
font-size: 14px;
|
||||
line-height: 1.65;
|
||||
color: #303133;
|
||||
text-align: justify;
|
||||
}
|
||||
::v-deep .ref-review-word .isTitleH1.pMainH1,
|
||||
::v-deep .ref-review-word .pMainH1 {
|
||||
font-family: 'Charis SIL', serif;
|
||||
@@ -4490,12 +4685,12 @@ export default {
|
||||
}
|
||||
::v-deep mark.ref-review-cite-bracket {
|
||||
display: inline;
|
||||
padding: 0 3px;
|
||||
padding: 1px 6px;
|
||||
border-radius: 3px;
|
||||
background: #fff;
|
||||
color: #e6a23c;
|
||||
background: #409eff;
|
||||
color: #fff;
|
||||
font-weight: 700;
|
||||
box-shadow: 0 0 0 2px #e6a23c;
|
||||
box-shadow: none;
|
||||
vertical-align: baseline;
|
||||
line-height: inherit;
|
||||
animation: none !important;
|
||||
|
||||
@@ -75,25 +75,25 @@
|
||||
<el-table-column label="Contributions" align="center" width="150">
|
||||
<template slot-scope="scope">
|
||||
<div class="Contributions">
|
||||
<div>Articles: <em v-if="scope.row.articles.length > 0">{{scope.row.articles.length}}</em><em v-else>0</em> /
|
||||
<em v-if="scope.row.articles_all.length > 0">{{scope.row.articles_all.length}}</em><em v-else>0</em></div>
|
||||
<div>Reviewes: <em v-if="scope.row.reviewes.length > 0">{{scope.row.reviewes.length}}</em><em v-else>0</em></div>
|
||||
<div>Articles: <em v-if="scope.row&&scope.row.articles.length > 0">{{scope.row.articles.length}}</em><em v-else>0</em> /
|
||||
<em v-if="scope.row&&scope.row.articles_all.length > 0">{{scope.row.articles_all.length}}</em><em v-else>0</em></div>
|
||||
<div>Reviewes: <em v-if="scope.row&&scope.row.reviewes.length > 0">{{scope.row.reviewes.length}}</em><em v-else>0</em></div>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="H-WOS" width="110px" align="center">
|
||||
<template slot-scope="scope">
|
||||
<p v-html="colorIndex(scope.row.wos_index,scope.row.wos_time)"></p>
|
||||
<p v-if="scope.row" v-html="colorIndex(scope.row.wos_index,scope.row.wos_time)"></p>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="H-Google" width="110px" align="center">
|
||||
<template slot-scope="scope">
|
||||
<p v-html="colorIndex(scope.row.google_index,scope.row.google_time)"></p>
|
||||
<p v-if="scope.row" v-html="colorIndex(scope.row.google_index,scope.row.google_time)"></p>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="grade" label="Grade" width="110px" align="center">
|
||||
<template slot-scope="scope">
|
||||
<p style="display: inline-block;" v-if="scope.row.starList_mark!=0">
|
||||
<p style="display: inline-block;" v-if="scope.row&&scope.row.starList_mark!=0">
|
||||
<img src="../../assets/img/star-all.png" v-for="item in scope.row.starList"
|
||||
v-if="scope.row.starList_mark<=8&&item.star==1" class="starSty">
|
||||
<img src="../../assets/img/star-traf.png" v-for="item in scope.row.starList"
|
||||
@@ -107,7 +107,7 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="Term of service" align="center" width="160">
|
||||
<template slot-scope="scope">
|
||||
<template slot-scope="scope" v-if="scope.row">
|
||||
<p v-for="item in scope.row.sd">
|
||||
{{formatYear(item.start_date)}}
|
||||
<span style="margin: 0 3px;">-</span>
|
||||
@@ -153,7 +153,7 @@
|
||||
</div>
|
||||
|
||||
<!-- 添加弹出框 -->
|
||||
<el-dialog title="Add Young Scientist" :visible.sync="addVisible" width="620px" :close-on-click-modal="false"
|
||||
<el-dialog destroy-on-close title="Add Young Scientist" :visible.sync="addVisible" width="620px" :close-on-click-modal="false"
|
||||
@close='addVisCancle'>
|
||||
<el-form ref="add_Form" :model="addForm" :rules="rules" label-width="140px" v-if="!dis_able">
|
||||
<el-form-item label="Email / Account :" prop="account" v-if="!dis_able">
|
||||
@@ -196,7 +196,7 @@
|
||||
</el-dialog>
|
||||
|
||||
<!-- 续约弹出框 -->
|
||||
<el-dialog title="Renewal Young Scientist" :visible.sync="reneVisible" width="600px" :close-on-click-modal="false">
|
||||
<el-dialog destroy-on-close title="Renewal Young Scientist" :visible.sync="reneVisible" width="600px" :close-on-click-modal="false">
|
||||
<el-form ref="rene_Form" :model="reneForm" :rules="rules" label-width="140px">
|
||||
<el-form-item label="Account :">
|
||||
{{reneForm.account}}
|
||||
@@ -405,6 +405,7 @@ import bus from '../common/bus'
|
||||
.post('api/User/getYboardlist', this.query)
|
||||
.then(res => {
|
||||
if (res.code == 0) {
|
||||
console.log(res.data.yboards,'zheli');
|
||||
this.tableData = res.data.yboards;
|
||||
for (var i = 0; i < this.tableData.length; i++) {
|
||||
this.getScoreData(i, this.tableData[i].score)
|
||||
@@ -478,7 +479,10 @@ import bus from '../common/bus'
|
||||
// 新增
|
||||
addHandle() {
|
||||
this.dis_able = false
|
||||
this.addForm.account = ''
|
||||
this.addForm= {
|
||||
account: '',
|
||||
}
|
||||
|
||||
this.addVisible = true
|
||||
},
|
||||
|
||||
@@ -499,7 +503,7 @@ import bus from '../common/bus'
|
||||
this.addVisible = false;
|
||||
this.getDate();
|
||||
this.$message.success(`Added successfully!`);
|
||||
this.$refs.add_Form.resetFields();
|
||||
|
||||
this.dis_able = false
|
||||
|
||||
loading.close();
|
||||
@@ -521,7 +525,7 @@ import bus from '../common/bus'
|
||||
// 添加关闭
|
||||
addVisCancle() {
|
||||
this.addVisible = false
|
||||
this.$refs.add_Form.resetFields();
|
||||
// this.$refs.add_Form.resetFields();
|
||||
},
|
||||
|
||||
// 查找与他相同的账号
|
||||
|
||||
@@ -70,7 +70,8 @@ module.exports = {
|
||||
},
|
||||
proxy: {
|
||||
'/api': {
|
||||
// target: 'http://zmzm.tougao.dev.com/',//晓玲本地
|
||||
|
||||
// target: 'http://192.168.110.131/tougao/public/index.php/',//后端本地
|
||||
target: 'https://submission.tmrjournals.com/',//正式
|
||||
// target: 'http://tougaotest.tmrjournals.com/public/index.php/',//测试环境
|
||||
// target: 'http://mytest.tmrjournals.com/public/index.php/',//新测试环境
|
||||
|
||||
Reference in New Issue
Block a user