{% 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 %}
| {{ m.id }} |
{{ m.source_name or '—' }} |
{{ m.model_used or '—' }} |
{{ m.updated_at or '—' }} |
{% else %}
| 队列为空,没有待批准 manifest Empty queue — no draft manifests. |
{% endfor %}
已批准 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 %}
| {{ 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 %} |
{% else %}
| 尚无已批准 manifest No approved manifests yet. |
{% endfor %}