diff --git a/packages/ui-default/pages/manage_rejudge.page.ts b/packages/ui-default/pages/manage_rejudge.page.ts index 67353d125..f655f5202 100644 --- a/packages/ui-default/pages/manage_rejudge.page.ts +++ b/packages/ui-default/pages/manage_rejudge.page.ts @@ -1,3 +1,4 @@ +import { STATUS_TEXTS } from '@hydrooj/common'; import $ from 'jquery'; import CustomSelectAutoComplete from 'vj/components/autocomplete/CustomSelectAutoComplete'; import ProblemSelectAutoComplete from 'vj/components/autocomplete/ProblemSelectAutoComplete'; @@ -15,7 +16,9 @@ const page = new NamedPage('manage_rejudge', async () => { const langs = Object.keys(window.LANGS).filter((i) => !prefixes.has(i)).map((i) => ( { name: `${i.includes('.') ? `${window.LANGS[i.split('.')[0]].display}/` : ''}${window.LANGS[i].display}`, _id: i } )); - CustomSelectAutoComplete.getOrConstruct($('[name=lang]'), { multi: false, data: langs }); + CustomSelectAutoComplete.getOrConstruct($('[name=lang]'), { multi: true, data: langs }); + const statuses = Object.values(STATUS_TEXTS).map((i) => ({ name: i, _id: i })); + CustomSelectAutoComplete.getOrConstruct($('[name=status]'), { multi: true, data: statuses }); }); export default page; diff --git a/packages/ui-default/templates/manage_rejudge.html b/packages/ui-default/templates/manage_rejudge.html index 77d060858..b0dd0017e 100644 --- a/packages/ui-default/templates/manage_rejudge.html +++ b/packages/ui-default/templates/manage_rejudge.html @@ -3,61 +3,146 @@ {% block manage_content %}
-

{{ _('Bulk Rejudge') }}

+

{{ _('Bulk Rejudge') }}

+ {% if error %} +

{{ error.split('\n')|join('
') }}

+ {% endif %}
-
+
-
+
-
-
-
+
-
+
-
+ {{ form.form_text({ + columns:3, + label:'Begin Date', + name:'beginAtDate', + placeholder:'YYYY-mm-dd', + value:dateBeginText, + date:true, + row:false + }) }} + {{ form.form_text({ + columns:2, + label:'Begin Time', + name:'beginAtTime', + placeholder:'HH:MM', + value:timeBeginText, + time:true, + row:false + }) }} + {{ form.form_text({ + columns:3, + label:'End Date', + name:'endAtDate', + placeholder:'YYYY-mm-dd', + value:dateEndText, + date:true, + row:false + }) }} + {{ form.form_text({ + columns:2, + label:'End Time', + name:'endAtTime', + placeholder:'HH:MM', + value:timeEndText, + time:true, + row:false + }) }} +
+
+
-
-
+
+
+
+ + +
+
-
+
+
+

{{ _('Bulk Rejudge Result') }}

+
+
+ + + + + + + + + + + + + + + + + + + {%- for item in tasks -%} + + + + + + + + + {%- endfor -%} + +
#{{ _('Operator') }}{{ _('Count') }}{{ _('Begin At') }}{{ _('Status') }}{{ _('Action') }}
{{ item._id.toHexString()|truncate(8,True,'') }}{{ user.render_inline(item.operator, badge=false) }}{{ item.count }}{{ item.beginAt }}{{ item.status }} + {{ _('View') }} +
+
+
{% endblock %}