#-- 树形控件,以input下拉框的形式显示(官网:http://www.ztree.me/v3/main.php#_zTreeInfo) -->
<#-- treeId(必须):树形加载和控制区域的ID,一张页面同时加载多个树形时必须用该值进行区分 -->
<#-- json(必须):需要加载成树形的数据,数据结构为:[{categoryId:1,categoryCategoryId:0,categoryTitle:""},{categoryId:2,categoryCategoryId:1,categoryTitle:""}] -->
<#-- jsonId(必须):json数据中ID名称,如:categoryId -->
<#-- jsonPid(必须):json数据中关联的父ID,如:categoryCategoryId -->
<#-- jsonName(必须):json数据中需要显示的数据名称,如:categoryTitle -->
<#-- jsonUrl:如过json数据中存在跳转地址则直接将字段名称填入点击树形时可自动跳转 -->
<#-- addNodesName:增加顶级根节点,直接传入根节点名称即可。如:顶级分类 -->
<#-- buttonText:选择框加载的默认提示信息 -->
<#-- inputName(必须):隐藏input框的name值,用于保存选中数据的ID -->
<#-- inputValue:隐藏input框的val默认值,适用用于加载初始化数据 -->
<#-- inputId:隐藏input框的id值,用于保存选中数据的ID -->
<#-- selectParent:用户选择父节点时的提示信息,当该值存在时,用户不能选择存在子节点的父节点,并提示传入的值,当该值不存在时用户可以选择任意 -->
<#-- clickZtreeId: 选择节点后触发的事件-->
<#-- expandAll:控制节点数据显示的时候是全部展开还是全部折叠(true[默认]:全部展开,false:全部折叠)。 -->
<#-- showIcon:是否显示文件夹图标,true:显示;false(默认):不显示 -->
<#-- 内置函数调用方法说明:
调用对象的函数名: zTreeObj${treeId}(treeId为自定义的ID名称);
/**
* 根据节点数据的属性搜索,获取条件完全匹配的单一节点数据 JSON 对象
* 如有重复则返回最近的一条。
* @param key:需要精确匹配的属性名称
* @param value:需要精确匹配的属性值,可以是任何类型,只要保证与 key 指定的属性值保持一致即可
* @param parentNodeJSON:搜索范围,指定在某个父节点下的子节点中进行搜索忽略此参数,为null时表示在全部节点中搜索
* @return JSON
*/
zTreeObj${treeId}.getNodeByParam(key,value,parentNode);
/**
* 获取根节点数据,既获取PID=0的数据集合
* @return ArrayList(json)
*/
zTreeObj${treeId}.getNodes();
/**
* 根据节点数据的属性搜索,获取条件完全匹配的节点数据 JSON 对象集合
* @param key:需要精确匹配的属性名称
* @param value:需要精确匹配的属性值,可以是任何类型,只要保证与 key 指定的属性值保持一致即可
* @param parentNode:可以指定在某个父节点下的子节点中搜索,为null时表示在全部节点中搜索
* @return ArrayList(json)
*/
zTreeObj${treeId}.getNodesByParam(key,value,parentNode);
-->
<#--废弃,推荐使用inputTree 参考input_tree.ftl-->
<#macro treeInput treeId="" json="" jsonId="" jsonPid="" jsonName="" jsonUrl="" addNodesName="" buttonText="" inputName="" inputValue="" inputId="" selectParent="" clickZtreeId="" expandAll="true" showIcon="false" >
name="${inputName}"#if> <#if inputId?has_content>id="${inputId}"#if> value="${inputValue?default(0)}">
#macro>
<#------------------------------------------------------------------------------------------------------------------------------------------------------------------>
<#--
getZtreeId:外部重写JS方法:
/**
* 外部点击树形节点时触发的事件,(传入参数必须与下述参数名保持一致)
* event:获取到的触发事件
* treeId:载体ID,这里为:treeDome${treeId}
* treeNode:内置函数对象,这里可直接调用内置函数方法
* treeNode.${jsonId}:获取点击的树形节点的ID
* treeNode.${jsonName}:获取点击树形节点的名称
* .....
*/
getZtreeId${treeId}(event,treeId,treeNode);
-->
<#-- 树形控件,以input下拉框的形式显示(官网:http://www.ztree.me/v3/main.php#_zTreeInfo) -->
<#-- treeId(必须):树形加载和控制区域的ID,一张页面同时加载多个树形时必须用该值进行区分 -->
<#-- json(必须):需要加载成树形的数据,数据结构为:[{categoryId:1,categoryCategoryId:0,categoryTitle:""},{categoryId:2,categoryCategoryId:1,categoryTitle:""}] -->
<#-- jsonId(必须):json数据中ID名称,如:categoryId -->
<#-- jsonPid(必须):json数据中关联的父ID,如:categoryCategoryId -->
<#-- jsonName(必须):json数据中需要显示的数据名称,如:categoryTitle -->
<#-- jsonUrl:如过json数据中存在跳转地址则直接将字段名称填入点击树形时可自动跳转 -->
<#-- addNodesName:增加顶级根节点,直接传入根节点名称即可。如:顶级分类 -->
<#-- expandAll:控制节点数据显示的时候是全部展开还是全部折叠(true[默认]:全部展开,false:全部折叠)。 -->
<#-- showIcon:是否显示文件夹图标,true:显示;false(默认):不显示 -->
<#-- 内置函数调用方法说明:
调用对象的函数名: zTreeObj${treeId}(treeId为自定义的ID名称);
/**
* 根据节点数据的属性搜索,获取条件完全匹配的单一节点数据 JSON 对象
* 如有重复则返回最近的一条。
* @param key:需要精确匹配的属性名称
* @param value:需要精确匹配的属性值,可以是任何类型,只要保证与 key 指定的属性值保持一致即可
* @param parentNodeJSON:搜索范围,指定在某个父节点下的子节点中进行搜索忽略此参数,为null时表示在全部节点中搜索
* @return JSON
*/
zTreeObj${treeId}.getNodeByParam(key,value,parentNode);
/**
* 获取根节点数据,既获取PID=0的数据集合
* @return ArrayList(json)
*/
zTreeObj${treeId}.getNodes();
/**
* 根据节点数据的属性搜索,获取条件完全匹配的节点数据 JSON 对象集合
* @param key:需要精确匹配的属性名称
* @param value:需要精确匹配的属性值,可以是任何类型,只要保证与 key 指定的属性值保持一致即可
* @param parentNode:可以指定在某个父节点下的子节点中搜索,为null时表示在全部节点中搜索
* @return ArrayList(json)
*/
zTreeObj${treeId}.getNodesByParam(key,value,parentNode);
-->
<#macro tree id="ztree${.now?string('yyyyMMddhhmmss')}" type="default" data=[] url="" idKey="" pIdKey="" text="" label="" treeId="" json="" jsonId="" jsonPid="" jsonName="" jsonUrl="" validation="" addNodesName="" expandAll="true" showIcon="false" getZtreeId="" ischeck="false" help="">
<#if type="checkbox">
<#elseif type=="default"> <#--默认调用方式在4.5.5将废弃-->
#if>
#macro>
<#-------------------------------------------------------------------------- -->
<#-- 树形控件,树形结构table 格式-->
<#-- tbodyId(必须) 需要进行委派的容器Id, 如要委派到tbody的id值-->
<#-- treeId(必须):树形加载和控制区域的ID,一张页面同时加载多个树形时必须用该值进行区分 -->
<#-- json(必须):需要加载成树形的数据,数据结构为:[{categoryId:1,categoryCategoryId:0,categoryTitle:""},{categoryId:2,categoryCategoryId:1,categoryTitle:""}] -->
<#-- jsonId(必须):json数据中ID名称,如:categoryId -->
<#-- jsonPid(必须):json数据中关联的父ID,如:categoryCategoryId -->
<#-- jsonName(必须):json数据中需要显示的数据名称,如:categoryTitle -->
<#-- tmplBefored是否插入节点图标之前 false不插入, true插入-->
<#-- #befored${treeId} 在节点图标之前需要插入列表属性,如果要使用必须tmplBefored="true"-->
<#-- #after${treeId}(必须) 在节点图标之后需要插入列表属性-->
<#-- 该结构中调用方法简略说明,如果需要其他更改,请添加方法:
clickDome${treeId},展开节点|关闭节点
getChilds${treeId},获取当前点击的子节点
removeChilds${treeId},/移除点击节点的所有子节点
-->
<#macro treeTable tbodyId="" treeId="" json="" jsonId="" jsonPid="" jsonName="" style="" tmplBefored="false">
#macro>