将创建 contest 的页面修改为新的动态加载的方式
This commit is contained in:
@@ -2,6 +2,7 @@ require(["jquery", "avalon", "editor", "uploader", "datetimepicker",
|
|||||||
"validation"
|
"validation"
|
||||||
],
|
],
|
||||||
function ($, avalon, editor, uploader) {
|
function ($, avalon, editor, uploader) {
|
||||||
|
avalon.vmodels.add_contest = null;
|
||||||
$("#add-contest-form")
|
$("#add-contest-form")
|
||||||
.formValidation({
|
.formValidation({
|
||||||
framework: "bootstrap",
|
framework: "bootstrap",
|
||||||
|
|||||||
@@ -1,185 +1,179 @@
|
|||||||
{% extends "admin_base.html" %}
|
<div ms-controller="add_contest">
|
||||||
{% block body %}
|
|
||||||
{% verbatim %}
|
|
||||||
<div ms-controller="add_contest">
|
|
||||||
|
|
||||||
|
|
||||||
<form id="add-contest-form">
|
<form id="add-contest-form">
|
||||||
<div class="col-md-9">
|
<div class="col-md-9">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
<label>比赛题目</label>
|
<label>比赛题目</label>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-12">
|
||||||
|
<div class="form-group">
|
||||||
|
<input type="text" name="name" class="form-control">
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-12">
|
</div>
|
||||||
<div class="form-group">
|
<div class="col-md-12">
|
||||||
<input type="text" name="name" class="form-control">
|
<label>说明</label>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-md-12">
|
||||||
|
<div class="form-group">
|
||||||
|
<textarea id="editor" placeholder="这里输入内容" autofocus></textarea>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-12">
|
</div>
|
||||||
<label>说明</label>
|
<div class="col-md-6">
|
||||||
|
<label>开始时间</label>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6">
|
||||||
|
<label>结束时间</label>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6">
|
||||||
|
<div class="form-group">
|
||||||
|
<input type="text" class="form-control" name="start_time" id="contest_start_time">
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-12">
|
</div>
|
||||||
<div class="form-group">
|
<div class="col-md-6">
|
||||||
<textarea id="editor" placeholder="这里输入内容" autofocus></textarea>
|
<div class="form-group">
|
||||||
</div>
|
<input type="text" class="form-control" name="end_time" id="contest_end_time">
|
||||||
</div>
|
|
||||||
<div class="col-md-6">
|
|
||||||
<label>开始时间</label>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-6">
|
|
||||||
<label>结束时间</label>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-6">
|
|
||||||
<div class="form-group">
|
|
||||||
<input type="text" class="form-control" name="start_time" id="contest_start_time">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-6">
|
|
||||||
<div class="form-group">
|
|
||||||
<input type="text" class="form-control" name="end_time" id="contest_end_time">
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<label>
|
<label>
|
||||||
密码保护
|
密码保护
|
||||||
</label>
|
</label>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-3">
|
||||||
|
<label>
|
||||||
|
模式
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-3">
|
||||||
|
<label>
|
||||||
|
结束前是否开放排名
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6">
|
||||||
|
<div class="form-group">
|
||||||
|
<input type="text" class="form-control" name="password" placeholder="留空就是公开赛">
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-3">
|
</div>
|
||||||
<label>
|
<div class="col-md-3">
|
||||||
模式
|
<div class="form-group">
|
||||||
</label>
|
<input type="radio" name="mode">OI
|
||||||
|
<input type="radio" name="mode">ACM
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-3">
|
</div>
|
||||||
<label>
|
<div class="col-md-3">
|
||||||
结束前是否开放排名
|
<div class="form-group">
|
||||||
</label>
|
<input type="checkbox" value="open_rank">开放排名
|
||||||
</div>
|
|
||||||
<div class="col-md-6">
|
|
||||||
<div class="form-group">
|
|
||||||
<input type="text" class="form-control" name="password" placeholder="留空就是公开赛">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-3">
|
|
||||||
<div class="form-group">
|
|
||||||
<input type="radio" name="mode">OI
|
|
||||||
<input type="radio" name="mode">ACM
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-3">
|
|
||||||
<div class="form-group">
|
|
||||||
<input type="checkbox" value="open_rank">开放排名
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
<label>添加题目</label>
|
<label>添加题目</label>
|
||||||
<a href="javascript:void(0)" class="btn btn-primary btn-sm" ms-click="add_problem()">添加</a>
|
<a href="javascript:void(0)" class="btn btn-primary btn-sm" ms-click="add_problem()">添加</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
<div class="problem" ms-repeat-problem="problems">
|
<div class="problem" ms-repeat-problem="problems">
|
||||||
<div class="panel panel-default problem-panel" ms-attr-id="problem-{{ problem.id }}">
|
<div class="panel panel-default problem-panel" ms-attr-id="problem-{{ problem.id }}">
|
||||||
<div class="panel-heading">
|
<div class="panel-heading">
|
||||||
<span class="panel-title">题目{{$index + 1}} </span>
|
<span class="panel-title">题目{{$index + 1}} </span>
|
||||||
<a href="javascript:void(0)" class="btn btn-primary btn-sm"
|
<a href="javascript:void(0)" class="btn btn-primary btn-sm"
|
||||||
ms-click="toggle_problem(problem)">
|
ms-click="toggle_problem(problem)">
|
||||||
{{ problem.toggle_string }}
|
{{ problem.toggle_string }}
|
||||||
</a>
|
</a>
|
||||||
<a href="javascript:void(0)" class="btn btn-danger btn-sm"
|
<a href="javascript:void(0)" class="btn btn-danger btn-sm"
|
||||||
ms-click="del_problem(problem)">
|
ms-click="del_problem(problem)">
|
||||||
删除
|
删除
|
||||||
</a>
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="panel-body" ms-attr-id="problem-{{ problem.id }}-body">
|
||||||
|
<div class="col-md-12">
|
||||||
|
<label>题目</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="panel-body" ms-attr-id="problem-{{ problem.id }}-body">
|
|
||||||
<div class="col-md-12">
|
|
||||||
<label>题目</label>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<input type="text" name="problem_name[]" class="form-control">
|
<input type="text" name="problem_name[]" class="form-control">
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6">
|
</div>
|
||||||
<label>cpu</label>
|
<div class="col-md-6">
|
||||||
|
<label>cpu</label>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6">
|
||||||
|
<label>内存</label>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6">
|
||||||
|
<div class="form-group">
|
||||||
|
<input type="text" name="cpu[]" class="form-control">
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6">
|
</div>
|
||||||
<label>内存</label>
|
<div class="col-md-6">
|
||||||
|
<div class="form-group">
|
||||||
|
<input type="text" name="memory[]" class="form-control">
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6">
|
</div>
|
||||||
<div class="form-group">
|
<div class="col-md-12">
|
||||||
<input type="text" name="cpu[]" class="form-control">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-6">
|
|
||||||
<div class="form-group">
|
|
||||||
<input type="text" name="memory[]" class="form-control">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-12">
|
|
||||||
|
|
||||||
<label>样例</label>
|
<label>样例</label>
|
||||||
<a href="javascript:void(0)" class="btn btn-primary btn-sm"
|
<a href="javascript:void(0)" class="btn btn-primary btn-sm"
|
||||||
ms-click="add_sample(problem)">
|
ms-click="add_sample(problem)">
|
||||||
添加
|
添加
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<div class="sample">
|
<div class="sample">
|
||||||
<div class="panel panel-default sample-panel"
|
<div class="panel panel-default sample-panel"
|
||||||
ms-repeat-sample="problem.samples">
|
ms-repeat-sample="problem.samples">
|
||||||
<div class="panel-heading">
|
<div class="panel-heading">
|
||||||
<span class="panel-title">样例{{$index + 1}}</span>
|
<span class="panel-title">样例{{$index + 1}}</span>
|
||||||
|
|
||||||
<a href="javascript:void(0)" class="btn btn-primary btn-sm"
|
<a href="javascript:void(0)" class="btn btn-primary btn-sm"
|
||||||
ms-click="toggle_sample(problem, sample)">
|
ms-click="toggle_sample(problem, sample)">
|
||||||
{{ sample.toggle_string }}
|
{{ sample.toggle_string }}
|
||||||
</a>
|
</a>
|
||||||
<a href="javascript:void(0)" class="btn btn-danger btn-sm"
|
<a href="javascript:void(0)" class="btn btn-danger btn-sm"
|
||||||
ms-click="del_sample(problem, sample)">
|
ms-click="del_sample(problem, sample)">
|
||||||
删除
|
删除
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="panel-body"
|
||||||
|
ms-attr-id="problem-{{ problem.id }}-sampleio-{{ sample.id }}-body">
|
||||||
|
<div class="col-md-12">
|
||||||
|
<label>样例输入</label>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="panel-body"
|
<div class="col-md-12">
|
||||||
ms-attr-id="problem-{{ problem.id }}-sampleio-{{ sample.id }}-body">
|
<div class="form-group">
|
||||||
<div class="col-md-12">
|
<textarea class="form-control" rows="5"></textarea>
|
||||||
<label>样例输入</label>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-12">
|
</div>
|
||||||
<div class="form-group">
|
<div class="col-md-12">
|
||||||
<textarea class="form-control" rows="5"></textarea>
|
<label>样例输出</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="col-md-12">
|
||||||
<div class="col-md-12">
|
<div class="form-group">
|
||||||
<label>样例输出</label>
|
<textarea class="form-control" rows="5"></textarea>
|
||||||
</div>
|
|
||||||
<div class="col-md-12">
|
|
||||||
<div class="form-group">
|
|
||||||
<textarea class="form-control" rows="5"></textarea>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-12">
|
</div>
|
||||||
<label>测试数据</label>
|
<div class="col-md-12">
|
||||||
</div>
|
<label>测试数据</label>
|
||||||
<div class="col-md-12">
|
</div>
|
||||||
<div class="form-group">
|
<div class="col-md-12">
|
||||||
<div ms-attr-id="problem-{{ problem.id }}-uploader">选择文件</div>
|
<div class="form-group">
|
||||||
|
<div ms-attr-id="problem-{{ problem.id }}-uploader">选择文件</div>
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</div>
|
||||||
</div>
|
</form>
|
||||||
{% endverbatim %}
|
</div>
|
||||||
{% endblock %}
|
|
||||||
{% block js_block %}
|
<script src="/static/js/app/admin/contest/contest.js"></script>
|
||||||
<script src="/static/js/app/admin/contest/contest.js"></script>
|
|
||||||
{% endblock %}
|
|
||||||
Reference in New Issue
Block a user