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 += '' + valueFea.JCBH.slice(-6) + ' | ' + '' + valueFea.JCMJ + ' | ' + '' + tblx + ' |
';
});
Rhtml += '
';
$("#" + 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) { }
}