Files
tougao/application/api/view/author/report.html
wyn 1d54946fef 背调优化
发邮件记录添加姓名和邮箱模糊搜索
2026-06-05 13:52:35 +08:00

276 lines
14 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>作者背调报告 · {$report.basic.display_name|htmlspecialchars}</title>
{include file="author/_styles" /}
</head>
<body>
<div class="page">
<div class="topbar">
<a href="{$form_action}">← 返回查询页</a>
</div>
<div class="card">
<div class="report-hero">
<h1>作者背景调查报告</h1>
<div class="report-meta">
<span class="report-chip">{$report.basic.display_name|htmlspecialchars}</span>
{notempty name="report.query.orcid"}
<span class="report-chip">ORCID {$report.query.orcid|htmlspecialchars}</span>
{/notempty}
<span class="report-chip">{$report.query.way|htmlspecialchars}</span>
<span class="report-chip">{$report.report_at|htmlspecialchars}</span>
</div>
</div>
<div class="risk-banner {$risk_class}">
<div>{$report.conclusion.risk_level|htmlspecialchars}</div>
</div>
<div class="sec-title"><span class="sec-num">1</span>学术指标</div>
<div class="stat-row">
<div class="stat-box"><strong>{$report.metrics.works_count}</strong><span>论文总数</span></div>
<div class="stat-box"><strong>{$report.metrics.cited_by_count}</strong><span>总被引</span></div>
<div class="stat-box"><strong>{$report.metrics.h_index}</strong><span>H 指数</span></div>
<div class="stat-box"><strong>{$report.metrics.i10_index}</strong><span>i10 指数</span></div>
<div class="stat-box"><strong>{$report.metrics.pubmed_total}</strong><span>PubMed</span></div>
</div>
<table class="data-table">
{notempty name="report.metrics.pubmed_query"}
<tr><th>PubMed 检索式</th><td>
{$report.metrics.pubmed_query|htmlspecialchars}
{gt name="report.metrics.pubmed_total" value="0"}
<a class="ext" href="{$report.metrics.pubmed_url|htmlspecialchars}" target="_blank" rel="noopener">在 PubMed 打开 ↗</a>
{/gt}
</td></tr>
{/notempty}
{notempty name="report.metrics.topics"}
<tr><th>主要研究方向</th><td>{$topics_text|htmlspecialchars}</td></tr>
{/notempty}
</table>
<div class="sec-title"><span class="sec-num">2</span>诚信 / 不良记录</div>
<div class="alert alert-info" style="font-size:13px;">
<strong>比对策略:</strong>
① 有 DOI 的 ORCID 作品 → 撤稿库 DOI 精确比对 &nbsp;|&nbsp;
② 无 DOI → 姓名+题目回退匹配(同名有风险)<br>
已比对 DOI <strong>{$report.retraction_watch.checked_doi_count|default=0}</strong> 篇 ·
无 DOI <strong>{$report.retraction_watch.no_doi_count|default=0}</strong>
{gt name="rw_match_total" value="0"}
· 命中:
<span class="src-tag match-doi">DOI {$report.retraction_watch.doi_match_count|default=0}</span>
<span class="src-tag match-name">姓名+题目 {$report.retraction_watch.name_match_count|default=0}</span>
<span class="src-tag match-loose">姓名+机构 {$report.retraction_watch.name_loose_match_count|default=0}</span>
{/gt}
</div>
{empty name="report.retraction_watch.ok"}
<p><span class="tag tag-warn">⚠ {$report.retraction_watch.msg|default='撤稿数据库暂不可用'|htmlspecialchars}</span></p>
{else/}
{empty name="report.retraction_watch.items"}
<p><span class="tag tag-ok">✅ 未匹配到撤稿 / 关注声明记录</span></p>
{else/}
<p style="margin-bottom:14px;">
{gt name="report.retraction_watch.misconduct_count" value="0"}
<span class="tag tag-bad">发现不端相关记录</span>
{else/}
<span class="tag tag-warn">发现撤稿 / 关注声明</span>
{/gt}
&nbsp;撤稿 {$report.retraction_watch.retraction_count|default=0} 条 · 不端 {$report.retraction_watch.misconduct_count|default=0} 条
</p>
<ul style="list-style:none;padding:0;margin:0;">
{volist name="report.retraction_watch.items" id="it"}
<li class="paper-item" style="padding:14px 0;">
{if condition="$it['match_type'] eq 'doi'"}
<span class="src-tag match-doi">{$it.match_label|htmlspecialchars}</span>
{elseif condition="$it['match_type'] eq 'name'"/}
<span class="src-tag match-name">{$it.match_label|htmlspecialchars}</span>
{else/}
<span class="src-tag match-loose">{$it.match_label|htmlspecialchars}</span>
{/if}
<strong>{$it.nature|htmlspecialchars}</strong>
<a class="paper-link" href="{$it.link_url|htmlspecialchars}" target="_blank" rel="noopener">{$it.display_title|htmlspecialchars} ↗</a>
{notempty name="it.misconduct"}<em style="color:#dc2626;"> [不端]</em>{/notempty}
<br><small style="color:var(--text-muted);">
{notempty name="it.doi"}DOI <a class="ext" href="https://doi.org/{$it.doi|htmlspecialchars}" target="_blank">{$it.doi|htmlspecialchars}</a> · {/notempty}
{$it.reason_short|htmlspecialchars} · {$it.date|htmlspecialchars}
</small>
</li>
{/volist}
</ul>
{/empty}
{/empty}
<div class="sec-title"><span class="sec-num">3</span>基本信息</div>
<table class="data-table">
<tr><th>姓名</th><td><strong>{$report.basic.display_name|htmlspecialchars}</strong></td></tr>
<tr><th>ORCID</th><td><a class="ext" href="{$report.basic.orcid_url|htmlspecialchars}" target="_blank" rel="noopener">{$report.basic.orcid|htmlspecialchars} ↗</a></td></tr>
{notempty name="report.basic.orcid_affiliations"}
<tr><th>ORCID 单位</th><td>{$orcid_affiliations_text|htmlspecialchars}</td></tr>
{/notempty}
{notempty name="report.basic.openalex_institutions"}
<tr><th>OpenAlex 机构</th><td>{$openalex_institutions_text|htmlspecialchars}</td></tr>
{/notempty}
{notempty name="report.basic.openalex_url"}
<tr><th>OpenAlex 档案</th><td><a class="ext" href="{$report.basic.openalex_url|htmlspecialchars}" target="_blank" rel="noopener">查看学者页面 ↗</a></td></tr>
{/notempty}
{notempty name="report.basic.scopus_url"}
<tr><th>Scopus 作者页</th><td>
<a class="ext" href="{$report.basic.scopus_url|htmlspecialchars}" target="_blank" rel="noopener">
打开 Scopus 档案ID: {$report.basic.scopus_id|htmlspecialchars})↗
</a>
</td></tr>
{/notempty}
</table>
<div class="sec-title"><span class="sec-num">4</span>Scopus 检索</div>
{notempty name="report.scopus.search_url"}
<p style="font-size:14px;color:var(--text-muted);margin:0 0 10px;">
检索方式:{notempty name="report.query.orcid"}ORCID {$report.query.orcid|htmlspecialchars}{else/}{$report.query.first_name|htmlspecialchars} {$report.query.last_name|htmlspecialchars} · {$report.query.institution|htmlspecialchars}{/notempty}
</p>
<a class="btn-scopus" href="{$report.scopus.search_url|htmlspecialchars}" target="_blank" rel="noopener">打开 Scopus 作者检索 ↗</a>
<p style="font-size:12px;color:var(--text-muted);margin-top:10px;">需机构 Scopus 订阅账号登录后查看完整数据</p>
{else/}
<div class="alert alert-warn">请填写 ORCID或填写姓名与机构后生成 Scopus 链接。</div>
{/notempty}
{notempty name="report.scopus.api.ok"}
<p style="margin-top:18px;font-size:14px;"><strong>Scopus API</strong> {$report.scopus.api.msg|htmlspecialchars}</p>
{notempty name="report.scopus.api.entries"}
<table class="data-table" style="margin-top:10px;">
<tr>
<th>姓名</th><th>机构</th><th>论文</th><th>被引</th><th>H指数</th><th>操作</th>
</tr>
{volist name="report.scopus.api.entries" id="se"}
<tr>
<td>{$se.name|htmlspecialchars}</td>
<td>{$se.affiliation|htmlspecialchars}</td>
<td>{$se.document_count}</td>
<td>{$se.cited_by_count}</td>
<td>{$se.h_index}</td>
<td>
{notempty name="se.url"}
<a class="ext" href="{$se.url|htmlspecialchars}" target="_blank" rel="noopener">进入 ↗</a>
{else/}—{/notempty}
</td>
</tr>
{/volist}
</table>
{/notempty}
{else/}
<p style="font-size:13px;color:var(--text-muted);margin-top:12px;">{$report.scopus.api.msg|default='未配置 Scopus API Key'|htmlspecialchars}</p>
{/notempty}
<div class="sec-title"><span class="sec-num">5</span>本地辅助检测</div>
<p>
题目重复:
{empty name="report.duplicates"}
<span class="tag tag-ok">未发现</span>
{else/}
<span class="tag tag-warn">{$dup_group_count} 组重复(共 {$dup_paper_count} 篇)</span>
{/empty}
</p>
{notempty name="report.duplicates"}
{volist name="report.duplicates" id="dg" key="gi"}
<div class="dup-card">
<strong>第 {$gi} 组:</strong>{$dg.title|htmlspecialchars}
<small style="color:var(--text-muted);">{$dg.paper_count} 篇相同)</small>
<ul style="margin:10px 0 0;padding-left:18px;">
{volist name="dg.papers" id="dp" key="pi"}
<li class="paper-item" style="border:none;padding:6px 0;">
<span class="src-tag src-{$dp.source_class}">{$dp.source|default='未知'|htmlspecialchars}</span>
[{$dp.year|htmlspecialchars}]
{notempty name="dp.open_url"}
<a class="paper-link" href="{$dp.open_url|htmlspecialchars}" target="_blank" rel="noopener">{$dp.title|htmlspecialchars} ↗</a>
{else/}{$dp.title|htmlspecialchars}{/notempty}
{notempty name="dp.journal"} <em style="color:var(--text-muted);">— {$dp.journal|htmlspecialchars}</em>{/notempty}
</li>
{/volist}
</ul>
</div>
{/volist}
{/notempty}
{gt name="report.metrics.pubmed_total" value="0"}
<div class="sec-title"><span class="sec-num">6</span>PubMed 文献({$report.metrics.pubmed_total} 篇)</div>
{empty name="report.pubmed_papers"}
<p style="color:var(--text-muted);font-size:14px;">未获取到文献详情,请点击上方 PubMed 链接查看。</p>
{else/}
{volist name="report.pubmed_papers" id="p" key="i" length="10"}
<div class="paper-item">{$i}. [{$p.year|htmlspecialchars}]
{notempty name="p.open_url"}
<a class="paper-link" href="{$p.open_url|htmlspecialchars}" target="_blank" rel="noopener">{$p.title|htmlspecialchars} ↗</a>
{else/}{$p.title|htmlspecialchars}{/notempty}
{notempty name="p.journal"} <em style="color:var(--text-muted);">— {$p.journal|htmlspecialchars}</em>{/notempty}
<span class="paper-meta">
{notempty name="p.pmid"}<a class="ext" href="https://pubmed.ncbi.nlm.nih.gov/{$p.pmid|htmlspecialchars}/" target="_blank">PubMed</a>{/notempty}
{notempty name="p.doi"} · <a class="ext" href="https://doi.org/{$p.doi|htmlspecialchars}" target="_blank">DOI</a>{/notempty}
</span>
</div>
{/volist}
{/empty}
{/gt}
{notempty name="report.orcid_papers.papers"}
<div class="sec-title"><span class="sec-num">{$orcid_section_num}</span>ORCID 作品({$report.orcid_papers.total} 条)</div>
{volist name="report.orcid_papers.papers" id="p" key="i" length="10"}
<div class="paper-item">{$i}. [{$p.year|htmlspecialchars}]
{notempty name="p.open_url"}
<a class="paper-link" href="{$p.open_url|htmlspecialchars}" target="_blank" rel="noopener">{$p.title|htmlspecialchars} ↗</a>
{else/}{$p.title|htmlspecialchars}{/notempty}
{notempty name="p.journal"} <em style="color:var(--text-muted);">— {$p.journal|htmlspecialchars}</em>{/notempty}
<span class="paper-meta">
{notempty name="p.doi"}<a class="ext" href="https://doi.org/{$p.doi|htmlspecialchars}" target="_blank">DOI</a>{/notempty}
{notempty name="p.pmid"} · <a class="ext" href="https://pubmed.ncbi.nlm.nih.gov/{$p.pmid|htmlspecialchars}/" target="_blank">PubMed</a>{/notempty}
</span>
</div>
{/volist}
{/notempty}
{notempty name="report.conclusion.notes"}
<div class="report-notes">
<p class="report-notes-title">说明</p>
<ul>
{volist name="report.conclusion.notes" id="note"}
<li>{$note|htmlspecialchars}</li>
{/volist}
</ul>
</div>
{/notempty}
<div class="report-rules">
<p class="report-rules-title">学术指标说明</p>
<table class="rules-table">
<tr><th>论文总数</th><td><strong>OpenAlex、ORCID、PubMed、Scopus</strong> 四项中的<strong>最大值</strong>非相加。OpenAlex 无档案时,可由 ORCID / PubMed 等补全。</td></tr>
<tr><th>总被引</th><td>仅来自 <strong>OpenAlex</strong>;未匹配到作者档案时为 0。</td></tr>
<tr><th>H 指数</th><td>仅来自 <strong>OpenAlex</strong>;未匹配时为 0。</td></tr>
<tr><th>i10 指数</th><td>仅来自 <strong>OpenAlex</strong>(至少 10 次被引的论文数);未匹配时为 0。</td></tr>
<tr><th>PubMed</th><td>独立统计,与论文总数<strong>口径不同</strong>。检索顺序ORCID → 姓名+机构 → 姓名,采用第一个有结果的检索式;列表最多显示最近 10 篇。</td></tr>
<tr><th>研究方向</th><td>来自 OpenAlex 前 5 个主题;无 OpenAlex 档案时不显示。</td></tr>
</table>
<p class="report-rules-sub">风险评级</p>
<ul>
<li><strong>高风险</strong>Retraction Watch 存在学术不端相关记录</li>
<li><strong>中风险</strong>:存在撤稿 / 关注声明</li>
<li><strong>待核实</strong>:论文总数为 0</li>
<li><strong>低风险</strong>H ≥ 10 或论文总数 ≥ 20且无上述不良记录</li>
<li><strong>一般</strong>:其余情况(青年学者常见产出区间)</li>
</ul>
<p class="report-rules-sub">其他说明</p>
<ul>
<li>OpenAlex 匹配:优先 ORCID 直连;有 ORCID 时不使用同名他人数据。</li>
<li>诚信记录:有 DOI 的 ORCID 作品按 DOI 精确比对;无 DOI 时回退姓名+题目匹配(同名需人工核实)。</li>
<li>论文总数有值、总被引/H 为 0通常表示 OpenAlex 未收录该作者,不代表无学术产出。</li>
</ul>
</div>
<p class="report-foot">
数据来源OpenAlex · ORCID · PubMed · Scopus · Retraction Watch<br>
适用于青年编委 / 特约审稿人 / 作者资质初审
</p>
</div>
</div>
</body>
</html>