xj
liuyg
2021-06-24 d8d0f5fb17025c8ea92ef9f03ad5cc57d18b3b16
widgets/spatialAnalysis/Widget.js
@@ -31,6 +31,10 @@
            var that = this;
            // 暴露在外的接口
            topic.subscribe("closeOnceUse", lang.hitch(this, this.closeOnceUse));
            var domHtmls = [//默认
               {
                  name: '可视分析',
@@ -62,10 +66,18 @@
                  classs: 'digTheEarth-tool',
                  img: './images/addL/pdpx.png'
               }
               // , {//方量分析//做好
               //    name: '方量分析',
               //    classs: 'volumeAnalysis-tool',
               //    img: './images/addL/pdpx.png'
               // }
            ];
            that.beginSpatialAnalysis(domHtmls);
            var isit = false;
            $('.ccslius').click(() => {
               isit = false;
            })
            $('.ccsliu').dblclick(() => {//测试开关 点击图例其他的图片
               if (isit) {
@@ -99,6 +111,15 @@
                        name: '地形开挖',
                        classs: 'digTheEarth-tool',
                        img: './images/addL/pdpx.png'
                     }, {//方量分析//做好
                        name: '方量分析',
                        classs: 'volumeAnalysis-tool',
                        img: './images/addL/pdpx.png'
                     }
                     , {//空间查询
                        name: '空间查询',
                        classs: 'spatialQuery-tool',
                        img: './images/addL/pdpx.png'
                     }
                     ,
                     {//建造模型
@@ -117,7 +138,7 @@
                  var promise = false;
                  $('.modesssssllll').click(() => {
                     var URL_CONFIG = {
                        SCENE_CBD: 'http://www.supermapol.com/realspace/services/3D-CBDCache20200416/rest/realspace',
                        SCENE_CBD: 'http://www.supermapol.com/realspace/services/3D-niaochao/rest/realspace',
                     }
                     promise = this.map.scene.open(URL_CONFIG.SCENE_CBD);
                  })
@@ -196,10 +217,199 @@
            $('.digTheEarth-tool').click(function () {
               that.closeOnceUse('digTheEarth');
               $(".jimu-widget-digTheEarth").show();
               topic.publish('beginDigTheEarth', 'beginDigTheEarth');
               // topic.publish('beginDigTheEarth', 'beginDigTheEarth');
            })
            //方量分析
            $('.volumeAnalysis-tool').click(function () {
               that.closeOnceUse('volumeAnalysis');
               $(".jimu-widget-volumeAnalysis").show();
               topic.publish('beginVolumeAnalysis', 'beginVolumeAnalysis');
            })
            //空间查询
            $('.spatialQuery-tool').click(function () {
               that.closeOnceUse();
               $(".jimu-widget-spatialQuery").show();
               topic.publish('beginSpatialQuery', 'beginSpatialQuery');
            })
            // var datas = [//layui舍弃
            //    {
            //       title: '默认:天地图影像'
            //       // , child: [
            //       //    {
            //       //       title: 'menu item 3-2-1'
            //       //       , id: 105
            //       //    }
            //       // ]
            //    }
            // ]
            // // that.beginRool(datas);
            // that.datas = datas;
            // // 注册添加工具事件--规定操作图层
            // topic.subscribe("addSelectLayerTool", lang.hitch(this, this.addSelectLayerTool));
            // // 注册删除工具事件--规定操作图层
            // topic.subscribe("removeSelectLayerTool", lang.hitch(this, this.removeSelectLayerTool));
            $('.SelectLayerTool').click(() => {
               $('#SelectLayerToolItem').toggle();
            })
            //参照Layemanagement
            topic.subscribe("appendItemS", lang.hitch(this, this.appendItemS));
            topic.subscribe("removeItemS", lang.hitch(this, this.removeItemS));
            topic.subscribe("appendTiltS", lang.hitch(this, this.appendTiltS));
            topic.subscribe("removeTiltS", lang.hitch(this, this.removeTiltS));
            this.liClick('默认:天地图影像', '默认:天地图影像');
         },
         liClick: function (itemid, name) {//点击事件
            var liList = $(`[itemid='${itemid}s']`);
            // console.log(liList);
            liList.click(() => {
               // console.log(itemid)
               var dom = $('.SelectLayerTool');
               layer.tips('选择了:' + name, dom, { tips: [1, '#5FB878'] });
               dom.empty();
               var str = `${name} <i class="layui-icon layui-icon-down layui-font-12"></i>`
               dom.append(str);
               dom.attr("title", name);
               $('#SelectLayerToolItem').hide();
            })
         },
         appendItemS: function (item, obj, layer) {
            // console.log('a1')
            var that = this;
            if (item == this.name) {
               // $("#SelectLayerToolItemTitle .no-data").stop().hide();
               var flag = true;
               var liList = $("#SelectLayerToolItemTitle li");
               // console.log(liList)
               // console.log($('#SelectLayerToolItemTitle'))
               for (var i = 0; i < liList.length; i++) {
                  if ($(liList[i]).attr('itemid') && $(liList[i]).attr('itemid') == obj.id + 's') {
                     flag = false
                  }
               }
               if (flag == true) {
                  var liItem = $("<li itemid='" + obj.id + "s' itemtitle='" + obj.title + "'> <div>" +
                     "<span title='" + obj.title + "'>" +
                     obj.title +
                     "</span>" +
                     "</div> </li>");
                  that[obj.id] = layer;
                  $("#SelectLayerToolItemTitle").append(liItem);
               }
               that.liClick(obj.id, obj.title);
            }
         },
         removeItemS: function (item, obj) {
            // console.log('r1')
            if (item == this.name) {
               var liList = $("#SelectLayerToolItemTitle li");
               for (var i = 0; i < liList.length; i++) {
                  if ($(liList[i]).attr('itemid') && $(liList[i]).attr('itemid') == obj.id + 's') {
                     $(liList[i]).remove();
                  }
               }
               if ($("#SelectLayerToolItemTitle li").length == 1 && $("#SelectLayerToolItemTitle li").length == 0) {
                  $("#SelectLayerToolItemTitle .no-data").stop().show();
                  $(".jimu-widget-spatialAnalysis .tree-layer-opcity").stop().hide();
               }
            }
            // this.liClick();
         },
         appendTiltS: function (item, obj, layer) {
            // console.log('a2')
            var that = this;
            if (item == this.name) {
               // $("#SelectLayerToolItemTitle .no-data").stop().hide();
               var flag = true;
               var liList = $("#SelectLayerToolItemTitle li");
               for (var i = 0; i < liList.length; i++) {
                  if ($(liList[i]).attr('itemid') && $(liList[i]).attr('itemid') == obj.id + 's') {
                     flag = false
                  }
               }
               if (flag == true) {
                  var liItem = $("<li itemid='" + obj.id + "s' itemtitle='" + obj.title + "'> <div>" +
                     "<span title='" + obj.title + "'>" +
                     obj.title +
                     "</span>" +
                     "</div> </li>");
                  $("#SelectLayerToolItemTitle").append(liItem);
               }
               that.liClick(obj.id, obj.title);
            }
         },
         removeTiltS: function (item, obj) {
            // console.log('r2')
            if (item == this.name) {
               var liList = $("#SelectLayerToolItemTitle li");
               for (var i = 0; i < liList.length; i++) {
                  if ($(liList[i]).attr('itemid') && $(liList[i]).attr('itemid') == obj.id + 's') {
                     $(liList[i]).remove();
                  }
               }
               if ($("#SelectLayerToolItemTitle li").length == 1 && $("#SelectLayerToolItemTitle li").length == 0) {
                  // $("#SelectLayerToolItemTitle .no-data").stop().show();
                  // $(".jimu-widget-spatialAnalysis .tree-layer-opcity").stop().hide();
               }
            }
         },
         // datas: [],//layui舍弃
         // addSelectLayerTool: function (num, val) {
         //    console.log(num, val);
         //    var that = this
         //       , d = that.datas;
         //    //三维数据处理 添加全部 9 添加时删除 10 删除全部 6 //添加单个 9 添加时删除 10 删除全部 6
         //    // var sanwei = {};
         //    // if (num == 9) {
         //    //    sanwei.title = '三维倾斜数据'
         //    // }
         //    // d.push({
         //    //    title: val.title
         //    // })
         //    // that.beginRool(that.datas);
         // },
         // removeSelectLayerTool: function (num, val) {
         //    console.log(num, val)
         // },
         beginRool: function (data) {
            //选择图层Layui
            layui.use(['dropdown', 'util', 'layer', 'table'], function () {
               var dropdown = layui.dropdown
                  , layer = layui.layer;
               dropdown.render({
                  elem: '.SelectLayerTool'
                  , data: data
                  , click: function (obj) {
                     layer.tips('选择了:' + obj.title, this.elem, { tips: [1, '#5FB878'] });
                     var dom = $('.SelectLayerTool');
                     dom.empty();
                     var str = `${obj.title} <i class="layui-icon layui-icon-down layui-font-12"></i>`
                     dom.append(str);
                  }
               });
            });
         },
         closeToolBox: function (item) {
            if (item != this.name) {
@@ -240,10 +450,21 @@
            $(".jimu-widget-SQLQuery").hide();
            topic.publish('closesSQL', 'closesSQL');
            //关闭地形开挖
            if (who != 'digTheEarth') {
            if ($(".jimu-widget-digTheEarth").is(":visible")) {//判断是否隐藏
               $(".jimu-widget-digTheEarth").hide();
               topic.publish('closesDigTheEarth');
            }
            //关闭方量贩分析
            if ($(".jimu-widget-volumeAnalysis").is(":visible")) {//判断是否隐藏
               $(".jimu-widget-volumeAnalysis").hide();
               topic.publish('closesVolumeAnalysis');
            }
            //关闭空间查询
            if ($(".jimu-widget-spatialQuery").is(":visible")) {//判断是否隐藏
               $(".jimu-widget-spatialQuery").hide();
               topic.publish('closesSpatialQuery');
            }
         },
         onOpen: function () {