diff --git a/static/src/js/app/admin/user/userList.js b/static/src/js/app/admin/user/userList.js index d2949f05..f468b558 100644 --- a/static/src/js/app/admin/user/userList.js +++ b/static/src/js/app/admin/user/userList.js @@ -1,133 +1,106 @@ -require(["jquery", "avalon", "csrfToken", "bsAlert", "validator"], function ($, avalon, csrfTokenHeader, bsAlert) { +require(["jquery", "avalon", "csrfToken", "bsAlert", "pager", "validator"], + function ($, avalon, csrfTokenHeader, bsAlert) { + avalon.ready(function () { + if (avalon.vmodels.userList) { + var vm = avalon.vmodels.userList; + } + else { + var vm = avalon.define({ + $id: "userList", + userList: [], + userType: ["一般用户", "管理员", "超级管理员"], - // avalon:定义模式 userList - avalon.ready(function () { + keyword: "", + showAdminOnly: false, + isEditing: false, - if (avalon.vmodels.userList) { - var vm = avalon.vmodels.userList; - // initialize avalon object - userList = []; //previousPage= 0; nextPage= 0; page = 1; - //editingUserId= 0; totalPage = 1; keyword= ""; showAdminOnly= false; - //user editor fields - username= ""; realName= ""; email= ""; adminType= 0; id= 0; - } - else { - var vm = avalon.define({ - $id: "userList", - //通用变量 - userList: [], - previousPage: 0, - nextPage: 0, - page: 1, - editingUserId: 0, - totalPage: 1, - userType: ["一般用户", "管理员", "超级管理员"], - keyword: "", - showAdminOnly: false, - //编辑区域同步变量 - username: "", - realName: "", - email: "", - adminType: 0, - id: 0, - 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"; + username: "", + realName: "", + email: "", + adminType: 0, + userId: -1, + + pager: { + getPage: function (page) { + getPage(page); + } + }, + editUser: function (user) { + vm.username = user.username; + vm.realName = user.real_name; + vm.adminType = user.admin_type; + vm.email = user.email; + vm.userId = user.id; + + vm.isEditing = true; + }, + search: function () { + getPage(1); + avalon.vmodels.userPager.currentPage = 1; } - else { - return vm.previousPage ? "btn btn-primary" : "btn btn-primary disabled"; - } - }, - editUser: function (user) { //点击编辑按钮的事件,显示/隐藏编辑区 - vm.username = user.username; - vm.realName = user.real_name; - vm.adminType = user.admin_type; - vm.email = user.email; - vm.id = user.id; - if (vm.editingUserId == user.id) - vm.editingUserId = 0; - else - vm.editingUserId = user.id; - }, - search: function () { - getPageData(1); - } + }); + } + vm.$watch("showAdminOnly", function () { + getPage(1); + avalon.vmodels.userPager.currentPage = 1; }); - } - vm.$watch("showAdminOnly", function () { - getPageData(1); + + function getPage(page) { + var url = "/api/admin/user/?paging=true&page=" + page + "&page_size=10"; + if (vm.showAdminOnly == true) + url += "&admin_type=1"; + if (vm.keyword != "") + url += "&keyword=" + vm.keyword; + $.ajax({ + beforeSend: csrfTokenHeader, + url: url, + dataType: "json", + method: "get", + success: function (data) { + if (!data.code) { + vm.userList = data.data.results; + avalon.vmodels.userPager.totalPage = data.data.total_page; + } + else { + bsAlert(data.data); + } + } + }); + } + + $("#edit-user-form").validator() + .on('submit', function (e) { + if (!e.isDefaultPrevented()) { + var data = { + username: vm.username, + real_name: vm.realName, + email: vm.email, + id: vm.userId, + admin_type: vm.adminType + }; + if ($("#password").val() !== "") + data.password = $("#password").val(); + $.ajax({ + url: "/api/admin/user/", + data: data, + dataType: "json", + method: "put", + success: function (data) { + if (!data.code) { + bsAlert("编辑成功!"); + getPage(1); + $("#password").val(""); + vm.isEditing = false; + } else { + bsAlert(data.data); + } + } + }); + return false; + } + }); }); avalon.scan(); - getPageData(1); //用户列表初始化 - //Ajax get数据 - function getPageData(page) { - var url = "/api/admin/user/?paging=true&page=" + page + "&page_size=10"; - if (vm.showAdminOnly == true) - url += "&admin_type=1"; - if (vm.keyword != "") - url += "&keyword=" + vm.keyword; - $.ajax({ - beforeSend: csrfTokenHeader, - url: url, - dataType: "json", - method: "get", - success: function (data) { - if (!data.code) { - vm.userList = data.data.results; - vm.totalPage = data.data.total_page; - vm.previousPage = data.data.previous_page; - vm.nextPage = data.data.next_page; - vm.page = page; - } - else { - bsAlert(data.data); - } - } - }); - } - $("#edit_user-form").validator() - .on('submit', function (e) { - if (!e.isDefaultPrevented()) { - var data = { - username: vm.username, - real_name: vm.realName, - email: vm.email, - id: vm.id, - admin_type: vm.adminType - }; - if ($("#password").val() !== "") - data.password = $("#password").val(); - $.ajax({ - beforeSend: csrfTokenHeader, - url: "/api/admin/user/", - data: data, - dataType: "json", - method: "put", - success: function (data) { - if (!data.code) { - bsAlert("编辑成功!"); - getPageData(1); - $("#password").val(""); - } else { - bsAlert(data.data); - } - } - }); - return false; - } - }); - }); - -}) \ No newline at end of file + }); \ No newline at end of file diff --git a/template/src/admin/user/user_list.html b/template/src/admin/user/user_list.html index 8227997f..937696e2 100644 --- a/template/src/admin/user/user_list.html +++ b/template/src/admin/user/user_list.html @@ -16,7 +16,6 @@ ID 用户名 注册时间 - 最近登陆 真实姓名 电子邮箱 用户类型 @@ -26,7 +25,6 @@ {{ el.id }} {{ el.username }} {{ el.create_time|date("yyyy-MM-dd HH:mm:ss")}} - {{ el.last_login|date("yyyy-MM-dd HH:mm:ss")}} {{ el.real_name }} {{ el.email }} {{ userType[el.admin_type]}} @@ -39,17 +37,15 @@
- 页数:{{ page }}/{{ totalPage }}   - - +
-
+

修改用户信息

-
+
- +
-
@@ -80,7 +76,7 @@
- +