contest list admin 界面 js 精简
This commit is contained in:
57
static/src/js/app/admin/contest/contestList.js
Normal file
57
static/src/js/app/admin/contest/contestList.js
Normal file
@@ -0,0 +1,57 @@
|
||||
require(["jquery", "avalon", "csrfToken", "bsAlert", "editor", "datetimePicker", "validator", "pager"], function ($, avalon, csrfTokenHeader, bsAlert, editor) {
|
||||
|
||||
avalon.ready(function () {
|
||||
if (avalon.vmodels.contestList) {
|
||||
var vm = avalon.vmodels.contestList;
|
||||
vm.contestList = [];
|
||||
}
|
||||
else {
|
||||
var vm = avalon.define({
|
||||
$id: "contestList",
|
||||
contestList: [],
|
||||
keyword: "",
|
||||
showVisibleOnly: false,
|
||||
pager: {
|
||||
getPage: function(page){
|
||||
getPage(page);
|
||||
}
|
||||
},
|
||||
|
||||
search: function () {
|
||||
getPage(1);
|
||||
avalon.vmodels.contestListPager.currentPage = 1;
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
vm.$watch("showVisibleOnly", function () {
|
||||
getPage(1);
|
||||
avalon.vmodels.contestListPager.currentPage = 1;
|
||||
});
|
||||
|
||||
function getPage(page) {
|
||||
var url = "/api/admin/contest/?paging=true&page=" + page + "&page_size=20";
|
||||
if (vm.showVisibleOnly)
|
||||
url += "&visible=true";
|
||||
if (vm.keyword != "")
|
||||
url += "&keyword=" + vm.keyword;
|
||||
$.ajax({
|
||||
url: url,
|
||||
dataType: "json",
|
||||
method: "get",
|
||||
success: function (data) {
|
||||
if (!data.code) {
|
||||
vm.contestList = data.data.results;
|
||||
vm.announcementList = data.data.results;
|
||||
avalon.vmodels.contestListPager.totalPage = data.data.total_page;
|
||||
}
|
||||
else {
|
||||
bsAlert(data.data);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
});
|
||||
avalon.scan();
|
||||
});
|
||||
Reference in New Issue
Block a user