[后台-前端]修改添加比赛,编辑比赛页面,添加封榜功能(在页面中被称作实时排名)若设置比赛非实时排名那么前端rank页面缓存将停止刷新,从而实现封榜功能[CI SKIP]
This commit is contained in:
@@ -10,7 +10,7 @@ require(["jquery", "avalon", "editor", "uploader", "bsAlert", "csrfToken", "date
|
|||||||
description: vm.description,
|
description: vm.description,
|
||||||
mode: vm.mode,
|
mode: vm.mode,
|
||||||
contest_type: 0,
|
contest_type: 0,
|
||||||
hide_rank: vm.hideRank,
|
real_time_rank: vm.realTimeRank,
|
||||||
show_user_submission: vm.showSubmission,
|
show_user_submission: vm.showSubmission,
|
||||||
start_time: vm.startTime,
|
start_time: vm.startTime,
|
||||||
end_time: vm.endTime,
|
end_time: vm.endTime,
|
||||||
@@ -57,9 +57,8 @@ require(["jquery", "avalon", "editor", "uploader", "bsAlert", "csrfToken", "date
|
|||||||
vm.startTime = "";
|
vm.startTime = "";
|
||||||
vm.endTime = "";
|
vm.endTime = "";
|
||||||
vm.password = "";
|
vm.password = "";
|
||||||
vm.mode = "";
|
vm.mode = "0";
|
||||||
vm.hideRank = 0;
|
vm.showSubmission = true;
|
||||||
vm.showSubmission = false;
|
|
||||||
location.hash = "#contest/contest_list";
|
location.hash = "#contest/contest_list";
|
||||||
vm.isGlobal = true;
|
vm.isGlobal = true;
|
||||||
vm.allGroups = [];
|
vm.allGroups = [];
|
||||||
@@ -85,12 +84,12 @@ require(["jquery", "avalon", "editor", "uploader", "bsAlert", "csrfToken", "date
|
|||||||
startTime: "",
|
startTime: "",
|
||||||
endTime: "",
|
endTime: "",
|
||||||
password: "",
|
password: "",
|
||||||
mode: "",
|
mode: "0",
|
||||||
hideRank: 0,
|
showSubmission: true,
|
||||||
showSubmission: false,
|
|
||||||
isGlobal: true,
|
isGlobal: true,
|
||||||
allGroups: [],
|
allGroups: [],
|
||||||
showGlobalViewRadio: true
|
showGlobalViewRadio: true,
|
||||||
|
realTimeRank: true
|
||||||
});
|
});
|
||||||
|
|
||||||
$.ajax({
|
$.ajax({
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ require(["jquery", "avalon", "csrfToken", "bsAlert", "editor", "datetimePicker",
|
|||||||
description: vm.editDescription,
|
description: vm.editDescription,
|
||||||
mode: vm.editMode,
|
mode: vm.editMode,
|
||||||
contest_type: 0,
|
contest_type: 0,
|
||||||
hide_rank: vm.editHideRank,
|
real_time_rank: vm.editRealTimeRank,
|
||||||
show_user_submission: vm.editShowSubmission,
|
show_user_submission: vm.editShowSubmission,
|
||||||
start_time: vm.editStartTime,
|
start_time: vm.editStartTime,
|
||||||
end_time: vm.editEndTime,
|
end_time: vm.editEndTime,
|
||||||
@@ -84,10 +84,10 @@ require(["jquery", "avalon", "csrfToken", "bsAlert", "editor", "datetimePicker",
|
|||||||
vm.editStartTime = "";
|
vm.editStartTime = "";
|
||||||
vm.editEndTime = "";
|
vm.editEndTime = "";
|
||||||
vm.editMode = "";
|
vm.editMode = "";
|
||||||
vm.editHideRank = 0;
|
|
||||||
vm.editShowSubmission = false;
|
vm.editShowSubmission = false;
|
||||||
vm.editVisible = false;
|
vm.editVisible = false;
|
||||||
vm.editingProblemContestIndex = 0;
|
vm.editingProblemContestIndex = 0;
|
||||||
|
vm.editRealTimeRank = true;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
var vm = avalon.define({
|
var vm = avalon.define({
|
||||||
@@ -107,9 +107,9 @@ require(["jquery", "avalon", "csrfToken", "bsAlert", "editor", "datetimePicker",
|
|||||||
editStartTime: "",
|
editStartTime: "",
|
||||||
editEndTime: "",
|
editEndTime: "",
|
||||||
editMode: "",
|
editMode: "",
|
||||||
editHideRank: false,
|
|
||||||
editShowSubmission: false,
|
editShowSubmission: false,
|
||||||
editVisible: false,
|
editVisible: false,
|
||||||
|
editRealTimeRank: true,
|
||||||
editingProblemContestIndex: 0,
|
editingProblemContestIndex: 0,
|
||||||
isGlobal: true,
|
isGlobal: true,
|
||||||
allGroups: [],
|
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.editEndTime = vm.contestList[contestId - 1].end_time.substring(0, 16).replace("T", " ");
|
||||||
vm.editMode = vm.contestList[contestId - 1].mode;
|
vm.editMode = vm.contestList[contestId - 1].mode;
|
||||||
vm.editVisible = vm.contestList[contestId - 1].visible;
|
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
|
if (vm.contestList[contestId - 1].contest_type == 0) { //contest type == 0, contest in group
|
||||||
vm.isGlobal = false;
|
vm.isGlobal = false;
|
||||||
for (var i = 0; i < vm.allGroups.length; i++) {
|
for (var i = 0; i < vm.allGroups.length; i++) {
|
||||||
@@ -168,7 +169,6 @@ require(["jquery", "avalon", "csrfToken", "bsAlert", "editor", "datetimePicker",
|
|||||||
else {
|
else {
|
||||||
vm.isGlobal = true;
|
vm.isGlobal = true;
|
||||||
}
|
}
|
||||||
vm.editHideRank = vm.contestList[contestId - 1].Hide_rank;
|
|
||||||
vm.editShowSubmission = vm.contestList[contestId - 1].show_user_submission;
|
vm.editShowSubmission = vm.contestList[contestId - 1].show_user_submission;
|
||||||
editor("#editor").setValue(vm.contestList[contestId - 1].description);
|
editor("#editor").setValue(vm.contestList[contestId - 1].description);
|
||||||
vm.editingProblemContestIndex = 0;
|
vm.editingProblemContestIndex = 0;
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
<p class="error-info" ms-visible="description==''">请填写比赛描述</p>
|
<p class="error-info" ms-visible="description==''">请填写比赛描述</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-4">
|
<div class="col-md-6">
|
||||||
<label>开始时间</label>
|
<label>开始时间</label>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<input type="text" class="form-control" name="start_time" id="contest_start_time"
|
<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 class="help-block with-errors"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-4">
|
<div class="col-md-6">
|
||||||
<label>结束时间</label>
|
<label>结束时间</label>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<input type="text" class="form-control" name="end_time" id="contest_end_time"
|
<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 class="help-block with-errors"></div>
|
||||||
</div>
|
</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="col-md-6">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>可见范围</label>
|
<label>可见范围</label>
|
||||||
@@ -88,11 +81,19 @@
|
|||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6">
|
<div class="col-md-3">
|
||||||
<label>是否公开提交记录</label>
|
<label>公开提交记录</label>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="text"><input type="checkbox" ms-duplex-checked="showSubmission">
|
<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>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
<tr ms-repeat="contestList">
|
<tr ms-repeat="contestList">
|
||||||
<td>{{ el.id }}</td>
|
<td>{{ el.id }}</td>
|
||||||
<td>{{ el.title }}</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.create_time|date("yyyy-MM-dd HH:mm:ss")}}</td>
|
||||||
<td>{{ el.created_by.username }}</td>
|
<td>{{ el.created_by.username }}</td>
|
||||||
<td ms-text="el.visible?'可见':'不可见'"></td>
|
<td ms-text="el.visible?'可见':'不可见'"></td>
|
||||||
@@ -66,7 +66,7 @@
|
|||||||
<p class="error-info" ms-visible="editDescription==''">请填写比赛描述</p>
|
<p class="error-info" ms-visible="editDescription==''">请填写比赛描述</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-4">
|
<div class="col-md-6">
|
||||||
<label>开始时间</label>
|
<label>开始时间</label>
|
||||||
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
@@ -76,7 +76,7 @@
|
|||||||
<div class="help-block with-errors"></div>
|
<div class="help-block with-errors"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-4">
|
<div class="col-md-6">
|
||||||
<label>结束时间</label>
|
<label>结束时间</label>
|
||||||
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
@@ -86,20 +86,9 @@
|
|||||||
<div class="help-block with-errors"></div>
|
<div class="help-block with-errors"></div>
|
||||||
</div>
|
</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="col-md-6">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>可见范围</label>
|
<label>可见范围</label>
|
||||||
|
|
||||||
<div>
|
|
||||||
<span ms-if="showGlobalViewRadio">
|
<span ms-if="showGlobalViewRadio">
|
||||||
<label>
|
<label>
|
||||||
<small><input type="radio" value="true" name="isGlobal" ms-duplex-boolean="isGlobal">全局可见
|
<small><input type="radio" value="true" name="isGlobal" ms-duplex-boolean="isGlobal">全局可见
|
||||||
@@ -113,9 +102,6 @@
|
|||||||
</label>
|
</label>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6" ms-visible="isGlobal">
|
<div class="col-md-6" ms-visible="isGlobal">
|
||||||
<label>密码保护</label>
|
<label>密码保护</label>
|
||||||
@@ -127,7 +113,7 @@
|
|||||||
<input type="checkbox" value="group_id" ms-duplex-checked="el.isSelected"> {{ el.name }}
|
<input type="checkbox" value="group_id" ms-duplex-checked="el.isSelected"> {{ el.name }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-7">
|
<div class="col-md-3">
|
||||||
<label>排名方式</label>
|
<label>排名方式</label>
|
||||||
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
@@ -140,17 +126,26 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">
|
||||||
<label>是否可见</label><br>
|
<div class="form-group">
|
||||||
|
<label>是否可见</label>
|
||||||
<label><input type="checkbox" ms-duplex-checked="editVisible">
|
<label><input type="checkbox" ms-duplex-checked="editVisible">
|
||||||
<small> 可见</small>
|
<small> 可见</small>
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
<div class="col-md-3">
|
<div class="col-md-3">
|
||||||
<label>是否公开提交记录</label>
|
<label>公开提交记录</label>
|
||||||
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="text"><input type="checkbox" ms-duplex-checked="editShowSubmission">
|
<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>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user