108 lines
3.1 KiB
JavaScript
108 lines
3.1 KiB
JavaScript
//当前页面业务
|
|
var thisWidget;
|
|
var layersObj = {};
|
|
|
|
function initWidgetView(_thisWidget) {
|
|
thisWidget = _thisWidget;
|
|
|
|
//初始化树
|
|
var setting = {
|
|
check: {
|
|
enable: true
|
|
},
|
|
data: {
|
|
simpleData: {
|
|
enable: true
|
|
}
|
|
},
|
|
callback: {
|
|
onCheck: treeOverlays_onCheck,
|
|
onDblClick: treeOverlays_onDblClick
|
|
},
|
|
view: {
|
|
// addDiyDom: addOpacityRangeDom
|
|
}
|
|
};
|
|
var zNodes = [];
|
|
var layers = thisWidget.getLayers();
|
|
for (var i = layers.length - 1; i >= 0; i--) {
|
|
var item = layers[i];
|
|
|
|
var node = {
|
|
id: item.id,
|
|
pId: item.pid,
|
|
name: item.name,
|
|
_type: item.type,
|
|
_key: item._key,
|
|
};
|
|
if (item.hasLayer) {
|
|
node.icon = "../manageLayers/images/layer2.png";
|
|
node.checked = false;
|
|
if (item._parent)
|
|
node._parent = item._parent._key;
|
|
//记录图层
|
|
layersObj[node._key] = item;
|
|
zNodes.push(node);
|
|
} else {
|
|
node.icon = "../manageLayers/images/folder.png";
|
|
node.open = item.open == null ? true : item.open;
|
|
zNodes.push(node);
|
|
}
|
|
}
|
|
$.fn.zTree.init($("#treeOverlays_left"), setting, zNodes);
|
|
|
|
}
|
|
|
|
|
|
//viewEx图层渲染
|
|
function treeOverlays_onCheck(e, treeId, treeNode) {
|
|
var zTree = $.fn.zTree.getZTreeObj(treeId);
|
|
//获得所有改变check状态的节点
|
|
var changedNodes = zTree.getChangeCheckedNodes();
|
|
for (var i = 0; i < changedNodes.length; i++) {
|
|
var treeNode = changedNodes[i];
|
|
treeNode.checkedOld = treeNode.checked;
|
|
var layer = layersObj[treeNode._key];
|
|
if (layer == null) continue;
|
|
|
|
//显示隐藏透明度设置view
|
|
// if (treeNode.checked)
|
|
// $("#" + treeNode.tId + "_range").show();
|
|
// else
|
|
// $("#" + treeNode.tId + "_range").hide();
|
|
|
|
//单选的互斥的节点,特殊处理下。
|
|
if (treeNode._type == "terrain" && treeNode.checked) {
|
|
function filter(node) {
|
|
return node._type == "terrain" && node._key != treeNode._key;
|
|
}
|
|
var nodes = zTree.getNodesByFilter(filter, false, treeNode.getParentNode());
|
|
for (var nidx = 0; nidx < nodes.length; nidx++) {
|
|
|
|
nodes[nidx].checkedOld = false;
|
|
zTree.checkNode(nodes[nidx], false, true);
|
|
|
|
var layertmp = layersObj[nodes[nidx]._key];
|
|
compareView.updateLayerVisible(layertmp, false);
|
|
}
|
|
}
|
|
//处理图层显示隐藏
|
|
if (treeNode._parent) {
|
|
var parentLayer = layersObj[treeNode._parent];
|
|
thisWidget.updateLayerVisible(layer, treeNode.checked, parentLayer);
|
|
} else {
|
|
thisWidget.updateLayerVisible(layer, treeNode.checked);
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
function treeOverlays_onDblClick(event, treeId, treeNode) {
|
|
if (treeNode == null || treeNode._key == null) return;
|
|
|
|
var item = layersObj[treeNode._key];
|
|
thisWidget.centerAt(item);
|
|
}
|
|
|
|
|