role.js 2.92 KB
/**
 * 角色管理
 */
var role = function() {

	return {

		/** 添加准备 */
		beforeAdd : function() {
			$("#addRole").form("clear");
			role.createTree();
			$('#dd').dialog("open");
		},

		/** 生成权限树状图 */
		createTree : function() {
			$('#tt').tree({
				url : '/function/search',
				method : 'post',
				checkbox : true,
				animate : true
			});
		},

		/** 修改角色 */
		beforeUpdate : function() {
			var row = $("#dg").datagrid("getSelected");
			if (row) {
				$("#addRole").form("load", row);
				// 生成树
				$('#tt').tree({
					url : '/function/search?roleId=' + row.id,
					method : 'post',
					checkbox : true,
					animate : true
				});
				$("#dd").dialog("setTitle", "修改角色").dialog("open");
			}
		},

		/** 删除角色 */
		deleteRole : function() {
			var rows = $("#dg").datagrid("getChecked");
			if (rows.length == 0) {
				$.messager.alert('Warning', '请选择要删除的角色');
				return;
			}
			var ids = new Array();
			for (var i = 0; i < rows.length; i++) {
				ids.push(rows[i].id);
			}
			$.messager.confirm('Confirm', '确定要删除此角色吗?', function(ok) {
				if (ok) {
					$.post('/role/delete', {
						ids : ids.join(',')
					}, function(result) {
						$.messager.show({
							title : '信息',
							msg : '角色已删除'
						});
					}, 'json');
					$('#dg').datagrid('reload');
				}
			});
		}
	}
}();

$(function() {
	$('#dg').datagrid({
		url : '/role/search',
		fitColumns : true,
		rownumbers : true,
		remoteSort : false,
		pagination : true,
		singleSelect : true,
		striped : true,
		toolbar : '#toolbar',
		fit : true,
		pageSize : 20,
		columns : [ [ {
			field : 'CK',
			title : '选择',
			checkbox : true,
			align : 'center',
			width : 100
		}, {
			field : 'roleName',
			title : '角色名称',
			width : 200,
			align : 'center'
		}, {
			field : 'roleDescription',
			title : '角色描述',
			width : 200,
			align : 'center'
		} ] ],
		onRowContextMenu : Menu
	})

	function Menu(e, row) {
		e.preventDefault();
		$('#oo').menu('show', {
			left : e.pageX,
			top : e.pageY
		});
	}

	$('#dd').dialog({
		title : '添加角色',
		width : 400,
		height : 'auto',
		closed : true,
		top : 100,
		buttons : [ {
			text : '提交',
			iconCls : 'icon-ok',
			handler : function() {
				var nodes = $('#tt').tree('getChecked');
				var nodes1 = $('#tt').tree('getChecked', 'indeterminate');
				var s = [];
				for (var i = 0; i < nodes.length; i++) {
					s.push(nodes[i].id);
				}
				for (var i = 0; i < nodes1.length; i++) {
					s.push(nodes1[i].id);
				}
				$('#fid').val(s.join(','));
				$("#addRole").form('submit', {
					url : '/role/add',
					onSubmit : function() {
						return $("#addRole").form("validate");
					},
					success : function(data) {
						$.messager.show({
							title : '信息',
							msg : '添加成功'
						});
						$('#dg').datagrid('reload');
						$("#dd").dialog("close");
					}
				});
			}
		} ]
	});
})