qinbo
2021-11-05 307dec6a3e510e7c62a273da86234e6d59eb21ec
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
var current_selected_monitor_type;
var current_selected_monitor_name;
var current_selected_monitor_keyword;
var current_selected_monitor_qindex = "pm25";
 
 
//对应widget.js中MyWidget实例化后的对象
var thisWidget
 
//当前页面业务
function initWidgetView(_thisWidget) {
    thisWidget = _thisWidget
 
    loadCountByUserid();
 
    $(".cnt_div a").on("click", function () {
        $(".cnt_div a").removeClass("select_btn"); 
        $(this).addClass("select_btn");
        current_selected_monitor_type = $(this).attr("_code");
        current_selected_monitor_name = $(this).attr("_name");        
    });  
    //开始查询数据
    $("#btn").click(function () {
        current_selected_monitor_keyword = $('#search').val();
        reloadData(1);
    });
}
 
//加载count
function loadCountByUserid() {
    var backend_url = thisWidget.nodejs_url_predix + "dataapi/Bdata?bid=get_all_count_by_id&userid=" + thisWidget.userid;
    $.ajax({
        type: 'get',
        dataType: 'json',
        data: {},
        async: true,//同步
        url: backend_url,
        success: function (data) {
            var cntGroup = data.data.result;
            console.log(cntGroup)
            if (cntGroup != null) {
                for (var i = 0; i < cntGroup.length; i++) {
                    var j = i + 1;
                    var cntObj = cntGroup[i];
                    $("#count" + j).text(cntObj.count);
                    $("#countName" + j).text(cntObj.name);
                    $("#href" + j).attr("_code", cntObj.code);
                    $("#href" + j).attr("_name", cntObj.name);
                }
            }
        },
        error: function (request, textStatus) {
        }
    });
 
}
 
function reloadData(page){
    $("#listTag").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({
          type:"GET",
          url:backend_url,
          dataType:"json",
          success:function(data){
            if(current_selected_monitor_keyword == null){
                haoutil.msg("请输入关键字!!!")
                return;
            }
            if(data.data.result == 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 content1 = '<div class="am-cf">' +
                '共 '+newsTotalNum+' 条记录 / '+pageNum+'页' +
                '</div>';
            var content2 = '<div class="pageDiv">' + 
            '<ul class="am-pagination">';
            // 判断前面是否还有页面
            if(page == 1){
                content2 += '<li class="am-disabled"><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" >«</a></li>';
            }else{
                content2 += '<li><a href="javascript:reloadData('+(page-1)+')" rel="external nofollow" >«</a></li>';
            }
            if (pageNum <= 3 ) {//总页数小于五页,则加载所有页                
                for (var i=1; i <= pageNum; i++) {
                    if (i == page) {
                        content2 += '<li class="am-active"><a href="javascript:reloadData('+i+')" rel="external nofollow" rel="external nofollow" >'+i+'</a></li>';
                    }else{
                        content2 += '<li><a href="javascript:reloadData('+i+')" rel="external nofollow" rel="external nofollow" >'+i+'</a></li>';
                    }
                };
                $('#page').append(content2);
                // return;
            }else if (pageNum > 3) {//总页数大于五页,则加载五页
                if (page < 3) {//当前页小于3,加载1-3页
                    for (var i=1; i <= 3; i++) {
                        if (i == page) {
                            content2 += '<li class="am-active"><a href="javascript:reloadData('+i+')" rel="external nofollow" rel="external nofollow" >'+i+'</a></li>';
 
                        }else{
                            content2 += '<li><a href="javascript:reloadData('+i+')" rel="external nofollow" rel="external nofollow" >'+i+'</a></li>';
                        }
                    };
                    if (page <= pageNum-2) {//最后一页追加“...”代表省略的页
                        content2 += "<li><a>...</a></li>";
                    }
                    $('#page').append(content2);
                    // return;
                }else if (page >= 3) {//当前页大于3页
                    for (var i=1; i <= 2; i++) {//1,2页码始终显示
                        content2 += '<li><a href="javascript:reloadData('+i+')" rel="external nofollow" rel="external nofollow" >'+i+'</a></li>';
                    }
                    content2 += "<li><a>...</a></li>";//2页码后面用...代替部分未显示的页码
                    if (page+1 == pageNum) {//当前页+1等于总页码
                        for(i = page-1; i <= pageNum; i++){//“...”后面跟三个页码当前页居中显示
                            if (i == page) {
                                content2 += '<li class="am-active"><a href="javascript:reloadData('+i+')" rel="external nofollow" rel="external nofollow" >'+i+'</a></li>';
 
                            }else{
                                content2 += '<li><a href="javascript:reloadData('+i+')" rel="external nofollow" rel="external nofollow" >'+i+'</a></li>';
                            }
                        }
                    }else if (page == pageNum) {//当前页数等于总页数则是最后一页页码显示在最后
                        for(var i = page-2; i <= pageNum; i++){//...后面跟三个页码当前页居中显示
                            if (i == page) {
                                content2 += '<li class="am-active"><a href="javascript:reloadData('+i+')" rel="external nofollow" rel="external nofollow" >'+i+'</a></li>';
 
                            }else{
                                content2 += '<li><a href="javascript:reloadData('+i+')" rel="external nofollow" rel="external nofollow" >'+i+'</a></li>';
                            }
                        }
                    }else{//当前页小于总页数,则最后一页后面跟...
                        for(var i = page-1; i <= page+1; i++){//dqPage+1页后面...
                            if (i == page) {
                                content2 += '<li class="am-active"><a href="javascript:reloadData('+i+')" rel="external nofollow" rel="external nofollow" >'+i+'</a></li>';
 
                            }else{
                                content2 += '<li><a href="javascript:reloadData('+i+')" rel="external nofollow" rel="external nofollow" >'+i+'</a></li>';
                            }
                        }
                        content2 += "<li><a>...</a></li>";
                    }
                    $('#page').append(content2);
                    // return;
                }
            }
            // 判断后面是否还有页面
            if(page == pageNum){
                content2 += '<li class="am-disabled"><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" >»</a></li>';
            }else{
                content2 += '<li><a href="javascript:reloadData('+(page+1)+')" rel="external nofollow" >»</a></li>';
            }
            content2 += '</ul>' +
                  '</div>';
            $("#pageID").empty();
            $("#pageID").append(content1);
            $("#page").empty();
            $("#page").append(content2);
          }
        });
      }
 
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);
    }
    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);
}