You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
294 lines
12 KiB
294 lines
12 KiB
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<%@ page language="java" pageEncoding="UTF-8" %>
|
|
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
|
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
|
|
<%@ include file="/common/ctx.jsp" %>
|
|
|
|
<html>
|
|
<head>
|
|
|
|
<title>My JSP 'gnpz.jsp' starting page</title>
|
|
|
|
<meta http-equiv="pragma" content="no-cache">
|
|
<meta http-equiv="cache-control" content="no-cache">
|
|
<meta http-equiv="expires" content="0">
|
|
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
|
|
<meta http-equiv="description" content="This is my page">
|
|
<!--
|
|
<link rel="stylesheet" type="text/css" href="styles.css">
|
|
-->
|
|
|
|
<%--弹框--%>
|
|
<script type="text/javascript" src="${ctx}/js/jquery-1.8.2.min.js"></script>
|
|
<script src="${ctx}/js/layer/layer.js"></script>
|
|
<%--表单工具--%>
|
|
<script src="${ctx}/js/common/cjy_form.js"></script>
|
|
<script src="${ctx}/js/common/cjy_common.js"></script>
|
|
<%--json工具--%>
|
|
<script type="text/javascript" src="${ctx}/js/common/json_form.js"></script>
|
|
<!-- 字体图标 -->
|
|
<link href="${ctx}/assets/font-awesome/css/font-awesome.min.css" rel="stylesheet"/>
|
|
<link href="${ctx}/assets/ionicon/css/ionicons.min.css" rel="stylesheet"/>
|
|
<link href="${ctx}/css/material-design-iconic-font.min.css" rel="stylesheet">
|
|
<!-- 自定义样式 -->
|
|
<link href="${ctx}/hbcyjc/resourceNew/css/cjy_style.css" rel="stylesheet"/>
|
|
<link href="${ctx}/hbcyjc/resourceNew/css/cjy_style2.css" rel="stylesheet"/>
|
|
|
|
|
|
<link rel="stylesheet" href="${ctx}/js/JQuery zTree v3.4/css/demo.css" type="text/css">
|
|
<link rel="stylesheet" href="${ctx}/js/JQuery zTree v3.4/css/zTreeStyle/zTreeStyle.css" type="text/css">
|
|
<script type="text/javascript" src="${ctx}/js/JQuery zTree v3.4/js/jquery.ztree.core-3.4.js"></script>
|
|
<script type="text/javascript" src="${ctx}/js/JQuery zTree v3.4/js/jquery.ztree.excheck-3.4.js"></script>
|
|
<script type="text/javascript" src="${ctx}/js/JQuery zTree v3.4/js/jquery.ztree.exedit-3.4.js"></script>
|
|
|
|
<SCRIPT type="text/javascript">
|
|
|
|
var setting = {
|
|
edit: {
|
|
drag: {
|
|
autoExpandTrigger: true,
|
|
prev: dropPrev,
|
|
inner: dropInner,
|
|
next: dropNext
|
|
},
|
|
enable: true,
|
|
showRemoveBtn: false,
|
|
showRenameBtn: false
|
|
},
|
|
data: {
|
|
simpleData: {
|
|
enable: true
|
|
}
|
|
},
|
|
callback: {
|
|
beforeDrag: beforeDrag,
|
|
beforeDrop: beforeDrop,
|
|
beforeDragOpen: beforeDragOpen,
|
|
onDrag: onDrag,
|
|
onDrop: onDrop,
|
|
onExpand: onExpand
|
|
}
|
|
};
|
|
|
|
|
|
//父节点添加禁止子节点移走(childOuter:false),且不可拖动(drag:false)
|
|
//二级节点添加禁止子节点移走,但是可以拖动
|
|
// { id:31, pId:3, name:"我不想成为父节点 1-1", dropInner:false},
|
|
// { id:32, pId:3, name:"我不要成为根节点 1-2", dropRoot:false},
|
|
// var zNodes =[
|
|
// { id:1, pId:0, name:"拖拽测试", open:true, drag:false,childOuter:false},
|
|
|
|
// { id:3, pId:1, name:"禁止子节点移走1", open:true, childOuter:false},
|
|
// { id:33, pId:3, name:"拖拽试试看 1-3"},
|
|
// { id:34, pId:3, name:"拖拽试试看 1-4"},
|
|
|
|
// { id:2, pId:1, name:"禁止子节点移走2", open:true, childOuter:false},
|
|
|
|
// { id:23, pId:2, name:"拖拽试试看 2-3"},
|
|
// { id:24, pId:2, name:"拖拽试试看 2-4"},
|
|
// { id:25, pId:2, name:"拖拽试试看 2-5"},
|
|
// { id:26, pId:2, name:"拖拽试试看 2-6"},
|
|
// ];
|
|
|
|
var zNodes = [];
|
|
zNodes = ${diclist};
|
|
|
|
function dropPrev(treeId, nodes, targetNode) {
|
|
var pNode = targetNode.getParentNode();
|
|
if (pNode && pNode.dropInner === false) {
|
|
return false;
|
|
} else {
|
|
for (var i = 0, l = curDragNodes.length; i < l; i++) {
|
|
var curPNode = curDragNodes[i].getParentNode();
|
|
if (curPNode && curPNode !== targetNode.getParentNode() && curPNode.childOuter === false) {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
|
|
function dropInner(treeId, nodes, targetNode) {
|
|
if (targetNode && targetNode.dropInner === false) {
|
|
return false;
|
|
} else {
|
|
for (var i = 0, l = curDragNodes.length; i < l; i++) {
|
|
if (!targetNode && curDragNodes[i].dropRoot === false) {
|
|
return false;
|
|
} else if (curDragNodes[i].parentTId && curDragNodes[i].getParentNode() !== targetNode && curDragNodes[i].getParentNode().childOuter === false) {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
|
|
function dropNext(treeId, nodes, targetNode) {
|
|
var pNode = targetNode.getParentNode();
|
|
if (pNode && pNode.dropInner === false) {
|
|
return false;
|
|
} else {
|
|
for (var i = 0, l = curDragNodes.length; i < l; i++) {
|
|
var curPNode = curDragNodes[i].getParentNode();
|
|
if (curPNode && curPNode !== targetNode.getParentNode() && curPNode.childOuter === false) {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
|
|
var log, className = "dark", curDragNodes, autoExpandNode;
|
|
|
|
function beforeDrag(treeId, treeNodes) {
|
|
className = (className === "dark" ? "" : "dark");
|
|
showLog("[ " + getTime() + " beforeDrag ] drag: " + treeNodes.length + " nodes.");
|
|
for (var i = 0, l = treeNodes.length; i < l; i++) {
|
|
if (treeNodes[i].drag === false) {
|
|
curDragNodes = null;
|
|
return false;
|
|
} else if (treeNodes[i].parentTId && treeNodes[i].getParentNode().childDrag === false) {
|
|
curDragNodes = null;
|
|
return false;
|
|
}
|
|
}
|
|
curDragNodes = treeNodes;
|
|
return true;
|
|
}
|
|
|
|
function beforeDragOpen(treeId, treeNode) {
|
|
autoExpandNode = treeNode;
|
|
return true;
|
|
}
|
|
|
|
function beforeDrop(treeId, treeNodes, targetNode, moveType, isCopy) {
|
|
className = (className === "dark" ? "" : "dark");
|
|
showLog("[ " + getTime() + " beforeDrop ] moveType:" + moveType);
|
|
showLog("target: " + (targetNode ? targetNode.name : "root") + " -- is " + (isCopy == null ? "cancel" : isCopy ? "copy" : "move"));
|
|
return true;
|
|
}
|
|
|
|
function onDrag(event, treeId, treeNodes) {
|
|
className = (className === "dark" ? "" : "dark");
|
|
showLog("[ " + getTime() + " onDrag ] drag: " + treeNodes.length + " nodes.");
|
|
}
|
|
|
|
function onDrop(event, treeId, treeNodes, targetNode, moveType, isCopy) {
|
|
className = (className === "dark" ? "" : "dark");
|
|
showLog("[ " + getTime() + " onDrop ] moveType:" + moveType);
|
|
showLog("target: " + (targetNode ? targetNode.name : "root") + " -- is " + (isCopy == null ? "cancel" : isCopy ? "copy" : "move"))
|
|
}
|
|
|
|
function onExpand(event, treeId, treeNode) {
|
|
if (treeNode === autoExpandNode) {
|
|
className = (className === "dark" ? "" : "dark");
|
|
showLog("[ " + getTime() + " onExpand ] " + treeNode.name);
|
|
}
|
|
}
|
|
|
|
function showLog(str) {
|
|
if (!log) log = $("#log");
|
|
log.append("<li class='" + className + "'>" + str + "</li>");
|
|
if (log.children("li").length > 8) {
|
|
log.get(0).removeChild(log.children("li")[0]);
|
|
}
|
|
}
|
|
|
|
function getTime() {
|
|
var now = new Date(),
|
|
h = now.getHours(),
|
|
m = now.getMinutes(),
|
|
s = now.getSeconds(),
|
|
ms = now.getMilliseconds();
|
|
return (h + ":" + m + ":" + s + " " + ms);
|
|
}
|
|
|
|
function setTrigger() {
|
|
var zTree = $.fn.zTree.getZTreeObj("treeDemo");
|
|
zTree.setting.edit.drag.autoExpandTrigger = $("#callbackTrigger").attr("checked");
|
|
}
|
|
|
|
$(document).ready(function () {
|
|
$.fn.zTree.init($("#treeDemo"), setting, zNodes);
|
|
$("#callbackTrigger").bind("change", {}, setTrigger);
|
|
});
|
|
|
|
function extracted(cjcdsx, obj) {
|
|
for (var i = 0; i < cjcdsx.length; i++) {
|
|
var sycd = cjcdsx[i]; //获得首页菜单
|
|
obj.retdicnum += sycd.dicnum + ","; //首页菜单id
|
|
obj.retname += sycd.name + ",";
|
|
var sycdzcd = sycd.children;//首页菜单子菜单(基础信息管理-景区基础信息管理、旅行社基础信息管理)
|
|
if (sycdzcd != null && sycdzcd != "" && sycdzcd != undefined && sycdzcd != 'undefined') {
|
|
if (sycdzcd.length > 0) { //长度大于0,证明有子菜单
|
|
extracted(sycdzcd, obj);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
//保存排序--解析配置的菜单顺序
|
|
function save() {
|
|
var treeObj = $.fn.zTree.getZTreeObj("treeDemo");
|
|
var nodes = treeObj.getNodes();
|
|
var children = nodes[0].children;
|
|
var cjcd = children[0]; //产检的菜单
|
|
var zhzscd = children[1]; //综合展示的菜单
|
|
|
|
var cjcdsx = cjcd.children;
|
|
var zhzscdsx = zhzscd.children;
|
|
|
|
var obj = {};
|
|
obj.retdicnum = "";
|
|
obj.retname = "";
|
|
if(cjcdsx != null && cjcdsx != "" && cjcdsx != undefined && cjcdsx != 'undefined'){
|
|
if (cjcdsx.length > 0) { //长度大于0,证明有子菜单
|
|
extracted(cjcdsx, obj);
|
|
}
|
|
}
|
|
|
|
if(zhzscdsx != null && zhzscdsx != "" && zhzscdsx != undefined && zhzscdsx != 'undefined'){
|
|
if (zhzscdsx.length > 0) { //长度大于0,证明有子菜单
|
|
extracted(zhzscdsx, obj);
|
|
}
|
|
}
|
|
|
|
|
|
parent.$("#ztreechoseid").val(obj.retdicnum); //将排序后的id值赋值到父页面
|
|
parent.$("#ztreechosename").val(obj.retname); //将排序后的菜单名称值赋值到父页面
|
|
//关闭窗口
|
|
my_cancel();
|
|
}
|
|
|
|
|
|
function my_cancel() {
|
|
var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
|
|
parent.layer.close(index) //关闭弹出框
|
|
}
|
|
|
|
|
|
</SCRIPT>
|
|
|
|
<style>
|
|
ul.ztree{width:580px}
|
|
.form-control{
|
|
background:#04489D;
|
|
color: #fff;
|
|
border: 1px solid #04489D;
|
|
padding: 10px;}
|
|
div.content_wrap div.left {
|
|
float: left;
|
|
width: 590px;
|
|
}
|
|
</style>
|
|
</head>
|
|
|
|
<body>
|
|
<div class="content_wrap">
|
|
<div class="zTreeDemoBackground left">
|
|
<ul id="treeDemo" class="ztree"></ul>
|
|
<div style="text-align: center;padding: 10px;"><button class="form-control" type="button" onclick="save()"><i class="fa fa-save"></i>保存</button></div>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|
|
|