ソースを参照

组织管理功能

git-svn-id: https://192.168.57.71/svn/jsgkj@845 931142cf-59ea-a443-aa0e-51397b428577
ld_zhouk 8 年 前
コミット
fcc82e0336

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

@@ -13,6 +13,7 @@ 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.CodeModel;
+import com.xt.js.gkaq.frame.model.ComboBoxDto;
 import com.xt.js.gkaq.frame.service.CodeService;
 import com.xt.js.gkaq.web.vo.DictVo;
 import com.yuanxd.tools.utils.WebJsonResult;
@@ -36,8 +37,7 @@ public class DictCtl extends BaseCtl {
     @ResponseBody
     public String selectList() {
 
-        List<CodeModel> list = codeService.selectInitDict();
-        JSONArray.toJSONString(list);
+        List<CodeModel> list = codeService.initDict();
         return JSONArray.toJSONString(list);
     }
 
@@ -95,4 +95,12 @@ public class DictCtl extends BaseCtl {
         return success();
     }
 
+    @RequestMapping("findDicts")
+    @ResponseBody
+    public String findDicts(String pcode) {
+
+        List<ComboBoxDto> list = codeService.findByPcode(pcode);
+        return JSONArray.toJSONString(list);
+    }
+
 }

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

@@ -39,8 +39,7 @@ public class MenuCtl extends BaseCtl {
     @ResponseBody
     public String selectList() {
 
-        List<MenuModel> list = menuService.selectInitMenu();
-        JSONArray.toJSONString(list);
+        List<MenuModel> list = menuService.initMenu();
         return JSONArray.toJSONString(list);
     }
 

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

@@ -0,0 +1,124 @@
+package com.xt.js.gkaq.web.ctl;
+
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+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.alibaba.fastjson.JSONArray;
+import com.xt.js.gkaq.common.BaseCtl;
+import com.xt.js.gkaq.frame.model.OrgModelDto;
+import com.xt.js.gkaq.frame.service.OrgService;
+import com.xt.js.gkaq.web.vo.OrgVo;
+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 = "/org")
+public class OrgCtl extends BaseCtl {
+    @Autowired
+    private OrgService orgService;
+
+    @RequestMapping("")
+    public String index(Model model) {
+        return "frame/org";
+    }
+
+    /**
+     * 初始化页面加载数据
+     * @throws UnsupportedEncodingException 
+     */
+    @RequestMapping("list")
+    @ResponseBody
+    public PageInfo<OrgModelDto> getPageInfo(OrgVo 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());
+
+        OrgModelDto model = new OrgModelDto();
+        BeanUtils.copyProperties(vo, model);
+        if (StringUtils.isNotEmpty(vo.getName())) {
+            model.setName("%" + URLDecoder.decode(vo.getName(), "UTF-8") + "%");
+        }
+        List<OrgModelDto> list = orgService.findAllByCond(model);
+        PageInfo<OrgModelDto> pageResult = new PageInfo<>(list);
+        return pageResult;
+    }
+
+    @RequestMapping("getRecord")
+    @ResponseBody
+    public OrgModelDto getRecord(String id) {
+
+        OrgModelDto model = orgService.findById(id);
+        return model;
+    }
+
+    @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)) {
+                    cnt += orgService.deleteByID(id);
+                }
+            }
+        }
+        return cnt;
+    }
+
+    /**
+     * 保存
+     * 
+     * @param vo
+     * @return
+     */
+    @RequestMapping("save")
+    @ResponseBody
+    public WebJsonResult save(OrgVo vo) {
+
+        if (StringUtils.isEmpty(vo.getId())) {
+            // 新增
+            OrgModelDto model = new OrgModelDto();
+            BeanUtils.copyProperties(vo, model);
+            orgService.add(model);
+        } else {
+            // 更新
+            OrgModelDto model = orgService.findById(vo.getId());
+            BeanUtils.copyProperties(vo, model);
+            orgService.update(model);
+        }
+        return success();
+    }
+
+    @RequestMapping("orgTypeSelect")
+    @ResponseBody
+    public String orgTypeSelect() {
+        List<Map<String, String>> selectList = new ArrayList<Map<String, String>>();
+        Map<String, String> orgType1 = new HashMap<String, String>();
+        orgType1.put("value", "1");
+        orgType1.put("name", "测试");
+        selectList.add(orgType1);
+        return JSONArray.toJSONString(selectList);
+    }
+}

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

@@ -47,7 +47,7 @@ public class ParamCtl extends BaseCtl {
 
         ParamModel model = new ParamModel();
         BeanUtils.copyProperties(vo, model);
-        List<ParamModel> list = paramService.selectAllByCond(model);
+        List<ParamModel> list = paramService.findAllByCond(model);
         PageInfo<ParamModel> pageResult = new PageInfo<>(list);
         return pageResult;
     }
@@ -56,8 +56,8 @@ public class ParamCtl extends BaseCtl {
     @ResponseBody
     public ParamModel getRecord(String id) {
 
-        ParamModel paramModel = paramService.findById(id);
-        return paramModel;
+        ParamModel model = paramService.findById(id);
+        return model;
     }
 
     @RequestMapping("delRecodes")

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

@@ -0,0 +1,123 @@
+package com.xt.js.gkaq.web.ctl;
+
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+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.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.XzqhModel;
+import com.xt.js.gkaq.frame.service.XzqhService;
+import com.xt.js.gkaq.web.vo.XzqhVo;
+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 = "/xzqh", produces = "application/json; charset=utf-8")
+public class XzqhCtl extends BaseCtl {
+    @Autowired
+    private XzqhService xzqhService;
+
+    @RequestMapping("")
+    public String index(Model model) {
+        return "frame/xzqh";
+    }
+
+    /**
+     * 初始化页面加载数据
+     * @throws UnsupportedEncodingException 
+     */
+    @RequestMapping("list")
+    @ResponseBody
+    public PageInfo<XzqhModel> getPageInfo(XzqhVo 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());
+
+        XzqhModel model = new XzqhModel();
+        if (StringUtils.isNotEmpty(vo.getCode())) {
+            model.setCode(vo.getCode() + "%");
+        }
+        if (StringUtils.isNotEmpty(vo.getName())) {
+            model.setName("%" + URLDecoder.decode(vo.getName(), "UTF-8") + "%");
+        }
+        List<XzqhModel> list = xzqhService.findAllByCond(model);
+        PageInfo<XzqhModel> pageResult = new PageInfo<>(list);
+        return pageResult;
+    }
+
+    @RequestMapping("getRecord")
+    @ResponseBody
+    public XzqhModel getRecord(String id) {
+
+        XzqhModel model = xzqhService.findById(id);
+        return model;
+    }
+
+    @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)) {
+                    cnt += xzqhService.deleteByID(id);
+                }
+            }
+        }
+        return cnt;
+    }
+
+    /**
+     * 保存
+     * 
+     * @param vo
+     * @return
+     */
+    @RequestMapping("save")
+    @ResponseBody
+    public WebJsonResult save(XzqhVo vo) {
+
+        if (StringUtils.isEmpty(vo.getId())) {
+            // 新增
+            XzqhModel model = new XzqhModel();
+            BeanUtils.copyProperties(vo, model);
+            xzqhService.add(model);
+        } else {
+            // 更新
+            XzqhModel model = xzqhService.findById(vo.getId());
+            BeanUtils.copyProperties(vo, model);
+            xzqhService.update(model);
+        }
+        return success();
+    }
+
+
+    @RequestMapping("findXzqhs")
+    @ResponseBody
+    public String findXzqhs() {
+
+        List<ComboBoxDto> list = xzqhService.findByCombo("");
+        return JSONArray.toJSONString(list);
+    }
+
+}

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

@@ -0,0 +1,127 @@
+package com.xt.js.gkaq.web.vo;
+
+import com.xt.js.gkaq.common.BaseVo;
+
+public class OrgVo extends BaseVo {
+
+    private String id;
+
+    private String pid;
+
+    private String pcode;
+
+    private String code;
+
+    private String name;
+
+    private String orgType;
+
+    private String szd;
+
+    private String szdName;
+
+    private String xzqh;
+
+    private String level;
+
+    private Short sortno;
+
+    private String remark;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getPid() {
+        return pid;
+    }
+
+    public void setPid(String pid) {
+        this.pid = pid;
+    }
+
+    public String getPcode() {
+        return pcode;
+    }
+
+    public void setPcode(String pcode) {
+        this.pcode = pcode;
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getOrgType() {
+        return orgType;
+    }
+
+    public void setOrgType(String orgType) {
+        this.orgType = orgType;
+    }
+
+    public String getSzd() {
+        return szd;
+    }
+
+    public void setSzd(String szd) {
+        this.szd = szd;
+    }
+
+    public String getSzdName() {
+        return szdName;
+    }
+
+    public void setSzdName(String szdName) {
+        this.szdName = szdName;
+    }
+
+    public String getXzqh() {
+        return xzqh;
+    }
+
+    public void setXzqh(String xzqh) {
+        this.xzqh = xzqh;
+    }
+
+    public String getLevel() {
+        return level;
+    }
+
+    public void setLevel(String level) {
+        this.level = level;
+    }
+
+    public Short getSortno() {
+        return sortno;
+    }
+
+    public void setSortno(Short sortno) {
+        this.sortno = sortno;
+    }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+}

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

@@ -0,0 +1,47 @@
+package com.xt.js.gkaq.web.vo;
+
+import com.xt.js.gkaq.common.BaseVo;
+
+public class XzqhVo extends BaseVo {
+
+    private String id;
+
+    private String code;
+
+    private String name;
+
+    private Short xh;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public Short getXh() {
+        return xh;
+    }
+
+    public void setXh(Short xh) {
+        this.xh = xh;
+    }
+
+}

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

@@ -0,0 +1,170 @@
+<%@ page language="java" contentType="text/html;charset=GBK" pageEncoding="GBK"%>
+<!DOCTYPE html>
+<html>
+<head>
+<title>组织管理</title>
+
+<%@ include file="../layouts/header.jsp"%>
+<script src="<%=base%>/static/js/frame/org.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"><input type="text" id="srh_pcode" name="srh_pcode" class="p_txt"></td>
+                                <td class="tdname">组织编码</td>
+                                <td class="tdcontent"><input type="text" id="srh_code" name="srh_code" class="p_txt"></td>
+                                <td class="tdname">组织名称</td>
+                                <td class="tdcontent"><input type="text" id="srh_name" name="srh_name" class="p_txt"></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="pid" name="pid">
+                                <div class="form-group">
+                                    <label class="col-sm-2 control-label" for="pname">上级名称</label>
+                                    <div class="col-sm-9">
+                                        <input class="form-control" id="pname" name="pname" type="text" readonly="readonly" />
+                                    </div>
+                                </div>
+                                <div class="form-group">
+                                    <label class="col-sm-2 control-label" for="pcode">上级编码</label>
+                                    <div class="col-sm-9">
+                                        <input class="form-control" id="pcode" name="pcode" type="text" readonly="readonly" />
+                                    </div>
+                                </div>
+								<div class="form-group">
+									<label class="col-sm-2 control-label" for="name">组织名称</label>
+									<div class="col-sm-9">
+										<input class="form-control" id="name" name="name" type="text" />
+									</div>
+								</div>
+								<div class="form-group">
+									<label class="col-sm-2 control-label" for="code">组织编码</label>
+									<div class="col-sm-9">
+										<input class="form-control" id="code" name="code" type="text" />
+									</div>
+								</div>
+                                <div class="form-group">
+                                    <label class="col-sm-2 control-label" for="orgType">组织类型</label>
+                                    <div class="col-sm-9">
+                                        <select class="form-control" id="orgType" name="orgType" >
+                                            <option value="" selected="selected">请选择...</option>
+                                        </select>
+                                    </div>
+                                </div>
+								<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="sortno">序号</label>
+                                    <div class="col-sm-9">
+                                        <input class="form-control" id="sortno" name="sortno" type="text" />
+                                    </div>
+                                </div>
+                                <div class="form-group">
+                                    <label class="col-sm-2 control-label" for="szd">所在地</label>
+                                    <div class="col-sm-9">
+                                        <select class="form-control" id="szd" name="szd" onchange="changeSzd()">
+                                            <option value="" selected="selected">请选择...</option>
+                                        </select>
+                                        <input id="szdName" name="szdName" type="hidden" />
+                                    </div>
+                                </div>
+                                <div class="form-group">
+                                    <label class="col-sm-2 control-label" for="xzqh">行政区划</label>
+                                    <div class="col-sm-9">
+                                        <select class="form-control" id="xzqh" name="xzqh">
+                                            <option value="" selected="selected">请选择...</option>
+                                        </select>
+                                    </div>
+                                </div>
+                                <div class="form-group">
+                                    <label class="col-sm-2 control-label" for="level">等级</label>
+                                    <div class="col-sm-9">
+                                        <input class="form-control" id="level" name="level" type="text" />
+                                    </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 - 2
gkaqv2/trunk/modules/web/src/main/webapp/WEB-INF/view/frame/param.jsp

@@ -5,8 +5,6 @@
 <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" />
-<script type="text/javascript" src="<%=request.getContextPath()%>/static/js/common/zTree_v3/js/jquery.ztree.all-3.5.min.js"></script>
 <script src="<%=base%>/static/js/frame/param.js"></script>
 </head>
 <body class="p_body">

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

@@ -0,0 +1,118 @@
+<%@ page language="java" contentType="text/html;charset=GBK" pageEncoding="GBK"%>
+<!DOCTYPE html>
+<html>
+<head>
+<title>行政区划管理</title>
+
+<%@ include file="../layouts/header.jsp"%>
+<script src="<%=base%>/static/js/frame/xzqh.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"><input type="text" id="srh_code" name="srh_code" class="p_txt"></td>
+                                <td class="tdname">名称</td>
+                                <td class="tdcontent"><input type="text" id="srh_name" name="srh_name" class="p_txt"></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">
+								<div class="form-group">
+									<label class="col-sm-2 control-label" for="code">编码</label>
+									<div class="col-sm-9">
+										<input class="form-control" id="code" name="code" type="text" />
+									</div>
+								</div>
+								<div class="form-group">
+									<label class="col-sm-2 control-label" for="name">名称</label>
+									<div class="col-sm-9">
+										<input class="form-control" id="name" name="name" type="text" />
+									</div>
+								</div>
+                                <div class="form-group">
+                                    <label class="col-sm-2 control-label" for="xh">序号</label>
+                                    <div class="col-sm-9">
+                                        <input class="form-control" id="xh" name="xh" type="text" />
+                                    </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>

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

@@ -4,4 +4,6 @@
 &emsp;&emsp;<a href="#" onclick="linkUrl('user')">用户管理</a><br>
 &emsp;&emsp;<a href="#" onclick="linkUrl('menu')">菜单管理</a><br>
 &emsp;&emsp;<a href="#" onclick="linkUrl('dict')">字典管理</a><br>
-&emsp;&emsp;<a href="#" onclick="linkUrl('param')">参数管理</a><br>
+&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>

+ 8 - 0
gkaqv2/trunk/modules/web/src/main/webapp/static/js/common/common.js

@@ -301,4 +301,12 @@ function showModelDialog(modelId, title) {
  */
 function hideModelDialog(modelId) {
 	$('#'+modelId).modal('hide');
+}
+
+function loadComboBox(data, select) {
+    var optionStr = "";
+    $.each(data, function() {
+        optionStr += "<option value='" + this.optVal + "'>" + this.optName + "</option>";
+    });
+    $(select).append(optionStr);
 }

+ 296 - 0
gkaqv2/trunk/modules/web/src/main/webapp/static/js/frame/org.js

@@ -0,0 +1,296 @@
+var grid_selector = "#grid-table";
+var pager_selector = "#grid-pager";
+
+$(document).ready(function() {
+    initGrid();
+    orgTypeSelect();
+    szdSelect();
+    xzqhSelect();
+});
+
+/**
+ * 初始化Grid
+ */
+function initGrid() {
+    resizePageGrid(grid_selector);
+    // 数据表格初始化
+    $(grid_selector).jqGrid({
+        url : basePath + '/org/list',
+        mtype : "POST", // 提交方式
+        datatype : "json",
+        height : "auto",
+        colNames : [
+                '唯一标识', '组织编码', '组织名称', '上级组织', '上级组织编码', '上级组织名称', '组织类型', '所在地编码', '所在地名称', '行政区划', '等级', '排序', '备注'
+        ],
+        colModel : [
+                {
+                    name : 'id',
+                    index : 'id',
+                    key : true,
+                    hidden : true,
+                    sortable : false
+                }, {
+                    name : 'code',
+                    index : 'code',
+                    sortable : false
+                }, {
+                    name : 'name',
+                    index : 'name',
+                    sortable : false
+                }, {
+                    name : 'pid',
+                    index : 'pid',
+                    hidden : true,
+                    sortable : false
+                }, {
+                    name : 'pcode',
+                    index : 'pcode',
+                    sortable : false
+                }, {
+                    name : 'pname',
+                    index : 'pname',
+                    sortable : false
+                }, {
+                    name : 'orgType',
+                    index : 'orgType',
+                    sortable : false
+                }, {
+                    name : 'szd',
+                    index : 'szd',
+                    sortable : false
+                }, {
+                    name : 'szdName',
+                    index : 'szdName',
+                    sortable : false
+                }, {
+                    name : 'xzqh',
+                    index : 'xzqh',
+                    sortable : false
+                }, {
+                    name : 'level',
+                    index : 'level',
+                    sortable : false
+                }, {
+                    name : 'sortno',
+                    index : 'sortno',
+                    sortable : false
+                }, {
+                    name : 'remark',
+                    index : 'remark',
+                    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");
+
+    //获取选择行
+    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);
+        $("#pid").val(data.id);
+        $("#pcode").val(data.code);
+        $("#pname").val(data.name);
+    }
+    // 弹出模态框
+    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 + '/org/getRecord',
+            success : function(data) {
+                var selData = $(grid_selector).jqGrid('getRowData', ids);
+                $("#pid").val(selData.pid);
+                $("#pcode").val(selData.pcode);
+                $("#pname").val(selData.pname);
+                $("#id").val(data.id);
+                $("#code").val(data.code);
+                $("#name").val(data.name);
+                $("#orgType").val(data.orgType);
+                $("#remark").val(data.remark);
+                $("#sortno").val(data.sortno);
+                $("#szd").val(data.szd);
+                $("#szdName").val(data.szdName);
+                $("#xzqh").val(data.xzqh);
+                $("#level").val(data.level);
+                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 + '/org/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_pcode = $("#srh_pcode").val();
+    var srh_code = $("#srh_code").val();
+    var srh_name = encodeURI(encodeURI($("#srh_name").val()));
+    $(grid_selector).jqGrid('setGridParam', {
+        url : basePath + "/org/list?pcode=" + srh_pcode + "&code=" + srh_code + "&name=" + srh_name,
+        page : 1
+    }).trigger("reloadGrid");
+};
+
+/**
+ * 保存数据
+ */
+function save() {
+    $.ajax({
+        type : "post",
+        url : basePath + '/org/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 orgTypeSelect() {
+    $.ajax({
+        type : "post",
+        url : basePath + '/dict/findDicts?pcode=ORG_TYPE',
+        success : function(data) {
+            loadComboBox(data, "#orgType");
+        }
+    });
+}
+
+//加载所在地下拉框选项
+function szdSelect() {
+ $.ajax({
+     type : "post",
+     url : basePath + '/dict/findDicts?pcode=DM_SZD',
+     success : function(data) {
+         loadComboBox(data, "#szd");
+     }
+ });
+}
+
+//加载行政区划下拉框选项
+function xzqhSelect() {
+ $.ajax({
+     type : "post",
+     url : basePath + '/xzqh/findXzqhs',
+     success : function(data) {
+         loadComboBox(data, "#xzqh");
+     }
+ });
+}
+
+function changeSzd() {
+    $('#szdName').val($("#szd").find("option:selected").text());
+}

+ 196 - 0
gkaqv2/trunk/modules/web/src/main/webapp/static/js/frame/xzqh.js

@@ -0,0 +1,196 @@
+var grid_selector = "#grid-table";
+var pager_selector = "#grid-pager";
+
+$(document).ready(function() {
+    initGrid();
+});
+
+/**
+ * 初始化Grid
+ */
+function initGrid() {
+    resizePageGrid(grid_selector);
+    // 数据表格初始化
+    $(grid_selector).jqGrid({
+        url : basePath + '/xzqh/list',
+        mtype : "POST", // 提交方式
+        datatype : "json",
+        height : "auto",
+        colNames : [
+                '唯一标识', '编码', '名称', '序号'
+        ],
+        colModel : [
+                {
+                    name : 'id',
+                    index : 'id',
+                    key : true,
+                    hidden : true,
+                    sortable : false
+                }, {
+                    name : 'code',
+                    index : 'code',
+                    sortable : false
+                }, {
+                    name : 'name',
+                    index : 'name',
+                    sortable : false
+                }, {
+                    name : 'xh',
+                    index : 'xh',
+                    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");
+    // 弹出模态框
+    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 + '/xzqh/getRecord',
+            success : function(data) {
+                $("#id").val(data.id);
+                $("#code").val(data.cdoe);
+                $("#name").val(data.name);
+                $("#xh").val(data.xh);
+                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 + '/xzqh/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_code = $("#srh_code").val();
+    var srh_name = encodeURI(encodeURI($("#srh_name").val()));
+    $(grid_selector).jqGrid('setGridParam', {
+        url : basePath + "/xzqh/list?code=" + srh_code + "&name=" + srh_name,
+        page : 1
+    }).trigger("reloadGrid");
+};
+
+/**
+ * 保存数据
+ */
+function save() {
+    $.ajax({
+        type : "post",
+        url : basePath + '/xzqh/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");
+}