234 lines
8.3 KiB
JavaScript
234 lines
8.3 KiB
JavaScript
//document.onselectstart = document.ondrag = function(){
|
||
// return false;
|
||
//}
|
||
//分类的根节点
|
||
var rootid = $().getPara("pcid");
|
||
rootid = parseInt(rootid) < 0 ? 0 : parseInt(rootid);
|
||
//
|
||
$(function () {
|
||
initloyout();
|
||
//控制编辑面板,默认为编辑根节点
|
||
setEditPanel("root");
|
||
//载入树形菜单的数据
|
||
$().SoapAjax("Columns", "Order", { result: "" }, funcc, loading, unloading);
|
||
});
|
||
//页面初始化布局
|
||
function initloyout() {
|
||
$("input[type='text']").addClass("TextBox");
|
||
$("textarea").addClass("TextBox");
|
||
//页面可控布局
|
||
var cont = $(".pageWinContext");
|
||
//左侧菜单树区域
|
||
var left = $("#MenuTreePanel");
|
||
var h = document.documentElement.clientHeight;
|
||
left.height(h - 120);
|
||
//右侧编辑区域
|
||
var right = $("#Panel");
|
||
var h = document.documentElement.clientHeight;
|
||
right.height(h - 153);
|
||
|
||
//右侧编辑区事件
|
||
$("#EditPanelTitle div").click(function () {
|
||
var type = $(this).attr("type");
|
||
setEditPanel(type);
|
||
});
|
||
//保存按钮修改子节点信息
|
||
$("input[name$='btnSave']").click(function () {
|
||
if ($.trim($("#name").val()) != "") {
|
||
xml = encodeURIComponent(updateNode());
|
||
$().SoapAjax("Columns", "Update ", { result: xml }, funcc, loading, unloading);
|
||
}
|
||
return false;
|
||
});
|
||
//新增按钮
|
||
$("input[name$='btnAdd']").click(function () {
|
||
if ($.trim($("#addname").val()) != "") {
|
||
var xml = encodeURIComponent(addNode());
|
||
$().SoapAjax("Columns", "Add", { result: xml }, funcc, loading, unloading);
|
||
}
|
||
return false;
|
||
});
|
||
}
|
||
//数据载入完成后的事件
|
||
//data:完整数据源,webservice输出
|
||
function funcc(data) {
|
||
var tree = new Tree("#MenuTreePanel");
|
||
//var html=data.find("string").text();
|
||
//$("#MenuTreePanel").html(html);
|
||
Tree.RootClick = editroot;
|
||
Tree.NodeClick = editNode;
|
||
//
|
||
Tree.RootId = rootid;
|
||
Tree.onChangeOrder = changeOrder;
|
||
Tree.onDelNode = delNode;
|
||
|
||
//生成菜单
|
||
tree.BuildMenu(data);
|
||
//$("#MenuTreePanel").html(rootHtml);
|
||
editroot();
|
||
}
|
||
//点击根节点
|
||
function editroot() {
|
||
var panel = $("#MenuEditPanel");
|
||
panel.find("#addNodeParent").text("无(顶级)");
|
||
panel.find("span[edit='addpid']").text(rootid);
|
||
var tit = $("#editTitle");
|
||
tit.hide();
|
||
var tit = $("#purviewTitle");
|
||
tit.hide();
|
||
setEditPanel("add");
|
||
}
|
||
//点击子节点时
|
||
function editNode(point) {
|
||
var panel = $("#MenuEditPanel");
|
||
var id = point.attr("nodeId");
|
||
//“编辑”选项卡显示
|
||
$("#editTitle").show();
|
||
$("#purviewTitle").show();
|
||
$("#purviewTitle").attr("nodeId", id);
|
||
var edit = $("#EditPanel");
|
||
setEditPanel("edit");
|
||
//获取单个信息
|
||
$.get("/manage/soap/Columns.asmx/ColumnJson", { id: id },
|
||
function (data) {
|
||
//生成node节点对象
|
||
eval($(data).text());
|
||
//新增下级栏目所用的参数
|
||
panel.find("#addNodeParent").text(node.Col_Name);
|
||
panel.find("span[edit='addpid']").text(node.Col_ID);
|
||
//当前节点信息
|
||
panel.find("span[edit='id']").text(node.Col_ID);
|
||
panel.find("span[edit='pid']").text(node.Col_PID);
|
||
panel.find("span[edit='tax']").text(node.Col_Tax);
|
||
panel.find("input[name='name']").val(node.Col_Name);
|
||
panel.find("input[name='byname']").val(node.Col_ByName);
|
||
//栏目类型
|
||
panel.find("input[type='radio'][name='type']").each(function () {
|
||
$(this).prop("checked", $(this).val() == node.Col_Type ? "checked" : "");
|
||
});
|
||
panel.find("input[name='title']").val(node.Col_Title);
|
||
panel.find("input[name='keywords']").val(node.Col_Keywords);
|
||
panel.find("textarea[name='desc']").text(node.Col_Descr);
|
||
panel.find("textarea[name='intro']").text(node.Col_Intro);
|
||
//是否与使用
|
||
var cbuse = panel.find("input[type='checkbox'][name='cbIsUse']");
|
||
node.Col_IsUse ? cbuse.prop("checked", "checked") : cbuse.removeAttr("checked");
|
||
//是否允许评论与审核
|
||
var cbIsNote = panel.find("input[type='checkbox'][name='cbIsNote']");
|
||
node.Col_IsNote ? cbIsNote.prop("checked", "checked") : cbIsNote.removeAttr("checked");
|
||
//当前节点父节点信息
|
||
if (node.Col_PID == 0) {
|
||
panel.find("#editNodeParent").text("顶级");
|
||
} else {
|
||
var pid = point.attr("patId");
|
||
var pnode = $("#MenuTreePanel").find("div[nodeId=" + pid + "]");
|
||
var pname = pnode.find("div:last").find("span:first").text();
|
||
panel.find("#editNodeParent").text(pname);
|
||
}
|
||
});
|
||
}
|
||
//控制编辑面板的事件
|
||
//pevent:"edit"为编辑节点,"add"为新增
|
||
function setEditPanel(pevent) {
|
||
//编辑区面板
|
||
var panel = $("#MenuEditPanel #Panel");
|
||
panel.children().hide();
|
||
var edit = $("#EditPanel");
|
||
var add = $("#AddPanel");
|
||
$("#EditPanelTitle").children().removeClass("click");
|
||
switch (pevent) {
|
||
case "edit":
|
||
add.hide();
|
||
edit.show();
|
||
$("#EditPanelTitle div[type='edit']").addClass("click");
|
||
break;
|
||
case "add":
|
||
edit.hide();
|
||
add.show();
|
||
$("#EditPanelTitle div[type='add']").addClass("click");
|
||
break;
|
||
}
|
||
}
|
||
|
||
//递交子节点信息
|
||
function updateNode() {
|
||
var panel = $("#MenuEditPanel");
|
||
//结果
|
||
var tmp = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>";
|
||
tmp += "<node type=\"edit\" id=\"" + $("span[edit='id']").text() + "\" >";
|
||
tmp += "<name>" + $("#name").val() + "</name>";
|
||
tmp += "<byname>" + $("#byname").val() + "</byname>";
|
||
tmp += "<pid>" + panel.find("span[edit='pid']").text() + "</pid>";
|
||
var type= panel.find("input[type='radio'][name='type']:checked");
|
||
tmp += "<type>" + panel.find("input[type='radio'][name='type']:checked").val() + "</type>";
|
||
tmp += "<title><![CDATA[" + panel.find("input[name='title']").val() + "]]></title>";
|
||
tmp += "<keywords><![CDATA[" + panel.find("input[name='keywords']").val() + "]]></keywords>";
|
||
tmp += "<desc><![CDATA[" + panel.find("textarea[name='desc']").text() + "]]></desc>";
|
||
tmp += "<intro><![CDATA[" + panel.find("textarea[name='intro']").text() + "]]></intro>";
|
||
tmp += "<IsUse>" + panel.find("input[type='checkbox'][name='cbIsUse']").prop("checked") + "</IsUse>";
|
||
tmp += "<IsNote>" + panel.find("input[type='checkbox'][name='cbIsNote']").prop("checked") + "</IsNote>";
|
||
tmp += "<Logo></Logo>";
|
||
tmp += "</node>";
|
||
return tmp;
|
||
}
|
||
//递交新增子节点信息
|
||
function addNode() {
|
||
var panel = $("#MenuEditPanel");
|
||
//结果
|
||
var tmp = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>";
|
||
tmp += "<node type=\"add\" id=\"-1\" >";
|
||
tmp += "<name>" + $("#addname").val() + "</name>";
|
||
tmp += "<byname>" + $("#addbyname").val() + "</byname>";
|
||
tmp += "<pid>" + panel.find("span[edit='addpid']").text() + "</pid>";
|
||
tmp += "<type>" + panel.find("input[type='radio'][name='addtype']:checked").val() + "</type>";
|
||
tmp += "<title><![CDATA[" + panel.find("input[name='addtitle']").val() + "]]></title>";
|
||
tmp += "<keywords><![CDATA[" + panel.find("input[name='addkeywords']").val() + "]]></keywords>";
|
||
tmp += "<desc><![CDATA[" + panel.find("textarea[name='adddesc']").text() + "]]></desc>";
|
||
tmp += "<intro><![CDATA[" + panel.find("textarea[name='addintro']").text() + "]]></intro>";
|
||
tmp += "<IsUse>" + panel.find("input[type='checkbox'][name='addcbIsUse']").prop("checked") + "</IsUse>";
|
||
tmp += "<IsNote>" + panel.find("input[type='checkbox'][name='addcbIsNote']").prop("checked") + "</IsNote>";
|
||
tmp += "<Logo></Logo>";
|
||
tmp += "</node>";
|
||
return tmp;
|
||
}
|
||
//更改顺序
|
||
function changeOrder(res) {
|
||
$().SoapAjax("Columns", "Order", { result: res }, funcc, loading, unloading);
|
||
}
|
||
//删除节点
|
||
function delNode(res) {
|
||
var div = $("#NodeDragDiv");
|
||
if (div.length < 1) return;
|
||
var name = div.text();
|
||
var msg = "您是否确定要删除当前栏目:" + name + " ?\n注:\n1、当前栏目的所有下属栏目,将同时删除\;\n2、被删除栏目下的内容也会删除;\n3、删除后将无法恢复。";
|
||
if (!confirm(msg)) return;
|
||
|
||
$().SoapAjax("Columns", "Del", { result: res }, funcc, loading, unloading);
|
||
}
|
||
|
||
//开始载入时的预载
|
||
function loading() {
|
||
$("#loadingBar").show();
|
||
var mask = $("#screenMask");
|
||
mask.remove();
|
||
mask = null
|
||
delete mask;
|
||
var html = "<div id=\"screenMask\"/>";
|
||
$("body").append(html);
|
||
mask = $("#screenMask");
|
||
mask.css("position", "absolute").css("z-index", "100");
|
||
var h = document.documentElement.clientHeight;
|
||
mask.css("width", "100%").css("height", h - 0);
|
||
mask.css("top", 0).css("left", 5);
|
||
mask.css("background-color", "#ffffff");
|
||
mask.css("filter", "Alpha(Opacity=60)");
|
||
mask.css("display", "block");
|
||
mask.css("-moz-opacity", 0.6);
|
||
mask.css("opacity", 0.6);
|
||
mask.fadeIn("slow");
|
||
}
|
||
//载入完成后,清除预载效果
|
||
function unloading() {
|
||
$("#screenMask").remove();
|
||
$("#loadingBar").hide();
|
||
} |