From 04af7d3eb75ce3f3f6be3ce84c46af57bae8ab7b Mon Sep 17 00:00:00 2001
From: liuyg <376836862@qq.com>
Date: Sat, 05 Jun 2021 18:06:14 +0800
Subject: [PATCH] 左侧树

---
 widgets/LeftNavigationBar/Widget.js |  141 ++++++++++++++++++++++++++++++----------------
 1 files changed, 92 insertions(+), 49 deletions(-)

diff --git a/widgets/LeftNavigationBar/Widget.js b/widgets/LeftNavigationBar/Widget.js
index 59f22f3..5f0382a 100644
--- a/widgets/LeftNavigationBar/Widget.js
+++ b/widgets/LeftNavigationBar/Widget.js
@@ -29,7 +29,9 @@
 			layers: {},
 			startup: function () {
 				// 暴露在外的接口
-				this.begin(this.data);
+				// this.begin(this.data);
+				var that = this;
+				this.getData();
 
 				$('.left-navigation-bar-but').click(() => {
 					this.changeImg = !this.changeImg;
@@ -46,59 +48,42 @@
 
 
 				$('.jimu-widget-instructions').css({ 'left': '260px' });
-
-				var dictionaries = []//转数据
-					, inits = (d, useData) => {
-						var b = useData || [];
-						for (var k in d) {
-							let val = {
-								title: d[k].title,
-								id: d[k].id
-							}
-							b.push(val);
-							if (d[k].children) {
-								b[k].child = [];
-								inits(d[k].children, b[k].child)
-							}
-						}
-					};
-				inits(this.data, dictionaries);
-
-
 				$('#left-navigation-bar-main-search').click(() => {//搜索事件
 					var val = $('#left-navigation-bar-main-input').val();
 					if (val) {
-						var ids = ''
-							, clearOur = () => {
-								let dom = $(`[data-id]`);
-								// console.log(dom);
-								dom.removeClass('layui-tree-spread');
-								let domDiv = dom.find('.layui-tree-pack');
-								domDiv.css({ 'display': 'none' })
-							}
+						var clearOur = () => {
+							let dom = $(`[data-id]`);
+							// console.log(dom);
+							dom.removeClass('layui-tree-spread');
+							let domDiv = dom.find('.layui-tree-pack');
+							domDiv.css({ 'display': 'none' })
+						}
+							, a
 							, useit = (d) => {
-								var d = d;
-
 								for (var k in d) {
-									if (d[k].title.indexOf(val) != -1) {//选中id
-										let a = '' + d[k].id,
-											b = a.split('');
-										for (var i in b) {
-											let id = a.slice(0, i);//选中项的所有父级id
-											// console.log(id)
-											let dom = $(`[data-id='${id}']`);
-											dom.addClass('layui-tree-spread');
-											let domDiv = dom.find('.layui-tree-pack').eq(0);
-											domDiv.css({ 'display': 'block' })
-										}
+									if (d[k].who == 'father') {
+										that.father = d[k].id;
 									}
-									if (d[k].child) {
-										useit(d[k].child);
+									if (d[k].title.indexOf(val) != -1) {//选中id
+										a = '' + d[k].id;
+										// 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);
+										domDiv.css({ 'display': 'block' })
+										// }
+										console.log(a, that.father)
+									}
+									if (d[k].children) {
+										useit(d[k].children);
 									}
 								}
 							};
 						clearOur();
-						useit(dictionaries);
+						useit(that.data);
 					} else {
 
 					}
@@ -127,6 +112,63 @@
 			resize: function () {
 
 			},
+			getData: function () {
+				var url = 'http://171.34.76.171:8880/zhsd-wetResource/GeoData/queryGeoDataTree'
+					, that = this;
+
+				axios.get(url, {
+					headers: {
+						"token": 'Bearer eyJhbGciOiJIUzUxMiJ9.eyJpc3MiOiJlY2hpc2FuIiwic3ViIjoiYWRtaW4iLCJpYXQiOjE2MjI4Nzc0MTIsImV4cCI6MTYyNTQ2OTQxMn0.f2GhYYINfYgSbyKTqqGluyU3rdy_TT8mf15iLILS1l2EUSye_h9O6CSUVWpLYMrdrjzqDWwrbROxfhy-8ly0uA'
+					}
+				}).then((res) => {
+					if (res.data.code == '200') {
+						that.changeData(res.data.data);//重写数据
+					}
+				})
+			},
+			changeData: function (val) {//重写数据
+				var data = [],
+					i = 1,
+					inits = (d, childData) => {
+						var b = childData || [];
+						for (var k in d) {
+
+							let a = {
+								title: d[k].name,
+								// id: d[k].id,
+								// field: String(d[k].id),
+								id: i,
+								field: String(i)
+							}
+							b.push(a);
+							i++;
+							if (d[k].children.length != 0) {
+								b[k].children = [];
+								b[k].who = 'father';
+								inits(d[k].children, b[k].children)
+							}
+						}
+
+					};
+				inits(val, data);
+				// console.log(data)
+
+				// var i = 0,
+				// 	ccinit = (a) => {
+				// 		i++;
+				// 		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)
+				this.data = data;
+				this.begin(this.data);
+			},
 			begin: function (data) {
 				var that = this;
 
@@ -143,12 +185,12 @@
 						, click: function (obj) {
 							var data = obj.data;  //获取当前点击的节点数据
 							// layer.msg('状态:' + obj.state + '<br>节点数据:' + JSON.stringify(data));
-							// console.log(obj);
+							console.log(obj);
 							// 树点击三角形样式修改
-							var ot = $('.layui-tree-iconArrow');
-							ot.removeClass("left-navigation-bar-main-down");
-							var jt = $(`[data-id='${data.id}']`).find('.layui-tree-iconArrow').eq(0);
-							jt.addClass('left-navigation-bar-main-down');
+							// var ot = $('.layui-tree-iconArrow');
+							// ot.removeClass("left-navigation-bar-main-down");
+							// var jt = $(`[data-id='${data.id}']`).find('.layui-tree-iconArrow').eq(0);
+							// jt.addClass('left-navigation-bar-main-down');
 							// 树点击样式修改
 							// var ot = $('.layui-tree-entry');
 							// ot.removeClass("left-navigation-bar-main-current");
@@ -185,6 +227,7 @@
 				})
 			},
 			changeImg: true,
+			father: [],
 			data: [{
 				title: '采集站点'
 				, id: 1

--
Gitblit v1.9.3