From 25ce610f6ecca7325e7a743dc032c4a76559c63d Mon Sep 17 00:00:00 2001
From: liuyg <376836862@qq.com>
Date: Fri, 02 Jul 2021 09:10:26 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.105:10010/r/pyhmap

---
 widgets/LeftNavigationBar/Widget.js |  136 ++++++++++++++++++++++++++++++++++++---------
 1 files changed, 109 insertions(+), 27 deletions(-)

diff --git a/widgets/LeftNavigationBar/Widget.js b/widgets/LeftNavigationBar/Widget.js
index 592e483..86a55ff 100644
--- a/widgets/LeftNavigationBar/Widget.js
+++ b/widgets/LeftNavigationBar/Widget.js
@@ -33,26 +33,60 @@
                 // this.begin(this.data);
                 var that = this;
                 this.getData();
+                topic.subscribe("closeNavigation", lang.hitch(this, this.closeNavigation));
+                // $('.left-navigation-bar-but').click(() => {
+                //     this.changeImg = !this.changeImg;
+                //     if (this.changeImg) {
+                //         $('.l-n-b-b-img').attr("src", "./images/addL/xzuo.png"); //打开
+                //         $('.jimu-widget-LeftNavigationBar').css({
+                //             'left': '0px'
+                //         });
+                //         $('.jimu-widget-instructions').css({
+                //             'left': '260px'
+                //         });
+                //     } else {
+                //         $('.l-n-b-b-img').attr("src", "./images/addL/xyou.png"); //关闭
+                //         $('.jimu-widget-LeftNavigationBar').css({
+                //             'left': '-250px'
+                //         });
+                //         $('.jimu-widget-instructions').css({
+                //             'left': '10px'
+                //         });
+                //     }
+                // })
+                $('.left-navigation-bar-but>div').click(() => {
+                    topic.publish('closeTool', this.name);
+                    topic.publish('closeMap', this.name);
+                    $(".jimu-widget-Layermanagement .layer-list").stop().hide();
 
-                $('.left-navigation-bar-but').click(() => {
-                    this.changeImg = !this.changeImg;
-                    if (this.changeImg) {
-                        $('.l-n-b-b-img').attr("src", "./images/addL/xzuo.png"); //打开
-                        $('.jimu-widget-LeftNavigationBar').css({
-                            'left': '0px'
-                        });
-                        $('.jimu-widget-instructions').css({
-                            'left': '260px'
-                        });
-                    } else {
-                        $('.l-n-b-b-img').attr("src", "./images/addL/xyou.png"); //关闭
-                        $('.jimu-widget-LeftNavigationBar').css({
-                            'left': '-250px'
-                        });
-                        $('.jimu-widget-instructions').css({
-                            'left': '10px'
-                        });
+                    if ($(".jimu-widget-Layermanagement .layer-list").is(":hidden")) {
+                        $(".jimu-widget-Layermanagement .tree-layer-opcity").stop().hide();
                     }
+
+                    if ($('.left-navigation-bar-main').is(":hidden")) {
+                        $('.left-navigation-bar-main').stop().css({
+                            'width': '300px',
+                            'padding': '10px',
+                            'height': 'auto'
+                        }).show();
+
+                        
+                    } else {
+                        $('.left-navigation-bar-main').stop().css({
+                            'width': '0px',
+                            'padding': '0px',
+                            'height': '0px',
+                        }).hide();
+                    }
+
+                })
+                $('#l-n-b-m-search-closeOUR').click(() => {
+
+                    $('.left-navigation-bar-main').stop().css({
+                        'width': '0px',
+                        'padding': '0px',
+                        'height': '0px',
+                    }).hide();
                 })
 
 
@@ -159,7 +193,19 @@
                 }
             },
 
-            closeToolBox: function (item) {},
+            closeNavigation: function (item) {
+                if (item != this.name) {
+
+                    if (!$('.left-navigation-bar-main').is(":hidden")) {
+                        $('.left-navigation-bar-main').stop().css({
+                            'width': '0px',
+                            'padding': '0px',
+                            'height': '0px',
+                        }).hide();
+                    }
+
+                }
+            },
 
             onOpen: function () {
                 //面板打开的时候触发 (when open this panel trigger)
@@ -331,7 +377,7 @@
             },
             begin: function (data) {
                 var that = this;
-
+                window.mySanweiShujuOpens = {}; //全局scene.open资源
                 var a = null;
 
                 layui.use(function () {
@@ -376,18 +422,30 @@
                                         that.map.scene.globe.depthTestAgainstTerrain = false;
                                         obj.data.children.forEach(item => {
                                             Cesium.when(that[item.id], function (layer) {
+                                                topic.publish('removeTilt', 'Layermanagement', item);
+                                                topic.publish('removeTiltS', 'spatialAnalysis', item);
+                                                topic.publish('removeLayersLegends', 'legends', item);
                                                 that.map.scene.layers.remove(layer[0].name)
                                             })
                                             var host = that.returnStr(item.src).host;
                                             var scene = that.map.scene;
                                             var partOfUrl = that.returnStr(item.src).partOfUrl;
                                             //添加S3M图层服务
-                                            that[item.id] = scene.open(host + partOfUrl);
+                                            that[item.id] = scene.open(host + partOfUrl, undefined, {
+                                                autoSetView: false //不自动定位
+                                            });
+
+                                            window.mySanweiShujuOpens[item.id] = that[item.id];
+                                            // console.log(222)
+                                            topic.publish('appendTilt', 'Layermanagement', item);
+                                            topic.publish('appendTiltS', 'spatialAnalysis', item);
+                                            topic.publish('addLayersLegends', 'legends', item);
                                             //定位到场景
                                             Cesium.loadJson(host + partOfUrl + '/scenes.json').then(function (scenes) {
                                                 var sname = scenes[0].name;
                                                 Cesium.loadJson(host + partOfUrl + '/scenes/' + sname + '.json').then(function (jsonData) {
                                                     Cesium.when(that[item.id], function (layer) {
+
                                                         //设置相机位置、视角,便于观察场景
                                                         scene.camera.setView({
                                                             destination: new Cesium.Cartesian3.fromDegrees(Number(item.lon), Number(item.lat), Number(item.height)),
@@ -408,6 +466,8 @@
                                                     });
                                                 });
                                             });
+
+
                                         });
                                     } else {
 
@@ -420,7 +480,9 @@
                                                         destination: rectangle
                                                     });
                                                 });
+                                                // console.log(444)
                                                 topic.publish('appendItem', 'Layermanagement', item, that[item.id]);
+                                                topic.publish('appendItemS', 'spatialAnalysis', item, that[item.id]);
                                                 topic.publish('addLayersLegends', 'legends', item);
                                             } else {
                                                 $.ajax({
@@ -429,11 +491,12 @@
                                                     dataType: 'JSON',
                                                     success: function (res) {
 
-
+                                                        // console.log(111)
                                                         that[item.id] = that.map.imageryLayers.addImageryProvider(new Cesium.SuperMapImageryProvider({
                                                             url: res[0].path,
                                                         }));
                                                         topic.publish('appendItem', 'Layermanagement', item, that[item.id]);
+                                                        topic.publish('appendItemS', 'spatialAnalysis', item, that[item.id]);
                                                         topic.publish('addLayersLegends', 'legends', item);
                                                         that[item.id].alpha = item.alpha;
                                                         that[item.id].getViewableRectangle().then(function (rectangle) {
@@ -450,14 +513,14 @@
                                     }
 
 
-
-
-
                                 } else {
 
                                     if (obj.data.model) {
                                         obj.data.children.forEach(item => {
                                             Cesium.when(that[item.id], function (layer) {
+                                                topic.publish('removeTilt', 'Layermanagement', item);
+                                                topic.publish('removeTiltS', 'spatialAnalysis', item);
+                                                topic.publish('removeLayersLegends', 'legends', item);
                                                 that.map.scene.layers.remove(layer[0].name)
                                             })
                                         });
@@ -465,6 +528,7 @@
                                         obj.data.children.forEach(item => {
                                             if (that[item.id]) {
                                                 topic.publish('removeItem', 'Layermanagement', item);
+                                                topic.publish('removeItemS', 'spatialAnalysis', item);
                                                 topic.publish('removeLayersLegends', 'legends', item);
                                                 that[item.id].show = false;
                                             }
@@ -482,6 +546,9 @@
 
                                     if (obj.data.model) {
                                         Cesium.when(that[obj.data.id], function (layer) {
+                                            topic.publish('removeTilt', 'Layermanagement', obj.data);
+                                            topic.publish('removeTiltS', 'spatialAnalysis', obj.data);
+                                            topic.publish('removeLayersLegends', 'legends', obj.data);
                                             that.map.scene.layers.remove(layer[0].name)
                                         })
 
@@ -491,9 +558,15 @@
                                         var partOfUrl = that.returnStr(obj.data.src).partOfUrl;
                                         //添加S3M图层服务
 
-                                        that[obj.data.id] = scene.open(host + partOfUrl);
-                                        //定位到场景
+                                        that[obj.data.id] = scene.open(host + partOfUrl, undefined, {
+                                            autoSetView: false //不自动定位
+                                        });
+                                        window.mySanweiShujuOpens[obj.data.id] = that[obj.data.id];
 
+                                        topic.publish('appendTilt', 'Layermanagement', obj.data);
+                                        topic.publish('appendTiltS', 'spatialAnalysis', obj.data);
+                                        topic.publish('addLayersLegends', 'legends', obj.data);
+                                        //定位到场景
                                         Cesium.loadJson(host + partOfUrl + '/scenes.json').then(function (scenes) {
                                             var sname = scenes[0].name;
                                             Cesium.loadJson(host + partOfUrl + '/scenes/' + sname + '.json').then(function (jsonData) {
@@ -528,7 +601,9 @@
                                                     destination: rectangle
                                                 });
                                             });
+                                            // console.log(555)
                                             topic.publish('appendItem', 'Layermanagement', obj.data, that[obj.data.id]);
+                                            topic.publish('appendItemS', 'spatialAnalysis', obj.data, that[obj.data.id]);
                                             topic.publish('addLayersLegends', 'legends', obj.data);
                                         } else {
                                             $.ajax({
@@ -543,6 +618,7 @@
                                                     }));
 
                                                     topic.publish('appendItem', 'Layermanagement', obj.data, that[obj.data.id]);
+                                                    topic.publish('appendItemS', 'spatialAnalysis', obj.data, that[obj.data.id]);
                                                     topic.publish('addLayersLegends', 'legends', obj.data);
 
                                                     that[obj.data.id].alpha = obj.data.alpha
@@ -565,6 +641,10 @@
 
                                     if (obj.data.model) {
                                         Cesium.when(that[obj.data.id], function (layer) {
+
+                                            topic.publish('removeTilt', 'Layermanagement', obj.data);
+                                            topic.publish('removeTiltS', 'spatialAnalysis', obj.data);
+                                            topic.publish('removeLayersLegends', 'legends', obj.data);
                                             that.map.scene.layers.remove(layer[0].name)
                                         })
 
@@ -572,6 +652,7 @@
 
                                         if (that[obj.data.id]) {
                                             topic.publish('removeItem', 'Layermanagement', obj.data);
+                                            topic.publish('removeItemS', 'spatialAnalysis', obj.data);
                                             topic.publish('removeLayersLegends', 'legends', obj.data);
                                             that[obj.data.id].show = false;
                                         }
@@ -585,6 +666,7 @@
 
                             }
 
+
                             for (var i = 0; i < that.dataAllArray.length; i++) {
 
                                 if (obj.data.id == that.dataAllArray[i].id) {

--
Gitblit v1.9.3