treetable 用法小例
插件地址:http://pan.baidu.com/s/1kVf0Kcfcript src="/plugins/jQuery/jQuery-2.1.4.min.js"></script>
<link rel="stylesheet" type="text/css" href="/plugins/jquery-treetable-master/css/jquery.treetable.css">
<link rel="stylesheet" type="text/css"
href="/plugins/jquery-treetable-master/css/jquery.treetable.theme.default.css">
<div class="box-body table-responsive no-padding">
<table id="treetable">
<thead>
<tr>
<th width="80px">部门名称</th> <th>规章制度</th>
<th width="120px">操作</th>
<th width="120px">操作</th>
</tr>
</thead> <tbody>
<#list treeDept as o> <#if o.parentId == '' || o.parentId == null>
<tr data-tt-id="${(o.id)!}">
<td><span class='folder'/>${o.deptName}</td>
<td>${o.deptDesc}</td>
<td>
<#if permissions?seq_contains('editDept')>
<a class="btn btn-primary btn-xs" href="/system/dept/edit/${(o.id)!}"> <i
class="fa fa-pencil-square-o"></i> 编辑</a>
<#else>-
</#if>
</td>
<td> <#if permissions?seq_contains('deleteDept')>
<a class="btn btn-danger btn-xs"
onclick="del('${(o.parentIds)!}')"
><i class="fa fa-times"></i> 删除</a>
<#else>-
</#if>
</td> </tr>
<#else>
<tr data-tt-id="${(o.id)!}" data-tt-parent-id="${(o.parentId)!}">
<td><span class='folder'/>${o.deptName}</td>
<td>${o.deptDesc}</td>
<td>
<#if permissions?seq_contains('editDept')>
<a class="btn btn-primary btn-xs" href="/system/dept/edit/${(o.id)!}">
<i
class="fa fa-pencil-square-o"></i> 编辑</a>
<#else>-
</#if>
</td>
<td>
<#if permissions?seq_contains('deleteDept')>
<a class="btn btn-danger btn-xs"
onclick="del('${(o.parentIds)!}')"
><i class="fa fa-times"></i> 删除</a>
<#else>-
</#if>
</td> </tr>
</#if>
</#list>
</tbody>
<!--t--> </table>
</div> <script src="/plugins/jquery-treetable-master/jquery.treetable.js"></script>
<script>
function del(parentIds) {
if (confirm("您确定要删除该条记录吗")) {
$.ajax({
type: "POST",
url: "/system/dept/delete",
data: {parentIds: parentIds}, // 省级别
dataType: 'json',
success: function (data) {
alert(data.msg);
if (data.code == 0) {
window.location.href = "/system/dept/list/1"
} debugger
}, error: function () {
alert("错了");
}
});
}
} </script>
<script>
$("#treetable").treetable({
expandable: true,// 展示
initialState: "expanded",//默认打开所有节点
stringCollapse: '关闭',
stringExpand: '展开',
onNodeExpand: function () {// 分支展开后的回调函数
var node = this; //判断当前节点是否已经拥有子节点 var childSize = $("#treetable").find("[data-tt-parent-id='" + node.id + "']").length;
if (childSize > 0) {
return;
}
var data = "pageId=" + node.id; // Render loader/spinner while loading 加载时渲染 $.ajax({
loading: false, sync: false,// Must be false, otherwise loadBranch happens after showChildren? // url: context + "/document/loadChild.json",
data: data,
success: function (result) {
if (0 == result.code) {
if (!com.isNull(result.body)) {
if (0 == eval(result.body['chilPages']).length) {//不存在子节点 var $tr = $("#treetable").find("[data-tt-id='" + node.id + "']");
$tr.attr("data-tt-branch", "false");// data-tt-branch 标记当前节点是否是分支节点,在树被初始化的时候生效 $tr.find("span.indenter").html("");// 移除展开图标 return;
}
var rows = this.getnereateHtml(result.body['chilPages']);
$("#treetable").treetable("loadBranch", node, rows);// 插入子节点 $("#treetable").treetable("expandNode", node.id);// 展开子节点 }
} else {
alert(result.tip);
}
}
});
}
}); </script>
/**
* 执行新增
*/
@Permission("addDept")
@Log("保存部门")
@RequestMapping("/doSave")
public String doSave(SysDept dept) {
if (StringUtils.isNotBlank(dept.getId())) { //编辑
sysDeptService.doUpdate(dept);
} else { //新增
dept.setId(CommonUtil.UUID());
int recond = sysDeptService.doSave(dept);
}
return redirectTo("/system/dept/list/1");
}
@Override
public int doSave(SysDept dept) {
String id = dept.getId();
String parentIds = dept.getParentIds();
parentIds += "/" + id;
dept.setParentIds(parentIds);
int record = baseMapper.add(dept);
return record;
} @Override
public int doUpdate(SysDept dept) {
String id = dept.getId();
String parentIds = dept.getParentIds(); parentIds += "/" + id;
dept.setParentIds(parentIds);
int record = baseMapper.doUpdate(dept);
return record; }
<select id="selectDeptList" resultMap="BaseResultMap">
SELECT id,deptName,deptDesc,parentId, parentName,parentIds,sorts
FROM sys_dept
where delFlag=0
<if test="dept!=null and dept.deptName != null and dept.deptName != ''">
and deptName like concat('%',#{dept.deptName},'%')
</if>
<if test="dept!=null and dept.parentIds != null and dept.parentIds != ''">
and parentIds like concat('%',#{dept.parentIds},'%')
</if> ORDER BY
parentIds
</select>
<insert id="add"
parameterType="com.vacomall.entity.SysDept">
INSERT INTO sys_dept (
id,
deptName,
deptDesc,
parentId,
parentName,
sorts,
deptCode,
parentIds
)
VALUES
(
#{id,jdbcType=VARCHAR},
#{deptName,jdbcType=VARCHAR},
#{deptDesc,jdbcType=VARCHAR},
#{parentId,jdbcType=VARCHAR},
#{parentName,jdbcType=VARCHAR},
#{sorts,jdbcType=TINYINT},
#{deptCode,jdbcType=VARCHAR},
#{parentIds,jdbcType=VARCHAR}
)
</insert> <update id="doUpdate" parameterType="com.vacomall.entity.SysDept">
update sys_dept
set
deptName = #{deptName,jdbcType=VARCHAR},
deptDesc = #{deptDesc,jdbcType=VARCHAR},
parentId = #{parentId,jdbcType=VARCHAR},
parentName = #{parentName,jdbcType=VARCHAR},
parentIds = #{parentIds,jdbcType=VARCHAR},
sorts = #{sorts,jdbcType=TINYINT},
deptCode = #{deptCode,jdbcType=VARCHAR} where id = #{id,jdbcType=VARCHAR}
</update>


treetable 用法小例的更多相关文章
- wmic命令用法小例
wmic就是wmic.exe,位于windows目录底下,是一个命令行程序.WMIC可以以两种模式执行:交互模式(Interactive mode)和非交互模式(Non-Interactive mod ...
- zTree 用法小例
插件地址:链接:http://pan.baidu.com/s/1jHVtyZ0 密码:7kee <select id="getTree" resultType="j ...
- linux 命令小例
xargs示例: ls |xargs -i mv {} /opt find示例: find -mtime +n -name “*.avi” -type f -exec rm {} \; find - ...
- Ubuntu13.04 Eclipse下编译安装Hadoop插件及使用小例
Ubuntu13.04 Eclipse下编译安装Hadoop插件及使用小例 一.在Eclipse下编译安装Hadoop插件 Hadoop的Eclipse插件现在已经没有二进制版直接提供,只能自己编译. ...
- 使用libcurl下载文件小例
libcurl是一个很强大的开源网络处理库,支持包括HTTP.HTTPS.FTP……一系列网络协议.用它来进行HTTP的get\post 或者下载文件更是小菜一碟,chrome内核都用到了它,本文主要 ...
- webpack -- 多页面简单小例
有时单页面并不能满足我们的业务需求,就需要去构建多页面应用,以下为简单小例: entry:{ index:'./src/module/index/index.js', student:'./src/m ...
- [libpng]CMake+VS2015下编译libpng,及使用小例
编译前的工作 在编译libpng前,需要把zlib编译好,并加载到编译环境里. CMake + VS2015 下编译zlib,及使用小例 下载与解压 libpng的官网是 http://www.lib ...
- Linux下 ls 命令的高级用法8例
Linux下 ls 命令的高级用法8例 在Linux下,ls这个命令大家肯定太熟悉了,良许相信只要是Linux工程师,每天都会离不开这个命令,而且一天会使用个几百次.但是,除了 ls -l 以外,你还 ...
- CSS语法与用法小字典
前言:这是上学时期对CSS学习的整理,一直没见过光,由于不是专门做前端开发的,难免写不到重点,但对于看懂CSS,和掌握一些基本的用法,熟悉里面的门路还是大有裨益的.由于是从word中贴过来的,排版和格 ...
随机推荐
- 快速幂&&矩阵快速幂
快速幂 题目链接:https://www.luogu.org/problemnew/show/P1226 快速幂用了二分的思想,即将\(a^{b}\)的指数b不断分解成二进制的形式,然后相乘累加起来, ...
- Avada v5.0.6 最新版本破解教程如下:
Avada v5.0.6 最新版本破解教程如下: .找到\themes\Avada\includes\avada-envato-api.php文件,注释掉如下两行代码 $response_code = ...
- vba练习资料
链接:https://pan.baidu.com/s/1E0e58rZ_3QCCorWNM-ehSA 提取码:jluf
- HDU-1241-油藏
这题一道深搜的简单题目,其实题目的思路就只是向八个方向搜索,然后把整个油田遍历一遍即可. #include <cstdio> #include <cstring> int ma ...
- Spring Boot + Mybatis + Druid 动态切换多数据源
在大型应用程序中,配置主从数据库并使用读写分离是常见的设计模式. 在Spring应用程序中,要实现读写分离,最好不要对现有代码进行改动,而是在底层透明地支持. 这样,就需要我们再一个项目中,配置两个, ...
- Linux基础学习-Postfix与Dovecot部署邮件系统
电子邮件系统 电子邮件系统是我们在日常工作.生活中最常用的一种网络服务. 部署基础的电子邮件系统 [root@qdlinux ~]# yum install bind-chroot -y [root@ ...
- styled-components
参考: http://www.alloyteam.com/2017/05/guide-styled-components/ https://medium.com/styled-components/g ...
- 【css】背景图片填充
background: url(../img/icon_img/blue_gou.png) 0 0 no-repeat; background-size: cover; border-color: # ...
- Python中变量的命名与使用(个人总结)
与众多编程语言一样,Python变量的命名有一定的规范: 变量名只能包含字母.数字.下划线且不能以数字开头.例如,num_1 为正确命名,而 1_num 则错误. 变量名不允许含空格,但是可以用下划线 ...
- I2C驱动框架(一)
参考:I2C子系统之内核中I2C子系统的结构 结合vmlinux.lds和Makefile可确定i2c初始化函数的执行顺序如下: 1./dricer/i2c/i2c-core.c中的函数:i2c_in ...