From 25ce610f6ecca7325e7a743dc032c4a76559c63d Mon Sep 17 00:00:00 2001
From: liuyg <376836862@qq.com>
Date: Fri, 02 Jul 2021 09:10:26 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.105:10010/r/pyhmap

---
 widgets/legends/Widget.js |  260 ++++++++++++++++++++++++++++------------------------
 1 files changed, 140 insertions(+), 120 deletions(-)

diff --git a/widgets/legends/Widget.js b/widgets/legends/Widget.js
index 3c2324b..c11cd59 100644
--- a/widgets/legends/Widget.js
+++ b/widgets/legends/Widget.js
@@ -3,134 +3,154 @@
 // 模块描述:显示坐标
 ///////////////////////////////////////////////////////////////////////////
 define([
-	'dojo/_base/declare',
-	'dojo/_base/lang',
-	'dojo/_base/array',
-	'dojo/_base/html',
-	'dojo/topic',
-	'jimu/BaseWidget',
-	'jimu/utils',
-	'jimu/css!libs/zTree_v3/css/zTreeStyle/zTreeStyle.css',
-	'libs/zTree_v3/js/jquery.ztree.all'
-],
-	function (declare,
-		lang,
-		array,
-		html,
-		topic,
-		BaseWidget,
-		aspect,
-		string,
-		utils
-	) {
-		return declare([BaseWidget], {
-			baseClass: 'jimu-widget-legends',
-			name: 'legends',
-			layers: {},
-			startup: function () {
-				// 暴露在外的接口
-				topic.subscribe("getLegendsData", lang.hitch(this, this.onGetLegendsData));
+        'dojo/_base/declare',
+        'dojo/_base/lang',
+        'dojo/_base/array',
+        'dojo/_base/html',
+        'dojo/topic',
+        'jimu/BaseWidget',
+        'jimu/utils',
+        'jimu/css!libs/zTree_v3/css/zTreeStyle/zTreeStyle.css',
+        'libs/zTree_v3/js/jquery.ztree.all'
+    ],
+    function (declare,
+        lang,
+        array,
+        html,
+        topic,
+        BaseWidget,
+        aspect,
+        string,
+        utils
+    ) {
+        return declare([BaseWidget], {
+            baseClass: 'jimu-widget-legends',
+            name: 'legends',
+            layers: {},
+            startup: function () {
+                // 暴露在外的接口
+                topic.subscribe("getLegendsData", lang.hitch(this, this.onGetLegendsData));
+                topic.subscribe("addLayersLegends", lang.hitch(this, this.addLayersLegends));
+                topic.subscribe("removeLayersLegends", lang.hitch(this, this.removeLayersLegends));
 
-			},
-			onGetLegendsData: function (item) {
-				var val = item == '  ' ? '' : item;
-				// console.log(val)
-				var that = this
-					, twoData = []
-					// url = `http://171.34.76.171:8880/pyh-wetResource/monitorRecords/queryMonitorData?name=&start&limit&type=${index}`
-					, token = 'Bearer eyJhbGciOiJIUzUxMiJ9.eyJpc3MiOiJlY2hpc2FuIiwic3ViIjoiYWRtaW4iLCJpYXQiOjE2MjMyMjU5OTcsImV4cCI6MTYyNTgxNzk5N30.zWpoKa5AK7xLIPNm-CXoHY9D5kpk9AiUTGkuAQOZi2Rdl2BfroT4IqxjBpyUPZlgwCjG2CoJqy_7rnnodpmqNw'
-					, myGet = function (val, i) {
-						var url = `http://171.34.76.171:8880/pyh-wetResource/monitorRecords/queryMonitorData?name=${val}&start&limit&type=${i}`;
-						axios.get(url, {
-							headers: {
-								'token': token
-							}
-						}).then((res) => {
-							if (res.data.code == 200) {
-								var data = res.data.data.panoramaList || res.data.data.stationList || res.data.data.videoList || []
-									, onceData = {};
-								// console.log(data);
-								for (var k in data) {
-									if (i == 0) {
-										onceData[data[k].protectArea] = onceData[data[k].protectArea] == undefined ? 1 : onceData[data[k].protectArea] += 1;
-									} else if (i == 2) {
-										onceData[data[k].protectName] = onceData[data[k].protectName] == undefined ? 1 : onceData[data[k].protectName] += 1;
-									}
-								}
-								twoData.push(onceData)
-								if (i == 2) {
-									ready(twoData, item);
-								}
-							} else {
-								console.log('请求访问失败')
-							}
-						})
-					}
-					, ready = function (d, val) {
-						// console.log(d);
-						if (val == '') {
-							d = {};
-						}
-						var init = (data, dom, img) => {
-							var q = data
-								, num = 0
-								, strq
-								, domq = $(dom)
-								, h = '';
-							domq.empty();
-							for (var k in q) {
-								num += q[k];
-								h += `<div class="m-init m-i-child"> <i></i> ${k}<i>(${q[k]}个)</i> </div>`;
-							}
-							strq = `<div class="m-init"> <i><img src="./images/addL/${img}.png" /></i> ${img}站点 <i>(${num}个)</i> </div>` + h;
-							domq.append(strq);
-						}
-						// 全景
-						init(d[0], '#legendsInquanjing', '全景');
-						// 监控
-						init(d[1], '#legendsInjiankong', '监控');
-					}
-					, doit = () => {
-						var i = 0;
-						myGet(val, i);
-						var i = 2;
-						myGet(val, i);
+            },
+            onGetLegendsData: function (item, data, imgurl, type) {
+                if (item == this.name) {
 
-					}
+                    var domq = $("#legendsInquanjing");
+                    domq.empty();
+                    var liList = $(".jimu-widget-legends .layer-legends li");
+                    if (data == "" && data.length == 0) {
+                        if (liList.length == 0) {
+                            $(".jimu-widget-legends").stop().hide();
+                        }
+                        return;
+                    }
 
-				doit();
-			},
-			closeToolBox: function (item) {
-			},
+                    var onceData = {};
 
-			onOpen: function () {
-				//面板打开的时候触发 (when open this panel trigger)
-			},
+                   
 
-			onClose: function () {
-				//面板关闭的时候触发 (when this panel is closed trigger)
-			},
+                    for (var k in data) {
 
-			onMinimize: function () {
-				this.resize();
-			},
+                        if (type == "全景站点") {
 
-			onMaximize: function () {
-				this.resize();
-			},
+                            onceData[data[k].protectArea] = onceData[data[k].protectArea] == undefined ? 1 : onceData[data[k].protectArea] += 1;
 
-			resize: function () {
+                        } else if (type == "监控站点") {
 
-			},
-			begin: function () {
-			},
+                            onceData[data[k].protectName] = onceData[data[k].protectName] == undefined ? 1 : onceData[data[k].protectName] += 1;
 
-			destroy: function () {
-				//销毁的时候触发
-				//todo
-				//do something before this func
-				this.inherited(arguments);
-			}
+                        } else if (type == "监测站点") {
 
-		});
-	});
\ No newline at end of file
+                            onceData[data[k].wetlandName_] = onceData[data[k].wetlandName_] == undefined ? 1 : onceData[data[k].wetlandName_] += 1;
+
+                        }
+                    }
+
+                    var itemBox = $("<div class='m-init'> <i class='m-init-h'><img src='" + imgurl + "' /></i> " + type + " <i>(" + data.length + "个)</i> </div>")
+
+                    var h = '';
+
+                    for (var k in onceData) {
+                        h += `<div class="m-init m-i-child"> <i></i> ${k}<i>(${onceData[k]}个)</i> </div>`;
+                    }
+
+                    domq.append(itemBox , h);
+                    $(".jimu-widget-legends").stop().show();
+
+                }
+            },
+            addLayersLegends: function (item, obj) {
+
+                if (item == this.name) {
+                    if (obj.attList && obj.attList.length > 0) {
+                        for (var i = 0; i < obj.attList.length; i++) {
+                            var list = $("<li class='m-init' itemid='" + obj.id + "'>" +
+                                "<i class='m-init-h'><img src='" + obj.attList[i].uaOriginPath + "' /></i>" +
+                                "<span title='" + obj.title + "'>" +
+                                obj.title +
+                                "</span>" +
+                                "</li>")
+
+                            $(".jimu-widget-legends .layer-legends").append(list);
+                        }
+                    }
+                    var liList = $(".jimu-widget-legends .layer-legends li");
+                    if (liList.length > 0 && $(".jimu-widget-legends").is(":hidden")) {
+                        $(".jimu-widget-legends").stop().show();
+                    }
+                }
+            },
+
+            removeLayersLegends: function (item, obj) {
+                // console.log(obj)
+                if (item == this.name) {
+                    var liList = $(".jimu-widget-legends .layer-legends li");
+                    for (var i = 0; i < liList.length; i++) {
+                        if ($(liList[i]).attr('itemid') && $(liList[i]).attr('itemid') == obj.id) {
+                            $(liList[i]).remove();
+                        }
+                    }
+
+                    var domq = $("#legendsInquanjing");
+
+                    if ($(".jimu-widget-legends .layer-legends li").length == 0 && domq.text().trim() == "") {
+                        $(".jimu-widget-legends").stop().hide();
+                    }
+                }
+            },
+
+            closeToolBox: function (item) {},
+
+            onOpen: function () {
+                //面板打开的时候触发 (when open this panel trigger)
+                $(".jimu-widget-legends").stop().hide();
+            },
+
+            onClose: function () {
+                //面板关闭的时候触发 (when this panel is closed trigger)
+            },
+
+            onMinimize: function () {
+                this.resize();
+            },
+
+            onMaximize: function () {
+                this.resize();
+            },
+
+            resize: function () {
+
+            },
+            begin: function () {},
+
+            destroy: function () {
+                //销毁的时候触发
+                //todo
+                //do something before this func
+                this.inherited(arguments);
+            }
+
+        });
+    });
\ No newline at end of file

--
Gitblit v1.9.3