From d8d0f5fb17025c8ea92ef9f03ad5cc57d18b3b16 Mon Sep 17 00:00:00 2001
From: liuyg <376836862@qq.com>
Date: Thu, 24 Jun 2021 09:08:54 +0800
Subject: [PATCH] xj
---
widgets/spatialAnalysis/Widget.js | 476 +++++++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 392 insertions(+), 84 deletions(-)
diff --git a/widgets/spatialAnalysis/Widget.js b/widgets/spatialAnalysis/Widget.js
index 04bb9d3..62e479c 100644
--- a/widgets/spatialAnalysis/Widget.js
+++ b/widgets/spatialAnalysis/Widget.js
@@ -31,23 +31,139 @@
var that = this;
// 暴露在外的接口
- var domHtmls = [
+ topic.subscribe("closeOnceUse", lang.hitch(this, this.closeOnceUse));
+
+
+
+ var domHtmls = [//默认
{
name: '可视分析',
classs: 'visibleArea-tool',
- img: '../../images/addL/ksy.png'
+ img: './images/addL/ksy.png'
}, {
name: '剖面分析',
classs: 'profileAnalysis-tool',
- img: '../../images/addL/剖面分析.png'
- }, {
- name: '坡度分析',
- classs: 'slope-tool',
- img: '../../images/addL/pdpx.png'
+ img: './images/addL/剖面分析.png'
}
+ // , {//做好静态,
+ // name: '建造实体',
+ // classs: 'modelDiagram-tool',
+ // img: './images/addL/pdpx.png'
+ // }
+ // , {//https://blog.csdn.net/supermapsupport/article/details/100134590
+ // //需要iServer发布成三维服务
+ // name: '坡度分析',
+ // classs: 'slope-tool',
+ // img: './images/addL/pdpx.png'
+ // }
+ // , {//SQL查询,//做好
+ // name: 'SQL查询',
+ // classs: 'SQLQuery-tool',
+ // img: './images/addL/pdpx.png'
+ // }
+ , {//地形开挖,//做好
+ name: '地形开挖',
+ classs: 'digTheEarth-tool',
+ img: './images/addL/pdpx.png'
+ }
+ // , {//方量分析//做好
+ // name: '方量分析',
+ // classs: 'volumeAnalysis-tool',
+ // img: './images/addL/pdpx.png'
+ // }
];
- var dom = $('#spatialAnalysis-main');
- var str = '';
+
+ that.beginSpatialAnalysis(domHtmls);
+ var isit = false;
+ $('.ccslius').click(() => {
+ isit = false;
+ })
+ $('.ccsliu').dblclick(() => {//测试开关 点击图例其他的图片
+
+ if (isit) {
+ var domHtmls2 = [
+ {
+ name: '可视分析',
+ classs: 'visibleArea-tool',
+ img: './images/addL/ksy.png'
+ }, {
+ name: '剖面分析',
+ classs: 'profileAnalysis-tool',
+ img: './images/addL/剖面分析.png'
+ }
+ , {//https://blog.csdn.net/supermapsupport/article/details/100134590
+ //需要iServer发布成三维服务
+ name: '坡度分析',
+ classs: 'slope-tool',
+ img: './images/addL/pdpx.png'
+ }
+ , {//做好静态,
+ name: '建造实体',
+ classs: 'modelDiagram-tool',
+ img: './images/addL/pdpx.png'
+ }
+ , {//SQL查询,//做好
+ name: 'SQL查询',
+ classs: 'SQLQuery-tool',
+ img: './images/addL/pdpx.png'
+ }
+ , {//地形开挖,//做好
+ 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'
+ }
+ ,
+ {//建造模型
+ name: '建造模型',
+ classs: 'modesssssllll',
+ img: './images/addL/pdpx.png'
+ }
+ ,
+ {//清除模型
+ name: '清除模型',
+ classs: 'modesssss2222',
+ img: './images/addL/pdpx.png'
+ }
+ ];
+ that.beginSpatialAnalysis(domHtmls2);
+ var promise = false;
+ $('.modesssssllll').click(() => {
+ var URL_CONFIG = {
+ SCENE_CBD: 'http://www.supermapol.com/realspace/services/3D-niaochao/rest/realspace',
+ }
+ promise = this.map.scene.open(URL_CONFIG.SCENE_CBD);
+ })
+ $('.modesssss2222').click(() => {
+ if (promise) {
+ Cesium.when(promise, function (layer) {
+ for (var i = 0; i < layer.length; i++) {
+ that.map.scene.layers.remove(layer[i].name)
+ }
+ })
+ }
+ })
+ } else {
+ that.beginSpatialAnalysis(domHtmls);
+ }
+ isit = !isit;
+ })
+
+ },
+ beginSpatialAnalysis: function (domHtmls) {
+ var that = this;
+ var domHtmls = domHtmls;
+ var dom = $('#spatialAnalysis-mains');
+ dom.empty();
+ var str = '<ul>';
for (var k in domHtmls) {
str += `<li class="${domHtmls[k].classs}">
<i class="imgs">
@@ -56,109 +172,301 @@
<span>${domHtmls[k].name}</span>
</li>`
}
- dom.replaceWith(str);
+ str += '</ul>';
+ dom.append(str);
+ // console.log(dom, str)
+ // dom.replaceWith(str);
$('.closesspatialAnalysis').click(() => {
+ that.closeOnceUse();
$('.jimu-widget-spatialAnalysis').hide();
- // 关闭可视
- topic.publish('closev', '');
- // 关闭剖面
- topic.publish('closep', '');
- // 关闭坡度
- topic.publish('closes', '');
- $(".jimu-widget-visibleArea").hide();
- $(".jimu-widget-profileAnalysis").hide();
- $(".jimu-widget-slope").hide();
- })
+ })
// 可视分析
$('.visibleArea-tool').click(function () {
- that.map.scene.globe.depthTestAgainstTerrain = true;
- // 关闭量算
- topic.publish('closeMeasurement', 'Measurement');
- // 关闭卷帘
- topic.publish('closeRolling', 'Rolling');
- // 关闭分屏
- topic.publish('closeSplitScreen', 'SplitScreen');
- // 关闭标记
- topic.publish('closeSign', 'Sign');
- topic.publish('closeFlyRoute', 'FlyRoute');
- $('.jimu-widget-CoorPosition').hide();
- $('.jimu-widget-MapPrinting').hide();
- // 关闭可视
- // topic.publish('closev', '');
- // 关闭剖面
- topic.publish('closep', '');
- // 关闭坡度
- topic.publish('closes', '');
- $(".jimu-widget-profileAnalysis").hide();
- $(".jimu-widget-slope").hide();
- $('.tool-y-box').stop().hide();
+ that.closeOnceUse();
$(".jimu-widget-visibleArea").show();
})
// 剖面分析
$('.profileAnalysis-tool').click(function () {
- that.map.scene.globe.depthTestAgainstTerrain = true;
- // 关闭量算
- topic.publish('closeMeasurement', 'Measurement');
- // 关闭卷帘
- topic.publish('closeRolling', 'Rolling');
- // 关闭分屏
- topic.publish('closeSplitScreen', 'SplitScreen');
- // 关闭标记
- topic.publish('closeSign', 'Sign');
- topic.publish('closeFlyRoute', 'FlyRoute');
- $('.jimu-widget-CoorPosition').hide();
- $('.jimu-widget-MapPrinting').hide();
- // 关闭可视
- topic.publish('closev', '');
- // 关闭剖面
- // topic.publish('closep', '');
- // 关闭坡度
- topic.publish('closes', '');
- $(".jimu-widget-visibleArea").hide();
- $(".jimu-widget-slope").hide();
- $('.tool-y-box').stop().hide();
+ that.closeOnceUse();
$(".jimu-widget-profileAnalysis").show();
})
//坡度分析
$('.slope-tool').click(function () {
- that.map.scene.globe.depthTestAgainstTerrain = true;
- // 关闭量算
- topic.publish('closeMeasurement', 'Measurement');
- // 关闭卷帘
- topic.publish('closeRolling', 'Rolling');
- // 关闭分屏
- topic.publish('closeSplitScreen', 'SplitScreen');
- // 关闭标记
- topic.publish('closeSign', 'Sign');
- topic.publish('closeFlyRoute', 'FlyRoute');
- $('.jimu-widget-CoorPosition').hide();
- $('.jimu-widget-MapPrinting').hide();
- // 关闭可视
- topic.publish('closev', '');
- // 关闭剖面
- topic.publish ('closep', '');
- // 关闭坡度
- // topic.publish('closes', '');
- $(".jimu-widget-visibleArea").hide();
- $(".jimu-widget-profileAnalysis").hide();
- $('.tool-y-box').stop().hide();
+ that.closeOnceUse();
$(".jimu-widget-slope").show();
- topic.publish('getbeginSlope', this.beginSlope);
+ topic.publish('getbeginSlope', 'this.beginSlope');
+ })
+ //模型
+ $('.modelDiagram-tool').click(function () {
+ that.closeOnceUse();
+ $('.jimu-widget-modelDiagram').show();
+ })
+ //sql查询
+ $('.SQLQuery-tool').click(function () {
+ that.closeOnceUse();
+ $(".jimu-widget-SQLQuery").show();
+ topic.publish('beginSQL', 'this.beginSQL');
+
+ })
+ //地形开挖
+ $('.digTheEarth-tool').click(function () {
+ that.closeOnceUse('digTheEarth');
+ $(".jimu-widget-digTheEarth").show();
+ // 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) {
$('.tool-y-box').hide();
}
},
+ closeOnceUse: function (who) {
+ var that = this;
+ that.map.scene.globe.depthTestAgainstTerrain = true;
+ // 关闭量算
+ topic.publish('closeMeasurement', 'Measurement');
+ // 关闭卷帘
+ topic.publish('closeRolling', 'Rolling');
+ // 关闭分屏
+ topic.publish('closeSplitScreen', 'SplitScreen');
+ // 关闭标记
+ topic.publish('closeSign', 'Sign');
+ topic.publish('closeFlyRoute', 'FlyRoute');
+ $('.jimu-widget-CoorPosition').hide();
+ $('.jimu-widget-MapPrinting').hide();
+ // 关闭可视
+ topic.publish('closev', '');
+ // 关闭剖面
+ topic.publish('closep', '');
+ // 关闭坡度
+ topic.publish('closes', '');
+ $(".jimu-widget-visibleArea").hide();
+ $(".jimu-widget-profileAnalysis").hide();
+ $(".jimu-widget-slope").hide();
+ $('.tool-y-box').stop().hide();
+ //关闭飞行
+ $('.jimu-widget-visualAngle').find('.v-a-Two').removeClass('on');//清楚样式
+ topic.publish('closeFly', 'closeFly');
+ //清除实体
+ this.map.entities.removeAll();
+ $(".jimu-widget-modelDiagram").hide();
+ //清除SQL查询
+ $(".jimu-widget-SQLQuery").hide();
+ topic.publish('closesSQL', 'closesSQL');
+ //关闭地形开挖
+ 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 () {
//面板打开的时候触发 (when open this panel trigger)
// var domHtmls = [
--
Gitblit v1.9.3