| | |
| | | $('.left-navigation-bar-but').click(() => { |
| | | this.changeImg = !this.changeImg; |
| | | if (this.changeImg) { |
| | | $('.l-n-b-b-img').attr("src", "../../images/addL/xzuo.png"); //打开 |
| | | $('.l-n-b-b-img').attr("src", "./images/addL/xzuo.png"); //打开 |
| | | $('.jimu-widget-LeftNavigationBar').css({ |
| | | 'left': '0px' |
| | | }); |
| | |
| | | 'left': '260px' |
| | | }); |
| | | } else { |
| | | $('.l-n-b-b-img').attr("src", "../../images/addL/xyou.png"); //关闭 |
| | | $('.l-n-b-b-img').attr("src", "./images/addL/xyou.png"); //关闭 |
| | | $('.jimu-widget-LeftNavigationBar').css({ |
| | | 'left': '-250px' |
| | | }); |
| | |
| | | }); |
| | | |
| | | $('#left-navigation-bar-main-search').click(() => { //搜索事件 |
| | | var val = $('#left-navigation-bar-main-input').val(); |
| | | if (val != '') { |
| | | var clearOur = () => { |
| | | let dom = $(`[data-id]`); |
| | | 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 |
| | | 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].children) { |
| | | useit(d[k].children); |
| | | } |
| | | } |
| | | }; |
| | | 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 {} |
| | | leftSearchItemLayer() |
| | | }) |
| | | |
| | | $(".jimu-widget-LeftNavigationBar input[type='search']").bind('input propertychange', function () { |
| | |
| | | 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'); |
| | | |
| | |
| | | |
| | | }) |
| | | |
| | | $(".jimu-widget-LeftNavigationBar .tree-layer-opcity .close").click(function () { |
| | | $(".jimu-widget-LeftNavigationBar .tree-layer-opcity").stop().hide(); |
| | | $(".jimu-widget-LeftNavigationBar input[type='search']").keyup(function (e) { |
| | | if (e.keyCode == 13) { |
| | | leftSearchItemLayer() |
| | | } |
| | | }) |
| | | |
| | | function leftSearchItemLayer() { |
| | | var val = $('#left-navigation-bar-main-input').val(); |
| | | if (val != '') { |
| | | var clearOur = () => { |
| | | let dom = $(`[data-id]`); |
| | | 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 && 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 |
| | | 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].children && d[k].children.length > 0) { |
| | | useit(d[k].children); |
| | | } |
| | | } |
| | | }; |
| | | |
| | | 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++) { |
| | | |
| | | 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); |
| | | }) |
| | | |
| | | } |
| | | } |
| | | }, |
| | | |
| | | closeToolBox: function (item) {}, |
| | |
| | | }) |
| | | }, |
| | | changeData: function (val, type) { //重写数据 |
| | | var that = this; |
| | | var data = [], |
| | | i = 1, |
| | | inits = (d, childData) => { |
| | |
| | | checked: d[k].menuStatus |
| | | } |
| | | |
| | | if (d[k].serviceUrl.indexOf('.openrealspace') != -1) { |
| | | if (that[d[k].id]) { |
| | | a.alpha = that[d[k].id].alpha |
| | | } |
| | | |
| | | if (d[k].serviceUrl && d[k].serviceUrl.length > 0 && d[k].serviceUrl.indexOf('.openrealspace') != -1) { |
| | | a.model = true |
| | | } |
| | | |
| | |
| | | a.model = true |
| | | } |
| | | |
| | | if (a.model) { |
| | | |
| | | if (that[a.id]) { |
| | | Cesium.when(that[a.id], function (layer) { |
| | | that.map.scene.layers.remove(layer[0].name) |
| | | }) |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | b.push(a); |
| | | i++; |
| | | if (d[k].children.length != 0) { |
| | | if (d[k].children && d[k].children.length > 0) { |
| | | b[k].children = []; |
| | | b[k].who = 'father'; |
| | | inits(d[k].children, b[k].children) |
| | |
| | | |
| | | }; |
| | | inits(val, data); |
| | | |
| | | // var i = 0, |
| | | // ccinit = (a) => { |
| | | // i++; |
| | | // for (let k in a) { |
| | | // if (a[k].children) { |
| | | // a[k].who = i; |
| | | // ccinit(a[k].children) |
| | | // } |
| | | // } |
| | | // }; |
| | | // ccinit(this.data); |
| | | |
| | | if (type != '') { |
| | | |
| | |
| | | |
| | | function deWeight() { |
| | | for (var j = 0; j < data[i].children.length; j++) { |
| | | if (data[i].children[j].title.indexOf(type) == -1) { |
| | | |
| | | if (data[i].children[j].checked == true) { |
| | | var small = data[i].children[j]; |
| | | if (small.model) { |
| | | that.map.scene.globe.depthTestAgainstTerrain = false; |
| | | var host = that.returnStr(small.src).host; |
| | | var scene = that.map.scene; |
| | | var partOfUrl = that.returnStr(small.src).partOfUrl; |
| | | //添加S3M图层服务 |
| | | that[small.id] = scene.open(host + partOfUrl); |
| | | } |
| | | } |
| | | |
| | | if (data[i].children[j].title && data[i].children[j].title.indexOf(type) == -1) { |
| | | data[i].children.splice(j, 1); |
| | | deWeight(); |
| | | break; |
| | | |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | var keyId = this.getUrlKeyId("serviceId"); |
| | | |
| | | if (keyId && keyId != "") { |
| | | for (var i = 0; i < data.length; i++) { |
| | | |
| | | if (data[i].id == keyId) { |
| | | data[i].checked = true |
| | | } |
| | | |
| | | for (var j = 0; j < data[i].children.length; j++) { |
| | | |
| | | if (data[i].children[j].id == keyId) { |
| | | data[i].children[j].checked = true |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | |
| | | }, |
| | | showLine: false, //是否开启连接线 |
| | | oncheck: function (obj) { |
| | | // console.log(obj.data.id, '--', obj.checked, obj); //得到当前点击的节点数据 |
| | | // console.log(obj.checked); //得到当前节点的展开状态:open、close、normal |
| | | // console.log(obj.elem); //得到当前节点元素 |
| | | |
| | | var keyId = that.getUrlKeyId("serviceId"); |
| | | |
| | | if (obj.data.children && obj.data.children.length > 0) { |
| | | |
| | |
| | | }); |
| | | }); |
| | | } else { |
| | | obj.data.children.forEach(item => { |
| | | $.ajax({ |
| | | url: item.src + '/maps.json', |
| | | type: 'get', |
| | | dataType: 'JSON', |
| | | success: function (res) { |
| | | |
| | | that[item.id] = that.map.imageryLayers.addImageryProvider(new Cesium.SuperMapImageryProvider({ |
| | | url: res[0].path, |
| | | })); |
| | | that[item.id].alpha = item.alpha |
| | | } |
| | | }) |
| | | obj.data.children.forEach(item => { |
| | | |
| | | if (that[item.id]) { |
| | | that[item.id].show = true |
| | | topic.publish('appendItem', 'Layermanagement', item, that[item.id]); |
| | | } else { |
| | | $.ajax({ |
| | | url: item.src + '/maps.json', |
| | | type: 'get', |
| | | dataType: 'JSON', |
| | | success: function (res) { |
| | | |
| | | |
| | | that[item.id] = that.map.imageryLayers.addImageryProvider(new Cesium.SuperMapImageryProvider({ |
| | | url: res[0].path, |
| | | })); |
| | | topic.publish('appendItem', 'Layermanagement', item, that[item.id]); |
| | | that[item.id].alpha = item.alpha |
| | | |
| | | if (keyId && keyId != "") { |
| | | that[item.id].getViewableRectangle().then(function (rectangle) { |
| | | return that.map.camera.flyTo({ |
| | | destination: rectangle |
| | | }); |
| | | }); |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | }); |
| | | |
| | | |
| | | } |
| | | |
| | |
| | | }); |
| | | } else { |
| | | obj.data.children.forEach(item => { |
| | | if (that[item.id]) that.map.imageryLayers.remove(that[item.id]); |
| | | if (that[item.id]) { |
| | | topic.publish('removeItem', 'Layermanagement', item); |
| | | that[item.id].show = false; |
| | | } |
| | | }); |
| | | |
| | | } |
| | |
| | | if (obj.checked == true) { |
| | | |
| | | if (obj.data.model) { |
| | | that.map.scene.globe.depthTestAgainstTerrain = false; |
| | | var host = that.returnStr(obj.data.src).host; |
| | | var scene = that.map.scene; |
| | | var partOfUrl = that.returnStr(obj.data.src).partOfUrl; |
| | | //添加S3M图层服务 |
| | | that[obj.data.id] = scene.open(host + partOfUrl); |
| | | //定位到场景 |
| | | |
| | | Cesium.loadJson(host + partOfUrl + '/scenes.json').then(function (scenes) { |
| | | // var sname = scenes[0].name; |
| | | // Cesium.loadJson(host + partOfUrl + '/scenes/' + sname + '.json').then(function (jsonData) { |
| | |
| | | |
| | | } else { |
| | | |
| | | $.ajax({ |
| | | url: obj.data.src + '/maps.json', |
| | | type: 'get', |
| | | dataType: 'JSON', |
| | | success: function (res) { |
| | | if (that[obj.data.id]) { |
| | | that[obj.data.id].show = true; |
| | | topic.publish('appendItem', 'Layermanagement', obj.data, that[obj.data.id]); |
| | | } else { |
| | | $.ajax({ |
| | | url: obj.data.src + '/maps.json', |
| | | type: 'get', |
| | | dataType: 'JSON', |
| | | success: function (res) { |
| | | |
| | | that[obj.data.id] = that.map.imageryLayers.addImageryProvider(new Cesium.SuperMapImageryProvider({ |
| | | url: res[0].path, |
| | | })); |
| | | that[obj.data.id].alpha = obj.data.alpha |
| | | } |
| | | }) |
| | | |
| | | that[obj.data.id] = that.map.imageryLayers.addImageryProvider(new Cesium.SuperMapImageryProvider({ |
| | | url: res[0].path, |
| | | })); |
| | | |
| | | topic.publish('appendItem', 'Layermanagement', obj.data, that[obj.data.id]); |
| | | |
| | | that[obj.data.id].alpha = obj.data.alpha |
| | | |
| | | if (keyId && keyId != "") { |
| | | that[obj.data.id].getViewableRectangle().then(function (rectangle) { |
| | | return that.map.camera.flyTo({ |
| | | destination: rectangle |
| | | }); |
| | | }); |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | |
| | | }) |
| | | |
| | | } else { |
| | | that.map.imageryLayers.remove(that[obj.data.id]); |
| | | |
| | | if (that[obj.data.id]) { |
| | | topic.publish('removeItem', 'Layermanagement', obj.data); |
| | | that[obj.data.id].show = false; |
| | | } |
| | | |
| | | } |
| | | |
| | |
| | | |
| | | |
| | | } |
| | | |
| | | for (var i = 0; i < that.dataAllArray.length; i++) { |
| | | |
| | | if (obj.data.id == that.dataAllArray[i].id) { |
| | | that.dataAllArray[i].menuStatus = 1; |
| | | break |
| | | } |
| | | |
| | | if (that.dataAllArray[i].children && that.dataAllArray[i].children.length > 0) { |
| | | |
| | | for (var j = 0; j < that.dataAllArray[i].children.length; j++) { |
| | | |
| | | if (obj.data.id == that.dataAllArray[i].children[j].id) { |
| | | that.dataAllArray[i].children[j].menuStatus = 1; |
| | | break |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | } |
| | | }, |
| | | edit: ['add'], |
| | | operate: function (obj) { |
| | | var type = obj.type; //得到操作类型: add、edit、 del |
| | | var data = obj.data; //得到当前节点的数据 |
| | | var elem = obj.elem; //得到当前节点元素var deptId = data.id;//得到节点索引var parentId = data.parentId;l/父节点 |
| | | var depId = data.id; |
| | | var parentId = data.parentId; |
| | | if (type == 'add') { |
| | | |
| | | $(".jimu-widget-LeftNavigationBar .tree-layer-opcity ul").empty(); |
| | | |
| | | // console.log(type, data, elem, depId, parentId) |
| | | |
| | | if (data.children) { |
| | | |
| | | data.children.forEach(item => { |
| | | var liC = `<li> |
| | | <div title="${item.title}"> |
| | | ${item.title} |
| | | </div> |
| | | <div id="${item.id + 'Layer'}"> |
| | | |
| | | </div> |
| | | </li>`; |
| | | |
| | | $(".jimu-widget-LeftNavigationBar .tree-layer-opcity ul").append(liC) |
| | | |
| | | $(".jimu-widget-LeftNavigationBar .tree-layer-opcity").stop().show(); |
| | | slider.render({ |
| | | elem: '#' + item.id + 'Layer', |
| | | min: 0, |
| | | max: 10, |
| | | value: item.alpha * 10, |
| | | step: 1, |
| | | theme: '#1E9FFF', |
| | | setTips: function (value) { //自定义提示文本 |
| | | return value / 10; |
| | | }, |
| | | change: function (value) { |
| | | item.alpha = value / 10 |
| | | if (that[item.id]) { |
| | | that[item.id].alpha = item.alpha |
| | | } |
| | | } |
| | | }); |
| | | }) |
| | | |
| | | } else { |
| | | var liC = `<li> |
| | | <div title="${data.title}"> |
| | | ${data.title} |
| | | </div> |
| | | <div id="${data.id + 'Layer'}"> |
| | | |
| | | </div> |
| | | </li>`; |
| | | |
| | | $(".jimu-widget-LeftNavigationBar .tree-layer-opcity ul").append(liC) |
| | | |
| | | $(".jimu-widget-LeftNavigationBar .tree-layer-opcity").stop().show(); |
| | | slider.render({ |
| | | elem: '#' + data.id + 'Layer', |
| | | min: 0, |
| | | max: 10, |
| | | value: data.alpha * 10, |
| | | step: 1, |
| | | theme: '#1E9FFF', |
| | | setTips: function (value) { //自定义提示文本 |
| | | return value / 10; |
| | | }, |
| | | change: function (value) { |
| | | data.alpha = value / 10 |
| | | if (that[data.id]) { |
| | | that[data.id].alpha = data.alpha |
| | | } |
| | | } |
| | | }); |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
| | | |
| | | }); |
| | |
| | | }] |
| | | }], |
| | | }], |
| | | getUrlKeyId: function (name) { |
| | | var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); |
| | | var r = window.location.search.substr(1).match(reg); |
| | | if (r != null) return decodeURI(r[2]); |
| | | return null; |
| | | }, |
| | | destroy: function () { |
| | | //销毁的时候触发 |
| | | //todo |