[后台-前端]修改添加比赛,编辑比赛页面,添加封榜功能(在页面中被称作实时排名)若设置比赛非实时排名那么前端rank页面缓存将停止刷新,从而实现封榜功能[CI SKIP]

This commit is contained in:
sxw@401 2015-09-12 19:58:41 +08:00
parent 2f6716356f
commit 120017b276
4 changed files with 56 additions and 61 deletions

View File

@ -10,7 +10,7 @@ require(["jquery", "avalon", "editor", "uploader", "bsAlert", "csrfToken", "date
description: vm.description,
mode: vm.mode,
contest_type: 0,
hide_rank: vm.hideRank,
real_time_rank: vm.realTimeRank,
show_user_submission: vm.showSubmission,
start_time: vm.startTime,
end_time: vm.endTime,
@ -57,9 +57,8 @@ require(["jquery", "avalon", "editor", "uploader", "bsAlert", "csrfToken", "date
vm.startTime = "";
vm.endTime = "";
vm.password = "";
vm.mode = "";
vm.hideRank = 0;
vm.showSubmission = false;
vm.mode = "0";
vm.showSubmission = true;
location.hash = "#contest/contest_list";
vm.isGlobal = true;
vm.allGroups = [];
@ -85,12 +84,12 @@ require(["jquery", "avalon", "editor", "uploader", "bsAlert", "csrfToken", "date
startTime: "",
endTime: "",
password: "",
mode: "",
hideRank: 0,
showSubmission: false,
mode: "0",
showSubmission: true,
isGlobal: true,
allGroups: [],
showGlobalViewRadio: true
showGlobalViewRadio: true,
realTimeRank: true
});
$.ajax({

View File

@ -11,7 +11,7 @@ require(["jquery", "avalon", "csrfToken", "bsAlert", "editor", "datetimePicker",
description: vm.editDescription,
mode: vm.editMode,
contest_type: 0,
hide_rank: vm.editHideRank,
real_time_rank: vm.editRealTimeRank,
show_user_submission: vm.editShowSubmission,
start_time: vm.editStartTime,
end_time: vm.editEndTime,
@ -84,10 +84,10 @@ require(["jquery", "avalon", "csrfToken", "bsAlert", "editor", "datetimePicker",
vm.editStartTime = "";
vm.editEndTime = "";
vm.editMode = "";
vm.editHideRank = 0;
vm.editShowSubmission = false;
vm.editVisible = false;
vm.editingProblemContestIndex = 0;
vm.editRealTimeRank = true;
}
else {
var vm = avalon.define({
@ -107,9 +107,9 @@ require(["jquery", "avalon", "csrfToken", "bsAlert", "editor", "datetimePicker",
editStartTime: "",
editEndTime: "",
editMode: "",
editHideRank: false,
editShowSubmission: false,
editVisible: false,
editRealTimeRank: true,
editingProblemContestIndex: 0,
isGlobal: true,
allGroups: [],
@ -149,6 +149,7 @@ require(["jquery", "avalon", "csrfToken", "bsAlert", "editor", "datetimePicker",
vm.editEndTime = vm.contestList[contestId - 1].end_time.substring(0, 16).replace("T", " ");
vm.editMode = vm.contestList[contestId - 1].mode;
vm.editVisible = vm.contestList[contestId - 1].visible;
vm.editRealTimeRank = vm.contestList[contestId - 1].real_time_rank;
if (vm.contestList[contestId - 1].contest_type == 0) { //contest type == 0, contest in group
vm.isGlobal = false;
for (var i = 0; i < vm.allGroups.length; i++) {
@ -168,7 +169,6 @@ require(["jquery", "avalon", "csrfToken", "bsAlert", "editor", "datetimePicker",
else {
vm.isGlobal = true;
}
vm.editHideRank = vm.contestList[contestId - 1].Hide_rank;
vm.editShowSubmission = vm.contestList[contestId - 1].show_user_submission;
editor("#editor").setValue(vm.contestList[contestId - 1].description);
vm.editingProblemContestIndex = 0;

View File

@ -21,7 +21,7 @@
<p class="error-info" ms-visible="description==''">请填写比赛描述</p>
</div>
</div>
<div class="col-md-4">
<div class="col-md-6">
<label>开始时间</label>
<div class="form-group">
<input type="text" class="form-control" name="start_time" id="contest_start_time"
@ -29,7 +29,7 @@
<div class="help-block with-errors"></div>
</div>
</div>
<div class="col-md-4">
<div class="col-md-6">
<label>结束时间</label>
<div class="form-group">
<input type="text" class="form-control" name="end_time" id="contest_end_time"
@ -37,13 +37,6 @@
<div class="help-block with-errors"></div>
</div>
</div>
<div class="col-md-3">
<label>封榜时间(结束前/min)</label>
<div class="form-group">
<input class="form-control" type="text" ms-duplex="hideRank" data-error="请填写封榜时间" required>
<div class="help-block with-errors"></div>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label>可见范围</label>
@ -88,11 +81,19 @@
</label>
</div>
</div>
<div class="col-md-6">
<label>是否公开提交记录</label>
<div class="col-md-3">
<label>公开提交记录</label>
<div class="form-group">
<label class="text"><input type="checkbox" ms-duplex-checked="showSubmission">
<small>允许查看提交记录</small>
<small>公开</small>
</label>
</div>
</div>
<div class="col-md-3">
<label>实时排名</label>
<div class="form-group">
<label class="text"><input type="checkbox" ms-duplex-checked="realTimeRank">
<small></small>
</label>
</div>
</div>

View File

@ -24,7 +24,7 @@
<tr ms-repeat="contestList">
<td>{{ el.id }}</td>
<td>{{ el.title }}</td>
<td ms-text="el.show_rank?'公开':'不公开'"></td>
<td ms-text="el.real_time_rank?'实时':'已封榜'"></td>
<td>{{ el.create_time|date("yyyy-MM-dd HH:mm:ss")}}</td>
<td>{{ el.created_by.username }}</td>
<td ms-text="el.visible?'可见':'不可见'"></td>
@ -66,7 +66,7 @@
<p class="error-info" ms-visible="editDescription==''">请填写比赛描述</p>
</div>
</div>
<div class="col-md-4">
<div class="col-md-6">
<label>开始时间</label>
<div class="form-group">
@ -76,7 +76,7 @@
<div class="help-block with-errors"></div>
</div>
</div>
<div class="col-md-4">
<div class="col-md-6">
<label>结束时间</label>
<div class="form-group">
@ -86,20 +86,9 @@
<div class="help-block with-errors"></div>
</div>
</div>
<div class="col-md-3">
<label>封榜时间(结束前/min)</label>
<div class="form-group">
<input class="form-control" ms-duplex="editHideRank" type="number" data-error="请填写封榜时间" required>
<div class="help-block with-errors"></div>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label>可见范围</label>
<div>
<span ms-if="showGlobalViewRadio">
<label>
<small><input type="radio" value="true" name="isGlobal" ms-duplex-boolean="isGlobal">全局可见
@ -113,9 +102,6 @@
</label>
</span>
</div>
</div>
</div>
<div class="col-md-6" ms-visible="isGlobal">
<label>密码保护</label>
@ -127,7 +113,7 @@
<input type="checkbox" value="group_id" ms-duplex-checked="el.isSelected">&nbsp;&nbsp;{{ el.name }}
</div>
</div>
<div class="col-md-7">
<div class="col-md-3">
<label>排名方式</label>
<div class="form-group">
@ -140,17 +126,26 @@
</div>
</div>
<div class="col-md-2">
<label>是否可见</label><br>
<div class="form-group">
<label>是否可见</label>
<label><input type="checkbox" ms-duplex-checked="editVisible">
<small> 可见</small>
</label>
</div>
</div>
<div class="col-md-3">
<label>是否公开提交记录</label>
<label>公开提交记录</label>
<div class="form-group">
<label class="text"><input type="checkbox" ms-duplex-checked="editShowSubmission">
<small>允许查看提交记录</small>
<small>公开</small>
</label>
</div>
</div>
<div class="col-md-3">
<label>实时排名</label>
<div class="form-group">
<label class="text"><input type="checkbox" ms-duplex-checked="editRealTimeRank">
<small></small>
</label>
</div>
</div>