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