From 25ce610f6ecca7325e7a743dc032c4a76559c63d Mon Sep 17 00:00:00 2001
From: liuyg <376836862@qq.com>
Date: Fri, 02 Jul 2021 09:10:26 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.105:10010/r/pyhmap
---
widgets/searchL/Widget.js | 256 +++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 216 insertions(+), 40 deletions(-)
diff --git a/widgets/searchL/Widget.js b/widgets/searchL/Widget.js
index 7a04cee..760379e 100644
--- a/widgets/searchL/Widget.js
+++ b/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,
@@ -29,8 +30,11 @@
layers: {},
states: 'one',
searchDatas: '',
+ addOneEntitys: null,
startup: function () {
var that = this;
+
+
//关键词&&坐标
$("#i-f-gjz").click(function () {
@@ -54,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 == ' ') {
@@ -75,6 +81,11 @@
}
} else {
if (that.searchDatas[0] && that.searchDatas[1]) {
+ that.map.camera.flyTo({
+ // destination: Cesium.Cartesian3.fromDegrees(Number(lng), Number(lat), Number(gaodu))
+ destination: Cesium.Cartesian3.fromDegrees(Number(that.searchDatas[0]), Number(that.searchDatas[1]), Number(8000))
+
+ });
} else {
layui.use(function () { //亦可加载特定模块:layui.use(['layer', 'laydate', function(){
//得到各种内置组件
@@ -89,7 +100,34 @@
})
$(".searchColce").click(function () {
$('.searchLMain').hide();
- that.map.entities.removeAll();
+ that.addOneEntitys.removeAll();
+ topic.publish('getLegendsData', "legends", '');
+ })
+
+ $("#local_data").keyup(function (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);
+ $('.searchLMain').show();
+ $('.searchLMain').find('ul.layui-tab-title li:eq(0)').addClass('layui-this').siblings().removeClass('layui-this');
+ $('.searchLMain').find('div.layui-tab-content > div.layui-tab-item:eq(0)').addClass('layui-show').siblings().removeClass('layui-show');
+
+ } else {
+ layui.use(function () { //亦可加载特定模块:layui.use(['layer', 'laydate', function(){
+ //得到各种内置组件
+ var layer = layui.layer //弹层
+ // layer.msg('请先填写关键字', { icon: 1, time: 1000, shift: 6 });
+ layer.tips('请先填写关键字', '.searchImg', {
+ tips: [2, '#FF5722']
+ });
+ })
+ $('.searchLMain').hide();
+ }
+ }
})
},
@@ -102,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}`
@@ -130,14 +169,17 @@
})
},
createDatas: function (d, n) {
- this.map.entities.removeAll();//清除图标点
+ this.addOneEntitys.removeAll();//清除图标点
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;
@@ -149,17 +191,22 @@
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", "监测站点");
}
}
},
onOpen: function () {
+ var dataSourceOne = new Cesium.CustomDataSource();
+ this.addOneEntitys = dataSourceOne.entities;
+ this.map.dataSources.add(dataSourceOne);
//面板打开的时候触发
var that = this;
- that.getData(0)
layui.use('element', function () {
var $ = layui.jquery
, element = layui.element;
@@ -175,6 +222,103 @@
that.getData(val, that.searchDatas);
});
});
+
+ // 地图图标点击事件
+ this.movehandLer();
+ },
+ // 获取鼠标事件
+ movehandLer: function movehandLer() {
+ // 取消默认双击事件
+ this.map.cesiumWidget.screenSpaceEventHandler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_DOUBLE_CLICK);
+ // 获取鼠标事件
+ this.mountainHandler = new Cesium.ScreenSpaceEventHandler(this.map.scene.canvas);
+ // 给鼠标左键添加事件函数
+ // this.mountainHandler.setInputAction(lang.hitch(this, this.mouseMove), Cesium.ScreenSpaceEventType.MOUSE_MOVE);
+ this.mountainHandler.setInputAction(lang.hitch(this, this.clickHand), Cesium.ScreenSpaceEventType.LEFT_CLICK);
+ },
+ // 注册鼠标左键单击事件
+ 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];
+
+ 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();
+ }
+ }
+ }
},
onClose: function () {
@@ -200,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.map.entities.add({
+ 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',
@@ -232,7 +377,8 @@
heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
disableDepthTestDistance: Number.POSITIVE_INFINITY,
// rotation: Cesium.Math.toRadians(angle),
- }
+ },
+ onceData: [i, data]
})
},
beginLayUi: function (data = 1, data1 = 1, data2 = 1) {
@@ -269,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="对应的值"
@@ -284,7 +437,7 @@
});
}
if (data1 != 1) {
-
+
table.render({
elem: '#test1'
// , url: './data'//监控
@@ -298,7 +451,7 @@
}
, cols: [[
{ field: 'tableId', width: 59, align: 'center', unresize: true, title: '序号' }
- , { field: 'name', width: 90, align: 'center', unresize: true, title: '名称' }
+ , { field: 'name', width: 90, align: 'center', unresize: true, title: '站点' }
, { field: 'protectName', width: 95, align: 'center', unresize: true, title: '所属保护区' }
, { field: 'remark', width: 95, align: 'center', unresize: true, title: '备注' }
, { fixed: 'right', align: 'center', unresize: true, title: '操作', toolbar: '#demoTable1' }
@@ -309,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="对应的值"
@@ -321,16 +477,11 @@
dom.append(str);
if (obj.data.flv) {
var dom = $('#poput-m-t-video'),
- // <div id="poput-m-t-video-login"><i class="layui-icon"></i></div>
str = `
<video id="poput-m-t-video-video" ></video>
`;
dom.empty();
dom.append(str);
-
- // console.log(obj.data.name);
- // console.log(obj.data.flv);
-
if (flvjs.isSupported()) {
var videoElement = document.getElementById('poput-m-t-video-video');
var flvPlayer = flvjs.createPlayer({
@@ -353,14 +504,15 @@
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], 2, obj.data);
}
+ });
+
+ table.on('row(test1)', function (obj) {
+ that.goOnPosition([obj.data.lon, obj.data.lat], 2, obj.data);
});
}
if (data2 != 1) {
@@ -378,8 +530,8 @@
}
, 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: 'name', width: 90, 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' }
]],
@@ -389,8 +541,12 @@
// , page: true //是否显示分页
, limits: false
, limit: 10 //每页默认显示的数量
+ , done: function (res, curr, count) {
+ that.addTitle();
+ }
});
+
table.on('tool(test2)', function (obj) { //注:tool 是工具条事件名,test 是 table 原始容器的属性 lay-filter="对应的值"
var data = obj.data //获得当前行数据
, layEvent = obj.event; //获得 lay-event 对应的值
@@ -410,10 +566,19 @@
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();
//…
});
+ },
+ addTitle: function () {
+ let tdom = $("[data-field]");
+ for (var i = 0; i < tdom.length; i++) {
+ $(tdom[i]).attr("title", $(tdom[i]).text())
+ }
},
setXiangqing(obj) {
var str = '';
@@ -455,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;
@@ -493,9 +669,9 @@
$('#test-endDate-1').val(date1);
window.defultEchartsTimes = [date2, date1];
// var time = setTimeout(() => {
- $('.jimu-widget-searchTabaPopup').find('#query').click();
- // clearTimeout(time);
- // time = null;
+ $('.jimu-widget-searchTabaPopup').find('#query').click();
+ // clearTimeout(time);
+ // time = null;
// }, 500);
var str = '',
--
Gitblit v1.9.3