From 46cc7c88372610a2602fe96d9c01009c73eb604a Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Wed, 16 Jun 2021 17:15:12 +0800
Subject: [PATCH] 部分文件进行调整
---
widgets/LeftNavigationBar/Widget.js | 175 ++++++++++++++++++++++++++++++++++++++--------------------
1 files changed, 115 insertions(+), 60 deletions(-)
diff --git a/widgets/LeftNavigationBar/Widget.js b/widgets/LeftNavigationBar/Widget.js
index 2dc7d4f..5249e41 100644
--- a/widgets/LeftNavigationBar/Widget.js
+++ b/widgets/LeftNavigationBar/Widget.js
@@ -121,7 +121,7 @@
if (d[k].who == 'father') {
that.father = d[k].id;
}
- if (d[k].title.indexOf(val) != -1) { //选中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) {
@@ -134,11 +134,12 @@
})
// }
}
- if (d[k].children) {
+ 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', {
@@ -230,7 +231,11 @@
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
}
@@ -249,14 +254,14 @@
} else {
if (that[a.id]) {
- that.map.imageryLayers.remove(that[a.id]);
+ that[a.id].show = false
}
}
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)
@@ -265,18 +270,6 @@
};
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 != '') {
@@ -288,12 +281,47 @@
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);
+ } else {
+
+ if (that[small.id]) {
+ that[small.id].show = true
+ } else {
+ $.ajax({
+ url: small.src + '/maps.json',
+ type: 'get',
+ dataType: 'JSON',
+ success: function (res) {
+
+ that[small.id] = that.map.imageryLayers.addImageryProvider(new Cesium.SuperMapImageryProvider({
+ url: res[0].path,
+ }));
+ that[small.id].alpha = small.alpha
+
+ }
+ })
+ }
+
+
+ }
+ }
+
+ if (data[i].children[j].title && data[i].children[j].title.indexOf(type) == -1) {
data[i].children.splice(j, 1);
deWeight();
break;
}
+
}
}
@@ -341,7 +369,7 @@
if (data[i].children[j].id == keyId) {
data[i].children[j].checked = true
}
-
+
}
}
}
@@ -387,9 +415,7 @@
},
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) {
@@ -439,26 +465,31 @@
} 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
+ if (that[item.id]) {
+ that[item.id].show = true
+ } else {
+ $.ajax({
+ url: item.src + '/maps.json',
+ type: 'get',
+ dataType: 'JSON',
+ success: function (res) {
- if (keyId && keyId != "") {
- that[item.id].getViewableRectangle().then(function (rectangle) {
- return that.map.camera.flyTo({
- destination: rectangle
+ that[item.id] = that.map.imageryLayers.addImageryProvider(new Cesium.SuperMapImageryProvider({
+ url: res[0].path,
+ }));
+ that[item.id].alpha = item.alpha
+
+ if (keyId && keyId != "") {
+ that[item.id].getViewableRectangle().then(function (rectangle) {
+ return that.map.camera.flyTo({
+ destination: rectangle
+ });
});
- });
+ }
}
- }
- })
+ })
+ }
});
@@ -478,7 +509,7 @@
});
} else {
obj.data.children.forEach(item => {
- if (that[item.id]) that.map.imageryLayers.remove(that[item.id]);
+ if (that[item.id]) that[item.id].show = false
});
}
@@ -531,26 +562,30 @@
} 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
-
- if (keyId && keyId != "") {
- that[obj.data.id].getViewableRectangle().then(function (rectangle) {
- return that.map.camera.flyTo({
- destination: rectangle
+ if (that[obj.data.id]) {
+ that[obj.data.id].show = true
+ } 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
+
+ if (keyId && keyId != "") {
+ that[obj.data.id].getViewableRectangle().then(function (rectangle) {
+ return that.map.camera.flyTo({
+ destination: rectangle
+ });
});
- });
+ }
}
- }
- })
+ })
+ }
}
@@ -563,7 +598,8 @@
})
} else {
- that.map.imageryLayers.remove(that[obj.data.id]);
+
+ if (that[obj.data.id]) that[obj.data.id].show = false
}
@@ -571,6 +607,27 @@
}
+
+ }
+
+ 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
+ }
+
+ }
+ }
}
},
@@ -584,8 +641,6 @@
if (type == 'add') {
$(".jimu-widget-LeftNavigationBar .tree-layer-opcity ul").empty();
-
- // console.log(type, data, elem, depId, parentId)
if (data.children) {
--
Gitblit v1.9.3