From f1802b0ced6595ede6b682cd0738eec787587b5f Mon Sep 17 00:00:00 2001 From: esp Date: Tue, 25 Aug 2015 12:03:06 +0800 Subject: [PATCH] =?UTF-8?q?[=E5=89=8D=E7=AB=AF]=E4=BF=AE=E5=A4=8Dbug,?= =?UTF-8?q?=E6=9B=B4=E6=AD=A3=E4=BA=86=E4=B8=8D=E6=81=B0=E5=BD=93=E7=9A=84?= =?UTF-8?q?foreach=E5=BE=AA=E7=8E=AF,(js=E9=87=8Cfor(var=20key=20in=20arra?= =?UTF-8?q?y)=E4=B8=8D=E4=BB=85=E9=81=8D=E5=8E=86=E4=BA=86=E6=95=B0?= =?UTF-8?q?=E7=BB=84=E5=85=83=E7=B4=A0,=E8=BF=98=E5=B0=86=E9=81=8D?= =?UTF-8?q?=E5=8E=86=E6=95=B0=E7=BB=84=E5=85=B6=E4=BB=96=E7=9A=84=E5=B1=9E?= =?UTF-8?q?=E6=80=A7=E4=BB=A5=E5=8F=8A=E6=88=90=E5=91=98=E6=96=B9=E6=B3=95?= =?UTF-8?q?),=E4=BF=AE=E5=A4=8D=E4=BA=86=E6=98=BE=E7=A4=BA=E7=BC=96?= =?UTF-8?q?=E8=BE=91=E5=8C=BA=E5=87=BD=E6=95=B0=E5=AF=B9=E9=80=89=E4=B8=AD?= =?UTF-8?q?=E5=B0=8F=E7=BB=84=E9=94=99=E8=AF=AF=E7=9A=84=E6=B8=85=E9=99=A4?= =?UTF-8?q?=E6=96=B9=E6=B3=95.(=E5=8E=9F=E6=9D=A5=E7=9A=84=E5=81=9A?= =?UTF-8?q?=E6=B3=95=E5=B0=86=E5=AF=BC=E8=87=B4=E6=9F=90=E4=BA=9B=E6=83=85?= =?UTF-8?q?=E5=86=B5=E4=B8=8B=E6=97=A7=E7=9A=84=E5=B0=8F=E7=BB=84=E6=97=A0?= =?UTF-8?q?=E6=B3=95=E7=A7=BB=E9=99=A4=E7=BC=96=E8=BE=91=E5=8C=BA=E5=9F=9F?= =?UTF-8?q?.=20=20=E5=A2=9E=E6=B7=BB=E4=BA=86=E5=88=87=E6=8D=A2=E7=BC=96?= =?UTF-8?q?=E8=BE=91=E6=AF=94=E8=B5=9B=E7=9A=84=E6=8F=90=E7=A4=BA,?= =?UTF-8?q?=E9=98=B2=E6=AD=A2=E7=94=A8=E6=88=B7=E4=B8=A2=E5=A4=B1=E4=B8=BA?= =?UTF-8?q?=E4=BF=9D=E5=AD=98=E7=9A=84=E4=BF=A1=E6=81=AF.=20=20=20=20?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=97=AE=E9=A2=98=E5=88=97=E8=A1=A8=E5=AF=B9?= =?UTF-8?q?=E5=8F=AF=E8=A7=81=E6=AF=94=E8=B5=9B=E7=9A=84=E7=AD=9B=E9=80=89?= =?UTF-8?q?[CI=20SKIP]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/js/app/admin/contest/contest_list.js | 28 +++++++++++-------- template/admin/contest/contest_list.html | 3 ++ 2 files changed, 20 insertions(+), 11 deletions(-) diff --git a/static/src/js/app/admin/contest/contest_list.js b/static/src/js/app/admin/contest/contest_list.js index f978f76..b9dbd3d 100644 --- a/static/src/js/app/admin/contest/contest_list.js +++ b/static/src/js/app/admin/contest/contest_list.js @@ -94,7 +94,7 @@ require(["jquery", "avalon", "csrfToken", "bsAlert", "editor", "datetimePicker", vm.editChoseGroupList= []; vm.editingProblemContestIndex= 0; } - else + else { var vm = avalon.define({ $id: "contestList", contestList: [], @@ -102,6 +102,7 @@ require(["jquery", "avalon", "csrfToken", "bsAlert", "editor", "datetimePicker", nextPage: 0, page: 1, totalPage: 1, + showVisibleOnly: false, group: "-1", groupList: [], choseGroupList: [], @@ -143,6 +144,8 @@ require(["jquery", "avalon", "csrfToken", "bsAlert", "editor", "datetimePicker", getPageData(page_index); }, showEditContestArea: function (contestId) { + if (vm.editingContestId && !confirm("如果继续将丢失未保存的信息,是否继续?")) + return; if (contestId == vm.editingContestId) vm.editingContestId = 0; else { @@ -155,12 +158,8 @@ require(["jquery", "avalon", "csrfToken", "bsAlert", "editor", "datetimePicker", vm.editVisible = vm.contestList[contestId-1].visible; if (vm.contestList[contestId-1].contest_type == 0) { //contest type == 0, contest in group //Clear the choseGroupList - var stack = [], sp; - for (sp = 0; sp < vm.choseGroupList.length; sp++){ - stack. push(vm.choseGroupList[sp].index); - } - while (sp--){ - vm.removeGroup(stack[sp]); + while (vm.choseGroupList.length) { + vm.removeGroup(0); } for (var i = 0; i < vm.contestList[contestId-1].groups.length; i++){ @@ -219,8 +218,8 @@ require(["jquery", "avalon", "csrfToken", "bsAlert", "editor", "datetimePicker", if (vm.groupList[vm.group].id == 0){ vm.passwordUsable = true; vm.choseGroupList = []; - for (var key in vm.groupList){ - vm.groupList[key].chose = true; + for (var i = 0; i < vm.groupList.length; i++) { + vm.groupList[i].chose = true; } } vm.groupList[vm.group]. chose = true; @@ -229,10 +228,11 @@ require(["jquery", "avalon", "csrfToken", "bsAlert", "editor", "datetimePicker", vm.group = -1; }, removeGroup: function(groupIndex){ + console.log(groupIndex); if (vm.groupList[vm.choseGroupList[groupIndex].index].id == 0){ vm.passwordUsable = false; - for (key in vm.groupList){ - vm.groupList[key].chose = false; + for (var i = 0; i < vm.groupList.length; i++) { + vm.groupList[i].chose = false; } } vm.groupList[vm.choseGroupList[groupIndex].index].chose = false; @@ -250,6 +250,10 @@ require(["jquery", "avalon", "csrfToken", "bsAlert", "editor", "datetimePicker", return "否"; } }); + vm.$watch("showVisibleOnly", function() { + getPageData(1); + }) + } getPageData(1); //init time picker @@ -268,6 +272,8 @@ require(["jquery", "avalon", "csrfToken", "bsAlert", "editor", "datetimePicker", function getPageData(page) { var url = "/api/admin/contest/?paging=true&page=" + page + "&page_size=10"; + if (vm.showVisibleOnly) + url += "&visible=true" if (vm.keyword != "") url += "&keyword=" + vm.keyword; $.ajax({ diff --git a/template/admin/contest/contest_list.html b/template/admin/contest/contest_list.html index 4c6adab..8163ad3 100644 --- a/template/admin/contest/contest_list.html +++ b/template/admin/contest/contest_list.html @@ -34,6 +34,9 @@ +
+ +
页数:{{ page }}/{{ totalPage }}