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 |  463 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 458 insertions(+), 5 deletions(-)

diff --git a/widgets/LeftNavigationBar/Widget.js b/widgets/LeftNavigationBar/Widget.js
index 4ca19c8..5f0382a 100644
--- a/widgets/LeftNavigationBar/Widget.js
+++ b/widgets/LeftNavigationBar/Widget.js
@@ -29,7 +29,65 @@
 			layers: {},
 			startup: function () {
 				// 暴露在外的接口
-				this.begin();
+				// this.begin(this.data);
+				var that = this;
+				this.getData();
+
+				$('.left-navigation-bar-but').click(() => {
+					this.changeImg = !this.changeImg;
+					if (this.changeImg) {
+						$('.l-n-b-b-img').attr("src", "../../images/addL/xzuo.png");//打开
+						$('.jimu-widget-LeftNavigationBar').css({ 'left': '0px' });
+						$('.jimu-widget-instructions').css({ 'left': '260px' });
+					} else {
+						$('.l-n-b-b-img').attr("src", "../../images/addL/xyou.png");//关闭
+						$('.jimu-widget-LeftNavigationBar').css({ 'left': '-250px' });
+						$('.jimu-widget-instructions').css({ 'left': '10px' });
+					}
+				})
+
+
+				$('.jimu-widget-instructions').css({ 'left': '260px' });
+				$('#left-navigation-bar-main-search').click(() => {//搜索事件
+					var val = $('#left-navigation-bar-main-input').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({ 'display': 'none' })
+						}
+							, a
+							, useit = (d) => {
+								for (var k in d) {
+									if (d[k].who == 'father') {
+										that.father = d[k].id;
+									}
+									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(that.data);
+					} else {
+
+					}
+				})
 			},
 
 			closeToolBox: function (item) {
@@ -54,14 +112,409 @@
 			resize: function () {
 
 			},
-			begin: 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;
-				$('.left-navigation-bar-but').click(() => {
-					that.changeImg = !that.changeImg;
-					console.log(that.changeImg)
+
+				layui.use(function () {
+					var tree = layui.tree
+						, layer = layui.layer
+						, util = layui.util
+						, $ = layui.$;
+					tree.render({
+						elem: '#test1' //默认是点击节点可进行收缩
+						, data: data
+						, id: 'demoId1'
+						, showCheckbox: true  //是否显示复选框
+						, 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");
+							// 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");
+							// var jh = $(`[data-id='${data.id}']`).find('.layui-tree-entry').eq(0);
+							// jh.addClass('left-navigation-bar-main-current');
+						}
+						, showLine: false  //是否开启连接线
+						, oncheck: function (obj) {
+							console.log(obj.data.id, '--', obj.checked); //得到当前点击的节点数据
+							// console.log(obj.checked); //得到当前节点的展开状态:open、close、normal
+							// console.log(obj.elem); //得到当前节点元素
+						}
+					});
+
+					//按钮事件
+					util.event('lay-demo', {
+						getChecked: function (othis) {
+							var checkedData = tree.getChecked('demoId1'); //获取选中节点的数据
+
+							layer.alert(JSON.stringify(checkedData), { shade: 0 });
+							console.log(checkedData);
+						}
+						, setChecked: function () {
+							tree.setChecked('demoId1', [12, 114]); //勾选指定节点
+						}
+						, reload: function () {
+							//重载实例
+							tree.reload('demoId1', {
+
+							});
+
+						}
+					});
 				})
 			},
 			changeImg: true,
+			father: [],
+			data: [{
+				title: '采集站点'
+				, id: 1
+				, field: '1'
+				// , checked: true
+				, spread: true
+				, children: [{
+					title: '南矶山保护区'
+					, id: 11
+					, field: '1-1'
+					// , checked: true
+					, spread: true
+					, children: [{
+						title: '北深渊'
+						, id: 111
+						, field: '1-1-1'
+						, checked: true
+					}, {
+						title: '东湖'
+						, id: 112
+						, field: '1-1-2'
+						, checked: true
+					}, {
+						title: '矶山'
+						, id: 113
+						, field: '1-1-3'
+						, checked: true
+					}, {
+						title: '打钟山'
+						, id: 114
+						, field: '1-1-4'
+						, checked: false
+						// , spread: true
+					}]
+				}, {
+					title: '五星白鹤保护区'
+					, id: 12
+					, field: '1-2'
+					, checked: false
+					, spread: false
+					, children: [{
+						title: '北深渊'
+						, id: 121
+						, field: '1-2-1'
+					}, {
+						title: '东湖'
+						, id: 122
+						, field: '1-2-2'
+					}, {
+						title: '矶山'
+						, id: 123
+						, field: '1-2-3'
+					}, {
+						title: '打钟山'
+						, id: 124
+						, field: '1-2-4'
+					}]
+				}, {
+					title: '都昌候鸟省级自然保护区'
+					, id: 13
+					, field: '1-3'
+					, checked: false
+					, spread: false
+					, children: [{
+						title: '北深渊'
+						, id: 131
+						, field: '1-3-1'
+					}, {
+						title: '东湖'
+						, id: 132
+						, field: '1-3-2'
+					}, {
+						title: '矶山'
+						, id: 133
+						, field: '1-3-3'
+					}, {
+						title: '打钟山'
+						, id: 134
+						, field: '1-3-4'
+					}]
+				}, {
+					title: '都昌北鄱阳湿地公园'
+					, id: 14
+					, field: '1-4'
+					, checked: false
+					, spread: false
+					, children: [{
+						title: '北深渊'
+						, id: 141
+						, field: '1-4-1'
+					}, {
+						title: '东湖'
+						, id: 142
+						, field: '1-4-2'
+					}, {
+						title: '矶山'
+						, id: 143
+						, field: '1-4-3'
+					}, {
+						title: '打钟山'
+						, id: 144
+						, field: '1-4-4'
+					}]
+				}],
+			}, {
+				title: '检测站点'
+				, id: 2
+				, field: '2'
+				, checked: true
+				, spread: false
+				, children: [{
+					title: '南矶山保护区'
+					, id: 21
+					, field: '2-1'
+					, children: [{
+						title: '北深渊'
+						, id: 211
+						, field: '2-1-1'
+					}, {
+						title: '东湖'
+						, id: 212
+						, field: '2-1-2'
+					}, {
+						title: '矶山'
+						, id: 213
+						, field: '2-1-3'
+					}, {
+						title: '打钟山'
+						, id: 214
+						, field: '2-1-4'
+					}]
+				}, {
+					title: '五星白鹤保护区'
+					, id: 22
+					, field: '2-2'
+					, children: [{
+						title: '北深渊4'
+						, id: 221
+						, field: '2-2-1'
+					}, {
+						title: '东湖'
+						, id: 222
+						, field: '2-2-2'
+					}, {
+						title: '矶山'
+						, id: 223
+						, field: '2-2-3'
+					}, {
+						title: '打钟山'
+						, id: 224
+						, field: '2-2-4'
+					}]
+				}, {
+					title: '都昌候鸟省级自然保护区'
+					, id: 23
+					, field: '2-3'
+					, children: [{
+						title: '北深渊'
+						, id: 231
+						, field: '2-3-1'
+					}, {
+						title: '东湖'
+						, id: 232
+						, field: '2-3-2'
+					}, {
+						title: '矶山'
+						, id: 233
+						, field: '2-3-3'
+					}, {
+						title: '打钟山'
+						, id: 234
+						, field: '2-3-4'
+					}]
+				}, {
+					title: '都昌北鄱阳湿地公园'
+					, id: 24
+					, field: '2-4'
+					, children: [{
+						title: '北深渊5'
+						, id: 241
+						, field: '2-4-1'
+					}, {
+						title: '东湖'
+						, id: 242
+						, field: '2-4-2'
+					}, {
+						title: '矶山'
+						, id: 243
+						, field: '2-4-3'
+					}, {
+						title: '打钟山'
+						, id: 244
+						, field: '2-4-4'
+					}]
+				}],
+			}, {
+				title: '监控站点'
+				, id: 3
+				, field: '3'
+				, checked: true
+				, spread: false
+				, children: [{
+					title: '南矶山保护区'
+					, id: 31
+					, field: '3-1'
+					, children: [{
+						title: '北深渊2'
+						, id: 311
+						, field: '3-1-1'
+					}, {
+						title: '东湖'
+						, id: 312
+						, field: '3-1-2'
+					}, {
+						title: '矶山'
+						, id: 313
+						, field: '3-1-3'
+					}, {
+						title: '打钟山'
+						, id: 314
+						, field: '3-1-4'
+					}]
+				}, {
+					title: '五星白鹤保护区'
+					, id: 32
+					, field: '3-2'
+					, children: [{
+						title: '北深渊3'
+						, id: 321
+						, field: '3-2-1'
+					}, {
+						title: '东湖'
+						, id: 322
+						, field: '3-2-2'
+					}, {
+						title: '矶山'
+						, id: 323
+						, field: '3-2-3'
+					}, {
+						title: '打钟山'
+						, id: 324
+						, field: '3-2-4'
+					}]
+				}, {
+					title: '都昌候鸟省级自然保护区'
+					, id: 33
+					, field: '3-3'
+					, children: [{
+						title: '北深渊'
+						, id: 331
+						, field: '3-3-1'
+					}, {
+						title: '东湖'
+						, id: 332
+						, field: '3-3-2'
+					}, {
+						title: '矶山'
+						, id: 333
+						, field: '3-3-3'
+					}, {
+						title: '打钟山'
+						, id: 334
+						, field: '3-3-4'
+					}]
+				}, {
+					title: '都昌北鄱阳湿地公园'
+					, id: 34
+					, field: '3-4'
+					, children: [{
+						title: '北深渊1'
+						, id: 341
+						, field: '3-4-1'
+					}, {
+						title: '东湖'
+						, id: 342
+						, field: '3-4-2'
+					}, {
+						title: '矶山'
+						, id: 343
+						, field: '3-4-3'
+					}, {
+						title: '打钟山'
+						, id: 344
+						, field: '3-4-4'
+					}]
+				}],
+			}],
 			destroy: function () {
 				//销毁的时候触发
 				//todo

--
Gitblit v1.9.3