sgworld = window.external.createSgworld();
|
let RootType = getUrlParam("type");
|
var lb = new leftBottomDatlog();
|
var rb = new rightBottomDatlog();
|
var lc = new leftCenterDatlog();
|
new CusScrollBar({
|
contentSelector: '.scroll_cont1', //滚动内容区
|
barSelector: '.scroll_bar1', //滚动条
|
sliderSelector: '.scroll_slider1' //滚动滑块
|
});
|
|
var JZYDId = "";
|
|
var element = null;
|
layui.use('element', function () {
|
element = layui.element;
|
InitThirdCatlog();
|
});
|
|
//初始化三级目录
|
function InitThirdCatlog() {
|
let CurrentRoot = ZhuanTiDataSecond.filter(function (item) { return item.Type == RootType });
|
let FourTree = CurrentRoot[0];
|
$(".name").text(CurrentRoot[0].sname.length > 9 ? CurrentRoot[0].sname.substring(0, 9) : CurrentRoot[0].sname);
|
let ThirdHtml = "";
|
let PName = CurrentRoot[0].sname;
|
$.each(FourTree.ChildRen, function (j, value) {
|
|
ThirdHtml += '<div class="layui-colla-item"><h2 title="' + value.name + '" data-name="' + FourTree.rootname + '\\' + FourTree.name + '\\' + FourTree.sname + '\\' + value.name + '"' +
|
'class="layui-colla-title" data-color="f" data-type="' + value.type + '" data-RootType="' + FourTree.Type + '"' +
|
'" > <img class="tlimg" src="img/a7.png">' + (value.name.length > 12 ? value.name.substring(0, 12) : value.name) +
|
' <i class="layui-icon layui-colla-icon"></i> </h2 ><div class="layui-colla-content"><ul>';
|
|
if (value.name == "鲁沙尔") {
|
let prestattion = FourTree.rootname + '\\\\' + FourTree.name + '\\\\' + FourTree.sname + '\\\\' + value.name + "\\\\鲁沙尔\\\\presentation\\\\鲁沙尔-倾斜";
|
|
//添加预案图标
|
ThirdHtml += '<li class="lsr" >预案' +
|
'<img class="lsrImg" src="img/停止.png" title="停止" onclick="stop(\'' + prestattion +'\')" />' +
|
'<img class="lsrImg" src="img/前一步.png" title="前一步" onclick="dzzsp(\'' + prestattion +'\')" />' +
|
'<img class="lsrImg" src="img/stop.png" title="播放" id="DZZSBF" onclick="dzzsb(\'' + prestattion +'\')" />' +
|
'<img class="lsrImg" src="img/后一步.png" title="下一步" onclick="dzzsn(\'' + prestattion +'\')" /></li>';
|
}
|
|
if (value.name == "可可西里盐湖监测成果") {
|
let prestattion = FourTree.rootname + '\\\\' + FourTree.name + '\\\\' + FourTree.sname + "\\\\盐湖变化预案\\\\presentation\\\\可可西里盐湖";
|
//添加预案图标
|
ThirdHtml += '<li class="lsr" >' +
|
'<img class="lsrImg" src="img/停止.png" title="停止" onclick="stop(\'' + prestattion +'\')" />' +
|
'<img class="lsrImg" src="img/前一步.png" title="前一步" onclick="dzzsp(\'' + prestattion +'\')" />' +
|
'<img class="lsrImg" src="img/stop.png" title="播放" id="DZZSBF" onclick="dzzsb(\'' + prestattion +'\')" />' +
|
'<img class="lsrImg" src="img/后一步.png" title="下一步" onclick="dzzsn(\'' + prestattion +'\')" /></li >';
|
}
|
|
if (value.name == "全省热熔灾害点分布") {
|
ThirdHtml += '<li>' +
|
'<p><label ><img class="legend" src="img/热熔湖塘.png" /> 热熔湖塘</label> <label ><img class="legend" src="img/热熔灾害.png" /> 热熔灾害</label></p>' +
|
'</li>';
|
}
|
|
if (value.name == "桥头镇地质灾害点分布") {
|
ThirdHtml += '<li>' +
|
'<p><label ><img class="legend" src="img/崩塌线.png" /> 崩塌线</label></p>' +
|
'<p><label ><img class="legend" src="img/泥石流线.png" /> 泥石流线</label></p>' +
|
'<p><label ><img class="legend" src="img/泥石流面.png" /> 泥石流面</label></p>' +
|
'<p><label ><img class="legend" src="img/塌陷面.png" /> 塌陷面</label></p>' +
|
'<p><label ><img class="legend" src="img/滑坡面.png" /> 滑坡面</label></p></li>';
|
}
|
|
if (value.name == "牛心山地质灾害点分布") {
|
ThirdHtml += '<li>' +
|
'<p><label><img class="legend" src="img/牛心山边界.png" /> 边界</label><label><img class="legend" src="img/牛心山裂隙.png" /> 裂隙</label></p>' +
|
'</li>';
|
}
|
|
if (value.name == "鲁沙尔镇灾害点分布" || value.name == "湟水河地质灾害点分布") {
|
ThirdHtml += '<li>' +
|
'<p><label><img class="legend" src="img/bwdxp.png" title="斜坡" /> 斜坡解译点</label><br /></p>' +
|
'<p><label><img class="legend" src="img/bt.png" title="崩塌" /> 崩塌解译点</label><br /></p>' +
|
'<p><label><img class="legend" src="img/hp.png" title="滑坡" /> 滑坡解译点</label><br /></p>' +
|
'<p><label><img class="legend" src="img/nsl.png" title="泥石流" /> 泥石流解译点</label></p></li>';
|
|
}
|
|
|
|
if (value.ChildRen != undefined && value.ChildRenType == "file") {
|
if (value.ChildRen.length > 0) {
|
if (PName == "建筑用地监测产品") {
|
for (let i = 0; i < value.ChildRen.length; i++) {
|
ThirdHtml += '<li class="Trson" data-color="f" data-type="' + value.ChildRen[i].type + '" title="' + value.ChildRen[i].name + '"' +
|
'data-name="' + FourTree.rootname + '\\' + FourTree.name + '\\' + FourTree.sname + '\\' + value.name + '\\' + value.ChildRen[i].name + '" data - type="' + value.ChildRen[i].type +
|
'" > <span class="layui-badge-dot layui-bg-gray"></span>' + (value.ChildRen[i].name.length > 10 ? value.ChildRen[i].name.substring(0, 10) : value.ChildRen[i].name) +
|
' <img src = "img/123_10.png" class="xiangqing" data-name="' + value.ChildRen[i].name.split("_")[1] + '" data-close="f" /></li > <div id="' + value.ChildRen[i].name.split("_")[1] + '" class="hide"></div>';
|
}
|
} else {
|
for (let i = 0; i < value.ChildRen.length; i++) {
|
ThirdHtml += '<li class="Trson" data-color="f" data-type="' + value.ChildRen[i].type + '" title="' + value.ChildRen[i].name + '"' +
|
'data-name="' + FourTree.rootname + '\\' + FourTree.name + '\\' + FourTree.sname + '\\' + value.name + '\\' + value.ChildRen[i].name + '" data - type="' + value.ChildRen[i].type +
|
'" > <span class="layui-badge-dot layui-bg-gray"></span>' + (value.ChildRen[i].name.length > 15 ? value.ChildRen[i].name.substring(0, 15) : value.ChildRen[i].name) + '</li > ';
|
}
|
}
|
|
|
}
|
}
|
ThirdHtml += '</ul></div></div>';
|
});
|
|
|
$(".layui-collapse").empty();
|
$(".layui-collapse").append(ThirdHtml);
|
element.render();
|
ThirdSonClick();
|
setJZclick();
|
}
|
|
|
|
var OpenPresentationPath = "";
|
var OpenPresentationID = "";
|
var WMSSstate = true;
|
|
//子项点击事件
|
function ThirdSonClick() {
|
//标题点击事件
|
$(".layui-colla-title").click(function () {
|
//debugger;
|
//关闭所有数据
|
InitLayer();
|
//不包含子项数据
|
let dataName = $(this).attr("data-name");
|
let dataNameId = sgworld.ProjectTree.FindItem(dataName);
|
//特殊处理的数据
|
let CurrentName = $(this).attr("title");
|
let dataType = $(this).attr("data-type");
|
let RootType = $(this).attr("data-RootType");
|
let dataColor = $(this).attr("data-color");
|
|
if (dataColor == "f") {
|
$(".layui-colla-title").attr("data-color", "f");
|
$(".layui-colla-title").css("color", "#fff");
|
$(this).attr("data-color", "t");
|
$(this).css("color", "aqua");
|
|
//无子文件夹直接操作
|
if (dataType != "undefined") {
|
if (dataType == "file") {
|
if (dataNameId == "") return;
|
sgworld.ProjectTree.SetVisibility(dataNameId, true);
|
//判断是否包含子项内容
|
let FirstId = sgworld.ProjectTree.GetNextItem(dataNameId, 11);
|
if (FirstId != "") {
|
sgworld.Navigate.FlyTo(FirstId);
|
}
|
//如果是全省热熔
|
if (CurrentName == "全省热熔灾害点分布") {
|
window.external.createPmDialogDock("右下", url + "chart/chartQSRR.html?Type=All&urlName=" + CurrentName, rb.width, rb.height, rb.top, rb.left, rb.bottom, rb.right);
|
}
|
else if (CurrentName == "鲁沙尔镇灾害点分布") {
|
window.external.createPmDialogDock("右下", url + "chart/chartDZHZ.html?Type=All&urlName=" + CurrentName, rb.width, rb.height, rb.top, rb.left, rb.bottom, rb.right);
|
}
|
else if (CurrentName == "湟水河地质灾害点分布") {
|
window.external.createPmDialogDock("右下", url + "chart/chartHSH.html?Type=All&urlName=" + CurrentName, rb.width, rb.height, rb.top, rb.left, rb.bottom, rb.right);
|
localStorage.setItem("type", "湟水河");
|
localStorage.setItem("hshFID", sgworld.ProjectTree.FindItem(dataName + "\\灾害点"));
|
}
|
}
|
}
|
//有文件夹
|
else {
|
//有时间的做时间处理
|
let CurrentArr = ZhuanTiDataSecond.filter(function (item) { return item.Type == RootType });
|
if (CurrentArr[0].ChildRen.length > 0) {
|
let YearArr = CurrentArr[0].ChildRen.filter(function (item) { return item.name == CurrentName });
|
if (YearArr[0].ChildRen.length > 0 && YearArr[0].ChildRenType == "time") {
|
//设置年份
|
localStorage.setItem("CheckPointYear", "");
|
let timeStr = "";
|
for (let i = 0; i < YearArr[0].ChildRen.length; i++) {
|
timeStr += YearArr[0].ChildRen[i].name + "+";
|
}
|
timeStr = timeStr.substring(0, timeStr.length - 1);
|
|
//地灾
|
if (RootType == "DZZH") {
|
window.external.createPmDialogDock("右中", url + "Year.html?tm=" + timeStr + "&urlPathName=" + dataName, lc.width, lc.height, lc.top, lc.left, lc.bottom, lc.right);
|
window.external.createPmDialogDock("左下", url + "timeDZ.html?tm=" + timeStr + "&urlPathName=" + dataName, lb.width, lb.height, lb.top, lb.left, lb.bottom, lb.right);
|
}
|
//湖泊
|
else if (RootType == "SSHP") {
|
window.external.createPmDialogDock("右中", url + "lengedYear.html?tm=" + timeStr + "&urlPathName=" + dataName, lc.width, lc.height, lc.top, lc.left, lc.bottom, lc.right);
|
window.external.createPmDialogDock("左下", url + "timeLine.html?tm=" + timeStr + "&urlPathName=" + dataName, lb.width, lb.height, lb.top, lb.left, lb.bottom, lb.right);
|
window.external.createPmDialogDock("右下", url + "chart/chart" + $(this).attr("data-RootType") + ".html?Type=All&urlName=" + CurrentName, rb.width, rb.height, rb.top, rb.left, rb.bottom, rb.right);
|
}
|
|
else {
|
window.external.createPmDialogDock("左下", url + "timeLine.html?tm=" + timeStr + "&urlPathName=" + dataName, lb.width, lb.height, lb.top, lb.left, lb.bottom, lb.right);
|
}
|
|
//打开最新的内容
|
let dataNameId = sgworld.ProjectTree.FindItem(dataName + "\\" + YearArr[0].ChildRen[YearArr[0].ChildRen.length-1].name);
|
if (dataNameId == "") return;
|
let FirstId = sgworld.ProjectTree.GetNextItem(dataNameId, 11);
|
if (FirstId != "") {
|
sgworld.Navigate.FlyTo(FirstId);
|
}
|
}
|
}
|
}
|
|
//如果有图表展示图表
|
if (RootType == "DTJZ") {
|
window.external.createPmDialogDock("右下", url + "chart/chartJZfirst.html?Action=GetCounty&queryName=" + CurrentName, rb.width, rb.height, rb.top, rb.left, rb.bottom, rb.right);;
|
//执行图层筛选事件
|
let CurrentRoot = ZhuanTiDataSecond.filter(function (item) { return item.Type == RootType });
|
let Cid = sgworld.ProjectTree.FindItem(CurrentRoot[0].rootname + "\\" + CurrentRoot[0].name + "\\" + CurrentRoot[0].sname + "\\" + CurrentRoot[0].ParentLayer);
|
sgworld.ProjectTree.SetVisibility(Cid, true);
|
var layer = sgworld.ProjectTree.GetObject(Cid);
|
var str = "'NAME' = '" + CurrentName + "'";
|
layer.Filter = str;
|
layer.Refresh();
|
}
|
|
if (RootType == "TDGF") {
|
window.external.createPmDialogDock("右下", url + "chart/chartTDGF.html?Type=All&urlName=" + CurrentName, rb.width, rb.height, rb.top, rb.left, rb.bottom, rb.right);
|
}
|
} else {
|
$(this).attr("data-color", "f");
|
$(this).css("color", "#fff");
|
}
|
})
|
|
//子项点击事件
|
$(".Trson").click(function () {
|
// debugger;
|
//父标题变色
|
$(".layui-colla-title").attr("data-color", "f");
|
$(".layui-colla-title").css("color", "#fff");
|
// InitLayer();
|
let dataType = $(this).attr("data-type");
|
if (dataType != undefined) {
|
let dataName = $(this).attr("data-name");
|
let dataNameId = sgworld.ProjectTree.FindItem(dataName);
|
//打开图层
|
if (dataNameId == "") return;
|
//改变颜色
|
let ItemColor = $(this).attr("data-color");
|
if (ItemColor == "f") {
|
//修改颜色
|
$(this).attr("data-color", "t");
|
$(this).css("background-color", "#055FA4");
|
|
//如果是文件夹
|
if (dataType == "file" || dataType == "wms") {
|
sgworld.ProjectTree.SetVisibility(dataNameId, true);
|
//判断是否包含子项内容
|
let FirstId = sgworld.ProjectTree.GetNextItem(dataNameId, 11);
|
if (FirstId != "") {
|
sgworld.Navigate.FlyTo(FirstId);
|
}
|
}
|
|
//如果是wms
|
if (dataType == "wms") {
|
sgworld.AttachEvent("OnLButtonClicked", lbuttondown);
|
}
|
|
|
|
|
|
} else {
|
$(this).attr("data-color", "f");
|
$(this).css("background-color", "#000000");
|
//如果是文件夹
|
if (dataType == "file" || dataType == "wms") {
|
sgworld.ProjectTree.SetVisibility(dataNameId, false);
|
}
|
|
}
|
}
|
})
|
|
}
|
|
//关闭图层
|
function InitLayer() {
|
let ParentId = sgworld.ProjectTree.FindItem(RootCatlogExBasezhuanti.name);
|
if (ParentId == "") return;
|
sgworld.ProjectTree.SetVisibility(ParentId, false);
|
window.external.closeDialog("右下");
|
window.external.closeDialog("右中");
|
window.external.closeDialog("左下");
|
try {
|
sgworld.DetachEvent("OnLButtonClicked", lbuttondown);
|
} catch (ex) { }
|
|
}
|
|
|
|
|
|
//预案播放 上一步 下一步 暂停
|
var dzzsgc = false;
|
function dzzsb(parm) {
|
var presId = sgworld.ProjectTree.FindItem(parm);
|
let presObj = sgworld.ProjectTree.GetObject(presId);
|
presObj.Play(0);
|
if (dzzsgc == false) {
|
presObj.Resume();
|
$("#DZZSBF").attr('src', "img/bf.png");
|
dzzsgc = true;
|
} else {
|
presObj.Pause();
|
$("#DZZSBF").attr('src', "img/stop.png");
|
dzzsgc = false;
|
}
|
}
|
|
function dzzsp(parm) {
|
dzzsgc = false;
|
$("#DZZSBF").attr('src', "img/stop.png");
|
var presId = sgworld.ProjectTree.FindItem(parm);
|
let presObj = sgworld.ProjectTree.GetObject(presId);
|
presObj.PreviousStep();
|
}
|
|
function dzzsn(parm) {
|
dzzsgc = false;
|
$("#DZZSBF").attr('src', "img/stop.png");
|
var presId = sgworld.ProjectTree.FindItem(parm);
|
let presObj = sgworld.ProjectTree.GetObject(presId);
|
presObj.NextStep();
|
}
|
|
function stop(parm) {
|
var presId = sgworld.ProjectTree.FindItem(parm);
|
let presObj = sgworld.ProjectTree.GetObject(presId);
|
presObj.Stop();
|
dzzsgc = false;
|
}
|
|
|
//设置建筑功能单击事件
|
function setJZclick() {
|
$(".xiangqing").click(function (event) {
|
event.stopPropagation();
|
if ($(this).attr("data-close") == "f") {
|
$(this).attr("data-close", "t");
|
var divID = $(this).attr("data-name");
|
$.ajax({
|
url: "../../Ashx/JZData.ashx",
|
type: "post",
|
data: { Action: "GetAllFeatures", staname: divID },
|
dataType: "json",
|
async: false,
|
success: function (result) {
|
var Rhtml = '<table class="jztabel" width="82%" border="1" cellpadding="0" cellspacing="0"><tr><th>编号</th><th>面积</th><th>类型</th></tr>';
|
|
$.each(result, function (index, valueFea) {
|
var a = valueFea;
|
var tblx = '';
|
switch (a.TBLX) {
|
case "13":
|
tblx = "推填土";
|
break;
|
case "11":
|
tblx = "线型地物";
|
break;
|
case "12":
|
tblx = "建(构)筑物";
|
break;
|
case "2":
|
tblx = "光伏用地";
|
break;
|
case "3":
|
tblx = "高尔夫球场";
|
break;
|
default:
|
tblx = "其他用地";
|
break;
|
}
|
Rhtml += '<tr><th>' + valueFea.JCBH.slice(-6) + '</th>' + '<th>' + valueFea.JCMJ + '</th>' + '<th>' + tblx + '</th></tr>';
|
});
|
Rhtml += '</table>';
|
$("#" + divID).css("display", "block");
|
$("#" + divID).empty();
|
$("#" + divID).append(Rhtml);
|
}
|
});
|
|
} else {
|
$(this).attr("data-close", "f");
|
$("#" + $(this).attr("data-name")).css("display", "none");
|
}
|
|
});
|
//$(".jzfl").click(function () {
|
// if ($(this).attr("data-close") == "f") {
|
// $(this).attr("data-close", "t");
|
// $(this).css("color", "#31CFBE");
|
|
// try {
|
// sgworld.DetachEvent("OnLButtonClicked", lbuttondown);
|
// } catch (e) { }
|
// window.external.closeDialog("右中");
|
// window.external.closeDialog("左下");
|
// window.external.closeDialog("右下");
|
// urlPathName = $(this).attr("data-url");
|
// fullPath = urlPathName;
|
// var fulpa = urlPathName + "\\" + $(this).attr("data-name");
|
// var isDisplay = $("#" + $(this).attr("data-name")).css("display");
|
// $("#" + $(this).attr("data-name")).css("display", "none");
|
// var fulpoi = urlPathName + "\\" + "location";
|
// var layerID = sgworld.ProjectTree.FindItem(fulpa);
|
// var poiID = sgworld.ProjectTree.FindItem(fulpoi);
|
// if (layerID == "" || poiID == "") {
|
// return false;
|
// }
|
// var queryName = $(this).attr("data-name");
|
// window.external.createPmDialogDock("右下", url + "chart/chartJZfirst.html?Action=GetStation" + "&queryName=" + queryName, rb.width, rb.height, rb.top, rb.left, rb.bottom, rb.right);
|
// sgworld.ProjectTree.SetVisibility("", false);
|
// var furl = $(this).attr("data-furl");
|
// var layerId = sgworld.ProjectTree.FindItem(furl);
|
// var qstr = "'NAME'='" + $(this).attr("data-fname") + "'";
|
// var layer = sgworld.ProjectTree.GetObject(layerId);
|
// layer.Filter = qstr;
|
// layer.Refresh();
|
// sgworld.ProjectTree.SetVisibility(layerId, true);
|
// //sgworld.ProjectTree.SetVisibility(sgworld.ProjectTree.FindItem("qinghai"), true);
|
// sgworld.ProjectTree.SetVisibility(layerID, true);
|
// sgworld.Navigate.FlyTo(poiID);
|
// sgworld.AttachEvent("OnLButtonClicked", lbuttondown);
|
// } else {
|
// $("#" + $(this).attr("data-name")).css("display", "none");
|
// $(this).attr("data-close", "f");
|
// $(this).css("color", "#fff");
|
// sgworld.ProjectTree.SetVisibility("", false);
|
// sgworld.ProjectTree.SetVisibility(sgworld.ProjectTree.FindItem("qinghai"), true);
|
// }
|
//});
|
}
|
|
|
|
//添加wms事件
|
var dDomID = "";
|
function lbuttondown(Flags, X, Y) {
|
var pos = sgworld.Window.PixelToWorld(X, Y, -1);
|
if (pos.ObjectID == "") return false;
|
var id = pos.ObjectID;
|
var obj = sgworld.ProjectTree.GetObject(id);
|
if (obj.ParentGroupID) {
|
var ff = sgworld.ProjectTree.GetObject(obj.ParentGroupID);
|
} else {
|
return false;
|
}
|
var parentName = ff.TreeItem.Name;
|
try {
|
var attr = obj.FeatureAttributes.GetFeatureAttribute("JCBH");
|
var tmpGroup = sgworld.ProjectTree.FindItem(attr.value);
|
if (tmpGroup == "") {
|
tmpGroup = sgworld.ProjectTree.CreateGroup(attr.value);
|
try {
|
sgworld.ProjectTree.DeleteItem(dDomID);
|
} catch (e) { }
|
dDomID = tmpGroup;
|
}
|
var ddom = attr.value + "DDOM"
|
var qdom = attr.value + "QDOM"
|
var wmsStr = "[INFO]\rMPP=0.000000703125\rUrl=" + WmsPath + parentName + "?version=1.3.0&request=GetMap&layers=" + ddom + "&styles=&crs=CRS%3A84&bbox=101.863827%2C36.376425%2C102.145779%2C36.500535&width=200&height=88&format=image%2Fjpeg&transparent=false";
|
var m_rL2 = sgworld.Creator.CreateImageryLayer("caodi", -180, 90, 180, -90,
|
"<EXT><ExtInfo><![CDATA[" + wmsStr + "]]></ExtInfo><ExtType>wms</ExtType></EXT>", "gisplg.rct", tmpGroup,
|
ddom);
|
|
m_rL2.NullValue = 16777215;
|
m_rL2.NullTolerance = 5;
|
var wmsStr1 = "[INFO]\rMPP=0.000000703125\rUrl=" + WmsPath+ parentName + "?version=1.3.0&request=GetMap&layers=" + qdom + "&styles=&crs=CRS%3A84&bbox=101.863827%2C36.376425%2C102.145779%2C36.500535&width=200&height=88&format=image%2Fjpeg&transparent=false";
|
var m_rL21 = sgworld.Creator.CreateImageryLayer("caodi", -180, 90, 180, -90,
|
"<EXT><ExtInfo><![CDATA[" + wmsStr1 + "]]></ExtInfo><ExtType>wms</ExtType></EXT>", "gisplg.rct", tmpGroup,
|
qdom);
|
m_rL21.NullValue = 16777215;
|
m_rL21.NullTolerance = 5;
|
m_rL2.UseNull = true;
|
m_rL21.UseNull = true;
|
|
} catch (e) { }
|
}
|