bmh_cesium/public/widgets/analysis/view.js
2025-03-10 07:23:50 +08:00

479 lines
13 KiB
JavaScript

var thisWidget;
//当前页面业务
function initWidgetView(_thisWidget) {
thisWidget = _thisWidget;
if (thisWidget.config && thisWidget.config.style) {
$("body").addClass(thisWidget.config.style);
}
//点击显示子页面
$('.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.clearRZFX();
$('#btn_rzfx_btn_rzfx_pause').hide();
$("#lbl_rzfx_nowTime").html("")
});
jeDate("#txt_rzfx_Date", {
theme: { bgcolor: "#135b91", pnColor: "#00CCFF" },
format: "YYYY-MM-DD"
});
jeDate("#txt_rzfx_StartTime", {
theme: { bgcolor: "#135b91", pnColor: "#00CCFF" },
format: "hh:mm:ss"
});
jeDate("#txt_rzfx_EndTime", {
theme: { bgcolor: "#135b91", pnColor: "#00CCFF" },
format: "hh:mm:ss"
});
var today = new Date().format("yyyy-MM-dd");
$("#txt_rzfx_Date").val(today);
$("#txt_rzfx_StartTime").val("8:00:00");
$("#txt_rzfx_EndTime").val("18:00:00");
$('#btn_rzfx_Start').click(function () {
var _date = $("#txt_rzfx_Date").val();
var _starttime = _date + " " + $("#txt_rzfx_StartTime").val();
var _endTime = _date + " " + $("#txt_rzfx_EndTime").val();
var startDate = new Date(_starttime);
var endDate = new Date(_endTime);
thisWidget.startPlayRZFX(startDate, endDate);
$('#btn_rzfx_btn_rzfx_pause').show();
});
$('#btn_rzfx_btn_rzfx_pause').hide();
$('#btn_rzfx_btn_rzfx_pause').click(function () {
var result = thisWidget.pauseRZFX();
if (result) {
$('#btn_rzfx_btn_rzfx_pause').val("暂停")
}
else {
$('#btn_rzfx_btn_rzfx_pause').val("继续")
}
});
}
function setRZFXNowTime(date) {
$("#lbl_rzfx_nowTime").html(date.format("MM月dd日 HH:mm:ss"));
}
//=============坡度坡向=============
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 debugFrustum = $(this).is(':checked');
thisWidget.updateKsyDebugFrustum(debugFrustum);
});
$('#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.measureObj.startDraw();
});
$("#txt_flfx_Height").change(function () {
var num = Number($(this).val());
thisWidget.measureObj.height = num;
showFLFXHeightRg()
});
$("#txt_flfx_MaxHeight").change(function () {
var num = Number($(this).val());
var maxHeight = getFixedNum(thisWidget.measureObj.squareResult.maxHeight)
if (num < maxHeight) {
haoutil.msg("墙顶部高度不能低于区域内的地表高" + maxHeight);
$(this).val(maxHeight);
thisWidget.measureObj.maxHeight = Number(maxHeight);
return
}
if (num < thisWidget.measureObj.height) {
haoutil.msg("墙顶部高度不能低于基准面高" + thisWidget.measureObj.height);
return
}
thisWidget.measureObj.maxHeight = num;
});
$("#txt_flfx_MinHeight").change(function () {
var num = Number($(this).val());
if (num > thisWidget.measureObj.height) {
haoutil.msg("墙底部高度不能高于基准面高" + thisWidget.measureObj.height);
return
}
thisWidget.measureObj.minHeight = num;
});
$("#btn_flfx_selHeight").click(function () {
thisWidget.measureObj.selecteHeight(showFLFXHeightRg);
});
}
function showFLFXHeightRg() {
$("#txt_flfx_Height").val(thisWidget.measureObj.height.toFixed(1));
$("#txt_flfx_MaxHeight").val( getFixedNum(thisWidget.measureObj.maxHeight));
$("#txt_flfx_MinHeight").val(thisWidget.measureObj.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.underObj.enable = val;
});
$("#txt_dbtm_alpha").range({
onChange: function (value, bfb) {
thisWidget.underObj.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.clipTileset)
thisWidget.clipTileset.distance = value;
}
});
$("#txt_mxpq_Distance").change(function () {
var value = Number($(this).val());
$("#range_mxpq_Distance").val(value).change();
if (thisWidget.clipTileset)
thisWidget.clipTileset.distance = value;
});
$("#btn_mxpq_DrawLine").click(function () {
thisWidget.drawLinePQMX();
});
$("#btn_mxpq_Clipping1").click(function () {
if (thisWidget.clipTileset)
thisWidget.clipTileset.type = parent.xjsdk.tiles.TilesClipPlan.Type.Z;
});
$("#btn_mxpq_Clipping2").click(function () {
if (thisWidget.clipTileset)
thisWidget.clipTileset.type = parent.xjsdk.tiles.TilesClipPlan.Type.ZR;
});
$("#btn_mxpq_Clipping3").click(function () {
if (thisWidget.clipTileset)
thisWidget.clipTileset.type = parent.xjsdk.tiles.TilesClipPlan.Type.X;
});
$("#btn_mxpq_Clipping4").click(function () {
if (thisWidget.clipTileset)
thisWidget.clipTileset.type = parent.xjsdk.tiles.TilesClipPlan.Type.XR;
});
$("#btn_mxpq_Clipping5").click(function () {
if (thisWidget.clipTileset)
thisWidget.clipTileset.type = parent.xjsdk.tiles.TilesClipPlan.Type.Y;
});
$("#btn_mxpq_Clipping6").click(function () {
if (thisWidget.clipTileset)
thisWidget.clipTileset.type = parent.xjsdk.tiles.TilesClipPlan.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);
});
$("#txt_mxyp_flatHeight").change(function () {
var num = Number($(this).val());
if (thisWidget.flatObj)
thisWidget.flatObj.flatHeight = 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.tilesetClip) return;
if ($(this).val() == "1") {
thisWidget.tilesetClip.clipOutSide = true;
}
else {
thisWidget.tilesetClip.clipOutSide = false;
}
});
}