var RoleManager = {
UserGrid: undefined,
Server: function () {
var config = (function () {
var URL_GetList = "/SystemSet/RoleAjax/GetRoleList";
var URL_Delete = "/SystemSet/RoleAjax/DeleteRoles";
var URL_Add = "/SystemSet/RoleAjax/AddRole";
var URL_AddPermisson = "/SystemSet/RoleAjax/AddPermisson";
var URL_GetPermisson = "/SystemSet/RoleAjax/GetPermissionTree";
var URL_ToExcel = "/SystemSet/RoleAjax/ToExcel";
return {
URL_GetList: URL_GetList,
URL_Delete: URL_Delete,
URL_Add: URL_Add,
URL_AddPermisson: URL_AddPermisson,
URL_GetPermisson: URL_GetPermisson,
URL_ToExcel: URL_ToExcel
};
})();
//数据操作服务
var dataServer = (function ($, config) {
//查询分页列表
var GetList = function (data, callback) {
$.gitAjax({
url: config.URL_GetList,
data: { ajaxdata: JSON.stringify(data) },
type: "post",
dataType: "json",
success: function (result) {
if (callback != undefined && typeof callback == "function") {
callback(result);
}
}
});
}
var Delete = function (data, callback) {
$.gitAjax({
url: config.URL_Delete,
data: data,
type: "post",
dataType: "json",
success: function (result) {
if (callback != undefined && typeof callback == "function") {
callback(result);
}
}
});
}
var Add = function (data, callback) {
$.gitAjax({
url: config.URL_Add,
data: { ajaxdata: JSON.stringify(data) },
type: "post",
dataType: "json",
success: function (result) {
if (callback != undefined && typeof callback == "function") {
callback(result);
}
}
});
}
var AddPermisson = function (data, callback) {
$.gitAjax({
url: config.URL_AddPermisson,
data: { ajaxdata: JSON.stringify(data) },
type: "post",
dataType: "json",
success: function (result) {
if (callback != undefined && typeof callback == "function") {
callback(result);
}
}
});
}
var GetPermisson = function (data, callback) {
$.gitAjax({
url: config.URL_GetPermisson,
data: data,
type: "post",
dataType: "json",
success: function (result) {
if (callback != undefined && typeof callback == "function") {
callback(result);
}
}
});
}
var ToExcel = function (data, callback) {
$.gitAjax({
url: config.URL_ToExcel,
data: data,
type: "post",
dataType: "json",
success: function (result) {
if (callback != undefined && typeof callback == "function") {
callback(result);
}
}
});
}
return {
GetList: GetList,
Delete: Delete,
Add: Add,
AddPermisson: AddPermisson,
GetPermisson: GetPermisson,
ToExcel: ToExcel
}
})($, config);
return dataServer;
},
Dialog: function (RoleNum, Command) {
var submit = function (v, h, f) {
if (v) {
var RoleNum = h.find('input[name="RoleNum"]').val();
var RoleName = h.find('input[name="RoleName"]').val();
var Remark = h.find('input[name="Demo"]').val();
if (git.IsEmpty(RoleNum)) {
$.jBox.tip("请输入角色编号!", "warn");
return false;
}
if (git.IsEmpty(RoleName)) {
$.jBox.tip("请输入角色名!", "warn");
return false;
}
var param = {};
param["Operation"] = Command;
param["RoleName"] = RoleName;
param["RoleNum"] = RoleNum;
param["Demo"] = Remark;
var Server = RoleManager.Server();
Server.Add(param, function (result) {
if (result.Code == 1) {
var pageSize = $("#mypager").pager("GetPageSize");
var pageIndex = $("#mypager").pager("GetCurrent");
if (Command == "Add") {
RoleManager.PageClick(1, pageSize);
} else if (Command == "Edit") {
RoleManager.Refresh();
}
} else {
$.jBox.tip(result.Message, "warn");
}
});
}
}
//窗体加载完成回调事件
var loaded = function (h) {
h.find('input[name="RoleNum"]').attr("disabled", true);
}
if (Command == "Add") {
$.jBox.open("get:/SystemSet/RoleList/AddRole", "新增角色", 310, 220, { buttons: { "确定": true, "关闭": false }, submit: submit });
} else if (Command == "Edit") {
$.jBox.open("get:/SystemSet/RoleList/AddRole?RoleNum=" + RoleNum, "编辑角色", 310, 220, { buttons: { "确定": true, "关闭": false }, submit: submit, loaded: loaded });
}
},
PageClick: function (PageIndex, PageSize) {
$.jBox.tip("正在努力加载数据...", "loading");
var Server = RoleManager.Server();
var search = RoleManager.GetSearch();
search["PageIndex"] = PageIndex;
search["PageSize"] = PageSize;
//console.log(JSON.stringify(search));
Server.GetList(search, function (result) {
RoleManager.SetTable(result);
$.jBox.closeTip();
});
},
//分配权限
EditPermission: function (RoleNum,RoleGuid) {
var submit = function (v, h, f) {
if (v) {
var param = {};
param["RoleNum"] = RoleNum;
param["ResNum"] = String($("#permissionTree").getCheckedNodes());
var Server = RoleManager.Server();
Server.AddPermisson(param, function (result) {
if (result.Code == 1) {
$.jBox.tip(result.Message, "success");
} else {
$.jBox.tip(result.Message, "warn");
}
});
return false;
}
}
var loaded = function (h) {
var param = {};
param["RoleNum"] = RoleNum;
var Server = RoleManager.Server();
Server.GetPermisson(param, function (result) {
var o = { showcheck: true };
o.data = result;
$("#permissionTree").treeview(o);
});
}
$.jBox.open("get:/SystemSet/RoleList/RolePermisson?RoleNum=" + RoleNum + "&RoleGuid=" + RoleGuid ,"分配权限", 600, 805, { buttons: { "关闭": false }, top: '2%', submit: submit, loaded: loaded });
},
Refresh: function () {
var PageSize = $("#mypager").pager("GetPageSize");
var PageIndex = $("#mypager").pager("GetCurrent");
var Server = RoleManager.Server();
var search = RoleManager.GetSearch();
search["PageIndex"] = PageIndex;
search["PageSize"] = PageSize;
Server.GetList(search, function (result) {
RoleManager.SetTable(result);
$.jBox.closeTip();
});
},
SetTable: function (result) {
var ht = masterUI.MMGridHeight();
var cols = [
{
title: '角色编号', name: 'RoleNum', width: 80, align: 'center', lockWidth: false, sortable: true, renderer: function (data, item, rowIndex) {
return data;
}
},
{
title: '角色名', name: 'RoleName', width: 140, align: 'center', lockWidth: false, sortable: true, renderer: function (data, item, rowIndex) {
return data;
}
},
{
title: '创建人', name: 'CreatUser', width: 100, align: 'center', lockWidth: false, sortable: true, renderer: function (data, item, rowIndex) {
return data;
}
},
{
title: '创建时间', name: 'CreatTime', width: 160, align: 'center', lockWidth: false, sortable: true, renderer: function (data, item, rowIndex) {
return git.JsonToDateTimeto(data);
}
},
{
title: '更新人', name: 'UpdateUser', width: 100, align: 'center', lockWidth: false, sortable: true, renderer: function (data, item, rowIndex) {
return data;
}
},
{
title: '更新时间', name: 'UpdateTime', width: 160, align: 'center', lockWidth: false, sortable: true, renderer: function (data, item, rowIndex) {
return git.JsonToDateTimeto(data);
}
},
{
title: '备注', name: 'Demo', width: 180, align: 'center', lockWidth: false, sortable: false, renderer: function (data, item, rowIndex) {
return data;
}
},
{
title: '操作', name: 'ID', width: 100, align: 'left', lockWidth: false, renderer: function (data, item, rowIndex) {
var html = "";
html += '编辑 ';
html += '分配权限 ';
return html;
}
},
];
if (this.UserGrid == undefined) {
var ht = masterUI.MMGridHeight();
this.UserGrid = $("#tabList").mmGrid({
cols: cols,
items: result.Result.List,
checkCol: true,
nowrap: true,
fullWidthRows: true,
remoteSort: true,
multiSelect: true,
height: ht
});
//绑定事件
RoleManager.BindEvent();
} else {
this.UserGrid.load(result.Result.List);
}
var pageInfo = result.PageInfo;
if (pageInfo != undefined) {
$("#mypager").pager({ pagenumber: pageInfo.PageIndex, recordCount: pageInfo.RowCount, pageSize: pageInfo.PageSize, buttonClickCallback: RoleManager.PageClick });
}
},
BindEvent: function () {
this.UserGrid.off("loadSuccess").on('loadSuccess', function (e, data) {
LoadBtn.SetBtn();
});
//编辑删除事件都绑定
this.UserGrid.off("cellSelected").on("cellSelected", function (e, item, rowIndex, colIndex) {
if ($(e.target).is("a.edit")) {
var RoleNum = item.RoleNum;
RoleManager.Dialog(RoleNum, "Edit");
} else if ($(e.target).is("a.delete")) {
var RoleNum = item.RoleNum;
var submit = function (v, h, f) {
if (v == "ok") {
var list = [];
list.push(RoleNum);
var param = {};
param["list"] = JSON.stringify(list);
var Server = RoleManager.Server();
Server.Delete(param, function (result) {
$.jBox.tip(result.Message, "success");
var pageSize = $("#mypager").pager("GetPageSize");
RoleManager.PageClick(1, pageSize);
});
}
}
$.jBox.confirm("确定要删除该账号吗?", "提示", submit);
} else if ($(e.target).is("a.permission")) {
var RoleNum = item.RoleNum;
var Guid = item.guid;
RoleManager.EditPermission(RoleNum, Guid);
}
});
},
GetSelect: function () {
var list = [];
if (this.UserGrid != undefined) {
var rows = this.UserGrid.selectedRows();
if (rows != undefined && rows.length > 0) {
for (var i = 0; i < rows.length; i++) {
list.push(rows[i].RoleNum);
}
}
}
return list;
},
GetSearch: function () {
var searchBar = $("div[data-condition='search']");
var RoleNum = searchBar.find("input[name='RoleNum']").val();
var RoleName = searchBar.find("input[name='RealName']").val();
var search = {};
search["RoleNum"] = RoleNum;
search["RoleName"] = RoleName;
return search;
},
ToolBar: function () {
//工具栏按钮点击事件
$("div.toolbar").find("a.btn").click(function () {
var command = $(this).attr("data-command");
if (command == "Add") {
RoleManager.Dialog(undefined, command);
} else if (command == "Edit") {
var list = RoleManager.GetSelect();
if (list.length == 0) {
$.jBox.tip("请选择要编辑的项", "warn");
return false;
}
var UserNum = list[0];
RoleManager.Dialog(UserNum, command);
} else if (command == "Delete") {
var list = RoleManager.GetSelect();
if (list.length == 0) {
$.jBox.tip("请选择要删除的项", "warn");
return false;
}
var param = {};
param["list"] = JSON.stringify(list);
var submit = function (v, h, f) {
if (v == "ok") {
var Server = RoleManager.Server();
Server.Delete(param, function (result) {
var pageSize = $("#mypager").pager("GetPageSize");
RoleManager.PageClick(1, pageSize);
$.jBox.messager(result.Message, "提示");
});
}
}
$.jBox.confirm("确定要删除吗?", "提示", submit);
} else if (command == "Excel") {
var list = RoleManager.GetSelect();
if (list.length == 0) {
$.jBox.tip("请选择要导出的项", "warn");
return false;
}
var param = {};
param["list"] = JSON.stringify(list);
var Server = RoleManager.Server();
//var search = RoleManager.GetSearch();
Server.ToExcel(param, function (result) {
if (result.Code == 1000) {
var path = unescape(result.Message);
window.location.href = path;
} else {
$.jBox.info(result.Message, "提示");
}
});
} else if (command == "Refresh") {
RoleManager.Refresh();
}
});
//搜索
var searchBar = $("div[data-condition='search']");
searchBar.find("a[data-command='search']").click(function () {
RoleManager.PageClick(1, 15);
});
//监听回车事件,用于扫描
$("input[name='RoleNum']").keydown(function (event) {
if (event.keyCode == 13) {
var value = $(this).val();
if (!git.IsEmpty(value)) {
RoleManager.PageClick(1, 15);
setTimeout(function () {
$("input[name='RoleNum']").val("");
$("input[name='RoleNum']").focus();
}, 300);
}
}
});
$("input[name='RoleNum']").focus();
//加载默认数据
RoleManager.PageClick(1, 15);
}
};