完善SPJ测试用例的上传

This commit is contained in:
virusdefender
2016-04-05 17:53:04 +08:00
parent db68e925f2
commit 247d356f7f
5 changed files with 104 additions and 57 deletions

View File

@@ -109,7 +109,7 @@ require(["jquery", "avalon", "editor", "uploader", "bsAlert",
vm.source = "";
vm.uploadProgress = 0;
}
else
else {
var vm = avalon.define({
$id: "addProblem",
title: "",
@@ -153,6 +153,7 @@ require(["jquery", "avalon", "editor", "uploader", "bsAlert",
return "展开";
}
});
}
var tagAutoCompleteList = [];

View File

@@ -96,7 +96,7 @@ require(["jquery", "avalon", "editor", "uploader", "bsAlert",
if (avalon.vmodels.editProblem) {
var vm = avalon.vmodels.editProblem;
}
else
else {
var vm = avalon.define({
$id: "editProblem",
title: "",
@@ -142,6 +142,7 @@ require(["jquery", "avalon", "editor", "uploader", "bsAlert",
avalon.vmodels.admin.template_url = "template/problem/problem_list.html";
}
});
}
$.ajax({
url: "/api/admin/problem/?problem_id=" + avalon.vmodels.admin.problemId,

View File

@@ -1,30 +1,39 @@
define("spj", ["avalon"], function (avalon) {
define("spj", ["avalon", "bsAlert"], function (avalon, bsAlert) {
avalon.component("ms:spj", {
$template: '<div class="col-md-6">'+
'<label>Special Judge</label>'+
'<div class="form-group">'+
'<label class="text"><input type="checkbox" ms-duplex-checked="spj">'+
'<small> Special Judge用于答案不唯一的情况,需要自己上传判题代码。'+
'<a href="#" target="_blank">帮助和示例</a></small>'+
'</label></div></div>'+
'<div class="col-md-6" ms-if="spj">'+
'<label>SPJ代码语言</label>'+
'<div class="form-group">'+
'<label class="text">'+
'<input type="radio" name="spjLanguage" value="1" ms-duplex-string="spjLanguage"> C '+
'<input type="radio" name="spjLanguage" value="2" ms-duplex-string="spjLanguage"> C++'+
'</label>'+
'</div>'+
'</div>'+
'<div class="col-md-12" ms-if="spj">'+
'<label>SPJ代码</label>'+
'<textarea class="form-control" rows="5" ms-duplex="spjCode"></textarea>'+
'</div>',
$template: '<div class="col-md-6">' +
'<label>Special Judge</label>' +
'<div class="form-group">' +
'<label class="text"><input type="checkbox" ms-duplex-checked="spj" ms-attr-disabled="checkboxDisabled">' +
'<small> Special Judge用于答案不唯一的情况,需要自己上传判题代码。上传测试用后如需要修改, 必须重新上传对应类型的新测试用例。' +
'<a href="#" target="_blank">帮助和示例</a></small>' +
'</label></div></div>' +
'<div class="col-md-6" ms-if="spj">' +
'<label>SPJ代码语言</label>' +
'<div class="form-group">' +
'<label class="text">' +
'<input type="radio" name="spjLanguage" value="1" ms-duplex-string="spjLanguage"> C ' +
'<input type="radio" name="spjLanguage" value="2" ms-duplex-string="spjLanguage"> C++' +
'</label>' +
'</div>' +
'</div>' +
'<div class="col-md-12" ms-if="spj">' +
'<label>SPJ代码</label>' +
'<textarea class="form-control" rows="5" ms-duplex="spjCode"></textarea>' +
'</div>',
spj: false,
spjLanguage: 1,
spjCode: "",
checkboxDisabled: false,
$init: function(vm, el) {
vm.$watch("testCaseUploadFinished", function (spj) {
console.log("watch" + spj);
vm.spj = spj;
vm.checkboxDisabled = true;
});
},
$ready: function (vm, el) {
el.msRetain = true;
}
})
});

View File

@@ -48,6 +48,8 @@ define("testCaseUploader", ["avalon", "uploader", "bsAlert", "jquery"], function
}
vm.uploaded = true;
vm.uploadProgress = 100;
console.log(data.data.spj);
vm.$fire("all!testCaseUploadFinished", data.data.spj);
}
}
});
@@ -72,7 +74,7 @@ define("testCaseUploader", ["avalon", "uploader", "bsAlert", "jquery"], function
output: response.data.file_list[key].output_name
})
}
bsAlert("测试数据添加成功!共添加" + vm.testCaseList.length + "组测试数据");
vm.$fire("all!testCaseUploadFinished", response.data.spj);
}
},
function (file, percentage) {