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 += '

' + (value.name.length > 12 ? value.name.substring(0, 12) : value.name) + '

'; }); $(".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 = ''; $.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 += '' + '' + ''; }); Rhtml += '
编号面积类型
' + valueFea.JCBH.slice(-6) + '' + valueFea.JCMJ + '' + tblx + '
'; $("#" + 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, "wms", "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, "wms", "gisplg.rct", tmpGroup, qdom); m_rL21.NullValue = 16777215; m_rL21.NullTolerance = 5; m_rL2.UseNull = true; m_rL21.UseNull = true; } catch (e) { } }