shuishen
2021-06-09 0ee58233d6e1ab07bc13701f12b60be8dcf9aff7
widgets/searchL/Widget.js
@@ -27,10 +27,14 @@
         baseClass: 'jimu-widget-searchL',
         name: 'searchL',
         layers: {},
         states: 'one',
         searchDatas: '',
         startup: function () {
            var that = this;
            //关键词&&坐标
            $("#i-f-gjz").click(function () {
               that.states = 'one';
               // console.log("gjz");
               $("#i-f-zb").css({ 'backgroundColor': '#fff', 'color': '#000' });
               $("#i-f-gjz").css({ 'backgroundColor': '#3E9FFC', 'color': '#fff' });
@@ -40,6 +44,7 @@
               $("#local_data").show();
            })
            $("#i-f-zb").click(function () {
               that.states = 'two';
               // console.log("zb");
               $("#i-f-gjz").css({ 'backgroundColor': '#fff', 'color': '#000' });
               $("#i-f-zb").css({ 'backgroundColor': '#3E9FFC', 'color': '#fff' });
@@ -50,11 +55,21 @@
            })
            $(".searchImg").click(function () {
               // that.getInputData();
               // that.setVal(that.searchDatas);
               $('.searchLMain').show();
            })
            $(".searchColce").click(function () {
               $('.searchLMain').hide();
            })
            // that.getInputData();
            // that.setVal(that.searchDatas);
            // 自动展开面板   面板和搜索无关!
            $('.searchLMain').show();
         },
@@ -65,85 +80,96 @@
            // }
         },
         getInputData: function () {
            if (this.states == 'one') {
               this.searchDatas = $('#local_data').val();
            } else if (this.states == 'two') {
               this.searchDatas = [$('#local_data1').val(), $('#local_data2').val()];
            }
         },
         setVal: function (val) {
            var that = this;
            if (typeof val == "string") {
               var url = 'http://171.34.76.171:8880/pyh-wetResource/GeoData/queryGeoData?name=' + val + '&protectAreald=&type=0&dataSort=1',
                  token = 'Bearer eyJhbGciOiJIUzUxMiJ9.eyJpc3MiOiJlY2hpc2FuIiwic3ViIjoiYWRtaW4iLCJpYXQiOjE2MjMxMTYwMzYsImV4cCI6MTYyNTcwODAzNn0.p2qqmcWrC9QDLAFgu1n0eR4k4wrr3udFKKhjBqGJXAzz1jdR57agyyYMsTZPXIPkH7hviE64uHLW8T7fM_VvNw';
         onOpen: function () {
            //面板打开的时候触发 (when open this panel trigger)layui.use(function(){
            var data = [
               {
                  "id": 1,
                  "username": "东湖",
                  "style1": "属性1",
                  "style2": "属性2",
               },
               {
                  "id": 2,
                  "username": "南矶山",
                  "style1": "属性1",
                  "style2": "属性2",
               },
               {
                  "id": 3,
                  "username": "东湖",
                  "style1": "属性1",
                  "style2": "属性2",
               },
               {
                  "id": 4,
                  "username": "南矶山",
                  "style1": "属性1",
                  "style2": "属性2",
               },
               {
                  "id": 5,
                  "username": "东湖",
                  "style1": "属性1",
                  "style2": "属性2",
               },
               {
                  "id": 6,
                  "username": "南矶山",
                  "style1": "属性1",
                  "style2": "属性2",
               },
               {
                  "id": 7,
                  "username": "东湖",
                  "style1": "属性1",
                  "style2": "属性2",
               },
               {
                  "id": 8,
                  "username": "南矶山",
                  "style1": "属性1",
                  "style2": "属性2",
               },
               {
                  "id": 9,
                  "username": "东湖",
                  "style1": "属性1",
                  "style2": "属性2",
               },
               {
                  "id": 10,
                  "username": "南矶山",
                  "style1": "属性1",
                  "style2": "属性2",
               },
               {
                  "id": 11,
                  "username": "东湖",
                  "style1": "属性1",
                  "style2": "属性2",
               },
               {
                  "id": 12,
                  "username": "南矶山",
                  "style1": "属性1",
                  "style2": "属性2",
               },
               axios.get(url, {
                  headers: {
                     'token': token
                  }
               }).then((res) => {
                  if (res.status == 200) {
                     var data = res.data.data;
                     that.createData(data);
                  } else {
                     console.log('请求访问失败')
                  }
               })
            } else if (typeof val == "object") {
            ];
            }
         },
         createData: function (d) {
            var i = 1;
            for (var k in d) {
               d[k].tableId = i++;
            }
            var data = d;
            this.beginLayUi(data);
         },
         getData: function (index) {
            var d = $('.searchLMain').find('.layui-tab-item').hide;
            // console.log(d)
            var that = this,
               url = index == 0 ?
                  'http://171.34.76.171:8880/pyh-wetResource/monitorRecords/queryMonitorRecords?name=&startTime=&endTime=&type=2&startPage=1&limit=10&soId=056c6f9fa3f14c168fa90cf1563cd01f'
                  :
                  index == 1 ?
                     'http://171.34.76.171:8880/pyh-station/video/queryPyhVideoByFilter?id=&protectAreaId=&name=&buildTime=&buildType=&start=1&limit=10'
                     :
                     index == 2 ?
                        'http://171.34.76.171:8880/pyh-station/monitorStation/queryMonitorStationByFilter?leftTreeId=&isShow=&stcd=&stnm=&status=&startPage=1&limit=10' :
                        false
               , token = 'Bearer eyJhbGciOiJIUzUxMiJ9.eyJpc3MiOiJlY2hpc2FuIiwic3ViIjoiYWRtaW4iLCJpYXQiOjE2MjMxMzIzMjYsImV4cCI6MTYyNTcyNDMyNn0.2ug9No32Ij3DxXCw8utXbahYsAe6l_FdzRTH5ysaBsOuKLbmQ80faGclncCdNahQ3rgiV54U-gawqw9JhGsAJA';
            axios.get(url, {
               headers: {
                  'token': token
               }
            }).then((res) => {
               if (res.status == 200) {
                  var data = res.data.data;
                  that.createDatas(data, index);
               } else {
                  console.log('请求访问失败')
               }
            })
         },
         createDatas: function (d, n) {
            var i = 1;
            for (var k in d) {
               d[k].tableId = i++;
            }
            var data = d;
            if (n == 0) {
               this.beginLayUi(data);
            } else if (n == 1) {
               this.beginLayUi(1, data);
            } else if (n == 2) {
               this.beginLayUi(1, 1, data);
            }
         },
         onOpen: function () {
            //面板打开的时候触发
            var that = this;
            that.getData(0)
            layui.use('element', function () {
               var $ = layui.jquery
                  , element = layui.element;
               element.on('tab(docDemoTabBrief)', function (elem) {
                  that.getData(elem.index)
               });
            });
         },
         onClose: function () {
@@ -161,39 +187,204 @@
         resize: function () {
         },
         beginLayUi: function (data) {
         goOnPosition(arr) {
            // console.log(arr)
            this.map.camera.flyTo({
               // destination: Cesium.Cartesian3.fromDegrees(Number(lng), Number(lat), Number(gaodu))
               destination: Cesium.Cartesian3.fromDegrees(Number(arr[0]), Number(arr[1]), Number(8000))
            });
         },
         beginLayUi: function (data = 1, data1 = 1, data2 = 1) {
            // data.push(...data)
            // console.log(data)
            var that = this;
            layui.use(function () {
               var element = layui.element
                  , table = layui.table //表格
                  , laypage = layui.laypage; //分页
               table.render({
                  elem: '#test'
                  // , url: './data'
                  , height: 475
                  , page: { //支持传入 laypage 组件的所有参数(某些参数除外,如:jump/elem) - 详见文档
                     // layout: ['limit', 'count', 'prev', 'page', 'next', 'skip'] //自定义分页布局
                     layout: ['count', 'prev', 'page', 'next', 'skip'] //自定义分页布局
                     //,curr: 5 //设定初始在第 5 页
                     , groups: 3 //只显示 1 个连续页码
                     , first: false //不显示首页
                     , last: false //不显示尾页
                  }
                  , cols: [[
                     { field: 'id', width: 59, align: 'center', unresize: true, title: '序号' }
                     , { field: 'username', width: 90, align: 'center', unresize: true, title: '图层名称' }
                     , { field: 'style1', width: 95, align: 'center', unresize: true, title: '图层属性1' }
                     , { field: 'style2', width: 95, align: 'center', unresize: true, title: '图层属性2' }
                     , { fixed: 'right', width: 115, align: 'center', unresize: true, title: '操作', toolbar: '#demoTable' }
                  ]],
                  data: data,
                  //,skin: 'line' //表格风格
                  even: true
                  // , page: true //是否显示分页
                  , limits: false
                  , limit: 10 //每页默认显示的数量
               if (data != 1) {
               });
                  table.render({
                     elem: '#test'
                     // , url: './data'
                     , height: 475
                     , page: { //支持传入 laypage 组件的所有参数(某些参数除外,如:jump/elem) - 详见文档
                        // layout: ['limit', 'count', 'prev', 'page', 'next', 'skip'] //自定义分页布局
                        layout: ['count', 'prev', 'page', 'next', 'skip'] //自定义分页布局
                        //,curr: 5 //设定初始在第 5 页
                        , groups: 3 //只显示 1 个连续页码
                        , first: false //不显示首页
                        , last: false //不显示尾页
                     }
                     , cols: [[
                        { field: 'tableId', width: 59, align: 'center', unresize: true, title: '序号' }
                        , { field: 'name', width: 90, align: 'center', unresize: true, title: '图层名称' }
                        , { field: 'protectArea', width: 95, align: 'center', unresize: true, title: '图层属性1' }
                        , { field: 'protectArea', width: 95, align: 'center', unresize: true, title: '图层属性2' }
                        , { fixed: 'right', align: 'center', unresize: true, title: '操作', toolbar: '#demoTable' }
                     ]],
                     data: data,
                     //,skin: 'line' //表格风格
                     even: true
                     // , page: true //是否显示分页
                     , limits: false
                     , limit: 10 //每页默认显示的数量
                  });
                  table.on('tool(test)', function (obj) { //注:tool 是工具条事件名,test 是 table 原始容器的属性 lay-filter="对应的值"
                     var data = obj.data //获得当前行数据
                        , layEvent = obj.event; //获得 lay-event 对应的值
                     if (layEvent === 'detail') {
                        //   layer.msg('查看操作');
                        window.open(obj.data.panAddress);
                        console.log(obj.data.panAddress)
                     } else if (layEvent === 'edit') {
                        that.goOnPosition([obj.data.lon, obj.data.lat]);
                     }
                  });
               }
               if (data1 != 1) {
                  table.render({
                     elem: '#test1'
                     // , url: './data'
                     , height: 475
                     , page: { //支持传入 laypage 组件的所有参数(某些参数除外,如:jump/elem) - 详见文档
                        // layout: ['limit', 'count', 'prev', 'page', 'next', 'skip'] //自定义分页布局
                        layout: ['count', 'prev', 'page', 'next', 'skip'] //自定义分页布局
                        //,curr: 5 //设定初始在第 5 页
                        , groups: 3 //只显示 1 个连续页码
                        , first: false //不显示首页
                        , last: false //不显示尾页
                     }
                     , cols: [[
                        { field: 'tableId', width: 59, align: 'center', unresize: true, title: '序号' }
                        , { field: 'name', width: 90, align: 'center', unresize: true, title: '图层名称' }
                        , { field: 'protectName', width: 95, align: 'center', unresize: true, title: '图层属性1' }
                        , { field: 'serviceUrl', width: 95, align: 'center', unresize: true, title: '图层属性2' }
                        , { fixed: 'right', align: 'center', unresize: true, title: '操作', toolbar: '#demoTable1' }
                     ]],
                     data: data1,
                     //,skin: 'line' //表格风格
                     even: true
                     // , page: true //是否显示分页
                     , limits: false
                     , limit: 10 //每页默认显示的数量
                  });
                  table.on('tool(test1)', function (obj) { //注:tool 是工具条事件名,test 是 table 原始容器的属性 lay-filter="对应的值"
                     var data = obj.data //获得当前行数据
                        , layEvent = obj.event; //获得 lay-event 对应的值
                     if (layEvent === 'detail') {
                        //   layer.msg('查看操作');
                        var dom = $('#poput-m-t-video'),
                           str = `
                           <div class="header">${obj.data.name}--实时视频</div>
                           <video id="video1" class="video-js vjs-default-skin" width="100%" height="100%"
                              data-setup='{"controls" : true, "autoplay" : true, "preload" : "auto"}'>
                              <source src="${obj.data.flv}" type="video/x-flv">
                           </video>`;
                        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' });
                     } else if (layEvent === 'edit') {
                        that.goOnPosition([obj.data.lon, obj.data.lat]);
                     }
                     // console.log(obj.data.name)
                  });
               }
               if (data2 != 1) {
                  table.render({
                     elem: '#test2'
                     // , url: './data'
                     , height: 475
                     , page: { //支持传入 laypage 组件的所有参数(某些参数除外,如:jump/elem) - 详见文档
                        // layout: ['limit', 'count', 'prev', 'page', 'next', 'skip'] //自定义分页布局
                        layout: ['count', 'prev', 'page', 'next', 'skip'] //自定义分页布局
                        //,curr: 5 //设定初始在第 5 页
                        , groups: 3 //只显示 1 个连续页码
                        , first: false //不显示首页
                        , last: false //不显示尾页
                     }
                     , cols: [[
                        { field: 'tableId', width: 59, align: 'center', unresize: true, title: '序号' }
                        , { field: 'name', width: 90, align: 'center', unresize: true, title: '图层名称' }
                        , { field: 'stcd', width: 95, align: 'center', unresize: true, title: '图层属性1' }
                        , { field: 'createTime', width: 95, align: 'center', unresize: true, title: '图层属性2' }
                        , { fixed: 'right', align: 'center', unresize: true, title: '操作', toolbar: '#demoTable2' }
                     ]],
                     data: data2,
                     //,skin: 'line' //表格风格
                     even: true
                     // , page: true //是否显示分页
                     , limits: false
                     , limit: 10 //每页默认显示的数量
                  });
                  table.on('tool(test2)', function (obj) { //注:tool 是工具条事件名,test 是 table 原始容器的属性 lay-filter="对应的值"
                     var data = obj.data //获得当前行数据
                        , layEvent = obj.event; //获得 lay-event 对应的值
                     if (layEvent === 'detail') {
                        //   layer.msg('查看操作');
                        // 监测、测站详情 表格
                        var str = '';
                        var XQDom = $('.jimu-widget-searchTabaPopup').find('.xiangqing');
                        XQDom.empty();
                        str += '<table border="1" cellpadding="100">';
                        str += `<tr>
                                 <th>测站名称:</th>
                                 <td>${obj.data.name}</td>
                                 <th>建设类型:</th>
                                 <td>建设</td>
                              </tr>
                              <tr>
                                 <th>经度:</th>
                                 <td>${obj.data.lon}</td>
                                 <th>纬度:</th>
                                 <td>${obj.data.lat}</td>
                              </tr>
                              <tr>
                                 <th>建站时间:</th>
                                 <td>${obj.data.accessTime}</td>
                                 <th>接入时间:</th>
                                 <td>${obj.data.createTime}</td>
                              </tr>
                              <tr>
                                 <th>所属保护区:</th>
                                 <td>鄱阳湖南矶湿地国家级自然保护区</td>
                                 <th>地址:</th>
                                 <td>暂无</td>
                              </tr>
                              <tr>
                                 <th>全景地址:</th>
                                 <td colspan="3">${obj.data.panoramaUrl}/</td>
                              </tr>
                              <tr>
                                 <th>测站简介:</th>
                                 <td class="left" colspan="3">暂无</td>
                              </tr>
                              <tr>
                                 <th>图片:</th>
                                 <td class="left" colspan="3"></td>
                              </tr>`;
                        str += '</table>';
                        XQDom.append(str);
                        $('.jimu-widget-searchTabaPopup').css({ 'display': 'block' });
                        $('.jimu-widget-searchTabaPopup').find('.p-main').eq(1).css({ 'display': 'block' }).siblings().css({ 'display': 'none' });
                        console.log(obj.data.name)
                     } else if (layEvent === 'edit') {
                        that.goOnPosition([obj.data.lon, obj.data.lat]);
                     }
                  });
               }
               //…
            });