【jQuery】: 定时刷新页面

时间:2023-03-08 20:11:53

<%@page import="qflag.ucstar.seatmonitor.manager.SeatMonitorManager"%>
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<html>
<head>
<link href="js/css/footable-0.1.css" rel="stylesheet" type="text/css" />
<link href="js/css/footable.sortable-0.1.css" rel="stylesheet"
    type="text/css" />
<link href="js/css/footable.paginate.css" rel="stylesheet"
    type="text/css" />
<script src="js/jquery.js" type="text/javascript"></script>
<script src="js/footable.js" type="text/javascript"></script>
<script src="js/footable.sortable.js" type="text/javascript"></script>
<script src="js/footable.paginate.js" type="text/javascript"></script>
<script type="text/javascript">
    $(function() { //ajax定时刷新table
        run(); //加载页面时启动定时器
        chat();
        function chat() { // var dateObj = new Date();
            $
                    .post(
                            'seatMonitorData.jsp?action=getData',
                            {},
                            function(data) {
                                //alert('1');
                                var jsonStr = eval("(" + data + ")");
                                if (jsonStr != undefined && jsonStr.length > 0) {
                                    for ( var i = 0; i < jsonStr.length; i++) { //双次迭代出数组 以及数组里面的json数组
                                        var t5 = jsonStr[i].curstatus;
                                        var jsontr = jsonStr[i].seatid;
                                        var jsontr1 = jsonStr[i].children;
                                        var time4 = jsonStr[i].statustime;
                                        if(!time4.length > 0 ){
                                            var time4 = '0';
                                            
                                        }
                                        if (jsontr1 != undefined
                                                && jsontr1.length > 0) {
                                            for ( var y = 0; y < jsontr1.length; y++) {
                                                var time1 = jsontr1[y].chattime;

var time2 = jsontr1[y].rspstime;

var time3 = jsontr1[y].waittime;

}
                                        } else {
                                            var time1 = '0';

var time2 = '0';

var time3 = '0';

}
                                        var time = parseFloat(time1) / 1000; //日期转换                //毫秒转换为 时/分/秒
                                        if (null != time && "" != time) {
                                            if (time > 60 && time < 60 * 60) {
                                                time = parseInt(time / 60.0)
                                                        + "分钟"
                                                        + parseInt((parseFloat(time / 60.0) - parseInt(time / 60.0)) * 60)
                                                        + "秒";
                                            } else if (time >= 60 * 60
                                                    && time < 60 * 60 * 24) {
                                                time = parseInt(time / 3600.0)
                                                        + "小时"
                                                        + parseInt((parseFloat(time / 3600.0) - parseInt(time / 3600.0)) * 60)
                                                        + "分钟"
                                                        + parseInt((parseFloat((parseFloat(time / 3600.0) - parseInt(time / 3600.0)) * 60) - parseInt((parseFloat(time / 3600.0) - parseInt(time / 3600.0)) * 60)) * 60)
                                                        + "秒";
                                            } else {
                                                time = parseInt(time) + "秒";
                                            }
                                        } else {
                                            time = "0 时 0 分0 秒";
                                        }

var time2s = parseFloat(time2) / 1000; //日期转换
                                        if (null != time2s && "" != time2s) {
                                            if (time2s > 60 && time2s < 60 * 60) {
                                                time2s = parseInt(time2s / 60.0)
                                                        + "分钟"
                                                        + parseInt((parseFloat(time2s / 60.0) - parseInt(time2s / 60.0)) * 60)
                                                        + "秒";
                                            } else if (time2s >= 60 * 60
                                                    && time2s < 60 * 60 * 24) {
                                                time2s = parseInt(time2s / 3600.0)
                                                        + "小时"
                                                        + parseInt((parseFloat(time2s / 3600.0) - parseInt(time2s / 3600.0)) * 60)
                                                        + "分钟"
                                                        + parseInt((parseFloat((parseFloat(time2s / 3600.0) - parseInt(time2s / 3600.0)) * 60) - parseInt((parseFloat(time2s / 3600.0) - parseInt(time2s / 3600.0)) * 60)) * 60)
                                                        + "秒";
                                            } else {
                                                time2s = parseInt(time2s) + "秒";
                                            }
                                        } else {
                                            time2s = "0 时 0 分0 秒";
                                        }

var time3s = parseFloat(time3) / 1000; //日期转换
                                    
                                        if (null != time3s && "" != time3s) {
                                            if (time3s > 60 && time3s < 60 * 60) {
                                                time3s = parseInt(time3s / 60.0)
                                                        + "分钟"
                                                        + parseInt((parseFloat(time3s / 60.0) - parseInt(time3s / 60.0)) * 60)
                                                        + "秒";
                                            } else if (time3s >= 60 * 60
                                                    && time3s < 60 * 60 * 24) {
                                                time3s = parseInt(time3s / 3600.0)
                                                        + "小时"
                                                        + parseInt((parseFloat(time3s / 3600.0) - parseInt(time3s / 3600.0)) * 60)
                                                        + "分钟"
                                                        + parseInt((parseFloat((parseFloat(time3s / 3600.0) - parseInt(time3s / 3600.0)) * 60) - parseInt((parseFloat(time3s / 3600.0) - parseInt(time3s / 3600.0)) * 60)) * 60)
                                                        + "秒";
                                            } else {
                                                time3s = parseInt(time3s) + "秒";
                                            }
                                        } else {
                                            time3s = "0 时 0 分0 秒";
                                        }

var time4s = parseFloat(time4) / 1000; //日期转换
                                    
                                        if (null != time4s && "" != time4s) {
                                            if (time4s > 60 && time4s < 60 * 60) {
                                                time4s = parseInt(time4s / 60.0)
                                                        + "分钟"
                                                        + parseInt((parseFloat(time4s / 60.0) - parseInt(time4s / 60.0)) * 60)
                                                        + "秒";
                                            } else if (time4s >= 60 * 60
                                                    && time4s < 60 * 60 * 24) {
                                                time4s = parseInt(time4s / 3600.0)
                                                        + "小时"
                                                        + parseInt((parseFloat(time4s / 3600.0) - parseInt(time4s / 3600.0)) * 60)
                                                        + "分钟"
                                                        + parseInt((parseFloat((parseFloat(time4s / 3600.0) - parseInt(time4s / 3600.0)) * 60) - parseInt((parseFloat(time4s / 3600.0) - parseInt(time4s / 3600.0)) * 60)) * 60)
                                                        + "秒";
                                            } else {
                                                time4s = parseInt(time4s) + "秒";
                                            }
                                        } else {
                                            time4s = "0 时 0 分0 秒";
                                        }
                                    
                                        if (t5 != null && t5 != '') {
                                            if (t5 == "online") {
                                                v5 = '<font size="+1" ace="黑体" color="#FF00FF"> 就绪</font>';
                                            } else if (t5 == "busy") {
                                                v5 = ' 未就绪';
                                            } else if (t5 == "away") {
                                                v5 = ' 休息';
                                            }
                                        }
                                        if (!$("#" + jsontr).length > 0) {
                                            var tr = '<tr id='+jsontr+'><td>'
                                                    + jsonStr[i].seatid
                                                    + '</td>';
                                            tr += '<td> ' + time + '</td>';
                                            tr += '<td> ' + time2s + '</td>';
                                            tr += '<td> ' + time3s + '</td>';
                                            tr += '<td>' + v5 + '</td>';
                                            tr += '<td> ' + time4s + '</td>';
                                            tr += '<td>'
                                                    + jsonStr[i].curservice
                                                    + '</td>';
                                            tr += '<td>'
                                                    + jsonStr[i].servicecount
                                                    + '</td>';
                                            tr += '</tr>';
                                            $("#time5").append(tr);
                                        } else {
                                            $("#time5").empty();
                                            var tr = '<tr id='+jsontr+'><td>'
                                                    + jsonStr[i].seatid
                                                    + '</td>';
                                            tr += '<td> ' + time + '</td>';
                                            tr += '<td> ' + time2s + '</td>';
                                            tr += '<td> ' + time3s + '</td>';
                                            tr += '<td>' + v5 + '</td>';
                                            tr += '<td> ' + time4s + '</td>';
                                            tr += '<td>'
                                                    + jsonStr[i].curservice
                                                    + '</td>';
                                            tr += '<td>'
                                                    + jsonStr[i].servicecount
                                                    + '</td>';
                                            tr += '</tr>';
                                            $("#time5").append(tr);
                                        }
                                    }

} else { //退出则清空缓存数据
                                    $("#time5").empty();
                                }
                            });
        }
        var interval;
        function run() {
            interval = setInterval(chat, "5000");
        }

});
</script>
</head>
<body leftmargin=0 topmargin=0 marginheight=0 weightmargin=0>
    <div id="time">
        <table class="footable" align="center" >
            <thead style="background:#D5E1F2">
                <tr>
                    <th>坐席工号</th>
                    <th>会话时长</th>
                    <th>响应时长</th>
                    <th>等待回复时长</th>
                    <th>当前状态</th>
                    <th>持续时长</th>
                    <th>当前服务数量</th>
                    <th>总服务数</th>
                </tr>
                
            </thead>
            <tbody id="time5" align="center"></tbody>
        </table>
    </div>
</body>
</html>