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中贴过来的,排版和格 ...
随机推荐
- ftp - Internet 文件传输程序 (file transfer program)
概述 (SYNOPSIS) ftp [-pinegvd ] [host ] pftp [-inegvd ] [host ] 说明 (DESCRIPTION) 用户通过 Ftp 这个程序来使用 Inte ...
- CPP-基础:strcpy之于C++(
以下对strcpy函数错误的是? char atr1[]="string"; ]; char *str3; char *str4="sting"; A.strc ...
- CPP-基础:cout
C++编程语言互换流中的标准输出流,需要iostream.h支持.读为 "c out". 使用范例 //用户输入的数字由cin保存于变量a中,并通过cout输出. #include ...
- jQuery绑定动态元素的点击事件无效
之前就一直受这个问题的困扰,在写ajax加载数据的时候发现,后面追加进来的demo节点元素,失去了之前的点击事件.为什么点击事件失效,我们该怎么去解决呢?那么,我们通过下面的示例简单说明. 示例如下: ...
- Bootstrap CSS概览
HTML5文档类型(<!DOCTYPE html>) Bootstrap前端框架使用了HTML5和CSS属性,为了让这些能正常工作,您需要使用HTML5文档类型(<!DOCTYPE ...
- iptables 过滤字符串
iptables 过滤字符串 1. 开启iptables iptables -P OUTPUT ACCEPT ###允许输出链 service iptables save ...
- 【OS_Linux】Linux系统中目录及文件管理
1.Linux系统中目录的树状结构 目录 /bin 存放二进制可执行文件(ls,cat,mkdir等),常用命令一般都在这里. /etc 存放系统管理和配置文件 /home 存放所有用户文件的根目录, ...
- C语言获取Shell返回结果
Linux编程时候,如果我们需要调用shell命令或脚本通常使用system方法.如system("ls") 该方法返回值为0或-1,即成功或失败.而有的时候我们想要获取shell ...
- Lex与Yacc学习(四)之Lex规范
Lex规范的结构 lex程序由三部分组成:定义段.规则段和用户子例程序段 ...定义段... %% ...规则段... %% ...用户子例程序段... 这些部分由以两个百分号组成的行分隔开.尽管某一 ...
- GYM 101350 G
G. Snake Rana time limit per test 4.0 s memory limit per test 256 MB input standard input output sta ...