mirror of
https://github.com/QingdaoU/OnlineJudge.git
synced 2024-09-22 00:43:20 +00:00
da62522279
1.新增添加题目页面。 2.修改添加比赛页面,统一了avalon的用法,新增富文本编辑框的非空验证 3.收集新增比赛和新增题目页面输入,提交表单后可以在console中看到提交的值 [CI SKIP]
187 lines
8.9 KiB
HTML
187 lines
8.9 KiB
HTML
<div ms-controller="add_contest">
|
|
<form id="add-contest-form">
|
|
<div class="col-md-9">
|
|
<div class="col-md-12">
|
|
<label>比赛名称</label>
|
|
</div>
|
|
<div class="col-md-12">
|
|
<div class="form-group">
|
|
<input type="text" name="name" class="form-control" ms-duplex="title">
|
|
</div>
|
|
</div>
|
|
<div class="col-md-12">
|
|
<label>说明</label>
|
|
</div>
|
|
<div class="col-md-12">
|
|
<div class="form-group">
|
|
<textarea id="editor" placeholder="这里输入内容" autofocus ms-duplex="description"></textarea>
|
|
<small ms-visible="description==''" style="color:red">请填写比赛描述</small>
|
|
</div>
|
|
</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"
|
|
ms-duplex="startTime">
|
|
</div>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<div class="form-group">
|
|
<input type="text" class="form-control" name="end_time" id="contest_end_time" ms-duplex="endTime">
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-6">
|
|
<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="留空就是公开赛" ms-duplex="password">
|
|
</div>
|
|
</div>
|
|
<div class="col-md-3">
|
|
<div class="form-group">
|
|
<label><input type="radio" name="mode" ms-duplex-checked="model">
|
|
<small>OI</small>
|
|
</label>
|
|
<label><input type="radio" name="mode">
|
|
<small>ACM</small>
|
|
</label>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-3">
|
|
<div class="form-group">
|
|
<label class="text"><input type="checkbox" ms-duplex-checked="openRank">
|
|
<small>开放排名</small>
|
|
</label>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-12">
|
|
<label>添加题目</label>
|
|
<a href="javascript:void(0)" class="btn btn-primary btn-sm" ms-click="add_problem()">添加</a>
|
|
</div>
|
|
<div class="col-md-12">
|
|
<div class="problem" ms-repeat-problem="problems">
|
|
<div class="panel panel-default problem-panel" ms-attr-id="problem-{{ problem.id }}">
|
|
<div class="panel-heading">
|
|
<span class="panel-title">题目{{$index + 1}} </span>
|
|
<a href="javascript:void(0)" class="btn btn-primary btn-sm" ms-click="toggle(problem)">
|
|
{{getBtnContent(problem)}}
|
|
</a>
|
|
<a href="javascript:void(0)" class="btn btn-danger btn-sm" ms-click="del_problem(problem)">
|
|
删除
|
|
</a>
|
|
</div>
|
|
<div class="panel-body" ms-visible="problem.visible">
|
|
<div class="col-md-12">
|
|
<label>题目</label>
|
|
</div>
|
|
|
|
<div class="col-md-12">
|
|
<div class="form-group">
|
|
<input type="text" name="problem_name[]" class="form-control"
|
|
ms-duplex="problem.title">
|
|
</div>
|
|
</div>
|
|
<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" ms-duplex="problem.cpu">
|
|
</div>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<div class="form-group">
|
|
<input type="text" name="memory[]" class="form-control" ms-duplex="problem.memory">
|
|
</div>
|
|
</div>
|
|
<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>
|
|
<div class="col-md-12">
|
|
|
|
<label>样例</label>
|
|
<a href="javascript:void(0)" class="btn btn-primary btn-sm"
|
|
ms-click="add_sample(problem)">
|
|
添加
|
|
</a>
|
|
|
|
<div class="sample">
|
|
<div class="panel panel-default sample-panel"
|
|
ms-repeat-sample="problem.samples">
|
|
<div class="panel-heading">
|
|
<span class="panel-title">样例{{$index + 1}}</span>
|
|
|
|
<a href="javascript:void(0)" class="btn btn-primary btn-sm"
|
|
ms-click="toggle(sample)">
|
|
{{getBtnContent(sample)}}
|
|
</a>
|
|
<a href="javascript:void(0)" class="btn btn-danger btn-sm"
|
|
ms-click="del_sample(problem, sample)">
|
|
删除
|
|
</a>
|
|
|
|
</div>
|
|
<div class="panel-body row" ms-visible="sample.visible">
|
|
<div class="col-md-6">
|
|
<div class="form-group">
|
|
<label>样例输入</label>
|
|
<textarea class="form-control" rows="5"
|
|
ms-duplex="sample.input"></textarea>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<div class="form-group">
|
|
<label>样例输出</label>
|
|
<textarea class="form-control" rows="5" ms-duplex="sample.output"></textarea>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-12">
|
|
<label>测试数据</label>
|
|
</div>
|
|
<div class="col-md-12">
|
|
<div class="form-group">
|
|
<div ms-attr-id="problem-{{ problem.id }}-uploader">选择文件</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-12">
|
|
<input type="submit" class="btn btn-success btn-lg" value="发布比赛">
|
|
</div>
|
|
</div>
|
|
|
|
</form>
|
|
</div>
|
|
|
|
<script src="/static/js/app/admin/contest/contest.js"></script> |