|
|
@ -2,6 +2,33 @@ |
|
|
|
<% include util %> |
|
|
|
<% include util %> |
|
|
|
<% include header %> |
|
|
|
<% include header %> |
|
|
|
<script src="/textFit.js"></script> |
|
|
|
<script src="/textFit.js"></script> |
|
|
|
|
|
|
|
<style> |
|
|
|
|
|
|
|
.single-subtask { |
|
|
|
|
|
|
|
box-shadow: none !important; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.single-subtask > .title { |
|
|
|
|
|
|
|
display: none; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.single-subtask > .content { |
|
|
|
|
|
|
|
padding: 0 !important; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.accordion > .content > .accordion { |
|
|
|
|
|
|
|
margin-top: 0; |
|
|
|
|
|
|
|
margin-bottom: 0; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.accordion > .content > .accordion > .content { |
|
|
|
|
|
|
|
margin-top: 0; |
|
|
|
|
|
|
|
margin-bottom: 14px; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.accordion > .content > .accordion > .content > :last-child { |
|
|
|
|
|
|
|
margin-bottom: -10px !important; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
</style> |
|
|
|
<span id="submission_content"> |
|
|
|
<span id="submission_content"> |
|
|
|
<div class="padding" id="vueAppFuckSafari"> |
|
|
|
<div class="padding" id="vueAppFuckSafari"> |
|
|
|
<table class="ui very basic center aligned table" id="status_table"> |
|
|
|
<table class="ui very basic center aligned table" id="status_table"> |
|
|
@ -28,7 +55,7 @@ |
|
|
|
<code-box v-if="detailResult && detailResult.compile" :escape="false" title="编译信息" v-bind:content="detailResult.compile.message"></code-box> |
|
|
|
<code-box v-if="detailResult && detailResult.compile" :escape="false" title="编译信息" v-bind:content="detailResult.compile.message"></code-box> |
|
|
|
<code-box v-if="detailResult" title="系统信息" :escape="true" v-bind:content="detailResult.systemMessage"></code-box> |
|
|
|
<code-box v-if="detailResult" title="系统信息" :escape="true" v-bind:content="detailResult.systemMessage"></code-box> |
|
|
|
|
|
|
|
|
|
|
|
<div class="ui styled fluid accordion" v-if="detailResult && detailResult.judge && detailResult.judge.subtasks"> |
|
|
|
<div class="ui styled fluid accordion" :class="singleSubtask ? 'single-subtask' : '' "v-if="detailResult && detailResult.judge && detailResult.judge.subtasks"> |
|
|
|
<template v-for="subtask, $index in detailResult.judge.subtasks"> |
|
|
|
<template v-for="subtask, $index in detailResult.judge.subtasks"> |
|
|
|
<div class="title" :class="singleSubtask ? 'active' : ''"> |
|
|
|
<div class="title" :class="singleSubtask ? 'active' : ''"> |
|
|
|
<div class="ui grid"> |
|
|
|
<div class="ui grid"> |
|
|
@ -39,8 +66,8 @@ |
|
|
|
<div class="four wide column"> |
|
|
|
<div class="four wide column"> |
|
|
|
<status-label :status="getSubtaskResult(subtask)"></status-label> |
|
|
|
<status-label :status="getSubtaskResult(subtask)"></status-label> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="three wide column" v-if="subtask.score != null">得分 |
|
|
|
<div class="three wide column" v-if="subtask.score != null"> |
|
|
|
<span style="font-weight: normal; ">{{ Math.trunc(subtask.score) }}</span> |
|
|
|
得分:<span style="font-weight: normal; ">{{ Math.trunc(subtask.score) }}</span> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
@ -57,22 +84,22 @@ |
|
|
|
<status-label :status="getTestcaseStatus(curCase)"></status-label> |
|
|
|
<status-label :status="getTestcaseStatus(curCase)"></status-label> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<template v-if="checkTestcaseOK(curCase)"> |
|
|
|
<template v-if="checkTestcaseOK(curCase)"> |
|
|
|
<div class="three wide column">得分率 |
|
|
|
<div class="three wide column"> |
|
|
|
<span style="font-weight: normal; ">{{ Math.trunc(curCase.result.scoringRate * 100) }}</span> |
|
|
|
得分:<span style="font-weight: normal; ">{{ Math.trunc(curCase.result.scoringRate * 100) }}</span> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="three wide column" v-if="curCase.result.time != null && curCase.result.time !== NaN">用时 |
|
|
|
<div class="three wide column" v-if="curCase.result.time != null && curCase.result.time !== NaN"> |
|
|
|
<span style="font-weight: normal; ">{{ curCase.result.time }} ms</span> |
|
|
|
用时:<span style="font-weight: normal; ">{{ curCase.result.time }} ms</span> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="three wide column" v-if="curCase.result.memory != null && curCase.result.memory !== NaN">内存 |
|
|
|
<div class="three wide column" v-if="curCase.result.memory != null && curCase.result.memory !== NaN"> |
|
|
|
<span style="font-weight: normal; ">{{ curCase.result.memory }} KiB</span> |
|
|
|
内存:<span style="font-weight: normal; ">{{ curCase.result.memory }} KiB</span> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
</template> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="content"> |
|
|
|
<div class="content"> |
|
|
|
<template v-if="checkTestcaseOK(curCase)"> |
|
|
|
<template v-if="checkTestcaseOK(curCase)"> |
|
|
|
<code-box v-if="curCase.result.input" :title="'输入文件('+ curCase.result.input.name +')'" :content="curCase.result.input.content"></code-box> |
|
|
|
<code-box v-if="curCase.result.input" :title="'输入文件(<span style=\'font-family: monospace; \'>'+ curCase.result.input.name +'</span>)'" :content="curCase.result.input.content"></code-box> |
|
|
|
<code-box v-if="curCase.result.output" :title="'答案文件('+ curCase.result.output.name +')'" :content="curCase.result.output.content"></code-box> |
|
|
|
<code-box v-if="curCase.result.output" :title="'答案文件(<span style=\'font-family: monospace; \'>'+ curCase.result.output.name +'</span>)'" :content="curCase.result.output.content"></code-box> |
|
|
|
<code-box title="用户输出" :content="curCase.result.userOutput"></code-box> |
|
|
|
<code-box title="用户输出" :content="curCase.result.userOutput"></code-box> |
|
|
|
<code-box title="标准错误流" :content="curCase.result.userError"></code-box> |
|
|
|
<code-box title="标准错误流" :content="curCase.result.userError"></code-box> |
|
|
|
<code-box title="Special Judge 信息" :content="curCase.result.spjMessage"></code-box> |
|
|
|
<code-box title="Special Judge 信息" :content="curCase.result.spjMessage"></code-box> |
|
|
@ -93,9 +120,10 @@ |
|
|
|
<% include submissions_item %> |
|
|
|
<% include submissions_item %> |
|
|
|
|
|
|
|
|
|
|
|
<script type="text/x-template" id="codeBoxTemplate"> |
|
|
|
<script type="text/x-template" id="codeBoxTemplate"> |
|
|
|
<div style="" v-if="content != null && content !== ''"> |
|
|
|
<div style="margin-top: 0px; margin-bottom: 14px; " v-if="content != null && content !== ''"> |
|
|
|
<div></div> |
|
|
|
<p v-if="title" class="transition visible"> |
|
|
|
<h3 v-if="title" class="ui header">{{ title }}</h3> |
|
|
|
<strong v-html="title"></strong> |
|
|
|
|
|
|
|
</p> |
|
|
|
<div class="ui existing segment"> |
|
|
|
<div class="ui existing segment"> |
|
|
|
<pre v-if="escape" style="margin-top: 0; margin-bottom: 0; "><code>{{ content }}</code></pre> |
|
|
|
<pre v-if="escape" style="margin-top: 0; margin-bottom: 0; "><code>{{ content }}</code></pre> |
|
|
|
<pre v-if="!escape" style="margin-top: 0; margin-bottom: 0; "><code v-html="content"></code></pre> |
|
|
|
<pre v-if="!escape" style="margin-top: 0; margin-bottom: 0; "><code v-html="content"></code></pre> |
|
|
|