{% from "_macros.html" import th %} {{ th('发现', 'Discoveries') }}{{ th('候选', 'Candidates') }}{{ th('已分析', 'Analysed') }}{{ th('已生成', 'Generated') }}{{ th('待批准', 'Pending') }}{{ th('已批准', 'Approved') }}{{ th('已落地', 'Landed') }}
{{ f.counts.discoveries }} {{ f.counts.candidates }} {{ f.counts.analyses }} {{ f.counts.generated }} {{ f.counts.pending }} {{ f.counts.approved }} {% if f.counts.landed %}{{ f.counts.landed }}{% else %}0{% endif %}

最新待批准 Latest pending approval

{{ th('ID') }}{{ th('源名', 'Source name') }}{{ th('模型', 'Model') }}{{ th('更新', 'Updated') }} {% for m in f.pending %} {% else %} {% endfor %}
{{ m.id }} {{ m.source_name or '—' }} {{ m.model_used or '—' }} {{ m.updated_at or '—' }}
队列为空,没有待批准 manifest Empty queue — no draft manifests.

已批准 Approved

「已落地」= 源名精确匹配 crawl_sources(查询期判定,无外键)。 "Landed" = source_name exactly matches a crawl_sources row (query-time fact, no FK).

{{ th('ID') }}{{ th('源名', 'Source name') }}{{ th('模型', 'Model') }}{{ th('更新', 'Updated') }}{{ th('状态', 'Status') }} {% for m in f.approved %} {% else %} {% endfor %}
{{ m.id }} {% if m.landed and m.source_name %}{{ m.source_name }}{% else %}{{ m.source_name or '—' }}{% endif %} {{ m.model_used or '—' }} {{ m.updated_at or '—' }} {% if m.landed %}已落地 landed{% else %}已批准 approved{% endif %}
尚无已批准 manifest No approved manifests yet.