BaoXs
2022-05-16 f11f559192ca5fd9b8ca66197016a1ec7ead9729
view/project/layerAnalysis.html
@@ -56,6 +56,11 @@
            border-radius: 6px;
            background-color: #999;
        }
        .layui-tree-btnGroup .layui-icon {
            display: inline-block;
            color: white
        }
    </style>
    <script>
@@ -64,9 +69,10 @@
        layui.use(['tree'], function () {
            var tree = layui.tree
            isloading = true;
            tree.render({
            var modelTree = tree.render({
                elem: '#model-tree-list'
                , data: layerMenu
                , edit: ["del"]
                , showCheckbox: true  //是否显示复选框
                , id: 'model-tree-list'
                , isJump: false //是否允许点击节点时弹出新窗口跳转
@@ -86,7 +92,7 @@
                    var data = obj.data.ext;  //获取当前点击的节点数据
                    var viewer = parent.viewer;
                    var Cesium = parent.Cesium;
                    if (type != 'BaseMap' && type != 'Terrain' && type != 'Plotting') {
                    if (type != 'BaseMap' && type != 'Terrain' && type != 'Plotting' && type != 'DDE') {
                        var model = undefined;
                        switch (obj.data.field) {
                            case "Primitive": {
@@ -112,12 +118,12 @@
                                let shpArray = JSON.parse(path);
                                var shpPromises = [];
                                for (let i = 0; i < shpArray.length; i++) {
                                     shpPromises.push( Cesium.loadBlob(parent.httpConfig.nginxUrl + shpArray[i]));
                                }
                                    shpPromises.push(Cesium.loadBlob(parent.httpConfig.nginxUrl + shpArray[i]));
                                }
                                var layer = null;
                                parent.Cesium.when.all(shpPromises, function (files) {
                                    for(let i=0;i<shpArray.length;i++){
                                    for (let i = 0; i < shpArray.length; i++) {
                                        files[i].name = shpArray[i];
                                    }
@@ -178,6 +184,24 @@
                            });
                        }
                    }
                    else if (type == 'DDE') {
                        var lon, lat, alt;
                        lon = obj.data.lon;
                        lat = obj.data.lat;
                        alt = obj.data.altitude;
                        console.log(lon, lat, alt);
                        if (lon != undefined && lat != undefined && alt != undefined) {
                            let flyPromise = viewer.camera.flyTo({
                                duration: 3,
                                destination: Cesium.Cartesian3.fromDegrees(Number(lon), Number(lat), alt),
                                orientation: {
                                    heading: Cesium.Math.toRadians(0),                          //绕垂直于地心的轴旋转
                                    pitch: Cesium.Math.toRadians(-90),      //绕纬度线旋转
                                    roll: Cesium.Math.toRadians(0)                                 //绕经度线旋转
                                },
                            });
                        }
                    }
                }
                , oncheck: function (obj) {
@@ -256,6 +280,7 @@
                            let result = modelType == 'Primitive' ? parent.delprimitiveModel(modelId) : parent.delentityModel(modelId);
                        }
                        parent.delNodeById(modelId, layerMenu);
                        delDrawEntity(modelId);
                    }
                }
            });
@@ -312,6 +337,37 @@
                    changeParentChecked(ischeck, parentOfData);
                }
            }
            //zzf:隐藏除绘图菜单以外的删除按钮
            $(modelTree.config.elem[0].children[0].childNodes).each(function () {
                let parentDiv = $(this)[0].childNodes[0];
                $(parentDiv).find("div .layui-icon-delete").remove();
                if ($(this)[0].dataset.id != "4") {
                    let childrenDiv = $(this)[0].childNodes[1];
                    $(childrenDiv).find("div .layui-icon-delete").remove();
                }
            })
            function delDrawEntity(modelId) {
                let updateData = {
                    "ids": modelId,
                }
                let token = window.localStorage.getItem("token");
                $.ajax({
                    type: "post",
                    async: false,
                    url: parent.httpConfig.webApiUrl + "landstamp/front/removeDrawEntity",
                    data: updateData,
                    contentType: "application/x-www-form-urlencoded",
                    beforeSend: function (request) {
                        request.setRequestHeader("token", token);
                    },
                    success: function (data) {
                        console.log(data)
                    },
                    error: function (XMLHttpRequest, textStatus, errorThrown) {
                        console.log("ajax请求失败!");
                    }
                });
            }
        });
    </script>
@@ -347,7 +403,10 @@
                    request.setRequestHeader("token", token);
                },
                success: function (data) {
                    layerMenu.push(data);
                    if (parent.getRootById(data.id) == null) {
                        data.isloading = false;
                        layerMenu.push(data);
                    }
                },
                error: function (XMLHttpRequest, textStatus, errorThrown) {
                    console.log(errorThrown);