后台题目创建编辑 js 的 bug 修复;增加文件上传进度条

This commit is contained in:
virusdefender
2015-10-17 19:59:53 +08:00
parent e46847880e
commit bb5be25371
9 changed files with 131 additions and 166 deletions

View File

@@ -1,54 +1,44 @@
require(["jquery", "avalon", "csrfToken", "bsAlert"], function ($, avalon, csrfTokenHeader, bsAlert) {
require(["jquery", "avalon", "csrfToken", "bsAlert", "pager"], function ($, avalon, csrfTokenHeader, bsAlert) {
avalon.ready(function () {
if(avalon.vmodels.problemList){
vm = avalon.vmodels.problemList;
problemList = [];
}
else {
var vm = avalon.define({
$id: "problemList",
problemList: [],
previousPage: 0,
nextPage: 0,
page: 1,
totalPage: 1,
keyword: "",
showVisibleOnly: false,
getNext: function () {
if (!vm.nextPage)
return;
getPageData(vm.page + 1);
},
getPrevious: function () {
if (!vm.previousPage)
return;
getPageData(vm.page - 1);
},
getBtnClass: function (btn) {
if (btn == "next") {
return vm.nextPage ? "btn btn-primary" : "btn btn-primary disabled";
}
else {
return vm.previousPage ? "btn btn-primary" : "btn btn-primary disabled";
pager: {
getPage: function (page) {
getPage(page);
}
},
getPage: function (page_index) {
getPageData(page_index);
},
showEditProblemPage: function (problemId) {
vm.$fire("up!showEditProblemPage", problemId);
avalon.vmodels.admin.problemId = problemId;
avalon.vmodels.admin.template_url = "template/problem/edit_problem.html";
},
showProblemSubmissionPage: function(problemId){
vm.$fire("up!showProblemSubmissionPage", problemId);
avalon.vmodels.admin.problemId = problemId;
avalon.vmodels.admin.template_url = "template/problem/submission_list.html";
},
search: function(){
getPage(1);
avalon.vmodels.problemPager.currentPage = 1;
}
});
vm.$watch("showVisibleOnly", function () {
getPageData(1);
getPage(1);
avalon.vmodels.problemPager.currentPage = 1;
});
}
getPageData(1);
function getPageData(page) {
function getPage(page) {
var url = "/api/admin/problem/?paging=true&page=" + page + "&page_size=10";
if (vm.keyword != "")
url += "&keyword=" + vm.keyword;
@@ -61,10 +51,7 @@ require(["jquery", "avalon", "csrfToken", "bsAlert"], function ($, avalon, csrfT
success: function (data) {
if (!data.code) {
vm.problemList = data.data.results;
vm.totalPage = data.data.total_page;
vm.previousPage = data.data.previous_page;
vm.nextPage = data.data.next_page;
vm.page = page;
avalon.vmodels.problemPager.totalPage = data.data.total_page;
}
else {
bsAlert(data.data);