2015-08-07 09:13:44 +00:00
|
|
|
|
<div ms-controller="add_contest">
|
|
|
|
|
<form id="add-contest-form">
|
|
|
|
|
<div class="col-md-9">
|
|
|
|
|
<div class="col-md-12">
|
2015-08-09 12:50:04 +00:00
|
|
|
|
<label>比赛名称</label>
|
2015-08-07 09:13:44 +00:00
|
|
|
|
</div>
|
|
|
|
|
<div class="col-md-12">
|
|
|
|
|
<div class="form-group">
|
2015-08-09 12:50:04 +00:00
|
|
|
|
<input type="text" name="name" class="form-control" ms-duplex="title">
|
2015-08-02 01:47:50 +00:00
|
|
|
|
</div>
|
2015-08-07 09:13:44 +00:00
|
|
|
|
</div>
|
|
|
|
|
<div class="col-md-12">
|
|
|
|
|
<label>说明</label>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="col-md-12">
|
|
|
|
|
<div class="form-group">
|
2015-08-09 12:50:04 +00:00
|
|
|
|
<textarea id="editor" placeholder="这里输入内容" autofocus ms-duplex="description"></textarea>
|
|
|
|
|
<small ms-visible="description==''" style="color:red">请填写比赛描述</small>
|
2015-08-02 01:47:50 +00:00
|
|
|
|
</div>
|
2015-08-07 09:13:44 +00:00
|
|
|
|
</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">
|
2015-08-09 12:50:04 +00:00
|
|
|
|
<input type="text" class="form-control" name="start_time" id="contest_start_time"
|
|
|
|
|
ms-duplex="startTime">
|
2015-08-02 01:47:50 +00:00
|
|
|
|
</div>
|
2015-08-07 09:13:44 +00:00
|
|
|
|
</div>
|
|
|
|
|
<div class="col-md-6">
|
|
|
|
|
<div class="form-group">
|
2015-08-09 12:50:04 +00:00
|
|
|
|
<input type="text" class="form-control" name="end_time" id="contest_end_time" ms-duplex="endTime">
|
2015-08-02 01:47:50 +00:00
|
|
|
|
</div>
|
2015-08-07 09:13:44 +00:00
|
|
|
|
</div>
|
2015-08-02 01:47:50 +00:00
|
|
|
|
|
2015-08-07 09:13:44 +00:00
|
|
|
|
<div class="col-md-6">
|
2015-08-11 08:22:59 +00:00
|
|
|
|
<label>密码保护</label>
|
2015-08-07 09:13:44 +00:00
|
|
|
|
</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">
|
2015-08-09 12:50:04 +00:00
|
|
|
|
<input type="text" class="form-control" name="password" placeholder="留空就是公开赛" ms-duplex="password">
|
2015-08-02 01:47:50 +00:00
|
|
|
|
</div>
|
2015-08-07 09:13:44 +00:00
|
|
|
|
</div>
|
|
|
|
|
<div class="col-md-3">
|
|
|
|
|
<div class="form-group">
|
2015-08-09 12:50:04 +00:00
|
|
|
|
<label><input type="radio" name="mode" ms-duplex-checked="model">
|
|
|
|
|
<small>OI</small>
|
|
|
|
|
</label>
|
|
|
|
|
<label><input type="radio" name="mode">
|
|
|
|
|
<small>ACM</small>
|
|
|
|
|
</label>
|
2015-08-02 01:47:50 +00:00
|
|
|
|
</div>
|
2015-08-07 09:13:44 +00:00
|
|
|
|
</div>
|
|
|
|
|
<div class="col-md-3">
|
|
|
|
|
<div class="form-group">
|
2015-08-09 12:50:04 +00:00
|
|
|
|
<label class="text"><input type="checkbox" ms-duplex-checked="openRank">
|
|
|
|
|
<small>开放排名</small>
|
|
|
|
|
</label>
|
2015-08-02 01:47:50 +00:00
|
|
|
|
</div>
|
2015-08-07 09:13:44 +00:00
|
|
|
|
</div>
|
2015-08-02 01:47:50 +00:00
|
|
|
|
|
2015-08-07 09:13:44 +00:00
|
|
|
|
<div class="col-md-12">
|
|
|
|
|
<label>添加题目</label>
|
|
|
|
|
<a href="javascript:void(0)" class="btn btn-primary btn-sm" ms-click="add_problem()">添加</a>
|
2015-08-15 05:54:30 +00:00
|
|
|
|
|
|
|
|
|
<div class="col-md-12">
|
|
|
|
|
<label>上传测试用例</label>
|
|
|
|
|
<label>选择题号</label><select ms-duplex="problemNo">
|
|
|
|
|
<option value="-1">未指定</option>
|
|
|
|
|
<option ms-repeat="problems" ms-attr-value="$index+1">{{$index+1}}</option>
|
|
|
|
|
</select>
|
|
|
|
|
|
|
|
|
|
<div id="uploader">
|
|
|
|
|
<div>选择文件</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
2015-08-07 09:13:44 +00:00
|
|
|
|
</div>
|
|
|
|
|
<div class="col-md-12">
|
|
|
|
|
<div class="problem" ms-repeat-problem="problems">
|
2015-08-11 08:22:59 +00:00
|
|
|
|
<div class="panel panel-default problem-panel">
|
2015-08-07 09:13:44 +00:00
|
|
|
|
<div class="panel-heading">
|
|
|
|
|
<span class="panel-title">题目{{$index + 1}} </span>
|
2015-08-09 12:50:04 +00:00
|
|
|
|
<a href="javascript:void(0)" class="btn btn-primary btn-sm" ms-click="toggle(problem)">
|
2015-08-15 05:54:30 +00:00
|
|
|
|
{{ getBtnContent(problem)}}
|
2015-08-07 09:13:44 +00:00
|
|
|
|
</a>
|
2015-08-09 12:50:04 +00:00
|
|
|
|
<a href="javascript:void(0)" class="btn btn-danger btn-sm" ms-click="del_problem(problem)">
|
2015-08-07 09:13:44 +00:00
|
|
|
|
删除
|
|
|
|
|
</a>
|
|
|
|
|
</div>
|
2015-08-09 12:50:04 +00:00
|
|
|
|
<div class="panel-body" ms-visible="problem.visible">
|
2015-08-11 08:22:59 +00:00
|
|
|
|
<div class="form-group col-md-12">
|
2015-08-15 05:54:30 +00:00
|
|
|
|
<label>题目标题</label>
|
|
|
|
|
<input type="text" name="problem_name[]" class="form-control" ms-duplex="problem.title">
|
|
|
|
|
</div>
|
|
|
|
|
<div class="form-group col-md-12">
|
|
|
|
|
<label>题目描述</label>
|
|
|
|
|
<textarea ms-attr-id="problem-{{ problem.id }}-description" placeholder="这里输入内容"
|
|
|
|
|
ms-duplex="problem.description"></textarea>
|
|
|
|
|
<small ms-visible="problem.description==''" style="color:red">请填写题目描述</small>
|
2015-08-07 09:13:44 +00:00
|
|
|
|
</div>
|
2015-08-11 08:22:59 +00:00
|
|
|
|
<div class="form-group col-md-12">
|
2015-08-10 08:59:45 +00:00
|
|
|
|
<label>提示</label>
|
2015-08-15 05:54:30 +00:00
|
|
|
|
<textarea ms-attr-id="problem-{{ problem.id }}-hint" placeholder="这里输入内容"
|
|
|
|
|
ms-duplex="problem.hint"></textarea>
|
2015-08-07 09:13:44 +00:00
|
|
|
|
</div>
|
2015-08-11 08:22:59 +00:00
|
|
|
|
<div class="col-md-3 form-group">
|
|
|
|
|
<label>cpu</label>
|
|
|
|
|
<input type="number" name="cpu[]" class="form-control" ms-duplex="problem.cpu">
|
2015-08-07 09:13:44 +00:00
|
|
|
|
</div>
|
2015-08-10 08:59:45 +00:00
|
|
|
|
<div class="col-md-3 form-group">
|
2015-08-11 08:22:59 +00:00
|
|
|
|
<label>内存</label>
|
|
|
|
|
<input type="number" name="memory[]" class="form-control" ms-duplex="problem.memory">
|
2015-08-10 08:59:45 +00:00
|
|
|
|
</div>
|
2015-08-11 08:22:59 +00:00
|
|
|
|
<div class="col-md-3 form-group">
|
|
|
|
|
<label>难度</label>
|
2015-08-15 05:54:30 +00:00
|
|
|
|
<input type="number" name="difficulty[]" class="form-control"
|
|
|
|
|
ms-duplex="problem.difficulty">
|
2015-08-10 08:59:45 +00:00
|
|
|
|
</div>
|
2015-08-07 09:13:44 +00:00
|
|
|
|
<div class="col-md-12">
|
|
|
|
|
<label>样例</label>
|
2015-08-15 05:54:30 +00:00
|
|
|
|
<a href="javascript:void(0)" class="btn btn-primary btn-sm"
|
|
|
|
|
ms-click="add_sample(problem)">添加</a>
|
|
|
|
|
|
2015-08-07 09:13:44 +00:00
|
|
|
|
<div class="sample">
|
2015-08-11 08:22:59 +00:00
|
|
|
|
<div class="panel panel-default sample-panel" ms-repeat-sample="problem.samples">
|
2015-08-07 09:13:44 +00:00
|
|
|
|
<div class="panel-heading">
|
|
|
|
|
<span class="panel-title">样例{{$index + 1}}</span>
|
2015-08-15 05:54:30 +00:00
|
|
|
|
<a href="javascript:void(0)" class="btn btn-primary btn-sm"
|
|
|
|
|
ms-click="toggle(sample)">
|
|
|
|
|
{{ getBtnContent(sample)}}
|
2015-08-07 09:13:44 +00:00
|
|
|
|
</a>
|
2015-08-15 05:54:30 +00:00
|
|
|
|
<a href="javascript:void(0)" class="btn btn-danger btn-sm"
|
|
|
|
|
ms-click="del_sample(problem, sample)">
|
2015-08-07 09:13:44 +00:00
|
|
|
|
删除
|
|
|
|
|
</a>
|
|
|
|
|
</div>
|
2015-08-09 12:50:04 +00:00
|
|
|
|
<div class="panel-body row" ms-visible="sample.visible">
|
|
|
|
|
<div class="col-md-6">
|
2015-08-07 09:13:44 +00:00
|
|
|
|
<div class="form-group">
|
2015-08-09 12:50:04 +00:00
|
|
|
|
<label>样例输入</label>
|
|
|
|
|
<textarea class="form-control" rows="5"
|
|
|
|
|
ms-duplex="sample.input"></textarea>
|
2015-08-02 01:47:50 +00:00
|
|
|
|
</div>
|
2015-08-07 09:13:44 +00:00
|
|
|
|
</div>
|
2015-08-09 12:50:04 +00:00
|
|
|
|
<div class="col-md-6">
|
2015-08-07 09:13:44 +00:00
|
|
|
|
<div class="form-group">
|
2015-08-09 12:50:04 +00:00
|
|
|
|
<label>样例输出</label>
|
2015-08-10 08:59:45 +00:00
|
|
|
|
<textarea class="form-control" rows="5"
|
|
|
|
|
ms-duplex="sample.output"></textarea>
|
2015-08-02 01:47:50 +00:00
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
2015-08-07 09:13:44 +00:00
|
|
|
|
</div>
|
|
|
|
|
<div class="col-md-12">
|
2015-08-10 08:59:45 +00:00
|
|
|
|
<label>测试数据</label><br>
|
|
|
|
|
<small class="text-info">请将所有测试用例打包在一个文件中上传,所有文件要在压缩包的根目录,且输入输出文件名要以从1开始连续数字标识要对应例如:<br>
|
|
|
|
|
1.in 1.out 2.in 2.out
|
|
|
|
|
</small>
|
2015-08-11 08:22:59 +00:00
|
|
|
|
<table class="table table-striped" ms-visible="problem.uploadSuccess">
|
2015-08-10 08:59:45 +00:00
|
|
|
|
<tr>
|
|
|
|
|
<td>编号</td>
|
|
|
|
|
<td>输入文件名</td>
|
|
|
|
|
<td>输出文件名</td>
|
|
|
|
|
</tr>
|
2015-08-11 11:43:23 +00:00
|
|
|
|
<tr ms-repeat="problem.testCaseList">
|
2015-08-10 08:59:45 +00:00
|
|
|
|
<td>{{$index}}</td>
|
2015-08-15 05:54:30 +00:00
|
|
|
|
<td>{{ el.input }}</td>
|
|
|
|
|
<td>{{ el.output }}</td>
|
2015-08-10 08:59:45 +00:00
|
|
|
|
</tr>
|
|
|
|
|
</table>
|
2015-08-07 09:13:44 +00:00
|
|
|
|
</div>
|
2015-08-02 01:47:50 +00:00
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
2015-08-09 12:50:04 +00:00
|
|
|
|
<div class="col-md-12">
|
|
|
|
|
<input type="submit" class="btn btn-success btn-lg" value="发布比赛">
|
|
|
|
|
</div>
|
2015-08-07 09:13:44 +00:00
|
|
|
|
</div>
|
2015-08-09 12:50:04 +00:00
|
|
|
|
|
2015-08-07 09:13:44 +00:00
|
|
|
|
</form>
|
|
|
|
|
</div>
|
|
|
|
|
|
2015-08-10 08:59:45 +00:00
|
|
|
|
<script src="/static/js/app/admin/contest/contest.js"></script>
|
|
|
|
|
<link href="/static/css/tagEditor/jquery.tag-editor.css" rel="stylesheet">
|