后台 js 的部分 bug 修复,还没改完

This commit is contained in:
virusdefender
2015-08-10 22:57:11 +08:00
parent cadb480573
commit 71f3aaf822
4 changed files with 125 additions and 131 deletions

View File

@@ -5,6 +5,7 @@
@import url("simditor/simditor.css");
@import url("webuploader/webuploader.css");
@import url("datetime_picker/bootstrap-datetimepicker.css");
@import url("tagEditor/jquery.tag-editor.css");
#loading-gif{
width: 40px;

View File

@@ -64,18 +64,15 @@ require(["jquery", "avalon", "editor", "uploader", "bs_alert", "csrf", "tagEdito
})
.on("success.form.fv", function (e) {
e.preventDefault();
if (vm.test_case_id == '')
{
if (vm.test_case_id == '') {
bs_alert("你还没有上传测试数据!");
return;
}
if (vm.description == '')
{
if (vm.description == '') {
bs_alert("题目描述不能为空!");
return;
}
if (vm.hint == '')
{
if (vm.hint == '') {
bs_alert("提示不能为空!");
return;
}
@@ -88,33 +85,30 @@ require(["jquery", "avalon", "editor", "uploader", "bs_alert", "csrf", "tagEdito
test_case_id: vm.test_case_id,
hint: vm.hint,
source: vm.source,
tags: [],
tags: $("#tags").tagEditor("getTags")[0].tags,
difficulty: vm.difficulty
};
if (vm.samples.length == 0)
{
if (vm.samples.length == 0) {
bs_alert("请至少添加一组样例!");
return;
}
var tags = $("#tags").tagEditor("getTags")[0].tags;
if (tags.length == 0)
{
if (tags.length == 0) {
bs_alert("请至少添加一个标签,这将有利于用户发现你的题目!");
return;
}
for (key in vm.samples.length) {
ajaxData.samples.push({input: vm.samples[key].input, output: vm.samples[key].output});
for (var i = 0; i < vm.samples.$model.length; i++) {
ajaxData.samples.push({input: vm.samples.$model[i].input, output: vm.samples.$model[i].output});
}
for (key in tags) {
ajaxData.tags.push(tags[key].tag);
}
console.log(ajaxData);
$.ajax({
beforeSend: csrfHeader,
url: "/api/admin/problem/",
dataType: "json",
data:ajaxData,
data: JSON.stringify(ajaxData),
method: "post",
contentType: "application/json",
success: function (data) {
if (!data.code) {
bs_alert("successful!");
@@ -188,8 +182,8 @@ require(["jquery", "avalon", "editor", "uploader", "bs_alert", "csrf", "tagEdito
if (!data.code) {
tagList = data.data;
completeList = [];
for (key in tagList) {
completeList.push(tagList[key].name);
for (var i = 0; i < tagList.length; i++) {
completeList.push(tagList[i].name);
}
$("#tags").tagEditor({
autocomplete: {

View File

@@ -1,23 +1,17 @@
<div ms-controller="add_problem" class="col-md-9">
<form id="add-problem-form">
<div class="col-md-12">
<div class="form-group col-md-6">
<div class="form-group col-md-12">
<label>题目标题</label>
<input type="text" name="title" class="form-control" ms-duplex="title">
</div>
<div class="form-group col-md-6">
<label>来源</label>
<input type="text" name="source" class="form-control" ms-duplex="source">
</div>
<div class="form-group">
<div class="form-group col-md-12">
<label>题目描述</label>
<textarea id="problemDescription" placeholder="这里输入内容" autofocus ms-duplex="description"></textarea>
<small ms-visible="description==''" style="color:red">请填写题目描述</small>
</div>
<div class="form-group">
<label>提示</label>
<textarea id="hint" placeholder="这里输入内容" ms-duplex="hint"></textarea>
</div>
<div class="col-md-3">
<div class="form-group"><label>时间限制(ms)</label>
@@ -54,7 +48,7 @@
<span class="panel-title">样例{{$index + 1}}</span>
<a href="javascript:void(0)" class="btn btn-primary btn-sm"
ms-click="toggle_sample(sample)">
{{getBtnContent(sample)}}
{{ getBtnContent(sample)}}
</a>
<a href="javascript:void(0)" class="btn btn-danger btn-sm"
ms-click="del_sample(sample)">
@@ -81,10 +75,19 @@
<div class="col-md-12"><br>
<label>测试数据</label><br>
<small class="text-info">请将所有测试用例打包在一个文件中上传所有文件要在压缩包的根目录且输入输出文件名要以从1开始连续数字标识要对应例如<br>
1.in 1.out 2.in 2.out</small>
1.in 1.out 2.in 2.out
</small>
<table class="table table-striped" ms-visible="uploadSuccess">
<tr><td>编号</td><td>输入文件名</td><td>输出文件名</td></tr>
<tr ms-repeat="testCaseList"><td>{{$index}}</td><td>{{el.input}}</td><td>{{el.output}}</td></tr>
<tr>
<td>编号</td>
<td>输入文件名</td>
<td>输出文件名</td>
</tr>
<tr ms-repeat="testCaseList">
<td>{{$index + 1}}</td>
<td>{{ el.input }}</td>
<td>{{ el.output }}</td>
</tr>
</table>
</div>
<div class="col-md-12">
@@ -92,7 +95,15 @@
<div id="testCaseFile">选择文件</div>
</div>
</div>
<div class="form-group col-md-12">
<label>提示</label>
<textarea id="hint" placeholder="这里输入内容" ms-duplex="hint"></textarea>
</div>
<div class="form-group col-md-12">
<label>来源</label>
<input type="text" name="source" class="form-control" ms-duplex="source">
</div>
<div class="col-md-12">
<input type="submit" class="btn btn-success btn-lg" value="发布题目" id="submitBtn">
</div>
@@ -100,4 +111,3 @@
</div>
<script src="/static/js/app/admin/problem/add_problem.js"></script>
<link href="/static/css/tagEditor/jquery.tag-editor.css" rel="stylesheet">

View File

@@ -7,16 +7,15 @@
<a href="problem.html">题目</a></li>
<li role="presentation"><a href="/problem/1/my_solutions/">我的提交</a></li>
</ul>
<h2 class="text-center">Battle Over Cities - Hard Version</h2>
<h2 class="text-center">{{ problem.title }}</h2>
<p class="text-muted text-center">发布时间: 2015-07-05 CPU: 1000ms 内存: 256M</p>
<p class="text-muted text-center">发布时间: {{ problem.create_time }} CPU: {{ problem.time_limit }}ms 内存: {{ problem.memory_limit }}M</p>
<div>
<div class="problem-section">
<label class="problem-label">描述</label>
<p class="problem-detail"> n的阶乘定义为n!=1*2*3*……*n 如3!=6
n!通常最后会有很多0如5!=120 最后有一个0现在统计n!去除末尾的0后最后k位是多少</p>
<p class="problem-detail">{{ problem.description|safe }}</p>
</div>
<div class="problem-section">
<label class="problem-label">输入</label>
@@ -28,47 +27,37 @@
<p class="problem-detail">第一行包括两个数n,k</p>
</div>
{% for item in samples %}
<div class="problem-section">
<label class="problem-label">样例输入1</label>
<pre title="双击可以复制哦~">
1 2 3 4 5 6 7
1 2 3 4 5 6 7</pre>
<pre>
{{ item.input }}</pre>
</div>
<div class="problem-section">
<label class="problem-label">样例输出1</label>
<pre>
1 2 3 4 5 6 7</pre>
</div>
<div class="problem-section">
<label class="problem-label">样例输入2</label>
<pre title="双击可以复制哦~">
1 2 3 4 5 6 7
1 2 3 4 5 6 7</pre>
</div>
<div class="problem-section">
<label class="problem-label">样例输出2</label>
<pre>
1 2 3 4 5 6 7</pre>
{{ item.output }}</pre>
</div>
{% endfor %}
<div>
<button type="button" id="show-more-btn" class="btn btn-info btn-sm">查看隐藏信息</button>
</div>
{% if problem.hind %}
<div class="problem-section hide">
<label class="problem-label">提示</label>
<p class="problem-detail">画一下图</p>
<p class="problem-detail">{{ problem.hint|safe }}</p>
</div>
{% endif %}
<div class="problem-section hide">
<label class="problem-label">标签</label>
<p class="problem-detail">
<span class="label label-success">Success</span>
<span class="label label-info">Info</span>
{% for tag in problem.tags.all %}
<span class="label label-success">{{ tag.name }}</span>
{% endfor %}
</p>
</div>