Explorar el Código

分组管理功能

git-svn-id: https://192.168.57.71/svn/jsgkj@874 931142cf-59ea-a443-aa0e-51397b428577
ld_zhouk hace 8 años
padre
commit
4a897dc3a5

+ 1 - 1
gkaqv2/trunk/modules/web/src/main/java/com/xt/js/gkaq/web/ctl/DictCtl.java

@@ -141,7 +141,7 @@ public class DictCtl extends BaseCtl {
 
     @RequestMapping("findDicts")
     @ResponseBody
-    public String findDicts(String pcode) {
+    public String getDictList(String pcode) {
 
         List<ComboBoxDto> list = codeService.findByPcode(pcode);
         return JSONArray.toJSONString(list);

+ 164 - 0
gkaqv2/trunk/modules/web/src/main/java/com/xt/js/gkaq/web/ctl/GroupCtl.java

@@ -0,0 +1,164 @@
+package com.xt.js.gkaq.web.ctl;
+
+import java.io.UnsupportedEncodingException;
+import java.util.List;
+
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import com.xt.js.gkaq.common.BaseCtl;
+import com.xt.js.gkaq.frame.model.GroupButtonModel;
+import com.xt.js.gkaq.frame.model.GroupMenuModel;
+import com.xt.js.gkaq.frame.model.GroupModel;
+import com.xt.js.gkaq.frame.model.GroupModelDto;
+import com.xt.js.gkaq.frame.service.GroupButtonService;
+import com.xt.js.gkaq.frame.service.GroupMenuService;
+import com.xt.js.gkaq.frame.service.GroupService;
+import com.xt.js.gkaq.web.vo.GroupVo;
+import com.yuanxd.tools.pagehelper.PageHelper;
+import com.yuanxd.tools.pagehelper.PageInfo;
+import com.yuanxd.tools.utils.WebJsonResult;
+import com.yuanxd.tools.utils.string.StringUtils;
+
+@Controller
+@RequestMapping(value = "/group")
+public class GroupCtl extends BaseCtl {
+    @Autowired
+    private GroupService groupService;
+    @Autowired
+    private GroupMenuService groupMenuService;
+    @Autowired
+    private GroupButtonService groupButtonService;
+
+    @RequestMapping("")
+    public String index(Model model) {
+        return "frame/group";
+    }
+
+    /**
+     * 初始化页面加载数据
+     * @throws UnsupportedEncodingException 
+     */
+    @RequestMapping("list")
+    @ResponseBody
+    public PageInfo<GroupModelDto> getPageInfo(GroupVo vo) throws UnsupportedEncodingException {
+        // 初始化参数
+        if (null == vo.getPage() || vo.getPage() < 1) {
+            vo.setPage(1);
+        }
+        if (null == vo.getRows() || vo.getRows() < 1) {
+            vo.setRows(1);
+        }
+        PageHelper.startPage(vo.getPage(), vo.getRows());
+
+        GroupModel model = new GroupModel();
+        BeanUtils.copyProperties(vo, model);
+
+        List<GroupModelDto> list = groupService.findAllByCond(model);
+        PageInfo<GroupModelDto> pageResult = new PageInfo<>(list);
+        return pageResult;
+    }
+
+    @RequestMapping("getRecord")
+    @ResponseBody
+    public GroupVo getRecord(String id) {
+
+        GroupModel model = groupService.findById(id);
+        List<GroupButtonModel> groupBtnList = groupButtonService.findByGroupId(id);
+        List<GroupMenuModel> groupMenuList = groupMenuService.findByGroupId(id);
+        String btns = "";
+        String menus = "";
+        for (GroupButtonModel groupBtn : groupBtnList) {
+            if (btns != "") {
+                btns += ",";
+            }
+            btns += groupBtn.getButtonId();
+        }
+        for (GroupMenuModel groupMenu : groupMenuList) {
+            if (menus != "") {
+                menus += ",";
+            }
+            menus += groupMenu.getMenuId();
+        }
+        GroupVo vo = new GroupVo();
+        BeanUtils.copyProperties(model, vo);
+        vo.setMenuBtnRef(menus + ";" + btns);
+        return vo;
+    }
+
+    @RequestMapping("delRecodes")
+    @ResponseBody
+    @Transactional
+    public int delRecodes(String ids) {
+
+        int cnt = 0;
+        if (StringUtils.isNotEmpty(ids)) {
+            String[] idArr = ids.split(",");
+            for (String id : idArr) {
+                if (StringUtils.isNotEmpty(id)) {
+                    // 删除关联菜单及按钮
+                    groupButtonService.deleteByGroupId(id);
+                    groupMenuService.deleteByGroupId(id);
+                    // 删除
+                    cnt += groupService.deleteByID(id);
+                }
+            }
+        }
+        return cnt;
+    }
+
+    /**
+     * 保存
+     * 
+     * @param vo
+     * @return
+     */
+    @RequestMapping("save")
+    @ResponseBody
+    @Transactional
+    public WebJsonResult save(GroupVo vo) {
+
+        GroupModel model = new GroupModel();
+        if (StringUtils.isEmpty(vo.getId())) {
+            // 新增
+            BeanUtils.copyProperties(vo, model);
+            groupService.add(model);
+        } else {
+            // 更新
+            model = groupService.findById(vo.getId());
+            BeanUtils.copyProperties(vo, model);
+            groupService.update(model);
+            // 删除关联菜单及按钮
+            groupButtonService.deleteByGroupId(model.getId());
+            groupMenuService.deleteByGroupId(model.getId());
+        }
+        // 添加关联菜单及按钮
+        if (StringUtils.isNotEmpty(vo.getMenuBtnRef())) {
+            String[] menuBtnRefs = vo.getMenuBtnRef().split(";");
+            String[] menus = menuBtnRefs[0].split(",");
+            for (String menuId : menus) {
+                GroupMenuModel groupMenuModel = new GroupMenuModel();
+                groupMenuModel.setGroupId(model.getId());
+                groupMenuModel.setMenuId(menuId);
+                groupMenuService.add(groupMenuModel);
+            }
+            if (menuBtnRefs.length > 1) {
+                String[] btns = menuBtnRefs[1].split(",");
+                for (String btnId : btns) {
+                    GroupButtonModel groupBtnModel = new GroupButtonModel();
+                    groupBtnModel.setGroupId(model.getId());
+                    groupBtnModel.setButtonId(btnId);
+                    groupButtonService.add(groupBtnModel);
+                }
+            }
+        }
+
+        return success();
+    }
+
+}

+ 11 - 1
gkaqv2/trunk/modules/web/src/main/java/com/xt/js/gkaq/web/ctl/OrgCtl.java

@@ -12,7 +12,9 @@ import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
 
+import com.alibaba.fastjson.JSONArray;
 import com.xt.js.gkaq.common.BaseCtl;
+import com.xt.js.gkaq.frame.model.ComboBoxDto;
 import com.xt.js.gkaq.frame.model.OrgModelDto;
 import com.xt.js.gkaq.frame.service.OrgService;
 import com.xt.js.gkaq.web.vo.OrgVo;
@@ -22,7 +24,7 @@ import com.yuanxd.tools.utils.WebJsonResult;
 import com.yuanxd.tools.utils.string.StringUtils;
 
 @Controller
-@RequestMapping(value = "/org")
+@RequestMapping(value = "/org", produces = "application/json; charset=utf-8")
 public class OrgCtl extends BaseCtl {
     @Autowired
     private OrgService orgService;
@@ -133,4 +135,12 @@ public class OrgCtl extends BaseCtl {
         return success();
     }
 
+    @RequestMapping("getOrgList")
+    @ResponseBody
+    public String getOrgList() {
+
+        List<ComboBoxDto> list = orgService.findByCombo();
+        return JSONArray.toJSONString(list);
+    }
+
 }

+ 11 - 1
gkaqv2/trunk/modules/web/src/main/java/com/xt/js/gkaq/web/ctl/RoleCtl.java

@@ -12,7 +12,9 @@ import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
 
+import com.alibaba.fastjson.JSONArray;
 import com.xt.js.gkaq.common.BaseCtl;
+import com.xt.js.gkaq.frame.model.ComboBoxDto;
 import com.xt.js.gkaq.frame.model.RoleButtonModel;
 import com.xt.js.gkaq.frame.model.RoleMenuModel;
 import com.xt.js.gkaq.frame.model.RoleModel;
@@ -26,7 +28,7 @@ import com.yuanxd.tools.utils.WebJsonResult;
 import com.yuanxd.tools.utils.string.StringUtils;
 
 @Controller
-@RequestMapping(value = "/role")
+@RequestMapping(value = "/role", produces = "application/json; charset=utf-8")
 public class RoleCtl extends BaseCtl {
     @Autowired
     private RoleService roleService;
@@ -163,4 +165,12 @@ public class RoleCtl extends BaseCtl {
         return success();
     }
 
+    @RequestMapping("getRoleList")
+    @ResponseBody
+    public String getRoleList() {
+
+        List<ComboBoxDto> list = roleService.findByCombo();
+        return JSONArray.toJSONString(list);
+    }
+
 }

+ 1 - 2
gkaqv2/trunk/modules/web/src/main/java/com/xt/js/gkaq/web/ctl/XzqhCtl.java

@@ -111,10 +111,9 @@ public class XzqhCtl extends BaseCtl {
         return success();
     }
 
-
     @RequestMapping("findXzqhs")
     @ResponseBody
-    public String findXzqhs() {
+    public String getXzqhList() {
 
         List<ComboBoxDto> list = xzqhService.findByCombo("");
         return JSONArray.toJSONString(list);

+ 57 - 0
gkaqv2/trunk/modules/web/src/main/java/com/xt/js/gkaq/web/vo/GroupVo.java

@@ -0,0 +1,57 @@
+package com.xt.js.gkaq.web.vo;
+
+import com.xt.js.gkaq.common.BaseVo;
+
+public class GroupVo extends BaseVo {
+
+    private String id;
+
+    private String org;
+
+    private String role;
+
+    private String menuBtnRef;
+
+    private String remark;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getOrg() {
+        return org;
+    }
+
+    public void setOrg(String org) {
+        this.org = org;
+    }
+
+    public String getRole() {
+        return role;
+    }
+
+    public void setRole(String role) {
+        this.role = role;
+    }
+
+    public String getMenuBtnRef() {
+        return menuBtnRef;
+    }
+
+    public void setMenuBtnRef(String menuBtnRef) {
+        this.menuBtnRef = menuBtnRef;
+    }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+}

+ 138 - 0
gkaqv2/trunk/modules/web/src/main/webapp/WEB-INF/view/frame/group.jsp

@@ -0,0 +1,138 @@
+<%@ page language="java" contentType="text/html;charset=GBK" pageEncoding="GBK"%>
+<!DOCTYPE html>
+<html>
+<head>
+<title>分组管理</title>
+
+<%@ include file="../layouts/header.jsp"%>
+<link type="text/css" rel="stylesheet" href="<%=request.getContextPath()%>/static/js/common/zTree_v3/css/zTreeStyle/zTreeStyle.css" />
+<link type="text/css" rel="stylesheet" href="<%=request.getContextPath()%>/static/js/common/bootstrap-select/css/bootstrap-select.min.css" />
+<script type="text/javascript" src="<%=request.getContextPath()%>/static/js/common/zTree_v3/js/jquery.ztree.all-3.5.min.js"></script>
+<script type="text/javascript" src="<%=request.getContextPath()%>/static/js/common/bootstrap-select/js/bootstrap-select.min.js"></script>
+<script type="text/javascript" src="<%=request.getContextPath()%>/static/js/common/bootstrap-select/js/i18n/defaults-zh_CN.min.js"></script>
+<script src="<%=base%>/static/js/frame/group.js"></script>
+</head>
+<body class="p_body">
+	<div class="easyui-layout" data-options="fit:true">
+		<!-- 头部 -->
+		<div id="regionNorth" data-options="region:'north'" class="regionNorthStyle">
+			<%@ include file="../layouts/navbar.jsp"%>
+		</div>
+		<!-- 左边部分 -->
+		<div id="regionWest" data-options="region:'west'" class="regionWestStyle">
+			<%@ include file="../layouts/sidebar.jsp"%>
+		</div>
+		<!-- 底部 -->
+		<div id="regionFooter" data-options="region:'south'" class="regionFooterStyle">
+			<%@ include file="../layouts/footer.jsp"%>
+		</div>
+		<!-- 内容部分 -->
+		<div id="regionCenter" data-options="region:'center'" class="regionCenterStyle">
+			<div class="p_all">
+				<div class="p_block">
+					<div class="p_headdiv">
+						<div class="p_headblock">
+							<div class="p_headleft">分组管理</div>
+						</div>
+					</div>
+					<div class="p_buttondiv">
+						<div class="p_buttonbg">
+							<img class="p_buttonimg" src="<%=base%>/static/images/list/add.png" onclick="addInfo()" title="新增" />
+						</div>
+						<div class="p_buttonbg">
+							<img class="p_buttonimg" src="<%=base%>/static/images/list/delete.png" onclick="delInfo()" title="删除" />
+						</div>
+						<div class="p_buttonbg">
+							<img class="p_buttonimg" src="<%=base%>/static/images/list/edit.png" onclick="editInfo()" title="修改" />
+						</div>
+						<div class="p_buttonbg">
+							<img class="p_buttonimg" src="<%=base%>/static/images/list/search.png" onclick="showSearch()" title="查询" />
+						</div>
+					</div>
+                    <div class="p_searchdiv">
+                        <table class="tabsearch">
+                            <tr class="trsearch">
+                                <td class="tdname">组织</td>
+                                <td class="tdcontent">
+                                    <select class="selectpicker form-control" id="srh_org" name="srh_org">
+                                        <option value="" selected="selected">请选择...</option>
+                                    </select></td>
+                                <td class="tdname">角色</td>
+                                <td class="tdcontent">
+                                    <select class="selectpicker form-control" id="srh_role" name="srh_role">
+                                        <option value="" selected="selected">请选择...</option>
+                                    </select></td>
+                                <td class="tdname"><img class="p_searchbtn"
+                                    src="<%=base%>/static/images/list/btn_query.png" title="查询" onclick="searchRecord()" />
+                                </td>
+                            </tr>
+                        </table>
+                    </div>
+                    <div class="page-content">
+                        <!--列表部分-->
+                        <table id="grid-table"></table>
+                        <div id="grid-pager"></div>
+                    </div>
+                </div>
+			</div>
+
+			<div class="modal fade" id="editWin" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
+				<div class="modal-dialog">
+					<div class="modal-content">
+						<div class="modal-header">
+							<button type="button" class="close" data-dismiss="modal">
+								<span aria-hidden="true">&times;</span><span class="sr-only">Close</span>
+							</button>
+							<h6 class="modal-title" id="myModalLabel"></h6>
+						</div>
+						<!-- form 表单信息 -->
+						<div class="modal-body">
+							<form class="form-horizontal" id="editForm" method="post" onsubmit="return false;">
+								<input type="hidden" id="id" name="id">
+                                <input type="hidden" id="menuBtnRef" name="menuBtnRef">
+                                <div class="form-group">
+                                    <label class="col-sm-2 control-label" for="remark">分组名称</label>
+                                    <div class="col-sm-9">
+                                        <input class="form-control" id="remark" name="remark" type="text" />
+                                    </div>
+                                </div>
+								<div class="form-group">
+									<label class="col-sm-2 control-label" for="org">组织</label>
+									<div class="col-sm-9">
+                                        <select class="selectpicker form-control" id="org" name="org" title="请选择..."></select>
+									</div>
+								</div>
+								<div class="form-group">
+									<label class="col-sm-2 control-label" for="role">角色</label>
+									<div class="col-sm-9">
+                                        <select class="selectpicker form-control" id="role" name="role" title="请选择..."></select>
+									</div>
+								</div>
+                                <div class="form-group">
+                                    <label class="col-sm-2 control-label" for="menuTree">关联菜单及按钮</label>
+                                    <div class="col-sm-9">
+                                    	<div class="form-control" style="height: 200px;  overflow-x: auto; overflow-y: scroll;">
+                                            <div id="menuTree" class="ztree"></div>
+                                        </div>
+                                    </div>
+                                </div>
+								<div class="row">
+									<div class="center-block" style="width: 160px;">
+										<button class="btn btn-success btn-round btn-sm" onclick="save()">
+											<i class="glyphicon glyphicon-ok"></i> 保存
+										</button>
+										<button class="btn btn-grey btn-round btn-sm" onclick="closeWin()">
+											<i class="glyphicon glyphicon-remove"></i> 关闭
+										</button>
+									</div>
+								</div>
+							</form>
+						</div>
+						<!-- form 表单信息 -->
+					</div>
+				</div>
+			</div>
+		</div>
+	</div>
+</body>
+</html>

+ 0 - 1
gkaqv2/trunk/modules/web/src/main/webapp/WEB-INF/view/frame/menu.jsp

@@ -10,7 +10,6 @@
 <script type="text/javascript" src="<%=request.getContextPath()%>/static/js/common/zTree_v3/js/jquery.ztree.all-3.5.min.js"></script>
 <script type="text/javascript" src="<%=request.getContextPath()%>/static/js/common/bootstrap-select/js/bootstrap-select.min.js"></script>
 <script type="text/javascript" src="<%=request.getContextPath()%>/static/js/common/bootstrap-select/js/i18n/defaults-zh_CN.min.js"></script>
-
 <script src="<%=base%>/static/js/frame/menu.js"></script>
 </head>
 <body class="p_body">

+ 2 - 1
gkaqv2/trunk/modules/web/src/main/webapp/WEB-INF/view/layouts/sidebar.jsp

@@ -7,4 +7,5 @@
 &emsp;&emsp;<a href="#" onclick="linkUrl('xzqh')">行政区划管理</a><br>
 &emsp;&emsp;<a href="#" onclick="linkUrl('param')">参数管理</a><br>
 &emsp;&emsp;<a href="#" onclick="linkUrl('org')">组织管理</a><br>
-&emsp;&emsp;<a href="#" onclick="linkUrl('role')">角色管理</a><br>
+&emsp;&emsp;<a href="#" onclick="linkUrl('role')">角色管理</a><br>
+&emsp;&emsp;<a href="#" onclick="linkUrl('group')">分组管理</a><br>

+ 308 - 0
gkaqv2/trunk/modules/web/src/main/webapp/static/js/frame/group.js

@@ -0,0 +1,308 @@
+var grid_selector = "#grid-table";
+var pager_selector = "#grid-pager";
+var menuTree;
+//zTree的参数配置,setting主要是设置一些tree的属性,是本地数据源,还是远程,动画效果,是否含有复选框等等
+var setting = {
+ // 复选框
+ check : {
+     enable : true
+ },
+ async : {
+     enable : true,
+     type : 'post',
+     url : basePath + "/menu/list"
+ },
+ data : {
+     // 简单的数据源
+     simpleData : {
+         enable : true,
+         idKey : "id",
+         pIdKey : "pid",
+         rootPId : 0
+     // 根节点
+     }
+ }
+};
+
+$(document).ready(function() {
+    orgSelect();
+    roleSelect();
+    initGrid();
+    // 初始化zTree对象
+    menuTree = $.fn.zTree.init($("#menuTree"), setting);
+});
+
+/**
+ * 初始化Grid
+ */
+function initGrid() {
+    resizePageGrid(grid_selector);
+    // 数据表格初始化
+    $(grid_selector).jqGrid({
+        url : basePath + '/group/list',
+        mtype : "POST", // 提交方式
+        datatype : "json",
+        height : "auto",
+        colNames : [
+                '唯一标识', '分组名称', '组织编码', '组织名称', '角色编码', '角色名称'
+        ],
+        colModel : [
+                {
+                    name : 'id',
+                    index : 'id',
+                    key : true,
+                    hidden : true,
+                    sortable : false
+                }, {
+                    name : 'remark',
+                    index : 'remark',
+                    sortable : false
+                }, {
+                    name : 'orgCode',
+                    index : 'orgCode',
+                    sortable : false
+                }, {
+                    name : 'orgName',
+                    index : 'orgName',
+                    sortable : false
+                }, {
+                    name : 'roleCode',
+                    index : 'roleCode',
+                    sortable : false
+                }, {
+                    name : 'roleName',
+                    index : 'roleName',
+                    sortable : false
+                }
+        ],
+        rowNum : _rowNum, // 每页显示记录数
+        rowList : _rowList, // 用于改变显示行数的下拉列表框的元素数组。
+        pager : pager_selector, // 定义翻页用的导航栏
+        rownumbers : true,
+        altRows : true, // 设置为交替行表格,默认为false
+        multiselect : true, // 可以多选
+        loadComplete : function() {
+            var table = this;
+            setTimeout(function() {
+                updatePagerIcons(table);
+                enableTooltips(table);
+            }, 0);
+        },
+        prmNames : {
+            oper : "oper",
+            page : "page",
+            rows : "rows",
+            sort : "sidx",
+            order : "sord"
+        },
+        jsonReader : {
+            root : "list", // json中代表实际模型数据的入口
+            page : "page", // json中代表当前页码的数据
+            total : "pages", // json中代表页码总数的数据
+            records : "total", // json中代表数据行总数的数据
+            repeatitems : false // 如果设为false,则jqGrid在解析json时,会根据name来搜索对应的数据元素
+        },
+        gridComplete : function() {
+            comGridComplete("grid-table", "editRecord");
+        },
+        onPaging : function() {
+            comGridPage("grid-table");
+        }
+    });
+    // 调整jqgrid
+    ajustJqGrid(grid_selector, pager_selector);
+};
+
+/**
+ * 新增
+ */
+function addInfo() {
+    // 清空表单信息
+    comClearFormData("#editForm");
+    $('#org').selectpicker('refresh');
+    $('#role').selectpicker('refresh');
+    menuTree.checkAllNodes(false);
+    menuTree.expandAll(false);
+    // 弹出模态框
+    showModelDialog("editWin", "新增");
+};
+
+/**
+ * 编辑
+ */
+function editInfo() {
+    // 获取选择行
+    var ids = getMultiData(grid_selector);
+    if (isNull(ids) || ids.indexOf(",") != -1) {
+        layer.alert("请选择且只选择一条记录");
+    } else {
+        $.ajax({
+            type : 'POST',
+            dataType : "json",
+            data : {
+                "id" : ids
+            },
+            url : basePath + '/group/getRecord',
+            success : function(data) {
+                var selData = $(grid_selector).jqGrid('getRowData', ids);
+                $("#id").val(data.id);
+                $("#org").selectpicker('val', data.org);
+                $("#role").selectpicker('val', data.role);
+                $("#remark").val(data.remark);
+                $("#menuBtnRef").val(data.menuBtnRef);
+                menuTree.checkAllNodes(false);
+                menuTree.expandAll(false);
+                if (!isNull(data.menuBtnRef)) {
+                    var menuBtnRefs = data.menuBtnRef.split(";");
+                    var menuIds = menuBtnRefs[0].split(",");
+                    for (var i = 0; i < menuIds.length; i++) {
+                        var node = menuTree.getNodeByParam("id", menuIds[i], null);
+                        if (!isNull(node)) {
+                            node.checked = "true";
+                            menuTree.checkNode(node, true, true);
+                        }
+                    }
+                    if (menuBtnRefs.length > 1) {
+                        var btnIds = menuBtnRefs[1].split(",");
+                        for (var i = 0; i < btnIds.length; i++) {
+                            var node = menuTree.getNodeByParam("id", btnIds[i], null);
+                            if (!isNull(node)) {
+                                node.checked = "true";
+                                menuTree.checkNode(node, true, true);
+                            }
+                        }
+                    }
+                    
+                }
+                showModelDialog("editWin", "编辑");
+            },
+            error : function(XMLHttpRequest, textStatus, errorThrown) {
+                layer.alert("error:" + errorThrown);
+            }
+        });
+    }
+};
+
+/**
+ * 删除
+ */
+function delInfo() {
+    // 获取选择行
+    var ids = getMultiData(grid_selector);
+    if (!isNull(ids)) {
+        layer.confirm('确定删除所选记录及其下级记录吗?', {
+            icon : 3,
+            title : '提示'
+        }, function(index) {
+            $.ajax({
+                type : 'POST',
+                dataType : "json",
+                data : {
+                    "ids" : ids
+                },
+                url : basePath + '/group/delRecodes',
+                success : function(data) {
+                    layer.close(index);
+                    searchRecord();
+                },
+                error : function(XMLHttpRequest, textStatus, errorThrown) {
+                    layer.close(index);
+                    layer.alert("error:" + errorThrown);
+                }
+            });
+        });
+    } else {
+        layer.alert("请选择记录");
+    }
+};
+
+/**
+ * 查询
+ */
+function searchRecord() {
+    var srh_org = $("#srh_org").val();
+    var srh_role = $("#srh_role").val();
+    $(grid_selector).jqGrid('setGridParam', {
+        url : basePath + "/group/list?org=" + srh_org + "&role=" + srh_role,
+        page : 1
+    }).trigger("reloadGrid");
+};
+
+/**
+ * 保存数据
+ */
+function save() {
+    var nodes = menuTree.getCheckedNodes(true);
+    if (nodes.length > 0) {
+        var chkMenuIds = "";
+        var chkBtnIds = "";
+        for (var i = 0; i < nodes.length; i++) {
+            if (nodes[i].leaf == 'B') { // 按钮节点
+                if (chkBtnIds != "") {
+                    chkBtnIds += ",";
+                }
+                chkBtnIds += nodes[i].id;
+            } else { // 菜单节点
+                if (chkMenuIds != "") {
+                    chkMenuIds += ",";
+                }
+                chkMenuIds += nodes[i].id;
+            }
+        }
+        $("#menuBtnRef").val(chkMenuIds + ";" + chkBtnIds);
+    }
+    $.ajax({
+        type : "post",
+        url : basePath + '/group/save',
+        dataType : 'json',
+        data : $('#editForm').serialize(), // 表单序列化,获取数据
+        success : function(data) {
+            // 成功删除后刷新页面
+            if (data && data.success == true) {
+                layer.alert("数据已成功保存!");
+                closeWin();
+                searchRecord();
+            } else {
+                layer.alert("数据保存失败!");
+            }
+        }, // 操作成功后的操作!data是后台传过来的值
+        error : function(XMLHttpRequest, textStatus, errorThrown) {
+            layer.alert("error:" + errorThrown);
+        }
+    });
+}
+
+/**
+ * 关闭窗口
+ */
+function closeWin() {
+    hideModelDialog("editWin");
+}
+
+//加载组织下拉框选项
+function orgSelect() {
+$.ajax({
+   type : "post",
+   url : basePath + '/org/getOrgList',
+   success : function(data) {
+       loadComboBox(data, "#srh_org");
+       $('#srh_org').selectpicker('refresh');
+       loadComboBox(data, "#org");
+       $('#org').selectpicker('refresh');
+   }
+});
+}
+
+//加载角色下拉框选项
+function roleSelect() {
+$.ajax({
+   type : "post",
+   url : basePath + '/role/getRoleList',
+   success : function(data) {
+       loadComboBox(data, "#srh_role");
+       $('#srh_role').selectpicker('refresh');
+       loadComboBox(data, "#role");
+       $('#role').selectpicker('refresh');
+   }
+});
+}

+ 0 - 9
gkaqv2/trunk/modules/web/src/main/webapp/static/js/frame/role.js

@@ -115,15 +115,6 @@ function addInfo() {
     comClearFormData("#editForm");
     menuTree.checkAllNodes(false);
     menuTree.expandAll(false);
-
-    //获取选择行
-    var ids = getMultiData(grid_selector);
-    if (ids.indexOf(",") != -1) {
-        layer.alert("请选择一条记录!");
-        return;
-    } else if (!isNull(ids) && ids.indexOf(",") == -1) {
-        var data = $(grid_selector).jqGrid('getRowData', ids);
-    }
     // 弹出模态框
     showModelDialog("editWin", "新增");
 };