/////////////////////////////////////////////////////////////////////////// // Copyright © 2019 zhongsong. All Rights Reserved. // 模块描述: 图层管理 /////////////////////////////////////////////////////////////////////////// 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', 'libs/layer/layer.js' ], function (declare, lang, array, html, topic, BaseWidget, aspect, string, utils, layer ) { return declare([BaseWidget], { baseClass: 'jimu-widget-Layermanagement', name: 'Layermanagement', dataArr: [], startup: function () { var that = this; // 暴露在外的接口 topic.subscribe("appendItem", lang.hitch(this, this.appendItem)); topic.subscribe("removeItem", lang.hitch(this, this.removeItem)); topic.subscribe("appendTilt", lang.hitch(this, this.appendTilt)); topic.subscribe("removeTilt", lang.hitch(this, this.removeTilt)); $(".jimu-widget-Layermanagement .layer-tab>div").click(function () { topic.publish('closeTool', this.name); topic.publish('closeMap', this.name); topic.publish('closeNavigation', this.name); $(".jimu-widget-Layermanagement .layer-list").stop().toggle(); if ($(".jimu-widget-Layermanagement .layer-list").is(":hidden")) { $(".jimu-widget-Layermanagement .tree-layer-opcity").stop().hide(); } }) $(".jimu-widget-Layermanagement .sign-head-th-xx").click(function () { $(".jimu-widget-Layermanagement .layer-list").stop().hide(); $(".jimu-widget-Layermanagement .tree-layer-opcity").stop().hide(); }) $(".jimu-widget-Layermanagement .layer-list .layers-item").on("click", "li .layer-opacity", function () { var layerId = $(this).parents('li').attr('itemid'); var layerTitle = $(this).parents('li').attr('itemtitle'); var liC = `
  • ${layerTitle}
  • `; $(".jimu-widget-Layermanagement .tree-layer-opcity ul").empty(); $(".jimu-widget-Layermanagement .tree-layer-opcity ul").append(liC) $(".jimu-widget-Layermanagement .tree-layer-opcity").stop().show(); layui.use("slider", function () { layui.slider.render({ elem: '#' + layerId + 'Layer', min: 0, max: 10, value: that[layerId].alpha * 10, step: 1, theme: '#1E9FFF', setTips: function (value) { //自定义提示文本 return value / 10; }, change: function (value) { that[layerId].alpha = value / 10 } }); }) }) $(".jimu-widget-Layermanagement .layer-list .layers-item").on("click", "li .setup", function () { var layerId = $(this).parents('li').attr('itemid'); that.map.scene.imageryLayers.raise(that[layerId]); if ($(this).parents('li').prev().length > 0) { $(this).parents('li').prev().before($(this).parents('li')); } }) $(".jimu-widget-Layermanagement .layer-list .layers-item").on("click", "li .setdown", function () { var layerId = $(this).parents('li').attr('itemid'); that.map.scene.imageryLayers.lower(that[layerId]); if ($(this).parents('li').next().length > 0) { $(this).parents('li').next().after($(this).parents('li')); } }) $(".jimu-widget-Layermanagement .tree-layer-opcity .close").click(function () { $(".jimu-widget-Layermanagement .tree-layer-opcity").stop().hide(); }) }, appendItem: function (item, obj, layer) { var that = this; if (item == this.name) { $(".jimu-widget-Layermanagement .layer-list .layers-item .no-data").stop().hide(); var flag = true; var liList = $(".jimu-widget-Layermanagement .layer-list .layers-item li"); for (var i = 0; i < liList.length; i++) { if ($(liList[i]).attr('itemid') && $(liList[i]).attr('itemid') == obj.id) { flag = false } } if (flag == true) { var liItem = $("
  • " + "" + obj.title + "" + "" + "" + "" + "
  • "); that[obj.id] = layer; $(".jimu-widget-Layermanagement .layer-list .layers-item").prepend(liItem); } } }, appendTilt: function (item, obj, layer) { var that = this; if (item == this.name) { $(".jimu-widget-Layermanagement .layer-list .layers-item .no-data").stop().hide(); var flag = true; var liList = $(".jimu-widget-Layermanagement .layer-list .layers-title li"); for (var i = 0; i < liList.length; i++) { if ($(liList[i]).attr('itemid') && $(liList[i]).attr('itemid') == obj.id) { flag = false } } if (flag == true) { var liItem = $("
  • " + "" + obj.title + "" + "
  • "); $(".jimu-widget-Layermanagement .layer-list .layers-title").prepend(liItem); } } }, removeItem: function (item, obj) { if (item == this.name) { var liList = $(".jimu-widget-Layermanagement .layer-list .layers-item li"); for (var i = 0; i < liList.length; i++) { if ($(liList[i]).attr('itemid') && $(liList[i]).attr('itemid') == obj.id) { $(liList[i]).remove(); } } if ($(".jimu-widget-Layermanagement .layer-list .layers-item li").length == 1 && $(".jimu-widget-Layermanagement .layer-list .layers-title li").length == 0) { $(".jimu-widget-Layermanagement .layer-list .layers-item .no-data").stop().show(); $(".jimu-widget-Layermanagement .tree-layer-opcity").stop().hide(); } } }, removeTilt: function (item, obj) { if (item == this.name) { var liList = $(".jimu-widget-Layermanagement .layer-list .layers-title li"); for (var i = 0; i < liList.length; i++) { if ($(liList[i]).attr('itemid') && $(liList[i]).attr('itemid') == obj.id) { $(liList[i]).remove(); } } if ($(".jimu-widget-Layermanagement .layer-list .layers-item li").length == 1 && $(".jimu-widget-Layermanagement .layer-list .layers-title li").length == 0) { $(".jimu-widget-Layermanagement .layer-list .layers-item .no-data").stop().show(); $(".jimu-widget-Layermanagement .tree-layer-opcity").stop().hide(); } } }, onOpen: function () { }, onClose: function () { //面板关闭的时候触发 (when this panel is closed trigger) }, onMinimize: function () { this.resize(); }, onMaximize: function () { this.resize(); }, resize: function () { }, destroy: function () { //销毁的时候触发 //todo //do something before this func this.inherited(arguments); } }); });