修复没有清空 vm 导致的上个页面数据带到下个页面的问题

This commit is contained in:
virusdefender 2015-10-30 18:15:28 +08:00
parent 5b3fe6f818
commit 90dc32590a
4 changed files with 45 additions and 6 deletions

View File

@ -61,8 +61,19 @@ require(["jquery", "avalon", "editor", "uploader", "bsAlert", "csrfToken", "date
});
//editor("#editor");
if (avalon.vmodels.add_contest)
if (avalon.vmodels.add_contest) {
var vm = avalon.vmodels.add_contest;
vm.title = "";
vm.startTime = "";
vm.endTime = "";
vm.password = "";
vm.isGlobal = true;
vm.allGroups = [];
vm.showGlobalViewRadio = true;
vm.realTimeRank = true;
avalon.vmodels.contestDescriptionEditor.content = "";
}
else
var vm = avalon.define({
$id: "add_contest",

View File

@ -130,6 +130,7 @@ require(["jquery", "avalon", "editor", "uploader", "bsAlert", "csrfToken", "date
vm.realTimeRank = contest.real_time_rank;
vm.startTime = contest.start_time.substring(0, 16).replace("T", " ");
vm.endTime = contest.end_time.substring(0, 16).replace("T", " ");
vm.password = contest.password;
if (contest.contest_type == 0) { //contest_type == 0, 小组内比赛
vm.isGlobal = false;
for (var i = 0; i < vm.allGroups.length; i++) {

View File

@ -49,7 +49,7 @@ require(["jquery", "avalon", "editor", "uploader", "bsAlert", "csrfToken", "tagE
ajaxData["id"] = avalon.vmodels.admin.problemId;
var alertContent = "题目编辑成功";
}
else{
else {
var method = "post";
var alertContent = "题目创建成功";
}
@ -134,6 +134,19 @@ require(["jquery", "avalon", "editor", "uploader", "bsAlert", "csrfToken", "tagE
});
else {
var vm = avalon.vmodels.editProblem;
title = "";
description = "";
timeLimit = 1000;
memoryLimit = 128;
samples = [];
hint = "";
sortIndex = "";
visible = true;
inputDescription = "";
outputDescription = "";
testCaseId = "";
testCaseList = [];
uploadSuccess = false;
}
var testCaseUploader = uploader("#testCaseFile", "/api/admin/test_case_upload/", function (file, response) {
@ -142,7 +155,7 @@ require(["jquery", "avalon", "editor", "uploader", "bsAlert", "csrfToken", "tagE
else {
vm.testCaseId = response.data.test_case_id;
vm.testCaseList = [];
for(var key in response.data.file_list){
for (var key in response.data.file_list) {
vm.testCaseList.push({
input: response.data.file_list[key].input_name,
output: response.data.file_list[key].output_name
@ -189,8 +202,8 @@ require(["jquery", "avalon", "editor", "uploader", "bsAlert", "csrfToken", "tagE
url: "/api/admin/test_case_upload/?test_case_id=" + vm.testCaseId,
method: "get",
dataType: "json",
success: function(response){
if(response.code){
success: function (response) {
if (response.code) {
bsAlert(response.data);
}
else {

View File

@ -79,6 +79,20 @@ require(["jquery", "avalon", "editor", "uploader", "bsAlert", "csrfToken", "tagE
if (avalon.vmodels.addProblem) {
var vm = avalon.vmodels.addProblem;
vm.title = "";
vm.timeLimit = 1000;
vm.memoryLimit = 128;
vm.samples = [{input: "", output: "", "visible": true}];
vm.visible = true;
vm.difficulty = "1";
vm.tags = [];
vm.inputDescription = "";
vm.outputDescription = "";
vm.testCaseId = "";
vm.testCaseList = [];
vm.uploadSuccess = false;
vm.source = "";
vm.uploadProgress = 0;
}
else
var vm = avalon.define({
@ -135,7 +149,7 @@ require(["jquery", "avalon", "editor", "uploader", "bsAlert", "csrfToken", "tagE
vm.testCaseId = response.data.test_case_id;
vm.uploadSuccess = true;
vm.testCaseList = [];
for(var key in response.data.file_list){
for (var key in response.data.file_list) {
vm.testCaseList.push({
input: response.data.file_list[key].input_name,
output: response.data.file_list[key].output_name