qinbo
2021-11-10 4c346f202a2f4431feb734da018af1b83571b8fb
widgetsTS/widget_search/view.js
@@ -3,6 +3,7 @@
var current_selected_monitor_keyword;
var current_selected_monitor_qindex = "pm25";
var tableData;
//对应widget.js中MyWidget实例化后的对象
var thisWidget
@@ -17,12 +18,26 @@
        $(".cnt_div a").removeClass("select_btn"); 
        $(this).addClass("select_btn");
        current_selected_monitor_type = $(this).attr("_code");
        current_selected_monitor_name = $(this).attr("_name");
        current_selected_monitor_name = $(this).attr("_name");
        changeQindexSelection();
    });  
    //开始查询数据
    $("#btn").click(function () {
        current_selected_monitor_keyword = $('#search').val();
        reloadData(1);
    });
    $("#selectedALL").click(function() {
        if (this.checked){
            $("input[name='selectedItem']:checkbox").each(function(){
                  $(this).prop("checked", true);
            });
        } else {
            $("input[name='selectedItem']:checkbox").each(function() {
                  $(this).prop("checked", false);
            });
        }
    });
}
@@ -55,8 +70,32 @@
}
$("#qindex_selection").change(function () {
    current_selected_monitor_qindex = $("#qindex_selection").val();
    reloadData(1);
});
function changeQindexSelection() {
    current_selected_monitor_qindex = "pm25";  // 重设qindex
    $("#qindex_selection").empty();
    var options = [];
    if (current_selected_monitor_type == 1001) {
        options = Object.keys(qindex_range_list_1001);
        console.log(options)
    } else if (current_selected_monitor_type == 1002) {
        options = Object.keys(qindex_range_list_1002);
    } else if (current_selected_monitor_type == 1003) {
        options = Object.keys(qindex_range_list_1003);
        current_selected_monitor_qindex = "tsp";
    } else {
        options = Object.keys(qindex_range_list_1004_and_other);
    }
    options.forEach(element => $("#qindex_selection").append("<option value='" + element + "'>" + element + "</option>"));
}
function reloadData(page){
    $("#listTag").empty();
    $("#searchInfo").empty();
    var backend_url = thisWidget.nodejs_url_predix + "dataapi/Bdata?bid=get_" + current_selected_monitor_type + "_list_keyword&datatype=" + thisWidget.datatype + "&datatime=" + thisWidget.datatime + "&qindex=" + current_selected_monitor_qindex +"&keyword=" + current_selected_monitor_keyword+ "&pageno=1&pagesize=10";
    var avgnam = 10; //每页显示个数
        $.ajax({
@@ -64,23 +103,23 @@
          url:backend_url,
          dataType:"json",
          success:function(data){
            tableData = data.data.result;
            if(current_selected_monitor_keyword == null){
                haoutil.msg("请输入关键字!!!")
                return;
            }
            if(data.data.result == null){
            if(tableData == null){
                haoutil.msg("请选择查询类别!!!")
                return;
            }          
            var tableData = data.data.result;
            var newsTotalNum = data.data.result.length; //记录的总条数
            var pageNum = Math.ceil(newsTotalNum/avgnam); //分页的总页数
            
            for(var i=((page-1)*10);i<(page*10)&&i<newsTotalNum;i++){
                var j = i+1; 
                var topObj = tableData[i];
                var content = "<tr _siteid='" + topObj.code + "' _lon='" + topObj.lon + "' _lat='" + topObj.lat + "' onclick='locateAndShowDetail(this)' onmouseover='over(this)' onmouseout='out(this)' ><td>" + j + "</td><td>" + topObj.name + "</td><td>" + topObj.pm25 +"</td><td>" + topObj.pm10 +"</td><td>"+ topObj.no2 +"</td><td>"+ topObj.co +"</td><td>"+ topObj.no +"</td><td>" + topObj.nox + "</td></tr>"
                $("#listTag").append(content);
                var topObj = tableData[i];
                var content = "<tr _siteid='" + topObj.code + "' _lon='" + topObj.lon + "' _lat='" + topObj.lat + "' onmouseover='over(this)' onmouseout='out(this)' ><td><input type='checkbox' name='selectedItem' value='" + j + "' /></td><td>" + j + "</td><td onclick='locateAndShowDetail(this)'>" + topObj.code + "</td><td onclick='locateAndShowDetail(this)'>" + topObj.name + "</td><td><font color='" + getLayerPointColorByQindexandValue(current_selected_monitor_type, current_selected_monitor_qindex, topObj[current_selected_monitor_qindex]) + "'>" + topObj[current_selected_monitor_qindex] + "</font></td></tr>"
                $("#searchInfo").append(content);
            }
            var content1 = '<div class="am-cf">' +
                '共 '+newsTotalNum+' 条记录 / '+pageNum+'页' +
@@ -172,26 +211,53 @@
        });
      }
function over(obj) {
    $('#searchInfo tr').removeClass("over_tr");
    $(obj).addClass("over_tr");
}
function out(obj) {
    $(obj).removeClass("over_tr");
}
function locateAndShowDetail(obj) {
    $('#searchInfo tr').removeClass("select_tr");
    $(obj).addClass("select_tr");
    var siteId = $(obj).attr("_siteid");
    var lon = $(obj).attr("_lon");
    var lat = $(obj).attr("_lat");
    if (lon && lon != 'undefined') {
        thisWidget.locateAndHighlight(lon, lat);
      function over(obj) {
        $('#searchInfo tr').removeClass("over_tr");
        $(obj).addClass("over_tr");
    }
    thisWidget.showDetailedWindow({ "nodejs_url_predix": thisWidget.nodejs_url_predix, "datatype": thisWidget.datatype,"selected_qindex": current_selected_monitor_qindex,"datatime": thisWidget.datatime, "layerid": current_selected_monitor_type, "siteid": siteId });
    console.log(current_selected_monitor_type);
}
    function out(obj) {
        $(obj).removeClass("over_tr");
    }
    function locateAndShowDetail(obj) {
        $('#searchInfo tr').removeClass("select_tr");
        let parentObj = $(obj).parent();
        $(parentObj).addClass("select_tr");
        var siteId = $(parentObj).attr("_siteid");
        var lon = $(parentObj).attr("_lon");
        var lat = $(parentObj).attr("_lat");
        if (lon && lon != 'undefined') {
            thisWidget.locateAndHighlight(lon, lat);
        }
        if (current_selected_monitor_type != 100500) {
            thisWidget.showDetailedWindow({ "nodejs_url_predix": thisWidget.nodejs_url_predix, "datatype": thisWidget.datatype, "selected_qindex": current_selected_monitor_qindex, "datatime": thisWidget.datatime, "layerid": current_selected_monitor_type, "siteid": siteId });
        }
    }
    function setTopNname(count) {
        $("#topN_name").html("Top" + count);
    }
    function highlightSelected() {
        var obj = document.getElementsByName('selectedItem'); //选择所有name="'selectedItem'"的对象,返回数组
        var selectedItem = [];
        for (var i = 0; i < obj.length; ++i) {
            if (obj[i].checked) {
                selectedItem[selectedItem.length] = tableData[i];
            }
        }
        if (selectedItem.length <= 0) {
            haoutil.msg("请勾选");
        } else {
            //console.log(selectedItem);
            thisWidget.HighlightMulti(current_selected_monitor_type, current_selected_monitor_qindex, selectedItem);
        }
    }