增加了后台小组管理的功能

This commit is contained in:
virusdefender
2015-08-11 19:15:25 +08:00
parent 5d3fcb5e29
commit 6c59a15c1f
9 changed files with 485 additions and 0 deletions

View File

@@ -0,0 +1,119 @@
require(["jquery", "avalon", "csrf", "bs_alert", "validation"], function ($, avalon, csrfHeader, bs_alert) {
avalon.vmodels.group_detail = null;
// avalon:定义模式 group_list
avalon.ready(function () {
var vm = avalon.define({
$id: "group_detail",
//通用变量
member_list: [],
previous_page: 0,
next_page: 0,
page: 1,
page_count: 1,
name: "",
description: "",
join_group_setting: {0: false, 1: false, 2: false},
checked_setting: 0,
getSettingChecked: function (setting) {
return setting == vm.join_group_setting;
},
updateGroupInfo: function () {
$.ajax({
beforeSend: csrfHeader,
url: "/api/admin/group/",
method: "put",
data: {group_id: avalon.vmodels.admin.group_id, name: vm.name,
description: vm.description, join_group_setting: vm.join_group_setting},
dataType: "json",
success: function (data) {
if (!data.code) {
bs_alert("修改成功");
}
else {
bs_alert(data.data);
}
}
})
},
getNext: function () {
if (!vm.next_page)
return;
getPageData(vm.page + 1);
},
getPrevious: function () {
if (!vm.previous_page)
return;
getPageData(vm.page - 1);
},
getBtnClass: function (btn) {
if (btn) {
return vm.next_page ? "btn btn-primary" : "btn btn-primary disabled";
}
else {
return vm.previous_page ? "btn btn-primary" : "btn btn-primary disabled";
}
},
getPage: function (page_index) {
getPageData(page_index);
},
removeMember: function (relation) {
$.ajax({
beforeSend: csrfHeader,
url: "/api/admin/group_member/",
method: "put",
data: JSON.stringify({group_id: relation.group, members: [relation.user.id]}),
contentType: "application/json",
success: function (data) {
vm.member_list.remove(relation);
bs_alert(data.data);
}
})
}
});
avalon.scan();
getPageData(1);
function getPageData(page) {
var url = "/api/admin/group_member/?paging=true&page=" + page +
"&page_size=10&group_id=" + avalon.vmodels.admin.group_id;
$.ajax({
url: url,
dataType: "json",
method: "get",
success: function (data) {
if (!data.code) {
vm.member_list = data.data.results;
vm.page_count = data.data.total_page;
vm.previous_page = data.data.previous_page;
vm.next_page = data.data.next_page;
vm.page = page;
}
else {
bs_alert(data.data);
}
}
});
}
$.ajax({
url: "/api/admin/group/?group_id=" + avalon.vmodels.admin.group_id,
method: "get",
dataType: "json",
success: function (data) {
if (!data.code) {
vm.name = data.data.name;
vm.description = data.data.description;
vm.join_group_setting[data.data.join_group_setting] = true;
}
else {
bs_alert(data.data);
}
}
})
});
});