From b9f68eadd170e469314430d7bbdb4246f65451cd Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Thu, 17 Jun 2021 11:31:31 +0800
Subject: [PATCH] 目录树调整添加图层管理等

---
 widgets/Layermanagement/Widget.js |  477 -----------------------------------------------------------
 1 files changed, 2 insertions(+), 475 deletions(-)

diff --git a/widgets/Layermanagement/Widget.js b/widgets/Layermanagement/Widget.js
index bcea65b..ea685a3 100644
--- a/widgets/Layermanagement/Widget.js
+++ b/widgets/Layermanagement/Widget.js
@@ -28,30 +28,11 @@
         return declare([BaseWidget], {
             baseClass: 'jimu-widget-Layermanagement',
             name: 'Layermanagement',
-            layers: {},
-            LayerzNodes: [],
-            entitys: {},
-            // 存放id的数组
-            layermanagementId: [],
             startup: function () {
                 var that = this;
                 // 暴露在外的接口
                 topic.subscribe("closeZtree", lang.hitch(this, this.closeZtreeBox));
-                this.inherited(arguments);
-
-                $('#menu_switch span').click(function () {
-                    if ($('#ztree_container').is(":hidden")) {
-                        $('#ztree_container').stop().show();
-                    } else {
-                        $('#ztree_container').stop().hide();
-                    }
-                    topic.publish('closeMap', this.name);
-                    topic.publish('closeTool', this.name);
-                });
-
-                $('#close_tag_bar').click(function () {
-                    $('#ztree_container').stop().hide();
-                });
+               
             },
 
             closeZtreeBox: function (item) {
@@ -61,131 +42,7 @@
             },
 
             onOpen: function () {
-                var self = this;
-                this.map.scene.globe.depthTestAgainstTerrain = false;
-                $.ajax({
-                    url: 'widgets/Layermanagement/datas.json',
-                    dataType: 'json',
-                    type: 'post',
-                    success: function (data) {
-                        setTimeout(function () {
-                            var parentOpen = null;
-                            var parentCheck = null;
-                            for (var i = 0; i < data.data.length; i++) {
-                                data.data[i].isOpen == 1 ? parentOpen = false : parentOpen = true;
-                                data.data[i].isCheck == 1 ? parentCheck = false : parentCheck = true;
-                                self.LayerzNodes.push({
-                                    id: data.data[i].id,
-                                    pId: data.data[i].parentId,
-                                    name: data.data[i].name,
-                                    url: data.data[i].url,
-                                    open: parentOpen,
-                                    nocheck: parentCheck,
-                                });
-                                // 存储数据得
-                                var result = null;
-                                // 存储url最后面数字的
-                                var layersNumber = null;
-                                // 存储 true, false
-                                var layerShow = null;
-                                // 存储除数字外的URL
-                                var layersUrl = null;
-                                for (var j = 0; j < data.data[i].children.length; j++) {
-                                    result = data.data[i].children[j];
-                                    result.isCheck == 1 ? layerShow = false : layerShow = true;
-                                    self.LayerzNodes.push({
-                                        id: result.id,
-                                        pId: result.parentId,
-                                        name: result.name,
-                                        checked: layerShow,
-                                        type: result.type,
-                                        icon: result.icon,
-                                        rendering: result.rendering,
-                                        url: result.url,
-                                        showheight: result.showheight
-                                    });
-
-
-                                    // 从服务上 并且是服务端渲染的 的 就去添加图层
-                                    if (result.type == 1 && result.rendering == 1) {
-                                        layersNumber = result.url.substring(result.url.length - 1);
-                                        layersUrl = result.url.substring(0, result.url.length - 2);
-                                        var layersObject = {
-                                            icon: result.icon,
-                                            label: result.name,
-                                            show: layerShow,
-                                            type: result.type,
-                                            url: result.url,
-                                            layerID:result.layerID,
-                                            showheight: result.showheight
-                                        };
-                                        if (!isNaN(layersNumber)) {
-                                            layersObject.layers = layersNumber;
-                                            layersObject.url = layersUrl;
-                                        }
-                                        self.createLayers(layersObject);
-                                    } else if (result.type == 0 && result.rendering == 0) {  // 从 接口上读取的数据 并且是 本地渲染,就去添加entity实体
-                                        layerShow && self.createEntity({
-                                            url: result.url,
-                                            entityName: result.name,
-                                            img: result.icon,
-                                            delete: !layerShow,
-                                            showheight: result.showheight
-                                        });
-                                    } else if (result.type == 1 && result.rendering == 0) {
-                                        layerShow && self.serviceEntity({
-                                            url: result.url,
-                                            oname: result.name,
-                                            img: result.icon,
-                                            delete: !layerShow,
-                                            showheight: result.showheight
-                                        });
-                                    }
-                                }
-                            }
-
-                            // 获取现有图层
-                            var imageryLayers = self.map.scene.globe.imageryLayers;
-
-                            for (var i = 0; i < imageryLayers.length; i++) {
-                                var layer = imageryLayers.get(i);
-                                self.layers[layer.label] = layer;
-                                // self.layers[layer.label].show = true;
-                            }
-
-                            var setting = {
-                                view: {
-                                    selectedMulti: false
-                                },
-                                check: {
-                                    enable: true
-                                },
-                                data: {
-                                    simpleData: {
-                                        enable: true
-                                    }
-                                },
-                                callback: {
-                                    onCheck: onCheck,
-                                }
-                            };
-                            $.fn.zTree.init($("#treeDemo"), setting, self.LayerzNodes);
-                            $("#treeDemo li ").on('click', 'a', function () {
-                                return false;
-                            });
-
-                            function onCheck(e, treeId, treeNode) {
-                                if (treeNode.isParent) {
-                                    treeNode.children.forEach(function (item, index) {
-                                        self.selectiveLoading(item);
-                                    });
-                                    return;
-                                }
-                                self.selectiveLoading(treeNode);
-                            }
-                        }, 2000);
-                    }
-                });
+                
             },
 
             onClose: function () {
@@ -209,336 +66,6 @@
                 //todo
                 //do something before this func
                 this.inherited(arguments);
-            },
-
-            // 选中与否,判断后进行添加或者删除实体
-            selectiveLoading: function (treeNodeItem) {
-
-                var self = this;
-                if (treeNodeItem.type == 1 && treeNodeItem.rendering == 1) {
-                    self.layers[treeNodeItem.name].show = treeNodeItem.checked;
-                } else if (treeNodeItem.type == 0 && treeNodeItem.rendering == 0) {
-                    self.createEntity({
-                        url: treeNodeItem.url,
-                        entityName: treeNodeItem.name,
-                        img: treeNodeItem.icon,
-                        delete: !treeNodeItem.checked,
-                        showheight: treeNodeItem.showheight
-                    });
-                } else if (treeNodeItem.type == 1 && treeNodeItem.rendering == 0) {
-                    self.serviceEntity({
-                        url: treeNodeItem.url,
-                        oname: treeNodeItem.name,
-                        img: treeNodeItem.icon,
-                        delete: !treeNodeItem.checked,
-                        showheight: treeNodeItem.showheight
-                    });
-                }
-            },
-
-            // 读取服务,并且服务端加载,添加图层
-            createLayers: function (layerConfig) {
-                var layMap = {
-                    '1': 'ArcGisMapServerImageryProvider'
-                };
-                var layers;
-                if (false) {
-
-                } else {
-
-                    /*var layers = new Cesium[layMap[layerConfig.type]](layerConfig);
-                    var imageryLayers = this.map.imageryLayers;
-                    var olayer = imageryLayers.addImageryProvider(layers);*/
-
-                    //创建provider。
-                    var provider = new Cesium.SuperMapImageryProvider({
-                        url: layerConfig.url,
-                        layersID: layerConfig.layerID
-                    });
-
-                    //创建影像图层。
-                    var olayer = this.map.imageryLayers.addImageryProvider(provider);
-
-                    olayer.show = layerConfig.show;
-                    olayer.label = layerConfig.label;
-                }
-            },
-
-            // 创建entity实体
-            createEntity: function (entityConfig) {
-                var self = this;
-                $.ajax({
-                    url: entityConfig.url,
-                    type: 'GET',
-                    dataType: 'JSON',
-                    success: function (data) {
-                        /*if (data.data.length < 100) {
-                            labelHeight = 260000;
-                        } else if (data.data.length >= 100 && data.data.length < 250) {
-                            labelHeight = 220000;
-                        } else if (data.data.length >= 250 && data.data.length < 500) {
-                            labelHeight = 180000;
-                        } else if (data.data.length >= 500) {
-                            labelHeight = 140000;
-                        }*/
-                        var site = "siteCode";
-                        if (entityConfig.entityName == "山洪隐患点") {
-                            var site = "siteId";
-                        }
-                        data.data.forEach(function (item, index) {
-                            var id = item[site] + entityConfig.entityName + item['lgtd'];
-                            var angle = "";
-                            if (typeof (item.angle) != "undefined") {
-                                angle = item.angle;
-                            }
-                            // 移除entity实体
-                            if (entityConfig.delete == true) {
-                                self.map.entities.removeById(id);
-                                if (self.layermanagementId.indexOf(id) != -1) {
-                                    self.layermanagementId.splice(id, 1);
-                                }
-                                return;
-                            }
-                            self.layermanagementId.push(id);
-                            // 添加entity实体
-                            self.map.entities.add({
-                                id: id, // 实体ID
-                                name: item.siteName, // 实体名称
-                                position: Cesium.Cartesian3.fromDegrees(Number(item.lgtd), Number(item.lttd)), // x,y 实体经纬度
-                                label: {
-                                    show: true,
-                                    text: item.siteName, // text 与实体相关的文字
-                                    font: "700 14px '黑体'",
-                                    fillColor: Cesium.Color.DEEPSKYBLUE,
-                                    // backgroundColor: Cesium.Color.DEEPSKYBLUE,
-                                    style: Cesium.LabelStyle.FILL_AND_OUTLINE,
-                                    outlineWidth: 2,
-                                    outlineColor: Cesium.Color.fromBytes(255, 255, 255), // 文字轮廓的颜色
-                                    verticalOrigin: Cesium.VerticalOrigin.CENTER,//垂直位置
-                                    horizontalOrigin: Cesium.HorizontalOrigin.LEFT,//水平位置
-                                    pixelOffset: new Cesium.Cartesian2(10, -10), // 文字位置
-                                    heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
-                                    distanceDisplayCondition: new Cesium.DistanceDisplayCondition(1, entityConfig.showheight),
-                                    disableDepthTestDistance: Number.POSITIVE_INFINITY
-                                },
-                                billboard: {
-                                    show: true,
-                                    image: entityConfig.img,
-                                    // image: entityConfig.img,
-                                    width: 20,
-                                    height: 20,
-                                    clampToGround: true,
-                                    heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
-                                    disableDepthTestDistance: Number.POSITIVE_INFINITY,
-                                    rotation: Cesium.Math.toRadians(angle),
-                                }
-                            });
-                            /*self.map.entities.add({
-                                id: item[site] + entityConfig.entityName, // 实体ID
-                                name: item.siteName, // 实体名称
-                                position: Cesium.Cartesian3.fromDegrees(item.lgtd, item.lttd), // x,y 实体经纬度
-                                label: {
-                                    show: true,
-                                    text: item.siteName, // text 与实体相关的文字
-                                    font: "700 16px '黑体'",
-                                    fillColor: Cesium.Color.DEEPSKYBLUE,
-                                    // backgroundColor: Cesium.Color.DEEPSKYBLUE,
-                                    style: Cesium.LabelStyle.FILL_AND_OUTLINE,
-                                    outlineWidth: 3,
-                                    outlineColor: Cesium.Color.fromBytes(255, 255, 255), // 文字轮廓的颜色
-                                    verticalOrigin: Cesium.VerticalOrigin.CENTER,//垂直位置
-                                    horizontalOrigin: Cesium.HorizontalOrigin.LEFT,//水平位置
-                                    pixelOffset: new Cesium.Cartesian2(10, -10), // 文字位置
-                                    heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
-                                    distanceDisplayCondition: new Cesium.DistanceDisplayCondition(1, entityConfig.showheight),
-                                    disableDepthTestDistance: Number.POSITIVE_INFINITY
-                                },
-                                ellipse: {
-                                    show: true,
-                                    semiMajorAxis: 200,
-                                    semiMinorAxis: 200,
-                                    heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
-
-                                    rotation: Cesium.Math.toRadians(angle),
-                                    material: new Cesium.ImageMaterialProperty({
-                                        image: entityConfig.img
-                                    }),
-                                }
-                            })*/
-                        });
-                    }
-                });
-            },
-
-            // 读取服务,并本地加载
-            serviceEntity: function (entityConfig) {
-                var self = this;
-                $.ajax({
-                    url: entityConfig.url + "/query",
-                    type: 'get',
-                    data: {
-                        where: '1=1',
-                        returnGeometry: true,
-                        outFields: "*",
-                        f: "pjson"
-                    },
-                    dataType: 'JSON',
-                    success: function (data) {
-                        if (data.geometryType == "esriGeometryPoint") {
-                            self.geometryPoints({
-                                data: data,
-                                img: entityConfig.img,
-                                delete: entityConfig.delete,
-                                showheight: entityConfig.showheight
-                            });
-                        } else if (data.geometryType == 'esriGeometryPolyline') {
-                            self.geometryPolylines({
-                                data: data,
-                                img: entityConfig.img,
-                                delete: entityConfig.delete,
-                                showheight: entityConfig.showheight
-                            });
-                        } else if (data.geometryType == 'esriGeometryPolygon') {
-                            self.geometryPolygon({
-                                data: data,
-                                img: entityConfig.img,
-                                delete: entityConfig.delete,
-                                showheight: entityConfig.showheight
-                            });
-                        }
-                    }
-                });
-            },
-
-            // 读取服务,并且在本地渲染的,加载实体点方法
-            geometryPoints: function (entityConfig) {
-                var self = this;
-                var labelHeight = null;
-                if (entityConfig.data.features.length < 100) {
-                    labelHeight = 260000;
-                } else if (entityConfig.data.features.length >= 100 && entityConfig.data.features.length < 250) {
-                    labelHeight = 220000;
-                } else if (entityConfig.data.features.length >= 250 && entityConfig.data.features.length < 500) {
-                    labelHeight = 180000;
-                } else if (entityConfig.data.features.length >= 500) {
-                    labelHeight = 140000;
-                }
-                for (var o = 0; o < entityConfig.data.features.length; o++) {
-                    if (entityConfig.delete == true) {
-                        self.map.entities.removeById(JSON.stringify(entityConfig.data.features[o].attributes));
-                        if (self.layermanagementId.indexOf(JSON.stringify(entityConfig.data.features[o].attributes)) != -1) {
-                            self.layermanagementId.splice(self.layermanagementId.indexOf(JSON.stringify(entityConfig.data.features[o].attributes)), 1);
-                        }
-                        continue;
-                    }
-
-                    self.layermanagementId.push(JSON.stringify(entityConfig.data.features[o].attributes));
-
-                    self.map.entities.add({
-                        id: JSON.stringify(entityConfig.data.features[o].attributes), // 实体ID
-                        name: entityConfig.data.features[o].attributes[entityConfig.data.displayFieldName], // 实体名称
-                        position: Cesium.Cartesian3.fromDegrees(entityConfig.data.features[o].geometry.x, entityConfig.data.features[o].geometry.y), // x,y 实体经纬度
-                        show: true,
-                        //字体标签样式
-                        label: {
-                            show: true,
-                            text: entityConfig.data.features[o].attributes[entityConfig.data.displayFieldName], // text 与实体相关的文字
-                            font: "700 14px '黑体'",
-                            fillColor: Cesium.Color.DEEPSKYBLUE,
-                            style: Cesium.LabelStyle.FILL_AND_OUTLINE,
-                            outlineWidth: 2,
-                            outlineColor: Cesium.Color.fromBytes(255, 255, 255), // 文字轮廓的颜色
-                            verticalOrigin: Cesium.VerticalOrigin.CENTER,//垂直位置
-                            horizontalOrigin: Cesium.HorizontalOrigin.LEFT,//水平位置
-                            pixelOffset: new Cesium.Cartesian2(14, -10), // 文字位置
-                            heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
-                            distanceDisplayCondition: new Cesium.DistanceDisplayCondition(1, entityConfig.showheight),
-                            disableDepthTestDistance: Number.POSITIVE_INFINITY
-                        },
-                        billboard: {
-                            show: true,
-                            image: entityConfig.img,
-                            width: 20,
-                            height: 20,
-                            heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
-                            disableDepthTestDistance: Number.POSITIVE_INFINITY
-                        }
-                    });
-                }
-            },
-
-            // 读取服务,并且在本地渲染的,加载实体线段方法
-            geometryPolylines: function (entityConfig) {
-                var self = this;
-                var position = [];
-                for (var o = 0; o < entityConfig.data.features.length; o++) {
-                    for (var i = 0; i < entityConfig.data.features[o].geometry.paths[0].length; i++) {
-                        position.push(entityConfig.data.features[o].geometry.paths[0][i][0], entityConfig.data.features[o].geometry.paths[0][i][1]);
-                    }
-                    if (entityConfig.delete == true) {
-                        self.map.entities.removeById(JSON.stringify(entityConfig.data.features[o].attributes));
-                        if (self.layermanagementId.indexOf(JSON.stringify(entityConfig.data.features[o].attributes)) != -1) {
-                            self.layermanagementId.splice(self.layermanagementId.indexOf(JSON.stringify(entityConfig.data.features[o].attributes)), 1);
-                        }
-                        continue;
-                    }
-                    self.layermanagementId.push(JSON.stringify(entityConfig.data.features[o].attributes));
-                    // 绘制线段的
-                    self.map.entities.add({
-                        id: JSON.stringify(entityConfig.data.features[o].attributes),
-                        show: true,
-                        polyline: {
-                            positions: Cesium.Cartesian3.fromDegreesArray(position),
-                            width: 20,
-                            material: new Cesium.ImageMaterialProperty({
-
-                                // 明天需要修改,备注。。!!!!
-                                image: entityConfig.img,
-                                // image: 'images/1111.png',
-                                repeat: new Cesium.Cartesian2(position.length / 8, 1),
-                                // transparent: true,
-                            }),
-                            // granularity: Cesium.Math.RADIANS_PER_DEGREE,
-                            // arcType: Cesium.ArcType.RHUMB,
-                            // classificationType: Cesium.ClassificationType.TERRAIN,
-                            clampToGround: true,
-                        },
-                    });
-                    position = [];
-                }
-
-            },
-
-            // 读取服务,并且在本地渲染的,加载实体多边形方法
-            geometryPolygon: function (entityConfig) {
-                var self = this;
-                var position = [];
-                for (var o = 0; o < entityConfig.data.features.length; o++) {
-                    for (var i = 0; i < entityConfig.data.features[o].geometry.rings[0].length; i++) {
-                        position.push(entityConfig.data.features[o].geometry.rings[0][i][0], entityConfig.data.features[o].geometry.rings[0][i][1]);
-                    }
-                    if (entityConfig.delete == true) {
-                        self.map.entities.removeById(JSON.stringify(entityConfig.data.features[o].attributes));
-                        if (self.layermanagementId.indexOf(JSON.stringify(entityConfig.data.features[o].attributes)) != -1) {
-                            self.layermanagementId.splice(self.layermanagementId.indexOf(JSON.stringify(entityConfig.data.features[o].attributes)), 1);
-                        }
-                        continue;
-                    }
-                    self.layermanagementId.push(JSON.stringify(entityConfig.data.features[o].attributes));
-                    // 绘制多边形的
-                    self.map.entities.add({
-                        id: JSON.stringify(entityConfig.data.features[o].attributes),
-                        show: true,
-                        polygon: {
-                            hierarchy: {positions: Cesium.Cartesian3.fromDegreesArray(position)},
-                            material: new Cesium.ImageMaterialProperty({
-                                image: entityConfig.img
-                            }),
-                            clampToGround: true,
-                        },
-                    });
-                    position = [];
-                }
             }
         });
     });
\ No newline at end of file

--
Gitblit v1.9.3