From 89da62649161571834d3f8df7ce36f9967e6ba04 Mon Sep 17 00:00:00 2001
From: wangzhibo <wangzhibo@shsening.com>
Date: 星期二, 07 九月 2021 14:04:31 +0800
Subject: [PATCH] change cesium version
---
widgets/manageLayers/view.js | 348 +++++++++++++++++++++++++++++++--------------------------
1 files changed, 187 insertions(+), 161 deletions(-)
diff --git a/widgets/manageLayers/view.js b/widgets/manageLayers/view.js
index 43a4d00..d353c33 100644
--- a/widgets/manageLayers/view.js
+++ b/widgets/manageLayers/view.js
@@ -1,16 +1,16 @@
-锘�'use script' //寮�鍙戠幆澧冨缓璁紑鍚弗鏍兼ā寮�
+锘�"use script"; //寮�鍙戠幆澧冨缓璁紑鍚弗鏍兼ā寮�
//瀵瑰簲widget.js涓璏yWidget瀹炰緥鍖栧悗鐨勫璞�
-var thisWidget
-var layers = []
-var layersObj = {}
+var thisWidget;
+var layers = [];
+var layersObj = {};
//褰撳墠椤甸潰涓氬姟
function initWidgetView(_thisWidget) {
- thisWidget = _thisWidget
+ thisWidget = _thisWidget;
//鍙抽敭
- bindRightMenuEvnet()
+ bindRightMenuEvnet();
//鍒濆鍖栨爲
var setting = {
@@ -32,28 +32,29 @@
view: {
addDiyDom: addOpacityRangeDom,
},
- }
+ };
- var zNodes = []
- layers = thisWidget.getLayers()
+ var zNodes = [];
+ layers = thisWidget.getLayers();
for (var i = layers.length - 1; i >= 0; i--) {
- var node = _getNodeConfig(layers[i])
+ var node = _getNodeConfig(layers[i]);
if (node) {
- zNodes.push(node)
+ zNodes.push(node);
}
}
- $.fn.zTree.init($('#treeOverlays'), setting, zNodes)
+ $.fn.zTree.init($("#treeOverlays"), setting, zNodes);
}
function _getNodeConfig(layer) {
- if (layer == null || layer.options.noLayerManage) {
- return
+ if (layer == null || !layer.options || layer.options.noLayerManage) {
+ return;
}
- var item = layer.options
+ var item = layer.options;
- if (item.name == '鏈懡鍚�') {
- return
+ if (!item.name) {
+ console.log("鏈懡鍚嶅浘灞備笉鍔犲叆鍥惧眰绠$悊", layer);
+ return;
}
var node = {
@@ -61,146 +62,171 @@
pId: layer.pid,
name: layer.name,
uuid: layer.uuid,
- }
+ checked: layer.isAdded && layer.show,
+ };
if (layer.hasEmptyGroup) {
//绌烘暟缁�
- node.icon = 'img/folder.png'
- node.open = item.open == null ? true : item.open
+ node.icon = "img/folder.png";
+ node.open = item.open == null ? true : item.open;
} else if (layer.hasChildLayer) {
//鏈夊瓙鑺傜偣鐨勬暟缁�
- node.icon = 'img/layerGroup.png'
- node.open = item.open == null ? true : item.open
+ node.icon = "img/layerGroup.png";
+ node.open = item.open == null ? true : item.open;
} else {
- node.icon = 'img/layer.png'
- node.checked = layer.isAdded && layer.show
-
- if (item._parent) {
- node._parent = item._parent.uuid
+ node.icon = "img/layer.png";
+ if (layer.parent) {
+ node._parentId = layer.parent.uuid;
}
-
- //璁板綍鍥惧眰
- layersObj[node.uuid] = layer
}
- return node
+ //璁板綍鍥惧眰
+ layersObj[node.uuid] = layer;
+ return node;
}
function addNode(item) {
- var treeObj = $.fn.zTree.getZTreeObj('treeOverlays')
+ var treeObj = $.fn.zTree.getZTreeObj("treeOverlays");
- var parentNode
+ var parentNode;
if (item.pid && item.pid != -1) {
- parentNode = treeObj.getNodeByParam('id', item.pid, null)
+ parentNode = treeObj.getNodeByParam("id", item.pid, null);
}
- var node = _getNodeConfig(item)
+ var node = _getNodeConfig(item);
if (!node) {
- return
+ return;
}
- treeObj.addNodes(parentNode, 0, [node], true)
+ treeObj.addNodes(parentNode, 0, [node], true);
//鏇存柊瀛愯妭鐐瑰浘灞�
if (item.hasChildLayer) {
item.eachLayer((childLayer) => {
- removeNode(childLayer)
- addNode(childLayer)
- })
+ removeNode(childLayer);
+ addNode(childLayer);
+ });
}
}
function removeNode(layer) {
- var treeObj = $.fn.zTree.getZTreeObj('treeOverlays')
+ var treeObj = $.fn.zTree.getZTreeObj("treeOverlays");
- var node = treeObj.getNodeByParam('uuid', layer.uuid, null)
+ var node = treeObj.getNodeByParam("uuid", layer.uuid, null);
if (node) {
- treeObj.removeNode(node)
+ treeObj.removeNode(node);
}
}
function updateNode(layer) {
- var treeObj = $.fn.zTree.getZTreeObj('treeOverlays')
+ var treeObj = $.fn.zTree.getZTreeObj("treeOverlays");
- var node = treeObj.getNodeByParam('uuid', layer.uuid, null)
- var show = layer.isAdded && layer.show
+ var node = treeObj.getNodeByParam("uuid", layer.uuid, null);
+ var show = layer.isAdded && layer.show;
if (node) {
//鏇存柊node
if (node.checked == show) {
- return
+ return;
}
- node.checkedOld = node.checked
- node.checked = show
+ node.checkedOld = node.checked;
+ node.checked = show;
- treeObj.updateNode(node)
+ treeObj.updateNode(node);
} else {
- addNode(layer, show)
+ addNode(layer, show);
}
}
//===================================鍙屽嚮瀹氫綅鍥惧眰====================================
-function treeOverlays_onClick(e, treeId, treeNode, clickFlag) {}
+function treeOverlays_onClick(e, treeId, treeNode, clickFlag) {
+ // if (treeNode == null || treeNode.uuid == null) {
+ // return
+ // }
+ // var layer = layersObj[treeNode.uuid]
+ // if (layer) {
+ // thisWidget.checkClickLayer(layer, treeNode.checked)
+ // }
+}
function treeOverlays_onDblClick(event, treeId, treeNode) {
if (treeNode == null || treeNode.uuid == null) {
- return
+ return;
}
- var layer = layersObj[treeNode.uuid]
+ var layer = layersObj[treeNode.uuid];
if (layer == null) {
- return
+ return;
}
- layer.flyTo()
+ layer.flyTo();
}
//===================================鍕鹃�夋樉绀洪殣钘忓浘灞�====================================
+function removeArrayItem(arr, val) {
+ for (let i = 0; i < arr.length; i++) {
+ if (arr[i] == val) {
+ arr.splice(i, 1);
+ return true;
+ }
+ }
+ return false;
+}
function treeOverlays_onCheck(e, treeId, chktreeNode) {
- var treeObj = $.fn.zTree.getZTreeObj(treeId)
+ var treeObj = $.fn.zTree.getZTreeObj(treeId);
//鑾峰緱鎵�鏈夋敼鍙榗heck鐘舵�佺殑鑺傜偣
- var changedNodes = treeObj.getChangeCheckedNodes()
+ var changedNodes = treeObj.getChangeCheckedNodes();
+
+ removeArrayItem(changedNodes, chktreeNode);
+ changedNodes.push(chktreeNode);
+
for (var i = 0; i < changedNodes.length; i++) {
- var treeNode = changedNodes[i]
- treeNode.checkedOld = treeNode.checked
- var layer = layersObj[treeNode.uuid]
+ var treeNode = changedNodes[i];
+ treeNode.checkedOld = treeNode.checked;
+
+ if (treeNode.check_Child_State == 1) {
+ // 0:鏃犲瓙鑺傜偣琚嬀閫�, 1:閮ㄥ垎瀛愯妭鐐硅鍕鹃��, 2:鍏ㄩ儴瀛愯妭鐐硅鍕鹃��, -1:涓嶅瓨鍦ㄥ瓙鑺傜偣 鎴� 瀛愯妭鐐瑰叏閮ㄨ缃负 nocheck = true
+ continue;
+ }
+
+ var layer = layersObj[treeNode.uuid];
if (layer == null) {
- continue
+ continue;
}
//鏄剧ず闅愯棌閫忔槑搴﹁缃畍iew
if (treeNode.checked) {
- $('#' + treeNode.tId + '_range').show()
+ $("#" + treeNode.tId + "_range").show();
} else {
- $('#' + treeNode.tId + '_range').hide()
+ $("#" + treeNode.tId + "_range").hide();
}
//鐗规畩澶勭悊鍚岀洰褰曚笅鐨勫崟閫夌殑浜掓枼鐨勮妭鐐癸紝鍙湪config瀵瑰簲鍥惧眰鑺傜偣涓厤缃�"radio":true鍗冲彲
if (layer.options.radio && treeNode.checked) {
var nodes = treeObj.getNodesByFilter(
function (node) {
- var item = layersObj[node.uuid]
- return item.options.radio && item.pid == layer.pid && node.uuid != treeNode.uuid
+ var item = layersObj[node.uuid];
+ return item.options.radio && item.pid == layer.pid && node.uuid != treeNode.uuid;
},
false,
treeNode.getParentNode()
- )
+ );
for (var nidx = 0; nidx < nodes.length; nidx++) {
- nodes[nidx].checkedOld = false
- treeObj.checkNode(nodes[nidx], false, true)
+ nodes[nidx].checkedOld = false;
+ treeObj.checkNode(nodes[nidx], false, true);
- $('#' + nodes[nidx].tId + '_range').hide()
+ $("#" + nodes[nidx].tId + "_range").hide();
- var layertmp = layersObj[nodes[nidx].uuid]
- layertmp.show = false
+ var layertmp = layersObj[nodes[nidx].uuid];
+ layertmp.show = false;
}
}
//澶勭悊鍥惧眰鏄剧ず闅愯棌
- if (treeNode._parent) {
- var parentLayer = layersObj[treeNode._parent]
- thisWidget.updateLayerShow(layer, treeNode.checked, parentLayer)
- } else {
- thisWidget.updateLayerShow(layer, treeNode.checked)
- }
+ thisWidget.updateLayerShow(layer, treeNode.checked);
+ }
+
+ var layerThis = layersObj[chktreeNode.uuid];
+ if (layerThis) {
+ thisWidget.checkClickLayer(layerThis, chktreeNode.checked);
}
}
@@ -210,177 +236,177 @@
function addOpacityRangeDom(treeId, tNode) {
//if (tNode.icon == "images/folder.png") return;
- var layer = layersObj[tNode.uuid]
+ var layer = layersObj[tNode.uuid];
if (!layer || !layer.hasOpacity) {
- return
+ return;
}
- var view = $('#' + tNode.tId)
- var silder = '<input id="' + tNode.tId + '_range" type="range" style="width: 50px;" />'
- view.append(silder)
+ var view = $("#" + tNode.tId);
+ var silder = '<input id="' + tNode.tId + '_range" type="range" style="width: 50px;" />';
+ view.append(silder);
if (!tNode.checked) {
- $('#' + tNode.tId + '_range').hide()
+ $("#" + tNode.tId + "_range").hide();
}
- $('#' + tNode.tId + '_range').range({
+ $("#" + tNode.tId + "_range").range({
min: 0,
max: 100,
step: 1,
value: (layer.opacity || 1) * 100,
onChange: function (value) {
- var opacity = value / 100
- var layer = layersObj[tNode.uuid]
+ var opacity = value / 100;
+ var layer = layersObj[tNode.uuid];
//璁剧疆鍥惧眰鐨勯�忔槑搴�
// thisWidget.udpateLayerOpacity(layer, opacity)
- layer.opacity = opacity
+ layer.opacity = opacity;
},
- })
+ });
}
//===================================鍙抽敭鑿滃崟====================================
-var lastRightClickTreeId
-var lastRightClickTreeNode
+var lastRightClickTreeId;
+var lastRightClickTreeNode;
function treeOverlays_OnRightClick(event, treeId, treeNode) {
if (treeNode == null) {
- return
+ return;
}
- var layer = layersObj[treeNode.uuid]
+ var layer = layersObj[treeNode.uuid];
if (!layer || !layer.hasZIndex) {
- return
+ return;
}
//鍙冲嚮鏃剁殑鑺傜偣
- lastRightClickTreeId = treeId
- lastRightClickTreeNode = treeNode
+ lastRightClickTreeId = treeId;
+ lastRightClickTreeNode = treeNode;
- var top = event.clientY
- var left = event.clientX
- var maxtop = document.body.offsetHeight - 100
- var maxleft = document.body.offsetWidth - 100
+ var top = event.clientY;
+ var left = event.clientX;
+ var maxtop = document.body.offsetHeight - 100;
+ var maxleft = document.body.offsetWidth - 100;
if (top > maxtop) {
- top = maxtop
+ top = maxtop;
}
if (left > maxleft) {
- left = maxleft
+ left = maxleft;
}
- $('#content_layer_manager_rMenu')
+ $("#content_layer_manager_rMenu")
.css({
- top: top + 'px',
- left: left + 'px',
+ top: top + "px",
+ left: left + "px",
})
- .show()
- $('body').bind('mousedown', onBodyMouseDown)
+ .show();
+ $("body").bind("mousedown", onBodyMouseDown);
}
function onBodyMouseDown(event) {
- if (!(event.target.id == 'content_layer_manager_rMenu' || $(event.target).parents('#content_layer_manager_rMenu').length > 0)) {
- hideRMenu()
+ if (!(event.target.id == "content_layer_manager_rMenu" || $(event.target).parents("#content_layer_manager_rMenu").length > 0)) {
+ hideRMenu();
}
}
function hideRMenu() {
- $('body').unbind('mousedown', onBodyMouseDown)
- $('#content_layer_manager_rMenu').hide()
+ $("body").unbind("mousedown", onBodyMouseDown);
+ $("#content_layer_manager_rMenu").hide();
}
function bindRightMenuEvnet() {
- $('#content_layer_manager_rMenu li').on('click', function () {
- hideRMenu()
+ $("#content_layer_manager_rMenu li").on("click", function () {
+ hideRMenu();
- var type = $(this).attr('data-type')
- moveNodeAndLayer(type)
- })
+ var type = $(this).attr("data-type");
+ moveNodeAndLayer(type);
+ });
}
//绉诲姩鑺傜偣鍙婂浘灞備綅缃�
function moveNodeAndLayer(type) {
- var treeObj = $.fn.zTree.getZTreeObj(lastRightClickTreeId)
+ var treeObj = $.fn.zTree.getZTreeObj(lastRightClickTreeId);
//鑾峰緱褰撳墠鑺傜偣鐨勬墍鏈夊悓绾ц妭鐐�
- var childNodes
- var parent = lastRightClickTreeNode.getParentNode()
+ var childNodes;
+ var parent = lastRightClickTreeNode.getParentNode();
if (parent == null) {
- childNodes = treeObj.getNodes()
+ childNodes = treeObj.getNodes();
} else {
- childNodes = parent.children
+ childNodes = parent.children;
}
- var thisNode = lastRightClickTreeNode
- var thisLayer = layersObj[thisNode.uuid]
+ var thisNode = lastRightClickTreeNode;
+ var thisLayer = layersObj[thisNode.uuid];
switch (type) {
default:
- break
- case 'up': //鍥惧眰涓婄Щ涓�灞�
+ break;
+ case "up": //鍥惧眰涓婄Щ涓�灞�
{
- let moveNode = thisNode.getPreNode()
+ let moveNode = thisNode.getPreNode();
if (moveNode) {
- treeObj.moveNode(moveNode, thisNode, 'prev')
- let moveLayer = layersObj[moveNode.uuid]
+ treeObj.moveNode(moveNode, thisNode, "prev");
+ let moveLayer = layersObj[moveNode.uuid];
- exchangeLayer(thisLayer, moveLayer)
+ exchangeLayer(thisLayer, moveLayer);
}
}
- break
+ break;
- case 'top': //鍥惧眰缃簬椤跺眰
+ case "top": //鍥惧眰缃簬椤跺眰
{
if (thisNode.getIndex() == 0) {
- return
+ return;
}
while (thisNode.getIndex() > 0) {
//鍐掓场浜ゆ崲
- let moveNode = thisNode.getPreNode()
+ let moveNode = thisNode.getPreNode();
if (moveNode) {
- treeObj.moveNode(moveNode, thisNode, 'prev')
+ treeObj.moveNode(moveNode, thisNode, "prev");
- let moveLayer = layersObj[moveNode.uuid]
- exchangeLayer(thisLayer, moveLayer)
+ let moveLayer = layersObj[moveNode.uuid];
+ exchangeLayer(thisLayer, moveLayer);
}
}
}
- break
+ break;
- case 'down': //鍥惧眰涓嬬Щ涓�灞�
+ case "down": //鍥惧眰涓嬬Щ涓�灞�
{
- let moveNode = thisNode.getNextNode()
+ let moveNode = thisNode.getNextNode();
if (moveNode) {
- treeObj.moveNode(moveNode, thisNode, 'next')
+ treeObj.moveNode(moveNode, thisNode, "next");
- let moveLayer = layersObj[moveNode.uuid]
- exchangeLayer(thisLayer, moveLayer)
+ let moveLayer = layersObj[moveNode.uuid];
+ exchangeLayer(thisLayer, moveLayer);
}
}
- break
- case 'bottom': //鍥惧眰缃簬搴曞眰
+ break;
+ case "bottom": //鍥惧眰缃簬搴曞眰
{
if (thisNode.getIndex() == childNodes.length - 1) {
- return
+ return;
}
while (thisNode.getIndex() < childNodes.length - 1) {
//鍐掓场浜ゆ崲
- let moveNode = thisNode.getNextNode()
+ let moveNode = thisNode.getNextNode();
if (moveNode) {
- treeObj.moveNode(moveNode, thisNode, 'next')
+ treeObj.moveNode(moveNode, thisNode, "next");
- let moveLayer = layersObj[moveNode.uuid]
- exchangeLayer(thisLayer, moveLayer)
+ let moveLayer = layersObj[moveNode.uuid];
+ exchangeLayer(thisLayer, moveLayer);
}
}
}
- break
+ break;
}
//鎸塷rder閲嶆柊鎺掑簭
layers.sort(function (a, b) {
- return a.zIndex - b.zIndex
- })
+ return a.zIndex - b.zIndex;
+ });
}
/**
@@ -388,13 +414,13 @@
*/
function exchangeLayer(layer1, layer2) {
if (layer1 == null || layer2 == null) {
- return
+ return;
}
- var or = layer1.zIndex
- layer1.zIndex = layer2.zIndex //鍚戜笂绉诲姩
- layer2.zIndex = or //鍚戜笅绉诲姩
+ var or = layer1.zIndex;
+ layer1.zIndex = layer2.zIndex; //鍚戜笂绉诲姩
+ layer2.zIndex = or; //鍚戜笅绉诲姩
- console.log(`${layer1.name}:${layer1.zIndex}, ${layer2.name}:${layer2.zIndex}`)
+ console.log(`${layer1.name}:${layer1.zIndex}, ${layer2.name}:${layer2.zIndex}`);
// //鍚戜笂绉诲姩
// thisWidget.udpateLayerZIndex(layer1, layer1.zIndex)
@@ -406,11 +432,11 @@
//鍦板浘鍥惧眰娣诲姞绉婚櫎鐩戝惉锛岃嚜鍔ㄥ嬀閫�
function updateCheckd(name, checked) {
- var treeObj = $.fn.zTree.getZTreeObj('treeOverlays')
- var nodes = treeObj.getNodesByParam('name', name, null)
+ var treeObj = $.fn.zTree.getZTreeObj("treeOverlays");
+ var nodes = treeObj.getNodesByParam("name", name, null);
if (nodes && nodes.length > 0) {
- treeObj.checkNode(nodes[0], checked, false)
+ treeObj.checkNode(nodes[0], checked, false);
} else {
- console.log('鏈湪鍥惧眰鏍戜笂鎵惧埌鍥惧眰鈥�' + name + '鈥濓紝鏃犳硶鑷姩鍕鹃�夊鐞�')
+ console.log("鏈湪鍥惧眰鏍戜笂鎵惧埌鍥惧眰鈥�" + name + "鈥濓紝鏃犳硶鑷姩鍕鹃�夊鐞�");
}
}
--
Gitblit v1.9.1