点击添加分类,弹出事项选择框为jbox

<a href="#" id="down{{row.id}}" style="display:none" onclick="xz('{{row.id}}')" type="button" >添加下级事项</a>

使用onclick触发,并传参数id

function xz(id){
top.$.jBox.open("iframe:${ctx}/hb02/hbGprotreeInfo/selectSx?id="+id, "事项选择",810,$(top.document).height()-240,{
buttons:{"确定":"ok", "关闭":true}, submit:function(v, h, f){ var ids = h.find("iframe")[0].contentWindow.$("#checkedId")[0].value;
if (v=="ok"){
// 执行保存
loading('正在提交,请稍等...');
$("#searchForm").attr("action","${ctx}/hb02/hbGprotreeInfo/save?id="+id+"&ids="+ids);
$('#searchForm').submit();
return true;
} else if (v=="clear"){
h.find("iframe")[0].contentWindow.clearAssign();
return false;
}
}, loaded:function(h){
$(".jbox-content", top.document).css("overflow-y","hidden");
}
});
}

后台代码实现弹出窗口

/**
* jbox 弹框页面。 ypr
* @param hbGprotreeInfo
* @param model
* @return
*/
@RequiresPermissions("hb02:hbGprotreeInfo:edit")
@RequestMapping(value = "selectSx")
public String selectSx(HbGprotreeInfo hbGprotreeInfo,Model model) {
//new一个字典实体
Dict dict=new Dict();
//type=act_category,进行条件查询
dict.setType("act_category");
List<HbGprotreeInfo> list = hbGprotreeInfoService.findParent(hbGprotreeInfo);
model.addAttribute("HbGprotreeInfo", hbGprotreeInfo);
model.addAttribute("dList", dictService.findList(dict));
model.addAttribute("HbGprotreeList", hbGprotreeInfoService.findDt(hbGprotreeInfo));
//这里返回的页面就是事项选择页面,可自己定义返回页面
return "modules/hb/hb02/hbGprotreeInfofl";
}

使用jbox弹出窗口 选树结构择类型按钮,弹出树结构,

<div class="control-group">
<label class="control-label">选择类型:</label>
<div class="controls" >
<!-- url 查询树结构数据 -->
<sys:treeselect id="checked" name="dictLists" value="" labelName="dict.value" labelValue="${dict.value}"
title="类型" url="/hb02/hbGprotreeInfo/treeData?id=${HbGprotreeInfo.id}" extId="${dict.value}" cssClass="input-xxlarge required" checked="true" allowClear="true"/>
</div>
</div>

后台

/**
* 点击选择事项查询 进行回显打勾,禁用等操作
* @param extId
* @param hbGprotreeInfo
* @param response
* @return
*/
@RequiresPermissions("user")
@ResponseBody
@RequestMapping(value = "treeData")
public List<Map<String, Object>> treeData(@RequestParam(required=false) String extId,HbGprotreeInfo hbGprotreeInfo,HttpServletResponse response) {
List<Map<String, Object>> mapList = Lists.newArrayList(); //查询字典中数据,返回为树结构数据
Dict dict=new Dict();
//type=act_category,进行条件查询
dict.setType("act_category");
List<HbGprotreeInfo> chong=hbGprotreeInfoService.findChong(hbGprotreeInfo); //根据数据查询字典数据,树结构展示 ypr
List<Dict> list = dictService.findList(dict);
//查询父节点下所有子节点 ypr
List<HbGprotreeInfo> hbGprotreeList=hbGprotreeInfoService.findParent(hbGprotreeInfo);
//循环将树结构数据展示
for (int i=0; i<list.size(); i++){
Dict e = list.get(i); Map<String, Object> map = Maps.newHashMap();
map.put("id", e.getId());
map.put("pId", e.getParentId());
map.put("name", e.getLabel()); //根据查询出的父节点下所有数据循环 ypr
for(int j=0;j<hbGprotreeList.size();j++){
HbGprotreeInfo hbGprotreeInfo2 = hbGprotreeList.get(j);
//判断回显打勾的数据,如果股/分类Entity中流程类型,等于字典中value,打勾
if(hbGprotreeInfo2.getLctype().equals(e.getValue())){
//打勾
map.put("checked", true); }
}
//循环判断重复数据 0517 ypr
for(int k=0;k<chong.size();k++){
HbGprotreeInfo hbGprotreeInfo3 = chong.get(k);
if(hbGprotreeInfo3.getLctype().equals(e.getValue())){
//打勾,禁用
map.put("checked", true);
map.put("chkDisabled", true);
} }
mapList.add(map); }
return mapList;
}

zTree包与jbox的包可以去资源下载   点击打开链接

Ztree结合jbox实现弹窗树结构的更多相关文章

  1. C#使用Jquery zTree实现树状结构显示_异步数据加载

    JQuery-Ztree下载地址:https://github.com/zTree/zTree_v3 JQuery-Ztree数结构演示页面:  http://www.treejs.cn/v3/dem ...

  2. 小而实用的工具插件集锦(JQGrid,zTree)

    jqgrid,JQGrid是一个在jquery基础上做的一个表格控件,看起来感觉还可以,以ajax的方式和服务器端通信 效果图: 这个小东西,多用在在工作流上面. 中文文档: http://blog. ...

  3. jeesite 框架的简单应用

    个人觉得比较完善的一个讲解jeesite的网站 https://www.w3cschool.cn/jeesite/ jeesite官网 http://jeesite.com/ 公司项目都是基于jees ...

  4. CRM权限管理

    CRM权限管理 一.概念 权限管理就是管理用户对于资源的操作.本 CRM 系统的权限(也称作资源)是基于角色操作权限来实现的,即RBAC(Role-Based Access Control,基于角色的 ...

  5. js 插件使用总结

    1:树形菜单插件: z-tree 和dtree 2: 弹窗插件layer 3: 前端ui框架ace ,  h-ui , layui 4:产品设计图绘制软件Axure和Mockplus(推荐)

  6. Java权限管理(授权与认证)

    CRM权限管理 有兴趣的同学也可以阅读我最近分享的:Shiro框架原理分析   (PS : 这篇博客里面介绍了使用Shiro框架的方式实现权限管理) https://www.cnblogs.com/y ...

  7. Layui treeSelect 回写与对应选中

    今天遇到个问题就是Layui treeSelect 的回写与特定选中,网络上居然没啥资料,有的也是不全的,于是花了点时间处理好了,这里写一下,方便以后有遇到的朋友借鉴. 一.父页面 二.Form编辑框 ...

  8. easyDialog弹窗+zTree部门选择

    写一个父页面方法,将name和id赋值 function show(name,id) { $("#deptnoID").val(name); $("#deptnoId&q ...

  9. 树结构数据的展示和编辑-zTree树插件的简单使用

    最近在项目当中遇到一个需求,需要以树结构的方式展示一些数据,并可对每一个树节点做内容的编辑以及树节点的添加和删除,刚好听说有zTree这个插件可以实现这样的需求,所以在项目的这个需求完成之后,在博客里 ...

随机推荐

  1. OpenID Connect Core 1.0(八)从第三方发起登录

    在某些情况下,登录流程由一个OpenID提供者或其他方发起,而不是依赖方(RP).在这种情况下,发起者重定向到RP在发起登录终结点,RP的请求验证请求发送到指定的OP.这个发起登录终结点可以在RP深度 ...

  2. CUBE,ROLLUP 和 GROUPING

    1.用 CUBE 汇总数据 CUBE 运算符生成的结果集是多维数据集.多维数据集是事实数据的扩展,事实数据即记录个别事件的数据.扩展建立在用户打算分析的列上.这些列被称为维.多维数据集是一个结果集,其 ...

  3. zookeeper报错 JAVA_HOME is not set

    很多开发者安装zookeeper的时候,应该会发现到这么一个问题: JAVA_HOME is not set 好的!那么这个是什么意思呢? 就是说你的  JAVA_HOME 变量没有设定 为什么会提示 ...

  4. 修改 Hue 默认数据库

    Hue 更改默认数据 1. 需要安装 mysql 一下包 mysql-server mysql-devel mysql-shared mysql-client mysql-python shared ...

  5. 【Linux】管理文件系统

    文件系统概念: 文件系统是指文件的组织与管理结构,是一个有关于磁盘中各种有用信息的记录——即是保存以下信息的结构记录表 当前所使用磁盘的容量信息 磁盘的可用信息,包括已占用和剩余的空间: 文件与目录的 ...

  6. HCNA(二)以太网的帧结构

    一.网络通讯协议 一般地,关注于逻辑数据关系的协议通常被称为上层协议,而关注于物理数据流的协议通常被称为低层协议. IEEE802就是一套用来管理物理数据流在局域网中传输的标准,包括在局域网中传输物理 ...

  7. STM32 HAL库学习系列第6篇---定时器TIM 级联配置

    应用情景 使用定时器配置编码器模式,发现STM32只有两个定时器是32位,16位的测量值不够用,发现是可以使用两个16位定时器级联为32位的. 我是在使用编码器计数电机转速时使用,但是最终实现的效果不 ...

  8. Linux C 语言之 Hello World 详解

    目录 Linux C 语言之 Hello World 详解 第一个 C 语言程序 程序运行原理 编译,链接 运行时 链接库 编译器优化 Hello World 打印原理 stdout, stdin 和 ...

  9. python格式化输出、逻辑表达式和字符编码

    格式化输出: %s  字符串占位符;%d 整数占位符 注意:如果前面有了占位符,那么后面所有的%都是占位,如果要输出“%”,需要使用转移符,即"%%" #定义三个变量 name = ...

  10. Selenium_python自动化跨浏览器执行测试(简单多线程案例)

    发生背景: 跨浏览器测试是功能测试的一个分支,用以验证web应用在不同浏览器上的正常工作,通常情况下,我们都期望web类应用能够被我们的用户在任何浏览器上使用,例如有的人喜欢IE浏览器上使用,有的人喜 ...