var ResManager = {
UserGrid: undefined,
Server: function () {
var config = (function () {
var URL_GetList = "/SystemSet/ResAjax/GetResMenuList";
var URL_Delete = "/SystemSet/ResAjax/DeleteResMenu";
var URL_Add = "/SystemSet/ResAjax/AddResMenu";
var URL_ToExcel = "/SystemSet/ResAjax/ToExcel";
return {
URL_GetList: URL_GetList,
URL_Delete: URL_Delete,
URL_Add: URL_Add,
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 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,
ToExcel: ToExcel
}
})($, config);
return dataServer;
},
Dialog: function (ResNum, Command) {
var submit = function (v, h, f) {
if (v) {
var ResNum = h.find('input[name="ResNum"]').val();
var ResName = h.find('input[name="ResName"]').val();
var ParentName = h.find('select[name="ParentName"]').val();
var Url = h.find('input[name="Url"]').val();
var ResType = h.find('input[name="ResType"]').val();
var CssName = h.find('input[name="CssName"]').val();
if (git.IsEmpty(ResNum)) {
$.jBox.tip("请输入菜单编号", "warn");
return false;
} else {
if (ResNum.indexOf("_") < 0) {
ResNum += "_";
}
}
if (git.IsEmpty(ResName)) {
$.jBox.tip("请输入菜单名称", "warn");
return false;
}
var param = {};
param["Operation"] = Command;
param["ResNum"] = ResNum;
param["ResName"] = ResName;
param["ParentName"] = ParentName;
param["Url"] = Url;
param["ResType"] = ResType;
param["CssName"] = CssName;
var Server = ResManager.Server();
Server.Add(param, function (result) {
if (result.Code == 1) {
var pageSize = $("#mypager").pager("GetPageSize");
var pageIndex = $("#mypager").pager("GetCurrent");
if (Command == "Add") {
ResManager.PageClick(pageIndex, pageSize);
} else if (Command == "Edit") {
ResManager.Refresh();
}
} else {
$.jBox.tip(result.Message, "warn");
}
});
}
}
//窗体加载完成回调事件
var loaded = function (h) {
h.find('input[name="ResNum"]').attr("disabled", true);
}
if (Command == "Add") {
$.jBox.open("get:/SystemSet/ResMenu/AddResMenu", "新增菜单", 650, 250, { buttons: { "确定": true, "关闭": false }, submit: submit });
} else if (Command == "Edit") {
$.jBox.open("get:/SystemSet/ResMenu/AddResMenu?ResNum=" + ResNum, "编辑菜单", 650, 250, { buttons: { "确定": true, "关闭": false }, submit: submit, loaded: loaded });
}
},
PageClick: function (PageIndex, PageSize) {
$.jBox.tip("正在努力加载数据...", "loading");
var Server = ResManager.Server();
var search = ResManager.GetSearch();
search["PageIndex"] = PageIndex;
search["PageSize"] = PageSize;
console.log(JSON.stringify(search));
Server.GetList(search, function (result) {
ResManager.SetTable(result);
$.jBox.closeTip();
});
},
Refresh: function () {
var PageSize = $("#mypager").pager("GetPageSize");
var PageIndex = $("#mypager").pager("GetCurrent");
$.jBox.tip("正在努力加载数据...", "loading");
var Server = ResManager.Server();
var search = ResManager.GetSearch();
search["PageIndex"] = PageIndex;
search["PageSize"] = PageSize;
Server.GetList(search, function (result) {
ResManager.SetTable(result);
$.jBox.closeTip();
});
},
SetTable: function (result) {
var ht = masterUI.MMGridHeight();
var cols = [
{
title: '菜单编号', name: 'ResNum', width: 100, align: 'left', lockWidth: false, sortable: true, renderer: function (data, item, rowIndex) {
return data;
}
},
{
title: '菜单名称', name: 'ResName', width: 100, align: 'left', lockWidth: false, sortable: true, renderer: function (data, item, rowIndex) {
return data;
}
},
{
title: '父级菜单', name: 'ParentName', width: 100, align: 'center', lockWidth: false, sortable: true, renderer: function (data, item, rowIndex) {
return data;
}
},
{
title: '类型', name: 'ResType', width: 90, align: 'left', lockWidth: false, sortable: true, renderer: function (data, item, rowIndex) {
return data;
}
},
{
title: '样式', name: 'CssName', width: 100, align: 'left', lockWidth: false, sortable: true, renderer: function (data, item, rowIndex) {
return data;
}
},
{
title: '路径', name: 'Url', width: 160, align: 'left', lockWidth: false, sortable: true, renderer: function (data, item, rowIndex) {
return data;
}
},
{
title: '创建人', name: 'CreatUser', width: 70, align: 'center', hidden: true, lockWidth: false, sortable: true, renderer: function (data, item, rowIndex) {
return data;
}
},
{
title: '创建时间', name: 'CreatTime', width: 160, align: 'center', hidden: true, lockWidth: false, sortable: true, renderer: function (data, item, rowIndex) {
return git.JsonToDateTimeto(data);
}
},
{
title: '更新人', name: 'UpdateUser', width: 70, align: 'center', hidden: true, lockWidth: false, sortable: true, renderer: function (data, item, rowIndex) {
return data;
}
},
{
title: '更新时间', name: 'UpdateTime', width: 160, align: 'center', hidden: true, lockWidth: false, sortable: true, renderer: function (data, item, rowIndex) {
return git.JsonToDateTimeto(data);
}
},
{
title: '操作', name: 'ID', width: 80, align: 'left', lockWidth: false, renderer: function (data, item, rowIndex) {
var html = "";
html += '编辑 ';
//html += '打印 ';
//html += '删除 ';
return html;
}
},
];
if (this.UserGrid == undefined) {
this.UserGrid = $("#tabList").mmGrid({
cols: cols,
items: result.Result.List,
checkCol: true,
nowrap: true,
fullWidthRows: true,
remoteSort: true,
multiSelect: true,
height: ht
});
//绑定事件
ResManager.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: ResManager.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 ResNum = item.ResNum;
ResManager.Dialog(ResNum, "Edit");
} else if ($(e.target).is("a.delete")) {
var ResNum = item.ResNum;
var submit = function (v, h, f) {
if (v == "ok") {
var list = [];
list.push(ResNum);
var param = {};
param["list"] = JSON.stringify(list);
var Server = ResManager.Server();
Server.Delete(param, function (result) {
$.jBox.tip(result.Message, "success");
var pageSize = $("#mypager").pager("GetPageSize");
ResManager.PageClick(1, pageSize);
});
}
}
$.jBox.confirm("确定要删除该菜单吗?", "提示", submit);
} else if ($(e.target).is("a.pass")) {
var ResNum = item.ResNum;
ResManager.AdminPass(ResNum);
}
});
},
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].ResNum);
}
}
}
return list;
},
GetSearch: function () {
var searchBar = $("div[data-condition='search']");
var ResNum = searchBar.find("input[name='ResNum']").val();
var ResName = searchBar.find("input[name='ResName']").val();
var ParentNum = searchBar.find("select[name='ParentName']").val();
var search = {};
search["ResNum"] = ResNum;
search["ResName"] = ResName;
search["ParentNum"] = ParentNum;
return search;
},
ToolBar: function () {
//工具栏按钮点击事件
$("div.toolbar").find("a.btn").click(function () {
var command = $(this).attr("data-command");
if (command == "Add") {
ResManager.Dialog(undefined, command);
} else if (command == "Edit") {
var list = ResManager.GetSelect();
if (list.length == 0) {
$.jBox.tip("请选择要编辑的项", "warn");
return false;
}
var UserNum = list[0];
ResManager.Dialog(UserNum, command);
} else if (command == "Delete") {
var submit = function (v, h, f) {
if (v == "ok") {
var list = ResManager.GetSelect();
if (list.length == 0) {
$.jBox.tip("请选择要删除的项", "warn");
return false;
}
var param = {};
param["list"] = JSON.stringify(list);
var Server = ResManager.Server();
Server.Delete(param, function (result) {
$.jBox.tip(result.Message, "success");
var pageSize = $("#mypager").pager("GetPageSize");
ResManager.PageClick(1, pageSize);
});
}
}
$.jBox.confirm("确定要删除该菜单吗?", "提示", submit);
} else if (command == "Excel") {
var list = ResManager.GetSelect();
if (list.length == 0) {
$.jBox.tip("请选择要导出的项", "warn");
return false;
}
var param = {};
param["list"] = JSON.stringify(list);
var Server = ResManager.Server();
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") {
ResManager.Refresh();
}
});
//搜索
var searchBar = $("div[data-condition='search']");
searchBar.find("a[data-command='search']").click(function () {
ResManager.PageClick(1, 50);
});
//监听回车事件,用于扫描
$("input[name='ResNum']").keydown(function (event) {
if (event.keyCode == 13) {
var value = $(this).val();
if (!git.IsEmpty(value)) {
ResManager.PageClick(1, 50);
setTimeout(function () {
$("input[name='ResNum']").val("");
$("input[name='ResNum']").focus();
}, 300);
}
}
});
$("input[name='ResNum']").focus();
//加载默认数据
ResManager.PageClick(1, 50);
}
};