liuyg
2021-07-02 25ce610f6ecca7325e7a743dc032c4a76559c63d
widgets/searchL/Widget.js
@@ -11,7 +11,8 @@
   'jimu/BaseWidget',
   'jimu/utils',
   'jimu/css!libs/zTree_v3/css/zTreeStyle/zTreeStyle.css',
   'libs/zTree_v3/js/jquery.ztree.all'
   'libs/zTree_v3/js/jquery.ztree.all',
   './Cesiumadd'
],
   function (declare,
      lang,
@@ -32,6 +33,8 @@
         addOneEntitys: null,
         startup: function () {
            var that = this;
            //关键词&&坐标
            $("#i-f-gjz").click(function () {
@@ -55,6 +58,8 @@
            $(".searchImg").click(function () {
               that.getInputData();
               that.addOneEntitys.removeAll();
               if (typeof that.searchDatas == 'string') {
                  var han = /^[\u4e00-\u9fa5]+$/;
                  if (han.test(that.searchDatas) || that.searchDatas == '  ') {
@@ -96,12 +101,14 @@
            $(".searchColce").click(function () {
               $('.searchLMain').hide();
               that.addOneEntitys.removeAll();
               topic.publish('getLegendsData', "legends", '');
            })
            $("#local_data").keyup(function (e) {
               console.log(e);
               // console.log(e);
               that.getInputData();
               if (e.keyCode == 13 && typeof that.searchDatas == 'string') {
                  that.addOneEntitys.removeAll();
                  var han = /^[\u4e00-\u9fa5]+$/;
                  if (han.test(that.searchDatas) || that.searchDatas == '  ') {
                     that.getData(0, that.searchDatas);
@@ -133,6 +140,7 @@
         },
         getData: function (index, val) {
            val = val == '  ' ? '' : val;
            var d = $('.searchLMain').find('.layui-tab-item').hide;
            var that = this,
               url = `http://171.34.76.171:8880/pyh-wetResource/monitorRecords/queryMonitorData?name=${val}&start&limit&type=${index}`
@@ -165,10 +173,13 @@
            if (d == []) {
               if (n == 0) {
                  this.beginLayUi(d);
                  topic.publish('getLegendsData', "legends", d, "./images/addL/全景.png", "全景站点");
               } else if (n == 1) {
                  this.beginLayUi(1, d);
                  topic.publish('getLegendsData', "legends", d, "./images/addL/监控.png", "监控站点");
               } else if (n == 2) {
                  this.beginLayUi(1, 1, d);
                  topic.publish('getLegendsData', "legends", d, "./images/addL/全景.png", "监测站点");
               }
            } else {
               var i = 1;
@@ -180,10 +191,13 @@
               var data = d;
               if (n == 0) {
                  this.beginLayUi(data);
                  topic.publish('getLegendsData', "legends", d, "./images/addL/全景.png", "全景站点");
               } else if (n == 1) {
                  this.beginLayUi(1, data);
                  topic.publish('getLegendsData', "legends", d, "./images/addL/监控.png", "监控站点");
               } else if (n == 2) {
                  this.beginLayUi(1, 1, data);
                  topic.publish('getLegendsData', "legends", d, "./images/addL/监测.png", "监测站点");
               }
            }
         },
@@ -193,7 +207,6 @@
            this.map.dataSources.add(dataSourceOne);
            //面板打开的时候触发
            var that = this;
            that.getData(0)
            layui.use('element', function () {
               var $ = layui.jquery
                  , element = layui.element;
@@ -224,59 +237,87 @@
            this.mountainHandler.setInputAction(lang.hitch(this, this.clickHand), Cesium.ScreenSpaceEventType.LEFT_CLICK);
         },
         // 注册鼠标左键单击事件
         clickHand: function clickHand(data) {
            var pickedObjects = this.map.scene.drillPick(data.position);
            var data = pickedObjects[0].primitive.id.onceData[1];
            if (pickedObjects[0].primitive.id.onceData[0] == 1) {//全景
               var address = data.panAddress;
               var dom = $('.header'),
                  str = `${data.name}--全景`;
               dom.empty();
               dom.append(str);
         clickHand: function clickHand(data) {// 全局鼠标点击图标事件 渲染地图图标时 添加个相对应的数组储存该对象数据 通过数组是否存在判断点击的项目
            var pickedObjects = this.map.scene.drillPick(data.position) || 0;
            // console.log(pickedObjects);
            if (pickedObjects.length != 0) {
               if (pickedObjects[0].primitive.id != undefined) {
                  if (pickedObjects[0].primitive.id.onceData != undefined) {//搜索图标点击事件
                     // console.log('onceData')
                     var data = pickedObjects[0].primitive.id.onceData[1];
               dom = $('#poput-m-t-quanjing');
               str = `<iframe id="poput-m-t-quanjing-iframe" src="${address}" frameborder="0"></iframe>`;
               dom.empty();
               dom.append(str);
               $('.jimu-widget-searchTabaPopup').css({ 'display': 'block' });
               $('.jimu-widget-searchTabaPopup').find('.p-main').eq(0).css({ 'display': 'block' }).siblings().css({ 'display': 'none' });
            }
            if (pickedObjects[0].primitive.id.onceData[0] == 2) {//视频
               var dom = $('.header'),
                  str = `${data.name}--实时视频`;
               dom.empty();
               dom.append(str);
               if (data.flv) {
                  dom = $('#poput-m-t-video');
                  str = `
                     <video id="poput-m-t-video-video" ></video>
               `;
                  dom.empty();
                  dom.append(str);
                  if (flvjs.isSupported()) {
                     var videoElement = document.getElementById('poput-m-t-video-video');
                     var flvPlayer = flvjs.createPlayer({
                        type: 'flv',
                        url: data.flv
                     });
                     flvPlayer.attachMediaElement(videoElement);
                     flvPlayer.load();
                     flvPlayer.play();
                     if (pickedObjects[0].primitive.id.onceData[0] == 1) {//全景
                        var address = data.panAddress;
                        var dom = $('.jimu-widget-searchTabaPopup').find('.header'),
                           str = `${data.name}--全景`;
                        dom.empty();
                        dom.append(str);
                        // console.log(data)
                        dom = $('#poput-m-t-quanjing');
                        str = `<iframe id="poput-m-t-quanjing-iframe" src="${address}" frameborder="0"></iframe>`;
                        dom.empty();
                        dom.append(str);
                        $('.jimu-widget-searchTabaPopup').css({ 'display': 'block' });
                        $('.jimu-widget-searchTabaPopup').find('.p-main').eq(0).css({ 'display': 'block' }).siblings().css({ 'display': 'none' });
                     }
                     if (pickedObjects[0].primitive.id.onceData[0] == 2) {//监控
                        var dom = $('.jimu-widget-searchTabaPopup').find('.header'),
                           str = `${data.name}--实时视频`;
                        dom.empty();
                        dom.append(str);
                        // console.log(data)
                        if (data.flv) {
                           dom = $('#poput-m-t-video');
                           str = `
                        <video id="poput-m-t-video-video" ></video>
                        `;
                           dom.empty();
                           dom.append(str);
                           if (flvjs.isSupported()) {
                              var videoElement = document.getElementById('poput-m-t-video-video');
                              var flvPlayer = flvjs.createPlayer({
                                 type: 'flv',
                                 url: data.flv
                              });
                              flvPlayer.attachMediaElement(videoElement);
                              flvPlayer.load();
                              flvPlayer.play();
                           }
                           window.$myVideoFlvplayer = flvPlayer;
                           // var time = setTimeout(() => {
                           // }, 2000);
                        } else {
                           var dom = $('#poput-m-t-video'),
                              str = `
                        <div id="poput-m-t-video-none" >·暂无视频</div>
                  `;
                           dom.empty();
                           dom.append(str);
                        }
                        $('.jimu-widget-searchTabaPopup').css({ 'display': 'block' });
                        $('.jimu-widget-searchTabaPopup').find('.p-main').eq(0).css({ 'display': 'block' }).siblings().css({ 'display': 'none' });
                     }
                     if (pickedObjects[0].primitive.id.onceData[0] == 3) {//监测
                        console.log('监测', data)
                     }
                  } else if (pickedObjects[0].primitive.id.SQLData != undefined) {//SQL查询图标点击事件
                     // console.log('SQLData')
                  } else if (pickedObjects[0].primitive.id.spatialQueryData != undefined) {//SQL查询图标点击事件
                     var data = pickedObjects[0].primitive.id.spatialQueryData;
                     data.name = pickedObjects[0].primitive.id.name;
                     data.dom = pickedObjects[0].primitive.id.description;
                     // console.log(data);
                     var doms = $('#spatialQueryValuemain');
                     var domo = $('#spatialQueryValue');
                     doms.empty();
                     doms.append('<div>name:' + data.name + '<div/>' + data.dom._value);
                     domo.show();
                  }
                  window.$myVideoFlvplayer = flvPlayer;
                  // var time = setTimeout(() => {
                  // }, 2000);
               } else {
                  var dom = $('#poput-m-t-video'),
                     str = `
                     <div id="poput-m-t-video-none" >·暂无视频</div>
               `;
                  dom.empty();
                  dom.append(str);
               }
               $('.jimu-widget-searchTabaPopup').css({ 'display': 'block' });
               $('.jimu-widget-searchTabaPopup').find('.p-main').eq(0).css({ 'display': 'block' }).siblings().css({ 'display': 'none' });
            }
         },
@@ -303,27 +344,28 @@
         },
         //定位实体位置
         shiti: function (data, i) {
            // console.log(data)
            var imgs = i == 1 ? 'images/addL/全景.png' : i == 2 ? 'images/addL/监控.png' : i == 3 ? 'images/addL/监测.png' : '';
            this.addOneEntitys.add({
               id: data.id, // 实体ID
               name: data.name, // 实体名称
               position: Cesium.Cartesian3.fromDegrees(Number(data.lon), Number(data.lat)), // 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
               // },
               label: {
                  show: true,
                  text: data.name, // text 与实体相关的文字
                  font: "700 20px '黑体'",
                  fillColor: Cesium.Color.fromCssColorString("rgba(57,165,253)"),
                  // 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.CENTER,//水平位置
                  pixelOffset: new Cesium.Cartesian2(0, -40), // 文字位置
                  heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
                  // distanceDisplayCondition: new Cesium.DistanceDisplayCondition(1, entityConfig.showheight),
                  disableDepthTestDistance: Number.POSITIVE_INFINITY
               },
               billboard: {
                  show: true,
                  // image: 'images/addL/监测.png',
@@ -373,7 +415,14 @@
                     // , page: true //是否显示分页
                     , limits: false
                     , limit: 10 //每页默认显示的数量
                     , done: function (res, curr, count) {
                        that.addTitle();
                     }
                  });
                  table.on('row(test)', function (obj) {
                     that.goOnPosition([obj.data.lon, obj.data.lat], 1, obj.data);
                  });
                  table.on('tool(test)', function (obj) { //注:tool 是工具条事件名,test 是 table 原始容器的属性 lay-filter="对应的值"
@@ -413,6 +462,9 @@
                     // , page: true //是否显示分页
                     , limits: false
                     , limit: 10 //每页默认显示的数量
                     , done: function (res, curr, count) {
                        that.addTitle();
                     }
                  });
                  table.on('tool(test1)', function (obj) { //注:tool 是工具条事件名,test 是 table 原始容器的属性 lay-filter="对应的值"
@@ -458,6 +510,10 @@
                        that.goOnPosition([obj.data.lon, obj.data.lat], 2, obj.data);
                     }
                  });
                  table.on('row(test1)', function (obj) {
                     that.goOnPosition([obj.data.lon, obj.data.lat], 2, obj.data);
                  });
               }
               if (data2 != 1) {
@@ -475,7 +531,7 @@
                     , cols: [[
                        { field: 'tableId', width: 59, align: 'center', unresize: true, title: '序号' }
                        , { field: 'name', width: 90, align: 'center', unresize: true, title: '站点' }
                        , { field: 'wetlandName', width: 95, align: 'center', unresize: true, title: '所属保护区' }
                        , { field: 'wetlandName_', width: 95, align: 'center', unresize: true, title: '所属保护区' }
                        , { field: 'remark', width: 95, align: 'center', unresize: true, title: '备注' }
                        , { fixed: 'right', align: 'center', unresize: true, title: '操作', toolbar: '#demoTable2' }
                     ]],
@@ -485,6 +541,9 @@
                     // , page: true //是否显示分页
                     , limits: false
                     , limit: 10 //每页默认显示的数量
                     , done: function (res, curr, count) {
                        that.addTitle();
                     }
                  });
@@ -507,8 +566,11 @@
                        that.goOnPosition([obj.data.lon, obj.data.lat], 3, obj.data);
                     }
                  });
                  table.on('row(test2)', function (obj) {
                     that.goOnPosition([obj.data.lon, obj.data.lat], 3, obj.data);
                  });
               }
               that.addTitle();
               // that.addTitle();
               //…
            });
         },
@@ -558,12 +620,23 @@
                  </tr>
                  <tr>
                     <th>图片:</th>
                     <td class="left" colspan="3">
                     <img src="${obj.data.attList[0].uaOriginPath}" alt="">
                     <td class="left" colspan="3" id="popupsimg">
                     <img layer-src="${obj.data.attList[0].uaOriginPath}" src="${obj.data.attList[0].uaOriginPath}" alt="">
                     </td>
                  </tr>`;
            str += '</table>';
            XQDom.append(str);
            // 相册层
            layui.use(['form', 'layer'], function () {
               //----------模块----------
               var form = layui.form;
               var layer = layui.layer;
               layer.photos({
                  photos: '#popupsimg'
                  , anim: 5 //0-6的选择,指定弹出图片动画类型,默认随机(请注意,3.0之前的版本用shift参数)
               });
            });
         },
         getshuiwen: function (stcd) {
            var that = this;