'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 startDate = getCurrTime() var endDate = new Date(_date + ' 23:59:59') thisWidget.shadows.start(startDate, endDate) $('#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_drawLine').click(function () { var splitNum = Number($('#txt_pdpx_SplitNum').val()) thisWidget.drawPDPXLine(splitNum) }) } //=============可视域分析============= 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()) thisWidget.addKSY({ horizontalAngle: horizontalAngle, verticalAngle: verticalAngle, distance: distance, }) }) } 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.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() }) $('#btn_mxyp_clear').click(function () { thisWidget.clearMXYP() }) $('#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 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 } }) }