core&ui&judge: show subtask status & score (#524)

This commit is contained in:
panda authored and GitHub committed 2023-03-02 11:23:25 +08:00
1 parent 26a39501c2
commit 0998982ec7
4 files changed
+43 -7

No files matched your search

@@ -19,6 +19,7 @@
</div>
{% endif %}
{% if rdoc.testCases.length %}
{% set _key = 'id' if rdoc.testCases|groupby('subtaskId')|length == 1 else 'subtaskId' %}
<div class="section__body no-padding">
<table class="data-table record_detail__table">
<colgroup>
@@ -30,19 +31,34 @@
<thead>
<tr>
<th class="col--case record-status--border">#</th>
<th class="col--status">{{ _('Status') }}</th>
<th class="col--status">
{{ _('Status') }}
{% if rdoc.subtasks and _key != 'id' %}
<span class="float-right">{{ _('Score') }}</span>
{% endif %}
</th>
<th class="col--time">{{ _('Time Cost') }}</th>
<th class="col--memory">{{ _('Memory Cost') }}</th>
</tr>
</thead>
<tbody>
{% set _key = 'id' if rdoc.testCases|groupby('subtaskId')|length == 1 else 'subtaskId' %}
{%- for subtaskId, rcdocs in rdoc.testCases|sort(false,false,_key)|groupby(_key) -%}
{% if rcdocs.length > 1 %}
<tr class="subtask">
<td class="col--case">
#{{ subtaskId|int|default(1) }}
</td>
{% if rdoc.subtasks %}
<td class="col--status">
<span class="icon record-status--icon {{ model.builtin.STATUS_CODES[rdoc.subtasks[subtaskId]['status']] }}"></span>
<span class="record-status--text {{ model.builtin.STATUS_CODES[rdoc.subtasks[subtaskId]['status']] }}">
{{ model.builtin.STATUS_TEXTS[rcdocs[0]['status']] }}
</span>
<span class="float-right record-status--text {{ model.builtin.STATUS_CODES[rdoc.subtasks[subtaskId]['status']] }}">{{ rdoc.subtasks[subtaskId]['score']|default(0) }}</span>
</td>
<td class="col--time"></td>
<td class="col--memory"></td>
{% endif %}
</tr>
{% endif %}
{%- for rcdoc in rcdocs|sort(false,false,'id') -%}
@@ -55,6 +71,11 @@
<span class="record-status--text {{ model.builtin.STATUS_CODES[rcdoc['status']] }}">
{{ model.builtin.STATUS_TEXTS[rcdoc['status']] }}
</span>
{% if rcdocs.length == 1 and _key != 'id' %}
<span class="float-right record-status--text {{ model.builtin.STATUS_CODES[rdoc.subtasks[subtaskId]['status']] }}">
{{ rdoc.subtasks[subtaskId]['score']|default(0) }}
</span>
{% endif %}
<span>{{ formatJudgeTexts([rcdoc.message]) if rcdoc.message else '' }}</span>
</td>
<td class="col--time">{% if rcdoc['status'] == STATUS.STATUS_TIME_LIMIT_EXCEEDED or rcdoc['status'] == STATUS.STATUS_MEMORY_LIMIT_EXCEEDED or rcdoc['status'] == STATUS.STATUS_OUTPUT_LIMIT_EXCEEDED %}&ge;{% endif %}{{ rcdoc.time|round|int }}ms</td>