更改 新加青年编委报错问题 代码执行顺序有误
This commit is contained in:
@@ -1587,6 +1587,19 @@ const en = {
|
|||||||
nextRef: 'Next reference',
|
nextRef: 'Next reference',
|
||||||
manuscript: 'Manuscript',
|
manuscript: 'Manuscript',
|
||||||
excerpt: '(excerpt)',
|
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',
|
citeListTitle: 'This reference · all in-text citations',
|
||||||
citeListTotal: '{n} citation(s)',
|
citeListTotal: '{n} citation(s)',
|
||||||
current: 'Current',
|
current: 'Current',
|
||||||
|
|||||||
@@ -1568,6 +1568,19 @@ const zh = {
|
|||||||
nextRef: '下一篇参考文献',
|
nextRef: '下一篇参考文献',
|
||||||
manuscript: '稿件',
|
manuscript: '稿件',
|
||||||
excerpt: '(摘录)',
|
excerpt: '(摘录)',
|
||||||
|
simManuscriptPage: '模拟稿件页面',
|
||||||
|
locationMatcher: '引用位置匹配',
|
||||||
|
manuscriptSection: '稿件段落',
|
||||||
|
highlightedMatch: '高亮匹配',
|
||||||
|
excerptEmpty: '暂无段落原文,待接口返回',
|
||||||
|
annotationComment: '批注',
|
||||||
|
annotationDelete: '建议删除',
|
||||||
|
annotationRevision: '修订',
|
||||||
|
annotationOkDefault: '此处引用与正文论述匹配,可保留。',
|
||||||
|
annotationReviewDefault: '建议核对此处表述与文献是否一致。',
|
||||||
|
annotationDeleteDefault: '该处引用与段落主旨关联较弱,可考虑删去或改述。',
|
||||||
|
annotationYearDefault: '正文年份与文献出版年不一致。',
|
||||||
|
annotationMethodDefault: '借用方法时需交代与本文研究人群、年份范围的差异。',
|
||||||
citeListTitle: '本参考文献 · 全部引用处',
|
citeListTitle: '本参考文献 · 全部引用处',
|
||||||
citeListTotal: '共 {n} 处',
|
citeListTotal: '共 {n} 处',
|
||||||
current: '当前',
|
current: '当前',
|
||||||
|
|||||||
@@ -622,18 +622,13 @@
|
|||||||
</template>
|
</template>
|
||||||
<div v-if="relevanceReviewItem" class="ref-review">
|
<div v-if="relevanceReviewItem" class="ref-review">
|
||||||
<div class="ref-review-body">
|
<div class="ref-review-body">
|
||||||
<div class="ref-review-doc">
|
<div class="ref-review-doc ref-review-doc--sim">
|
||||||
<div class="ref-review-doc-label">
|
<div class="ref-review-doc-label ref-review-doc-label--sim">
|
||||||
<div class="ref-review-doc-label-left">
|
<span class="ref-review-doc-sim-title">{{ refRelevanceT('simManuscriptPage') }}</span>
|
||||||
<span>{{ $t('refRelevance.manuscript') }}</span>
|
<span class="ref-review-doc-locator">{{ refRelevanceT('locationMatcher') }}</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>
|
</div>
|
||||||
<div
|
<div
|
||||||
class="ref-review-para ref-review-word"
|
class="ref-review-para ref-review-word ref-review-ms-scroll"
|
||||||
ref="relevanceReviewPara"
|
ref="relevanceReviewPara"
|
||||||
v-loading="articleMainsLoading"
|
v-loading="articleMainsLoading"
|
||||||
v-html="relevanceReviewMainHtml"
|
v-html="relevanceReviewMainHtml"
|
||||||
@@ -722,6 +717,40 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import VueUeditorWrap from 'vue-ueditor-wrap'; // ES6 Module
|
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 {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
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: {
|
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) {
|
formatTitle(title) {
|
||||||
if (!title) return '';
|
if (!title) return '';
|
||||||
@@ -1158,14 +1214,14 @@ export default {
|
|||||||
enrichRelevanceAnnotations(item) {
|
enrichRelevanceAnnotations(item) {
|
||||||
if (!item || (Array.isArray(item.annotations) && item.annotations.length)) return;
|
if (!item || (Array.isArray(item.annotations) && item.annotations.length)) return;
|
||||||
const needFix = this.isRelevanceNeedModify(item);
|
const needFix = this.isRelevanceNeedModify(item);
|
||||||
const desc = String(item.ai_desc || '').trim();
|
const desc = this.resolveRelevanceDesc(item);
|
||||||
if (!needFix) {
|
if (!needFix) {
|
||||||
item.annotations = [
|
item.annotations = [
|
||||||
{
|
{
|
||||||
id: 1,
|
id: 1,
|
||||||
type: 'comment',
|
type: 'comment',
|
||||||
type_label: '批注',
|
type_label: this.refRelevanceT('annotationComment'),
|
||||||
text: desc || '此处引用与正文论述匹配,可保留。'
|
text: desc || this.refRelevanceT('annotationOkDefault')
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
return;
|
return;
|
||||||
@@ -1178,37 +1234,37 @@ export default {
|
|||||||
{
|
{
|
||||||
id: 1,
|
id: 1,
|
||||||
type: 'comment',
|
type: 'comment',
|
||||||
type_label: '批注',
|
type_label: this.refRelevanceT('annotationComment'),
|
||||||
anchor: anchor,
|
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({
|
annotations.push({
|
||||||
id: 2,
|
id: 2,
|
||||||
type: 'delete',
|
type: 'delete',
|
||||||
type_label: '建议删除',
|
type_label: this.refRelevanceT('annotationDelete'),
|
||||||
text: '该处引用与段落主旨关联较弱,可考虑删去或改述。'
|
text: this.refRelevanceT('annotationDeleteDefault')
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
if (/年份|2023|2024|不一致/.test(desc + snippet)) {
|
if (/年份|2023|2024|不一致|year|mismatch/i.test(desc + snippet)) {
|
||||||
annotations.push({
|
annotations.push({
|
||||||
id: annotations.length + 1,
|
id: annotations.length + 1,
|
||||||
type: 'revision',
|
type: 'revision',
|
||||||
type_label: '修订',
|
type_label: this.refRelevanceT('annotationRevision'),
|
||||||
anchor: '2023',
|
anchor: '2023',
|
||||||
text: '正文年份与文献出版年不一致。',
|
text: this.refRelevanceT('annotationYearDefault'),
|
||||||
original: '2023',
|
original: '2023',
|
||||||
suggested: '2024'
|
suggested: '2024'
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
if (/差异|说明|方法|人群/.test(desc)) {
|
if (/差异|说明|方法|人群|difference|method|cohort/i.test(desc)) {
|
||||||
annotations.push({
|
annotations.push({
|
||||||
id: annotations.length + 1,
|
id: annotations.length + 1,
|
||||||
type: 'revision',
|
type: 'revision',
|
||||||
type_label: '修订',
|
type_label: this.refRelevanceT('annotationRevision'),
|
||||||
anchor: anchor,
|
anchor: anchor,
|
||||||
text: '借用方法时需交代与本文研究人群、年份范围的差异。',
|
text: this.refRelevanceT('annotationMethodDefault'),
|
||||||
original: 'as described previously',
|
original: 'as described previously',
|
||||||
suggested: 'with adaptations as noted below'
|
suggested: 'with adaptations as noted below'
|
||||||
});
|
});
|
||||||
@@ -1230,7 +1286,9 @@ export default {
|
|||||||
label: '高相关',
|
label: '高相关',
|
||||||
need_modify: false,
|
need_modify: false,
|
||||||
modify_brief: '引用恰当',
|
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: '高相关',
|
label: '高相关',
|
||||||
need_modify: false,
|
need_modify: false,
|
||||||
modify_brief: '可保留',
|
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: '较相关',
|
label: '较相关',
|
||||||
need_modify: false,
|
need_modify: false,
|
||||||
modify_brief: '可保留',
|
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,
|
cite_index: 2,
|
||||||
@@ -1276,7 +1338,9 @@ export default {
|
|||||||
label: '部分相关',
|
label: '部分相关',
|
||||||
need_modify: true,
|
need_modify: true,
|
||||||
modify_brief: '建议精简或改写',
|
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: '待核实',
|
label: '待核实',
|
||||||
need_modify: true,
|
need_modify: true,
|
||||||
modify_brief: '年份不一致',
|
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: '高相关',
|
label: '高相关',
|
||||||
need_modify: false,
|
need_modify: false,
|
||||||
modify_brief: '可保留',
|
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,
|
cite_index: 2,
|
||||||
@@ -1321,7 +1388,9 @@ export default {
|
|||||||
label: '方法参考',
|
label: '方法参考',
|
||||||
need_modify: true,
|
need_modify: true,
|
||||||
modify_brief: '需补充差异说明',
|
modify_brief: '需补充差异说明',
|
||||||
ai_desc: '方法段借用训练超参数设置,但数据集规模与预处理步骤不同,需补充说明。'
|
ai_desc: '方法段借用训练超参数设置,但数据集规模与预处理步骤不同,需补充说明。',
|
||||||
|
ai_desc_en:
|
||||||
|
'Methods: borrows training hyperparameters; dataset size and preprocessing differ—clarify in text.'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
cite_index: 3,
|
cite_index: 3,
|
||||||
@@ -1334,7 +1403,9 @@ export default {
|
|||||||
label: '弱相关',
|
label: '弱相关',
|
||||||
need_modify: true,
|
need_modify: true,
|
||||||
modify_brief: '建议删除',
|
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: '背景相关',
|
label: '背景相关',
|
||||||
need_modify: true,
|
need_modify: true,
|
||||||
modify_brief: '不宜作主要依据',
|
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: '高相关',
|
label: '高相关',
|
||||||
need_modify: false,
|
need_modify: false,
|
||||||
modify_brief: '可保留',
|
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: '较相关',
|
label: '较相关',
|
||||||
need_modify: false,
|
need_modify: false,
|
||||||
modify_brief: '可保留',
|
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: '部分相关',
|
label: '部分相关',
|
||||||
need_modify: true,
|
need_modify: true,
|
||||||
modify_brief: '建议精简或改写',
|
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,
|
cite_index: 2,
|
||||||
@@ -1410,7 +1486,8 @@ export default {
|
|||||||
label: '弱相关',
|
label: '弱相关',
|
||||||
need_modify: true,
|
need_modify: true,
|
||||||
modify_brief: '建议删除',
|
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: '高相关',
|
label: '高相关',
|
||||||
need_modify: false,
|
need_modify: false,
|
||||||
modify_brief: '引用恰当',
|
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: '高相关',
|
label: '高相关',
|
||||||
need_modify: false,
|
need_modify: false,
|
||||||
modify_brief: '可保留',
|
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) {
|
getRelevanceInsightText(item) {
|
||||||
if (!item) return '';
|
if (!item) return '';
|
||||||
const desc = String(item.ai_desc || '').trim();
|
const desc = this.resolveRelevanceDesc(item);
|
||||||
if (desc) return desc;
|
if (desc) return desc;
|
||||||
const anns = this.getRelevanceAnnotations(item);
|
const anns = this.getRelevanceAnnotations(item);
|
||||||
return anns.length ? String(anns[0].text || '') : '';
|
return anns.length ? String(anns[0].text || '') : '';
|
||||||
@@ -1893,8 +1973,40 @@ export default {
|
|||||||
if (idx < 0) return html;
|
if (idx < 0) return html;
|
||||||
return this.wrapHtmlRange(html, idx, idx + plainText.length, markClass);
|
return this.wrapHtmlRange(html, idx, idx + plainText.length, markClass);
|
||||||
},
|
},
|
||||||
highlightCiteContextInHtml(html, matchIndex, matchLen, highlightWholeBlock) {
|
wrapManuscriptSectionHtml(innerHtml, isMatch, extraClass) {
|
||||||
if (!html) return html;
|
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) {
|
if (highlightWholeBlock) {
|
||||||
let out = '<mark class="ref-review-cite-active ref-review-cite-para">' + html + '</mark>';
|
let out = '<mark class="ref-review-cite-active ref-review-cite-para">' + html + '</mark>';
|
||||||
if (matchIndex >= 0 && matchLen) {
|
if (matchIndex >= 0 && matchLen) {
|
||||||
@@ -2054,12 +2166,14 @@ export default {
|
|||||||
if (!html && block.type !== 0 && block.type !== '0' && block.type != null) {
|
if (!html && block.type !== 0 && block.type !== '0' && block.type != null) {
|
||||||
return;
|
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 = this.highlightCiteContextInHtml(
|
||||||
html,
|
html,
|
||||||
loc.matchIndex,
|
loc.matchIndex,
|
||||||
loc.matchLen,
|
loc.matchLen,
|
||||||
loc.highlightWholeBlock
|
loc.highlightWholeBlock,
|
||||||
|
true
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
if (activeAmId != null && block.am_id == activeAmId && item) {
|
if (activeAmId != null && block.am_id == activeAmId && item) {
|
||||||
@@ -2067,9 +2181,9 @@ export default {
|
|||||||
}
|
}
|
||||||
const cls = this.getMainBlockClass(block);
|
const cls = this.getMainBlockClass(block);
|
||||||
const amId = block.am_id != null ? block.am_id : '';
|
const amId = block.am_id != null ? block.am_id : '';
|
||||||
parts.push(
|
const amAttr = amId !== '' ? ' data-am-id="' + amId + '"' : '';
|
||||||
'<div class="' + cls + '"' + (amId !== '' ? ' data-am-id="' + amId + '"' : '') + '>' + (html || '') + '</div>'
|
const blockHtml = ['<div class="', cls, '"', amAttr, '>', html || '', '</div>'].join('');
|
||||||
);
|
parts.push(this.wrapManuscriptSectionHtml(blockHtml, isMatch));
|
||||||
});
|
});
|
||||||
return parts.join('');
|
return parts.join('');
|
||||||
},
|
},
|
||||||
@@ -2124,6 +2238,7 @@ export default {
|
|||||||
const container = this.$refs.relevanceReviewPara;
|
const container = this.$refs.relevanceReviewPara;
|
||||||
if (!container) return;
|
if (!container) return;
|
||||||
const mark =
|
const mark =
|
||||||
|
container.querySelector('.ref-ms-section.is-match') ||
|
||||||
container.querySelector('.ref-review-cite-bracket') ||
|
container.querySelector('.ref-review-cite-bracket') ||
|
||||||
container.querySelector('.ref-review-cite-para');
|
container.querySelector('.ref-review-cite-para');
|
||||||
if (!mark) return;
|
if (!mark) return;
|
||||||
@@ -2241,8 +2356,7 @@ export default {
|
|||||||
.replace(/"/g, '"');
|
.replace(/"/g, '"');
|
||||||
},
|
},
|
||||||
formatRelevanceParaHtml(item) {
|
formatRelevanceParaHtml(item) {
|
||||||
let html = this.escapeRelevanceHtml(this.formatRelevanceSnippet(item) || '(暂无段落原文,待接口返回)');
|
let html = this.escapeRelevanceHtml(this.formatRelevanceSnippet(item) || this.refRelevanceT('excerptEmpty'));
|
||||||
html = '<mark class="ref-review-cite-active">' + html + '</mark>';
|
|
||||||
const anns = this.getRelevanceAnnotations(item);
|
const anns = this.getRelevanceAnnotations(item);
|
||||||
anns.forEach((ann) => {
|
anns.forEach((ann) => {
|
||||||
const anchor = String(ann.anchor || '').trim();
|
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';
|
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>');
|
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() {
|
wordTextOp() {
|
||||||
////console.log(this.wordText)
|
////console.log(this.wordText)
|
||||||
@@ -4119,6 +4234,37 @@ export default {
|
|||||||
min-height: 420px;
|
min-height: 420px;
|
||||||
max-height: min(68vh, 620px);
|
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-doc-label,
|
||||||
.ref-review-pane-label {
|
.ref-review-pane-label {
|
||||||
padding: 8px 14px;
|
padding: 8px 14px;
|
||||||
@@ -4193,6 +4339,55 @@ export default {
|
|||||||
text-align: justify;
|
text-align: justify;
|
||||||
color: #606266;
|
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 .isTitleH1.pMainH1,
|
||||||
::v-deep .ref-review-word .pMainH1 {
|
::v-deep .ref-review-word .pMainH1 {
|
||||||
font-family: 'Charis SIL', serif;
|
font-family: 'Charis SIL', serif;
|
||||||
@@ -4490,12 +4685,12 @@ export default {
|
|||||||
}
|
}
|
||||||
::v-deep mark.ref-review-cite-bracket {
|
::v-deep mark.ref-review-cite-bracket {
|
||||||
display: inline;
|
display: inline;
|
||||||
padding: 0 3px;
|
padding: 1px 6px;
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
background: #fff;
|
background: #409eff;
|
||||||
color: #e6a23c;
|
color: #fff;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
box-shadow: 0 0 0 2px #e6a23c;
|
box-shadow: none;
|
||||||
vertical-align: baseline;
|
vertical-align: baseline;
|
||||||
line-height: inherit;
|
line-height: inherit;
|
||||||
animation: none !important;
|
animation: none !important;
|
||||||
|
|||||||
@@ -75,25 +75,25 @@
|
|||||||
<el-table-column label="Contributions" align="center" width="150">
|
<el-table-column label="Contributions" align="center" width="150">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<div class="Contributions">
|
<div class="Contributions">
|
||||||
<div>Articles: <em v-if="scope.row.articles.length > 0">{{scope.row.articles.length}}</em><em v-else>0</em> /
|
<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.articles_all.length > 0">{{scope.row.articles_all.length}}</em><em v-else>0</em></div>
|
<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.reviewes.length > 0">{{scope.row.reviewes.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>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="H-WOS" width="110px" align="center">
|
<el-table-column label="H-WOS" width="110px" align="center">
|
||||||
<template slot-scope="scope">
|
<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>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="H-Google" width="110px" align="center">
|
<el-table-column label="H-Google" width="110px" align="center">
|
||||||
<template slot-scope="scope">
|
<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>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="grade" label="Grade" width="110px" align="center">
|
<el-table-column prop="grade" label="Grade" width="110px" align="center">
|
||||||
<template slot-scope="scope">
|
<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"
|
<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">
|
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"
|
<img src="../../assets/img/star-traf.png" v-for="item in scope.row.starList"
|
||||||
@@ -107,7 +107,7 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="Term of service" align="center" width="160">
|
<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">
|
<p v-for="item in scope.row.sd">
|
||||||
{{formatYear(item.start_date)}}
|
{{formatYear(item.start_date)}}
|
||||||
<span style="margin: 0 3px;">-</span>
|
<span style="margin: 0 3px;">-</span>
|
||||||
@@ -153,7 +153,7 @@
|
|||||||
</div>
|
</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'>
|
@close='addVisCancle'>
|
||||||
<el-form ref="add_Form" :model="addForm" :rules="rules" label-width="140px" v-if="!dis_able">
|
<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">
|
<el-form-item label="Email / Account :" prop="account" v-if="!dis_able">
|
||||||
@@ -196,7 +196,7 @@
|
|||||||
</el-dialog>
|
</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 ref="rene_Form" :model="reneForm" :rules="rules" label-width="140px">
|
||||||
<el-form-item label="Account :">
|
<el-form-item label="Account :">
|
||||||
{{reneForm.account}}
|
{{reneForm.account}}
|
||||||
@@ -405,6 +405,7 @@ import bus from '../common/bus'
|
|||||||
.post('api/User/getYboardlist', this.query)
|
.post('api/User/getYboardlist', this.query)
|
||||||
.then(res => {
|
.then(res => {
|
||||||
if (res.code == 0) {
|
if (res.code == 0) {
|
||||||
|
console.log(res.data.yboards,'zheli');
|
||||||
this.tableData = res.data.yboards;
|
this.tableData = res.data.yboards;
|
||||||
for (var i = 0; i < this.tableData.length; i++) {
|
for (var i = 0; i < this.tableData.length; i++) {
|
||||||
this.getScoreData(i, this.tableData[i].score)
|
this.getScoreData(i, this.tableData[i].score)
|
||||||
@@ -478,7 +479,10 @@ import bus from '../common/bus'
|
|||||||
// 新增
|
// 新增
|
||||||
addHandle() {
|
addHandle() {
|
||||||
this.dis_able = false
|
this.dis_able = false
|
||||||
this.addForm.account = ''
|
this.addForm= {
|
||||||
|
account: '',
|
||||||
|
}
|
||||||
|
|
||||||
this.addVisible = true
|
this.addVisible = true
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -499,7 +503,7 @@ import bus from '../common/bus'
|
|||||||
this.addVisible = false;
|
this.addVisible = false;
|
||||||
this.getDate();
|
this.getDate();
|
||||||
this.$message.success(`Added successfully!`);
|
this.$message.success(`Added successfully!`);
|
||||||
this.$refs.add_Form.resetFields();
|
|
||||||
this.dis_able = false
|
this.dis_able = false
|
||||||
|
|
||||||
loading.close();
|
loading.close();
|
||||||
@@ -521,7 +525,7 @@ import bus from '../common/bus'
|
|||||||
// 添加关闭
|
// 添加关闭
|
||||||
addVisCancle() {
|
addVisCancle() {
|
||||||
this.addVisible = false
|
this.addVisible = false
|
||||||
this.$refs.add_Form.resetFields();
|
// this.$refs.add_Form.resetFields();
|
||||||
},
|
},
|
||||||
|
|
||||||
// 查找与他相同的账号
|
// 查找与他相同的账号
|
||||||
|
|||||||
@@ -70,7 +70,8 @@ module.exports = {
|
|||||||
},
|
},
|
||||||
proxy: {
|
proxy: {
|
||||||
'/api': {
|
'/api': {
|
||||||
// target: 'http://zmzm.tougao.dev.com/',//晓玲本地
|
|
||||||
|
// target: 'http://192.168.110.131/tougao/public/index.php/',//后端本地
|
||||||
target: 'https://submission.tmrjournals.com/',//正式
|
target: 'https://submission.tmrjournals.com/',//正式
|
||||||
// target: 'http://tougaotest.tmrjournals.com/public/index.php/',//测试环境
|
// target: 'http://tougaotest.tmrjournals.com/public/index.php/',//测试环境
|
||||||
// target: 'http://mytest.tmrjournals.com/public/index.php/',//新测试环境
|
// target: 'http://mytest.tmrjournals.com/public/index.php/',//新测试环境
|
||||||
|
|||||||
Reference in New Issue
Block a user