From dcb285ccc145fcbcb1302ca61c051b497df815a2 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Thu, 10 Jun 2021 17:34:31 +0800
Subject: [PATCH] 目录树修改完善,天地图影像更换等

---
 widgets/LeftNavigationBar/Widget.js |  163 +++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 137 insertions(+), 26 deletions(-)

diff --git a/widgets/LeftNavigationBar/Widget.js b/widgets/LeftNavigationBar/Widget.js
index 737ff9e..de6441b 100644
--- a/widgets/LeftNavigationBar/Widget.js
+++ b/widgets/LeftNavigationBar/Widget.js
@@ -27,6 +27,7 @@
 			baseClass: 'jimu-widget-LeftNavigationBar',
 			name: 'LeftNavigationBar',
 			layers: {},
+			dataAllArray: [],
 			startup: function () {
 				// 暴露在外的接口
 				// this.begin(this.data);
@@ -58,12 +59,12 @@
 				$('.jimu-widget-instructions').css({
 					'left': '260px'
 				});
+
 				$('#left-navigation-bar-main-search').click(() => { //搜索事件
 					var val = $('#left-navigation-bar-main-input').val();
-					if (val) {
+					if (val != '') {
 						var clearOur = () => {
 								let dom = $(`[data-id]`);
-								// console.log(dom);
 								dom.removeClass('layui-tree-spread');
 								let domDiv = dom.find('.layui-tree-pack');
 								domDiv.css({
@@ -80,7 +81,6 @@
 										// var b = a.split('');
 										// for (var i in b) {
 										let id = that.father; //选中项的所有父级id
-										// 	// console.log(id)
 										let dom = $(`[data-id='${id}']`);
 										dom.addClass('layui-tree-spread');
 										let domDiv = dom.find('.layui-tree-pack').eq(0);
@@ -88,18 +88,69 @@
 											'display': 'block'
 										})
 										// }
-										console.log(a, that.father)
 									}
 									if (d[k].children) {
 										useit(d[k].children);
 									}
 								}
 							};
-						clearOur();
-						useit(that.data);
-					} else {
+						that.changeData(that.dataAllArray, val); //重写数据
+						layui.use('tree', function () {
+							layui.tree.reload('demoId1', {
+								data: that.data
+							});
+							var jqDom = $("#left-tree-list > .layui-tree > div");
 
+							for (var i = 0; i < jqDom.length; i++) {
+								if ($(jqDom[i]).text().indexOf("三维倾斜数据") != -1) {
+									$(jqDom[i]).find('.layui-btn-group').remove()
+								}
+
+								var textList = $(jqDom[i]).find('.layui-tree-txt');
+
+								for (var j = 0; j < textList.length; j++) {
+									$(textList[j]).attr('title', $(textList[j]).text())
+
+								}
+
+							}
+
+							clearOur();
+							useit(that.data);
+						})
+
+					} else {}
+				})
+
+				$(".jimu-widget-LeftNavigationBar input[type='search']").bind('input propertychange', function () {
+					//做一些事情
+					var val = $(this).val();
+
+					if (val == '') {
+						that.changeData(that.dataAllArray, val); //重写数据
+						layui.use('tree', function () {
+							layui.tree.reload('demoId1', {
+								data: that.data
+							});
+
+							var jqDom = $("#left-tree-list > .layui-tree > div");
+
+							for (var i = 0; i < jqDom.length; i++) {
+								if ($(jqDom[i]).text().indexOf("三维倾斜数据") != -1) {
+									$(jqDom[i]).find('.layui-btn-group').remove()
+								}
+
+								var textList = $(jqDom[i]).find('.layui-tree-txt');
+
+								for (var j = 0; j < textList.length; j++) {
+									$(textList[j]).attr('title', $(textList[j]).text())
+
+								}
+
+							}
+						})
 					}
+
 				})
 
 				$(".jimu-widget-LeftNavigationBar .tree-layer-opcity .close").click(function () {
@@ -130,6 +181,7 @@
 
 			},
 			getData: function () {
+				var that = this;
 				var url = 'http://171.34.76.171:8880/pyh-wetResource/GeoData/queryGeoDataTree',
 					that = this;
 
@@ -139,17 +191,20 @@
 					}
 				}).then((res) => {
 					if (res.data.code == '200') {
-						console.log(res, 'open', 898998)
-						that.changeData(res.data.data); //重写数据
+						that.dataAllArray = res.data.data;
+						that.changeData(res.data.data, ''); //重写数据
+						that.begin(this.data);
 					}
 				})
 			},
-			changeData: function (val) { //重写数据
+			changeData: function (val, type) { //重写数据
 				var data = [],
 					i = 1,
 					inits = (d, childData) => {
 						var b = childData || [];
 						for (var k in d) {
+
+
 
 							let a = {
 								title: d[k].name,
@@ -160,7 +215,8 @@
 								src: d[k].serviceUrl,
 								id: d[k].id,
 								serviceName: d[k].serviceName,
-								alpha: 1
+								alpha: 1,
+								checked: d[k].menuStatus
 							}
 
 							if (d[k].serviceUrl.indexOf('.openrealspace') != -1) {
@@ -183,7 +239,6 @@
 
 					};
 				inits(val, data);
-				// console.log(data)
 
 				// var i = 0,
 				// 	ccinit = (a) => {
@@ -191,15 +246,66 @@
 				// 		for (let k in a) {
 				// 			if (a[k].children) {
 				// 				a[k].who = i;
-				// 				// console.log(a[k].id)
 				// 				ccinit(a[k].children)
 				// 			}
 				// 		}
 				// 	};
 				// ccinit(this.data);
-				// console.log(this.data)
+
+				if (type != '') {
+
+					for (var i = 0; i < data.length; i++) {
+
+						if (data[i].children && data[i].children.length > 0) {
+
+							deWeight()
+
+							function deWeight() {
+								for (var j = 0; j < data[i].children.length; j++) {
+									if (data[i].children[j].title.indexOf(type) == -1) {
+										data[i].children.splice(j, 1);
+										deWeight();
+										break;
+
+									}
+								}
+							}
+
+						}
+
+
+
+
+
+					}
+					deParentWeight()
+
+					function deParentWeight() {
+						for (var i = 0; i < data.length; i++) {
+
+							if (data[i].children && data[i].children.length == 0) {
+								data.splice(i, 1)
+								deParentWeight();
+								break;
+							}
+
+							if (data[i].children == undefined && data[i].title.indexOf(type) == -1) {
+								data.splice(i, 1)
+								deParentWeight();
+								break;
+
+							}
+
+						}
+					}
+
+				}
+
+
+
 				this.data = data;
-				this.begin(this.data);
+
+
 			},
 			begin: function (data) {
 				var that = this;
@@ -223,7 +329,6 @@
 						click: function (obj) {
 							var data = obj.data; //获取当前点击的节点数据
 							// layer.msg('状态:' + obj.state + '<br>节点数据:' + JSON.stringify(data));
-							console.log(obj);
 							// 树点击三角形样式修改
 							// var ot = $('.layui-tree-iconArrow');
 							// ot.removeClass("left-navigation-bar-main-down");
@@ -237,7 +342,7 @@
 						},
 						showLine: false, //是否开启连接线
 						oncheck: function (obj) {
-							console.log(obj.data.id, '--', obj.checked, obj); //得到当前点击的节点数据
+							// console.log(obj.data.id, '--', obj.checked, obj); //得到当前点击的节点数据
 							// console.log(obj.checked); //得到当前节点的展开状态:open、close、normal
 							// console.log(obj.elem); //得到当前节点元素
 
@@ -296,7 +401,7 @@
 													that[item.id] = that.map.imageryLayers.addImageryProvider(new Cesium.SuperMapImageryProvider({
 														url: res[0].path,
 													}));
-													that[obj.data.id].alpha = item.alpha
+													that[item.id].alpha = item.alpha
 												}
 											})
 										});
@@ -373,7 +478,6 @@
 											type: 'get',
 											dataType: 'JSON',
 											success: function (res) {
-												console.log(res, 123)
 
 												that[obj.data.id] = that.map.imageryLayers.addImageryProvider(new Cesium.SuperMapImageryProvider({
 													url: res[0].path,
@@ -415,9 +519,7 @@
 
 								$(".jimu-widget-LeftNavigationBar .tree-layer-opcity ul").empty();
 
-
-
-								console.log(type, data, elem, depId, parentId)
+								// console.log(type, data, elem, depId, parentId)
 
 								if (data.children) {
 
@@ -441,7 +543,9 @@
 											value: item.alpha * 10,
 											step: 1,
 											theme: '#1E9FFF',
-											showstep: true,
+											setTips: function (value) { //自定义提示文本
+												return value / 10;
+											},
 											change: function (value) {
 												item.alpha = value / 10
 												if (that[item.id]) {
@@ -471,7 +575,9 @@
 										value: data.alpha * 10,
 										step: 1,
 										theme: '#1E9FFF',
-										showstep: true,
+										setTips: function (value) { //自定义提示文本
+											return value / 10;
+										},
 										change: function (value) {
 											data.alpha = value / 10
 											if (that[data.id]) {
@@ -489,14 +595,20 @@
 
 					});
 
-					console.log($("#left-tree-list > .layui-tree > div"))
 					var jqDom = $("#left-tree-list > .layui-tree > div");
 
 					for (var i = 0; i < jqDom.length; i++) {
 						if ($(jqDom[i]).text().indexOf("三维倾斜数据") != -1) {
 							$(jqDom[i]).find('.layui-btn-group').remove()
+						}
+
+						var textList = $(jqDom[i]).find('.layui-tree-txt');
+
+						for (var j = 0; j < textList.length; j++) {
+							$(textList[j]).attr('title', $(textList[j]).text())
 
 						}
+
 					}
 
 
@@ -509,7 +621,6 @@
 							layer.alert(JSON.stringify(checkedData), {
 								shade: 0
 							});
-							console.log(checkedData);
 						},
 						setChecked: function () {
 							tree.setChecked('demoId1', [12, 114]); //勾选指定节点

--
Gitblit v1.9.3