From 1a2c1d005bf7de2528f73638fb24d31da812aad5 Mon Sep 17 00:00:00 2001
From: liuyg <376836862@qq.com>
Date: Tue, 22 Jun 2021 17:40:13 +0800
Subject: [PATCH] 增加模型

---
 widgets/spatialAnalysis/Widget.js |  342 +++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 248 insertions(+), 94 deletions(-)

diff --git a/widgets/spatialAnalysis/Widget.js b/widgets/spatialAnalysis/Widget.js
index 448dc0b..95e1228 100644
--- a/widgets/spatialAnalysis/Widget.js
+++ b/widgets/spatialAnalysis/Widget.js
@@ -31,138 +31,292 @@
 				var that = this;
 				// 暴露在外的接口
 
-				var domHtmls = [
+                topic.subscribe("closeOnceUse", lang.hitch(this, this.closeOnceUse));
+
+				function createTooltip(frameDiv) {//抄录createTooltip函数
+
+					var tooltip = function (frameDiv) {
+
+						var div = document.createElement('DIV');
+						div.className = "twipsy right";
+
+						var arrow = document.createElement('DIV');
+						arrow.className = "twipsy-arrow";
+						div.appendChild(arrow);
+
+						var title = document.createElement('DIV');
+						title.className = "twipsy-inner";
+						div.appendChild(title);
+
+						this._div = div;
+						this._title = title;
+						this.message = '';
+
+						// add to frame div and display coordinates
+						frameDiv.appendChild(div);
+						var that = this;
+						div.onmousemove = function (evt) {
+							that.showAt({ x: evt.clientX, y: evt.clientY }, that.message);
+						};
+					};
+
+					tooltip.prototype.setVisible = function (visible) {
+						this._div.style.display = visible ? 'block' : 'none';
+					};
+
+					tooltip.prototype.showAt = function (position, message) {
+						if (position && message) {
+							this.setVisible(true);
+							this._title.innerHTML = message;
+							this._div.style.left = position.x + 10 + "px";
+							this._div.style.top = (position.y - this._div.clientHeight / 2) + "px";
+							this.message = message;
+						}
+					};
+
+					return new tooltip(frameDiv);
+				}
+				window.MYcreateTooltip = createTooltip;//全局使用
+
+				var domHtmls = [//默认
 					{
 						name: '可视分析',
-						classs: 'visibleArea-tool'
+						classs: 'visibleArea-tool',
+						img: './images/addL/ksy.png'
 					}, {
 						name: '剖面分析',
-						classs: 'profileAnalysis-tool'
-					}, {
-						name: '坡度分析',
-						classs: 'slope-tool'
+						classs: 'profileAnalysis-tool',
+						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;
+				$('.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: '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-CBDCache20200416/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></i>
+					 <i class="imgs">
+					 <img src="${domHtmls[k].img}" alt="">
+					 </i>
 					 <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();
+
 				})
-
-
-				// topic.subscribe("closeTool", lang.hitch(this, this.closeToolBox));
-				// this.inherited(arguments);
-				// $('.tool-bar .tool-btn span').click(function () {
-				// 	topic.publish('closeMap', this.name);
-				// 	topic.publish('closeZtree', this.name);
-				// 	$('.tool-y-box').toggle();
-				// })
-
 				// 可视分析
 				$('.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');
 				})
 
 			},
-
 			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');
+				}
+
+
+
+			},
 			onOpen: function () {
 				//面板打开的时候触发 (when open this panel trigger)
 				// var domHtmls = [

--
Gitblit v1.9.3