var ModuleMgr = function () { var exports = {}; exports.options = {}; exports.options.ParentId = ""; //初始化数据 exports.initGridPage = function () { //layout布局 $('#layout').layout({ applyDemoStyles: false, onresize: function () { $(window).resize(); }, height: $.fn.getLayoutHeight() }); //初始化 $(window).resize(function (e) { window.setTimeout(function () { $("#layout").css({ "height": $.fn.getLayoutHeight() }); $('#gridTable').setGridWidth(($('.gridPanel').width())); $("#gridTable").setGridHeight($.fn.getGridHeight()); $("#itemTree").setTreeHeight($.fn.getLayoutContentHeight()); }, 100); e.stopPropagation(); }); //查询条件 $("#queryCondition .dropdown-menu li").click(function () { var text = $(this).find('a').html(); var value = $(this).find('a').attr('data-value'); $("#queryCondition .dropdown-text").html(text).attr('data-value', value); }); //查询回车 $('#txt_Keyword').bind('keypress', function (event) { if (event.keyCode == "13") { $('.lr-search').trigger("click"); } }); //注册事件 $(".titlePanel").on("click", ".lr-replace,.lr-add,.lr-edit,.lr-delete,.lr-search", function () { var $this = $(this); //添加地址 if ($this.hasClass('lr-replace')) { reload(); } else if ($this.hasClass('lr-add')) { exports.btnAdd(); } else if ($this.hasClass('lr-edit')) { exports.btnEdit(); } else if ($this.hasClass('lr-delete')) { exports.btnDelete(); } else if ($this.hasClass('lr-search')) { exports.btnSearch(); } }); }; //加载树 exports.loadTree = function () { var item = { height: $.fn.getLayoutContentHeight(), url: "/content/supermgr/json/ModuleTree.json", onnodeclick: function (item) { exports.options.ParentId = item.id; $('.lr-search').trigger("click"); } }; //初始化 $("#itemTree").treeview(item); }; //加载Grid exports.loadGrid = function () { var selectedRowIndex = 0; exports.options.$gridTable = $("#gridTable"); exports.options.$gridTable.jqGrid({ datatype: "json", url: "/content/supermgr/json/ModuleGrid.json", height: $.fn.getGridHeight(), autowidth: true, colModel: [ { label: "主键", name: "Id", index: "Id", hidden: true }, { label: "编号", name: "EnCode", index: "EnCode", width: 150, align: "left" }, { label: "名称", name: "FullName", index: "FullName", width: 150, align: "left" }, { label: "地址", name: "UrlAddress", index: "UrlAddress", width: 350, align: "left" }, { label: "目标", name: "Target", index: "Target", width: 60, align: "center" }, { label: "菜单", name: "IsMenu", index: "IsMenu", width: 50, align: "center", formatter: function (cellvalue, options, rowObject) { return cellvalue == 1 ? "" : ""; } }, { label: "展开", name: "AllowExpand", index: "AllowExpand", width: 50, align: "center", formatter: function (cellvalue, options, rowObject) { return cellvalue == 1 ? "" : ""; } }, { label: "公共", name: "IsPublic", index: "IsPublic", width: 50, align: "center", formatter: function (cellvalue, options, rowObject) { return cellvalue == 1 ? "" : ""; } }, { label: "有效", name: "EnabledMark", index: "EnabledMark", width: 50, align: "center", formatter: function (cellvalue, options, rowObject) { return cellvalue == 1 ? "" : ""; } }, { label: "描述", name: "Description", index: "Description", width: 100, align: "left" } ], shrinkToFit: false, altclass: 'altRowsColour', rowNum: "10000", rownumbers: true, onSelectRow: function () { selectedRowIndex = $("#" + this.id).getGridParam('selrow'); }, gridComplete: function () { $("#" + this.id).setSelection(selectedRowIndex, false); } }); } //搜索 exports.btnSearch=function() { exports.options.$gridTable.jqGrid('setGridParam', { url: "/content/supermgr/json/ModuleGrid.json", postData: { ParentId: exports.options.ParentId, conditionJson: $("#queryCondition").find('.dropdown-text').attr('data-value'), searchKeyWord: $("#txt_Keyword").val() }, }).trigger('reloadGrid'); } //删除 exports.btnDelete= function () { var keyValue = $("#gridTable").jqGridRowValue("Id"); if (keyValue) { $.fn.deleteForm({ url: "/SysMgr/ModuleMgr/RemoveForm", param: { keyValue: keyValue }, success: function(data) { $("#gridTable").resetSelection(); $("#gridTable").trigger("reloadGrid"); } }); } else { $.fn.modalMsg('请选择需要删除的数据项!', "warning"); } } //编辑 exports.btnEdit=function() { var keyValue = $("#gridTable").jqGridRowValue("Id"); if (checkedRow(keyValue)) { $.fn.modalOpen({ id: "Form", title: '编辑功能', url: '/pages/supermgr/ModuleForm.html?keyValue=' + keyValue, width: "700px", height: "430px", btn: null }); } } //添加 exports.btnAdd = function() { if (!exports.options.ParentId) { $.fn.modalMsg('请在左侧选择某一项!', "warning"); return false; } $.fn.modalOpen({ id: "Form", title: '添加功能', url: '/pages/supermgr/ModuleForm.html?parentId=' + exports.options.ParentId, btn: null, width: "700px", height: "430px" }); }; /**********************表单************************/ //加载表单 exports.loadForm= function(readonly) { exports.options.KeyValue = $.fn.request('keyValue'); exports.options.ParentId = $.fn.request('parentId'); exports.options.ModuleId = $("#Id").val(); $(function () { //加载导向 $('#wizard').wizard().on('change', function (e, data) { var $finish = $("#btn_finish"); var $next = $("#btn_next"); if (data.direction == "next") { if (data.step == 1) { $finish.removeAttr('disabled'); $next.attr('disabled', 'disabled'); } else { $finish.attr('disabled', 'disabled'); } } else { $finish.attr('disabled', 'disabled'); $next.removeAttr('disabled'); } }); exports.initFormControl(readonly); exports.buttonOperation(); exports.getButtonGrid(); $('.selectmoduleicon').bind('click', function() { exports.btnModuleSelectIcon(); }); //为模块按钮管理注册事件 $(".modulebtn").on("click", ".lr-add-button,.lr-edit-button,.lr-delete-button,.lr-copy-button", function () { var $this = $(this); if ($this.hasClass('lr-add-button')) { exports.btnModuleBtnAdd(); } else if ($this.hasClass('lr-edit-button')) { exports.btnModuleBtnEdit(); } else if ($this.hasClass('lr-delete-button')) { exports.btnModuleBtnDelete(); } else if ($this.hasClass('lr-copy-button')) { exports.btnModuleBtnCopy(); } }); }); } /** * 选取模块图标 * @returns {} */ exports.btnModuleSelectIcon = function () { $.fn.modalOpen({ id: "SelectIcon", title: '选取图标', url: '/SysMgr/ModuleMgr/SelectIcon?ControlId=Icon', width: "1000px", height: "600px", btn: false, allowOverParent:true }); } //初始化表单 exports.initFormControl = function (readonly) { //目标 $("#Target").ComboBox({ description: "==请选择==", height: "200px" }); //上级 $("#ParentId").ComboBoxTree({ url: "/content/supermgr/json/ModuleTree.json", description: "==请选择==", height: "195px", allowSearch: true }); //获取表单 if (!!exports.options.KeyValue) { $.fn.setForm({ url: "/content/supermgr/json/ModuleFrom.json", param: { keyValue: exports.options.KeyValue }, success: function (data) { $("#form1").SetWebControls(data); if (data.IsMenu === 1) { $("#btn_next").removeAttr('disabled'); $("#btn_finish").attr('disabled', 'disabled'); } if (readonly) { $("#form1").find('.form-control,.ui-select,input').attr('disabled', 'disabled'); } } }); } else { $("#ParentId").ComboBoxTreeSetValue(exports.options.ParentId); } } //保存表单 exports.acceptClick = function () { if (!$('#form1').Validform()) { return false; } var postData = $("#form1").GetWebControls(exports.options.KeyValue); if (postData["ParentId"] == "") { postData["ParentId"] = 0; } postData["moduleButtonListJson"] = JSON.stringify(exports.options.ButtonJson); // postData["moduleColumnListJson"] = JSON.stringify(exports.options.ColumnJson); $.fn.submitForm({ url: "/SysMgr/ModuleMgr/SaveForm?keyValue=" + exports.options.KeyValue, param: postData, loading: "正在保存数据...", success: function() { $.currentIframe().$("#gridTable").trigger("reloadGrid"); } }); } /** * 按钮操作(上一步、下一步、完成、关闭) * @returns {} */ exports.buttonOperation=function() { var $last = $("#btn_last"); var $next = $("#btn_next"); var $finish = $("#btn_finish"); //如果是菜单,开启 上一步、下一步 $("#IsMenu").click(function () { if (!$(this).attr("checked")) { $(this).attr("checked", true) $next.removeAttr('disabled'); $finish.attr('disabled', 'disabled'); } else { $(this).attr("checked", false) $next.attr('disabled', 'disabled'); $finish.removeAttr('disabled'); } }); //完成提交保存 $finish.click(function() { exports.acceptClick(); }); } /** * 获取按钮列表 * @returns {} */ exports.getButtonGrid = function () { var moduleId = exports.options.ModuleId; $.ajax({ url: "/content/supermgr/json/ModuleButtonList.json?moduleId=" + escape(moduleId), type: "get", dataType: "json", success: function (data) { exports.options.ButtonJson = data; window.ButtonJson = exports.options.ButtonJson; }, }); exports.options.$buttonGrid = $("#gridTable-button"); exports.options.$buttonGrid.jqGrid({ unwritten: false, url: "/content/supermgr/json/ModuleButtonTree.json?moduleId=" + escape(moduleId), datatype: "json", height: $(window).height() - 121, width: $(window).width() - 11, colModel: [ { label: "主键", name: "Id", hidden: true }, { label: "名称", name: "FullName", width: 140, align: "left", sortable: false }, { label: "编号", name: "EnCode", width: 140, align: "left", sortable: false }, { label: "地址", name: "ActionAddress", width: 500, align: "left", sortable: false }, ], treeGrid: true, treeGridModel: "nested", ExpandColumn: "EnCode", rowNum: "all", rownumbers: true }); } /** * 添加模块按钮 * @returns {} */ exports.btnModuleBtnAdd=function() { var parentId = $("#gridTable-button").jqGridRowValue("Id"); $.fn.modalOpen({ id: "buttonForm", title: '添加按钮', url: '/SysMgr/ModuleMgr/ButtonForm?parentId=' + parentId + "&moduleId=" + escape(exports.options.ModuleId), width: "450px", height: "300px", callBack: function (iframeId) { top.frames[iframeId].buttonAcceptClick(function (data) { exports.options.ButtonJson.push(data); exports.buttonListToListTreeJson(exports.options.ButtonJson); window.ButtonJson = exports.options.ButtonJson; }); } }); } /** * 编辑模块按钮 * @returns {} */ exports.btnModuleBtnEdit=function() { var moduleButtonId = $("#gridTable-button").jqGridRowValue("Id"); if (checkedRow(moduleButtonId)) { $.fn.modalOpen({ id: "buttonForm", title: '编辑按钮', url: '/SysMgr/ModuleMgr/ButtonForm?moduleButtonId=' + moduleButtonId + "&moduleId=" + +escape(exports.options.ModuleId), width: "450px", height: "300px", callBack: function (iframeId) { top.frames[iframeId].buttonAcceptClick(function (data) { $.each(exports.options.ButtonJson, function (i) { if (exports.options.ButtonJson[i].Id == moduleButtonId) { exports.options.ButtonJson[i] = data; } }); exports.buttonListToListTreeJson(exports.options.ButtonJson); window.ButtonJson = exports.options.ButtonJson; }); } }); } } /** * 删除模块按钮 * @returns {} */ exports.btnModuleBtnDelete = function() { var moduleButtonId = $("#gridTable-button").jqGridRowValue("Id"); if (checkedRow(moduleButtonId)) { $.each(exports.options.ButtonJson, function(i) { if (exports.options.ButtonJson[i].Id == moduleButtonId) { exports.options.ButtonJson.splice(i, 1); exports.buttonListToListTreeJson(exports.options.ButtonJson); window.ButtonJson = exports.options.ButtonJson; return false; } }); } }; /** * 复制模块按钮 * @returns {} */ exports.btnModuleBtnCopy=function() { var moduleButtonId = $("#gridTable-button").jqGridRowValue("Id"); if (checkedRow(moduleButtonId)) { $.fn.modalOpen({ id: "OptionModule", title: '将按钮复制到指定功能里面', url: '/SysMgr/ModuleMgr/ButtonOptionModule?keyValue=' + moduleButtonId, width: "500px", height: "500px", callBack: function (iframeId) { top.frames[iframeId].buttonOptionModuleLoadForm(); } }); } } /** * 处理Json * @param {} buttonJson * @returns {} */ exports.buttonListToListTreeJson= function (buttonJson) { $.ajax({ url: "/SysMgr/ModuleMgr/ModuleButtonListToListTreeJson", data: { moduleButtonJson: JSON.stringify(buttonJson) }, type: "post", dataType: "json", success: function (data) { exports.options.$buttonGrid.clearGridData(); exports.options.$buttonGrid[0].addJSONData(data); }, }); } ///*************************按钮Form页*********************************************** /** * 按钮Form加载 * @returns {} */ exports.buttonLoadForm = function () { exports.options.ParentId = $.fn.request('parentId'); exports.options.ModuleButtonId = $.fn.request('moduleButtonId'); exports.options.ModuleId = $.fn.request('moduleId'); $(function() { exports.buttonInitControl(); }); } /** * 按钮 * @returns {} */ exports.buttonInitControl = function () { var dataJson = top.Form.ButtonJson; //上级 $("#ParentId").ComboBoxTree({ url: "/content/supermgr/json/ModuleButtonList.json", param: { moduleButtonJson: JSON.stringify(dataJson) }, method: "post", description: "==请选择==", height: "150px" }); if (!!exports.options.ModuleButtonId) { $.each(dataJson, function (i) { var row = dataJson[i]; if (row.Id === exports.options.ModuleButtonId) { $("#form1").SetWebControls(row); } }); } else { $("#ModuleId").val(exports.options.ModuleId); if (!!exports.options.ParentId) { $("#ParentId").ComboBoxTreeSetValue(exports.options.ParentId); } else { $("#ParentId").ComboBoxTreeSetValue(0); } } } /** * 按钮保存表单 * @returns {} */ exports.buttonAcceptClick = function(callback) { if (!$('#form1').Validform()) { return false; } var data = $("#form1").GetWebControls(exports.options.ModuleButtonId); if (data["ParentId"] == "") { data["ParentId"] = 0; } if (data["ModuleId"] == "") { data["ModuleId"] = newGuid(); } callback(data); $.fn.modalClose(); }; /** * 复制按钮操作Form * @returns {} */ exports.buttonOptionModuleLoadForm = function () { exports.options.KeyValue = $.fn.request('keyValue'); $(function() { exports.buttonGetModuleTree(); }); } /** * 加载功能模块树 * @returns {} */ exports.buttonGetModuleTree = function () { var item = { onnodeclick: function (item) { exports.options.ModuleId = item.id; }, url: "/content/supermgr/json/ModuleButtonTree.json" }; $("#ModuleTree").treeview(item); } /** * 按钮复制保存 * @returns {} */ exports.buttonOptionModuleAcceptClick=function() { if (exports.options.ModuleId) { $.fn.setForm({ url: "/SysMgr/ModuleMgr/ModuleButtonCopyForm", param: { keyValue: exports.options.KeyValue, moduleId: exports.options.ModuleId }, loading: "正在提交数据...", success: function () { } }) } else { $.fn.modalMsg('请选择系统功能!', "warning"); } } return exports; };