"use script"; //开发环境建议开启严格模式 //对应widget.js中MyWidget实例化后的对象 var thisWidget; //当前页面业务 function initWidgetView(_thisWidget) { thisWidget = _thisWidget; //点击显示子页面 $(".tool-btn").click(function () { $(this).parents(".basicbox").hide(); $(".mainbox").eq($(this).index()).show().siblings(".mainbox").hide(); }); //返回主菜单 $(".backmenu").click(function () { $(this).parents(".mainbox").hide(); $(".basicbox").show(); thisWidget.destroyAll(); }); initRZFX(); //日照分析 initPDPX(); //坡度坡向 initKSY(); //可视域分析 initFLFX(); //方量分析 initDXKW(); //地形开挖 initDBTM(); //地表透明 initMXPQ(); //模型剖切 initMXYP(); //模型压平 initMXCJ(); //模型裁剪 } //=============日照分析============= function initRZFX() { $("#btn_goto_rzfx").click(function () { thisWidget.createRZFX(); }); $("#btn_rzfx_destory").click(function () { thisWidget.destroyRZFX(); }); // $('#btn_rzfx_clear').click(function () { // thisWidget.shadows.clear() // }); jeDate("#txt_rzfx_Date", { theme: { bgcolor: "#135b91", pnColor: "#00CCFF" }, format: "YYYY-MM-DD", }); var today = new Date().format("yyyy-MM-dd"); $("#txt_rzfx_Date").val(today); //滑动条 $("#range_ksy_currTime").range({ onChange: function (value, bfb) { var dateTime = getCurrTime(); thisWidget.shadows.time = dateTime; $("#btn_rzfx_btn_rzfx_pause").val("播放"); }, }); $("#btn_rzfx_btn_rzfx_pause").click(function () { if (thisWidget.shadows.isStart) { thisWidget.shadows.pause(); $("#btn_rzfx_btn_rzfx_pause").val("播放"); } else { var _date = $("#txt_rzfx_Date").val(); var currentTime = getCurrTime(); var startDate = new Date(_date + " 00:00:00"); var endDate = new Date(_date + " 23:59:59"); if (currentTime >= endDate) { haoutil.msg("开始时间必须小于结束时间!"); return; } thisWidget.shadows.start(startDate, endDate, currentTime); $("#btn_rzfx_btn_rzfx_pause").val("暂停"); } }); } function getCurrTime() { var value = Number($("#range_ksy_currTime").val()); var date = $("#txt_rzfx_Date").val(); var hours = Number.parseInt(value / 60); var minutes = Number.parseInt(value % 60); var strDateTime = `${date} ${hours}:${minutes}:00`; var dateTime = new Date(strDateTime); $("#lbl_rzfx_nowTime").html(dateTime.format("MM月dd日 HH:mm")); return dateTime; } function setRZFXNowTime(date) { var currTime = date.getHours() * 60 + date.getMinutes(); $("#range_ksy_currTime").val(currTime).change(); $("#lbl_rzfx_nowTime").html(date.format("MM月dd日 HH:mm")); } //=============坡度坡向============= function initPDPX() { $("#btn_goto_pdpx").click(function () { thisWidget.createPDPX(); }); $("#btn_pdpx_destory").click(function () { thisWidget.destroyPDPX(); }); $("#btn_pdpx_clear").click(function () { thisWidget.clearPDPX(); }); $("#btn_pdpx_drawPoly").click(function () { var splitNum = Number($("#txt_pdpx_SplitNum").val()); thisWidget.drawPDPXPoly(splitNum); }); $("#btn_pdpx_drawExtent").click(function () { var splitNum = Number($("#txt_pdpx_SplitNum").val()); thisWidget.drawPDPXExtent(splitNum); }); $("input[type=radio][name=shadingMaterials]").change(function () { if (thisWidget.contourLine) { thisWidget.contourLine.shadingType = this.value; } }); } //=============可视域分析============= function initKSY() { $("#btn_goto_ksy").click(function () { thisWidget.createKSY(); }); $("#btn_ksy_destory").click(function () { thisWidget.destroyKSY(); }); $("#btn_ksy_clear").click(function () { thisWidget.clearKSY(); updateKsyDistance(100); }); //滑动条 $("#range_ksy_horizontalAngle").range({ onChange: function (value, bfb) { $("#txt_ksy_horizontalAngle").val(value); thisWidget.getLastKSY().horizontalAngle = value; }, }); $("#txt_ksy_horizontalAngle").change(function () { var value = Number($(this).val()); $("#range_ksy_horizontalAngle").val(value).change(); thisWidget.getLastKSY().horizontalAngle = value; }); $("#range_ksy_verticalAngle").range({ onChange: function (value, bfb) { $("#txt_ksy_verticalAngle").val(value); thisWidget.getLastKSY().verticalAngle = value; }, }); $("#txt_ksy_verticalAngle").change(function () { var value = Number($(this).val()); $("#range_ksy_verticalAngle").val(value).change(); thisWidget.getLastKSY().verticalAngle = value; }); $("#range_ksy_distance").range({ onChange: function (value, bfb) { $("#txt_ksy_distance").val(value); thisWidget.getLastKSY().distance = value; }, }); $("#txt_ksy_distance").change(function () { var value = Number($(this).val()); $("#range_ksy_distance").val(value).change(); thisWidget.getLastKSY().distance = value; }); $("#chk_ksy_DebugFrustum").change(function () { var show = $(this).is(":checked"); thisWidget.updateKsyDebugFrustum(show); }); $("#btn_ksy_add").click(function () { var horizontalAngle = Number($("#txt_ksy_horizontalAngle").val()); var verticalAngle = Number($("#txt_ksy_verticalAngle").val()); var distance = Number($("#txt_ksy_distance").val()); var showFrustum = $("#chk_ksy_DebugFrustum").is(":checked"); thisWidget.addKSY({ horizontalAngle: horizontalAngle, verticalAngle: verticalAngle, distance: distance, showFrustum: showFrustum, }); }); } function updateKsyDistance(value) { $("#range_ksy_distance").val(value).change(); $("#txt_ksy_distance").val(value); } //=============方量分析============ function initFLFX() { $("#btn_goto_flfx").click(function () { thisWidget.createFLFX(); }); $("#btn_flfx_destory").click(function () { thisWidget.destroyFLFX(); }); $("#btn_flfx_clear").click(function () { $("#txt_flfx_Height").val(0); $("#txt_flfx_MaxHeight").val(0); $("#txt_flfx_MinHeight").val(0); thisWidget.clearFLFX(); }); $("#btn_flfx_draw").click(function () { thisWidget.startFLFX(); }); $("#txt_flfx_Height").change(function () { var num = Number($(this).val()); thisWidget.measureVolume.height = num; showFLFXHeightRg(); }); $("#txt_flfx_MaxHeight").change(function () { var num = Number($(this).val()); var maxHeight = getFixedNum(thisWidget.measureVolume.interPolygonObj.maxHeight); if (num < maxHeight) { haoutil.msg("墙顶部高度不能低于区域内的地表高" + maxHeight); $(this).val(maxHeight); thisWidget.measureVolume.maxHeight = Number(maxHeight); return; } if (num < thisWidget.measureVolume.height) { haoutil.msg("墙顶部高度不能低于基准面高" + thisWidget.measureVolume.height); return; } thisWidget.measureVolume.maxHeight = num; }); $("#txt_flfx_MinHeight").change(function () { var num = Number($(this).val()); if (num > thisWidget.measureVolume.height) { haoutil.msg("墙底部高度不能高于基准面高" + thisWidget.measureVolume.height); return; } thisWidget.measureVolume.minHeight = num; }); $("#btn_flfx_selHeight").click(function () { thisWidget.measureVolume.selecteHeight(showFLFXHeightRg); }); } function showFLFXHeightRg() { $("#txt_flfx_Height").val(thisWidget.measureVolume.height.toFixed(1)); $("#txt_flfx_MaxHeight").val(getFixedNum(thisWidget.measureVolume.maxHeight)); $("#txt_flfx_MinHeight").val(thisWidget.measureVolume.minHeight && thisWidget.measureVolume.minHeight.toFixed(1)); } function getFixedNum(val) { return Math.ceil(val * 10) / 10; } //=============地形开挖============= function initDXKW() { $("#btn_goto_dxkw").click(function () { thisWidget.createDXKW(); }); $("#btn_dxkw_destory").click(function () { thisWidget.destroyDXKW(); }); $("#btn_dxkw_clear").click(function () { thisWidget.clearDXKW(); }); $("#bt_dxkw_draw").click(function () { thisWidget.startDrawDXKW(); }); $("#bt_dxkw_draw_extent").click(function () { thisWidget.startDrawDXKWExtent(); }); $("#txt_dxkw_clipHeight").change(function () { var nowValue = $(this).val(); thisWidget.updateDXKWHeight(nowValue); }); } function getDXKWNowHeight() { return $("#txt_dxkw_clipHeight").val(); } //=============地表透明============= function initDBTM() { $("#btn_goto_dbtm").click(function () { thisWidget.createDBTM(); }); $("#btn_dbtm_destory").click(function () { thisWidget.destroyDBTM(); }); $("#btn_dbtm_clear").click(function () { thisWidget.clearDBTM(); }); $("#chk_dbtm_Underground").change(function () { var val = $(this).is(":checked"); thisWidget.underground.enabled = val; }); $("#txt_dbtm_alpha").range({ onChange: function (value, bfb) { thisWidget.underground.alpha = value; }, }); } function getDbtmEnable() { var val = $("#chk_dbtm_Underground").is(":checked"); return val; } function updateDbtmVisible(visible) { if (visible) { $(".undergroundAttr").show(); } else { $(".undergroundAttr").hide(); } } //=============模型剖切============= function initMXPQ() { $("#btn_mxpq_destory").click(function () { $("#lbl_mxpq_mxmc").html("未选择"); thisWidget.destroyMXPQ(); }); $("#btn_mxpq_clear").click(function () { thisWidget.clearMXPQ(); }); $("#btn_mxpq_selectd").click(function () { thisWidget.selectedPQMX(); }); //滑动条 $("#range_mxpq_Distance").range({ onChange: function (value, bfb) { $("#txt_mxpq_Distance").val(value.toFixed(1)); if (thisWidget.tilesetPlanClip) { thisWidget.tilesetPlanClip.distance = value; } }, }); $("#txt_mxpq_Distance").change(function () { var value = Number($(this).val()); $("#range_mxpq_Distance").val(value).change(); if (thisWidget.tilesetPlanClip) { thisWidget.tilesetPlanClip.distance = value; } }); $("#btn_mxpq_DrawLine").click(function () { thisWidget.drawLinePQMX(); }); $("#btn_mxpq_Clipping1").click(function () { if (thisWidget.tilesetPlanClip) { thisWidget.tilesetPlanClip.type = parent.mars3d.thing.TilesetPlanClip.Type.Z; } }); $("#btn_mxpq_Clipping2").click(function () { if (thisWidget.tilesetPlanClip) { thisWidget.tilesetPlanClip.type = parent.mars3d.thing.TilesetPlanClip.Type.ZR; } }); $("#btn_mxpq_Clipping3").click(function () { if (thisWidget.tilesetPlanClip) { thisWidget.tilesetPlanClip.type = parent.mars3d.thing.TilesetPlanClip.Type.XR; } }); $("#btn_mxpq_Clipping4").click(function () { if (thisWidget.tilesetPlanClip) { thisWidget.tilesetPlanClip.type = parent.mars3d.thing.TilesetPlanClip.Type.X; } }); $("#btn_mxpq_Clipping5").click(function () { if (thisWidget.tilesetPlanClip) { thisWidget.tilesetPlanClip.type = parent.mars3d.thing.TilesetPlanClip.Type.Y; } }); $("#btn_mxpq_Clipping6").click(function () { if (thisWidget.tilesetPlanClip) { thisWidget.tilesetPlanClip.type = parent.mars3d.thing.TilesetPlanClip.Type.YR; } }); } function setClipDistanceRange(radius, name) { $("#range_mxpq_Distance").attr("min", -radius); $("#range_mxpq_Distance").attr("max", radius); $("#lbl_mxpq_mxmc").html("已选择“" + name + "”"); } //=============模型压平============= function initMXYP() { $("#btn_goto_mxyp").click(function () { thisWidget.createMXYP(); }); $("#btn_mxyp_destory").click(function () { thisWidget.destroyMXYP(); $("#txt_mxyp_mxmc").html("未选择"); }); $("#btn_mxyp_clear").click(function () { thisWidget.clearMXYP(); }); $("#txt_mxyp_selectd").click(function () { thisWidget.selectedYPMX(); }); $("#bt_mxyp_draw").click(function () { var height = Number($("#txt_mxyp_flatHeight").val()); thisWidget.drawMxypPoly(height); }); $("#bt_mxyp_draw_extent").click(function () { var height = Number($("#txt_mxyp_flatHeight").val()); thisWidget.drawMxypPolyExtent(height); }); $("#txt_mxyp_flatHeight").change(function () { var num = Number($(this).val()); if (thisWidget.tilesetFlat) { thisWidget.tilesetFlat.height = num; } }); } function setMxpyName(name) { $("#txt_mxyp_mxmc").html("已选择“" + name + "”"); } //=============模型裁剪============= function initMXCJ() { $("#btn_goto_mxcj").click(function () { thisWidget.createMXCJ(); }); $("#btn_mxcj_destory").click(function () { thisWidget.destroyMXCJ(); }); $("#btn_mxcj_clear").click(function () { thisWidget.clearMXCJ(); }); $("#bt_mxcj_draw").click(function () { var clipOutSide = $("#radioMxcjType2").is(":checked"); thisWidget.drawMxcjPoly(clipOutSide); }); $('input:radio[name="radioMxcjType"]').change(function () { if (!thisWidget.tilesClipPlan) { return; } if ($(this).val() == "1") { thisWidget.tilesClipPlan.clipOutSide = true; } else { thisWidget.tilesClipPlan.clipOutSide = false; } }); }