$(function() { 
 | 
  
 | 
    // jobGroup change, job list init and select 
 | 
    $("#jobGroup").on("change", function () { 
 | 
        var jobGroup = $(this).children('option:selected').val(); 
 | 
        $.ajax({ 
 | 
            type : 'POST', 
 | 
            async: false,   // async, avoid js invoke pagelist before jobId data init 
 | 
            url : base_url + '/joblog/getJobsByGroup', 
 | 
            data : {"jobGroup":jobGroup}, 
 | 
            dataType : "json", 
 | 
            success : function(data){ 
 | 
                if (data.code == 200) { 
 | 
                    $("#jobId").html( '<option value="0" >'+ I18n.system_all +'</option>' ); 
 | 
                    $.each(data.content, function (n, value) { 
 | 
                        $("#jobId").append('<option value="' + value.id + '" >' + value.jobDesc + '</option>'); 
 | 
                    }); 
 | 
                    if ($("#jobId").attr("paramVal")){ 
 | 
                        $("#jobId").find("option[value='" + $("#jobId").attr("paramVal") + "']").attr("selected",true); 
 | 
                    } 
 | 
                } else { 
 | 
                    layer.open({ 
 | 
                        title: I18n.system_tips , 
 | 
                        btn: [ I18n.system_ok ], 
 | 
                        content: (data.msg || I18n.system_api_error ), 
 | 
                        icon: '2' 
 | 
                    }); 
 | 
                } 
 | 
            }, 
 | 
        }); 
 | 
    }); 
 | 
    if ($("#jobGroup").attr("paramVal")){ 
 | 
        $("#jobGroup").find("option[value='" + $("#jobGroup").attr("paramVal") + "']").attr("selected",true); 
 | 
        $("#jobGroup").change(); 
 | 
    } 
 | 
  
 | 
    // filter Time 
 | 
    var rangesConf = {}; 
 | 
    rangesConf[I18n.daterangepicker_ranges_recent_hour] = [moment().subtract(1, 'hours'), moment()]; 
 | 
    rangesConf[I18n.daterangepicker_ranges_today] = [moment().startOf('day'), moment().endOf('day')]; 
 | 
    rangesConf[I18n.daterangepicker_ranges_yesterday] = [moment().subtract(1, 'days').startOf('day'), moment().subtract(1, 'days').endOf('day')]; 
 | 
    rangesConf[I18n.daterangepicker_ranges_this_month] = [moment().startOf('month'), moment().endOf('month')]; 
 | 
    rangesConf[I18n.daterangepicker_ranges_last_month] = [moment().subtract(1, 'months').startOf('month'), moment().subtract(1, 'months').endOf('month')]; 
 | 
    rangesConf[I18n.daterangepicker_ranges_recent_week] = [moment().subtract(1, 'weeks').startOf('day'), moment().endOf('day')]; 
 | 
    rangesConf[I18n.daterangepicker_ranges_recent_month] = [moment().subtract(1, 'months').startOf('day'), moment().endOf('day')]; 
 | 
  
 | 
    $('#filterTime').daterangepicker({ 
 | 
        autoApply:false, 
 | 
        singleDatePicker:false, 
 | 
        showDropdowns:false,        // 是否显示年月选择条件 
 | 
        timePicker: true,             // 是否显示小时和分钟选择条件 
 | 
        timePickerIncrement: 10,     // 时间的增量,单位为分钟 
 | 
        timePicker24Hour : true, 
 | 
        opens : 'left', //日期选择框的弹出位置 
 | 
        ranges: rangesConf, 
 | 
        locale : { 
 | 
            format: 'YYYY-MM-DD HH:mm:ss', 
 | 
            separator : ' - ', 
 | 
            customRangeLabel : I18n.daterangepicker_custom_name , 
 | 
            applyLabel : I18n.system_ok , 
 | 
            cancelLabel : I18n.system_cancel , 
 | 
            fromLabel : I18n.daterangepicker_custom_starttime , 
 | 
            toLabel : I18n.daterangepicker_custom_endtime , 
 | 
            daysOfWeek : I18n.daterangepicker_custom_daysofweek.split(',') ,        // '日', '一', '二', '三', '四', '五', '六' 
 | 
            monthNames : I18n.daterangepicker_custom_monthnames.split(',') ,        // '一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月' 
 | 
            firstDay : 1 
 | 
        }, 
 | 
        startDate: rangesConf[I18n.daterangepicker_ranges_today][0], 
 | 
        endDate: rangesConf[I18n.daterangepicker_ranges_today][1] 
 | 
    }); 
 | 
  
 | 
    // init date tables 
 | 
    var logTable = $("#joblog_list").dataTable({ 
 | 
        "deferRender": true, 
 | 
        "processing" : true,  
 | 
        "serverSide": true, 
 | 
        "ajax": { 
 | 
            url: base_url + "/joblog/pageList" , 
 | 
            type:"post", 
 | 
            data : function ( d ) { 
 | 
                var obj = {}; 
 | 
                obj.jobGroup = $('#jobGroup').val(); 
 | 
                obj.jobId = $('#jobId').val(); 
 | 
                obj.logStatus = $('#logStatus').val(); 
 | 
                obj.filterTime = $('#filterTime').val(); 
 | 
                obj.start = d.start; 
 | 
                obj.length = d.length; 
 | 
                return obj; 
 | 
            } 
 | 
        }, 
 | 
        "searching": false, 
 | 
        "ordering": false, 
 | 
        //"scrollX": false, 
 | 
        "columns": [ 
 | 
                    { 
 | 
                        "data": 'jobId', 
 | 
                        "visible" : true, 
 | 
                        "width":'10%', 
 | 
                        "render": function ( data, type, row ) { 
 | 
  
 | 
                            var jobhandler = ''; 
 | 
                            if (row.executorHandler) { 
 | 
                                jobhandler = "<br>JobHandler:" + row.executorHandler; 
 | 
                            } 
 | 
  
 | 
                            var temp = ''; 
 | 
                            temp += I18n.joblog_field_executorAddress + ':' + (row.executorAddress?row.executorAddress:''); 
 | 
                            temp += jobhandler; 
 | 
                            temp += '<br>'+ I18n.jobinfo_field_executorparam +':' + row.executorParam; 
 | 
  
 | 
                            return '<a class="logTips" href="javascript:;" >'+ row.jobId +'<span style="display:none;">'+ temp +'</span></a>'; 
 | 
                        } 
 | 
                    }, 
 | 
                    { "data": 'jobGroup', "visible" : false}, 
 | 
                    { 
 | 
                        "data": 'triggerTime', 
 | 
                        "width":'20%', 
 | 
                        "render": function ( data, type, row ) { 
 | 
                            return data?moment(data).format("YYYY-MM-DD HH:mm:ss"):""; 
 | 
                        } 
 | 
                    }, 
 | 
                    { 
 | 
                        "data": 'triggerCode', 
 | 
                        "width":'10%', 
 | 
                        "render": function ( data, type, row ) { 
 | 
                            var html = data; 
 | 
                            if (data == 200) { 
 | 
                                html = '<span style="color: green">'+ I18n.system_success +'</span>'; 
 | 
                            } else if (data == 500) { 
 | 
                                html = '<span style="color: red">'+ I18n.system_fail +'</span>'; 
 | 
                            } else if (data == 0) { 
 | 
                                html = ''; 
 | 
                            } 
 | 
                            return html; 
 | 
                        } 
 | 
                    }, 
 | 
                    { 
 | 
                        "data": 'triggerMsg', 
 | 
                        "width":'10%', 
 | 
                        "render": function ( data, type, row ) { 
 | 
                            return data?'<a class="logTips" href="javascript:;" >'+ I18n.system_show +'<span style="display:none;">'+ data +'</span></a>':I18n.system_empty; 
 | 
                        } 
 | 
                    }, 
 | 
                    {  
 | 
                        "data": 'handleTime', 
 | 
                        "width":'20%', 
 | 
                        "render": function ( data, type, row ) { 
 | 
                            return data?moment(data).format("YYYY-MM-DD HH:mm:ss"):""; 
 | 
                        } 
 | 
                    }, 
 | 
                    { 
 | 
                        "data": 'handleCode', 
 | 
                        "width":'10%', 
 | 
                        "render": function ( data, type, row ) { 
 | 
                            var html = data; 
 | 
                            if (data == 200) { 
 | 
                                html = '<span style="color: green">'+ I18n.joblog_handleCode_200 +'</span>'; 
 | 
                            } else if (data == 500) { 
 | 
                                html = '<span style="color: red">'+ I18n.joblog_handleCode_500 +'</span>'; 
 | 
                            } else if (data == 502) { 
 | 
                                html = '<span style="color: red">'+ I18n.joblog_handleCode_502 +'</span>'; 
 | 
                            } else if (data == 0) { 
 | 
                                html = ''; 
 | 
                            } 
 | 
                            return html; 
 | 
                        } 
 | 
                    }, 
 | 
                    {  
 | 
                        "data": 'handleMsg', 
 | 
                        "width":'10%', 
 | 
                        "render": function ( data, type, row ) { 
 | 
                            return data?'<a class="logTips" href="javascript:;" >'+ I18n.system_show +'<span style="display:none;">'+ data +'</span></a>':I18n.system_empty; 
 | 
                        } 
 | 
                    }, 
 | 
                    { 
 | 
                        "data": 'handleMsg' , 
 | 
                        "bSortable": false, 
 | 
                        "width":'10%', 
 | 
                        "render": function ( data, type, row ) { 
 | 
                            // better support expression or string, not function 
 | 
                            return function () { 
 | 
                                if (row.triggerCode == 200 || row.handleCode != 0){ 
 | 
  
 | 
                                    /*var temp = '<a href="javascript:;" class="logDetail" _id="'+ row.id +'">'+ I18n.joblog_rolling_log +'</a>'; 
 | 
                                    if(row.handleCode == 0){ 
 | 
                                        temp += '<br><a href="javascript:;" class="logKill" _id="'+ row.id +'" style="color: red;" >'+ I18n.joblog_kill_log +'</a>'; 
 | 
                                    }*/ 
 | 
                                    //return temp; 
 | 
  
 | 
                                    var logKillDiv = ''; 
 | 
                                    if(row.handleCode == 0){ 
 | 
                                        logKillDiv = '       <li class="divider"></li>\n' + 
 | 
                                            '       <li><a href="javascript:void(0);" class="logKill" _id="'+ row.id +'" >'+ I18n.joblog_kill_log +'</a></li>\n'; 
 | 
                                    } 
 | 
  
 | 
                                    var html = '<div class="btn-group">\n' + 
 | 
                                        '     <button type="button" class="btn btn-primary btn-sm">'+ I18n.system_opt +'</button>\n' + 
 | 
                                        '     <button type="button" class="btn btn-primary btn-sm dropdown-toggle" data-toggle="dropdown">\n' + 
 | 
                                        '       <span class="caret"></span>\n' + 
 | 
                                        '       <span class="sr-only">Toggle Dropdown</span>\n' + 
 | 
                                        '     </button>\n' + 
 | 
                                        '     <ul class="dropdown-menu" role="menu" _id="'+ row.id +'" >\n' + 
 | 
                                        '       <li><a href="javascript:void(0);" class="logDetail" _id="'+ row.id +'" >'+ I18n.joblog_rolling_log +'</a></li>\n' + 
 | 
                                        logKillDiv + 
 | 
                                        '     </ul>\n' + 
 | 
                                        '   </div>'; 
 | 
  
 | 
                                    return html; 
 | 
                                } 
 | 
                                return null;     
 | 
                            } 
 | 
                        } 
 | 
                    } 
 | 
                ], 
 | 
        "language" : { 
 | 
            "sProcessing" : I18n.dataTable_sProcessing , 
 | 
            "sLengthMenu" : I18n.dataTable_sLengthMenu , 
 | 
            "sZeroRecords" : I18n.dataTable_sZeroRecords , 
 | 
            "sInfo" : I18n.dataTable_sInfo , 
 | 
            "sInfoEmpty" : I18n.dataTable_sInfoEmpty , 
 | 
            "sInfoFiltered" : I18n.dataTable_sInfoFiltered , 
 | 
            "sInfoPostFix" : "", 
 | 
            "sSearch" : I18n.dataTable_sSearch , 
 | 
            "sUrl" : "", 
 | 
            "sEmptyTable" : I18n.dataTable_sEmptyTable , 
 | 
            "sLoadingRecords" : I18n.dataTable_sLoadingRecords , 
 | 
            "sInfoThousands" : ",", 
 | 
            "oPaginate" : { 
 | 
                "sFirst" : I18n.dataTable_sFirst , 
 | 
                "sPrevious" : I18n.dataTable_sPrevious , 
 | 
                "sNext" : I18n.dataTable_sNext , 
 | 
                "sLast" : I18n.dataTable_sLast 
 | 
            }, 
 | 
            "oAria" : { 
 | 
                "sSortAscending" : I18n.dataTable_sSortAscending , 
 | 
                "sSortDescending" : I18n.dataTable_sSortDescending 
 | 
            } 
 | 
        } 
 | 
    }); 
 | 
    logTable.on('xhr.dt',function(e, settings, json, xhr) { 
 | 
        if (json.code && json.code != 200) { 
 | 
            layer.msg( json.msg || I18n.system_api_error ); 
 | 
        } 
 | 
    }); 
 | 
     
 | 
    // logTips alert 
 | 
    $('#joblog_list').on('click', '.logTips', function(){ 
 | 
        var msg = $(this).find('span').html(); 
 | 
        ComAlertTec.show(msg); 
 | 
    }); 
 | 
     
 | 
    // search Btn 
 | 
    $('#searchBtn').on('click', function(){ 
 | 
        logTable.fnDraw(); 
 | 
    }); 
 | 
     
 | 
    // logDetail look 
 | 
    $('#joblog_list').on('click', '.logDetail', function(){ 
 | 
        var _id = $(this).attr('_id'); 
 | 
         
 | 
        window.open(base_url + '/joblog/logDetailPage?id=' + _id); 
 | 
        return; 
 | 
    }); 
 | 
  
 | 
    /** 
 | 
     * log Kill 
 | 
     */ 
 | 
    $('#joblog_list').on('click', '.logKill', function(){ 
 | 
        var _id = $(this).attr('_id'); 
 | 
  
 | 
        layer.confirm( (I18n.system_ok + I18n.joblog_kill_log + '?'), { 
 | 
            icon: 3, 
 | 
            title: I18n.system_tips , 
 | 
            btn: [ I18n.system_ok, I18n.system_cancel ] 
 | 
        }, function(index){ 
 | 
            layer.close(index); 
 | 
  
 | 
            $.ajax({ 
 | 
                type : 'POST', 
 | 
                url : base_url + '/joblog/logKill', 
 | 
                data : {"id":_id}, 
 | 
                dataType : "json", 
 | 
                success : function(data){ 
 | 
                    if (data.code == 200) { 
 | 
                        layer.open({ 
 | 
                            title: I18n.system_tips, 
 | 
                            btn: [ I18n.system_ok ], 
 | 
                            content: I18n.system_opt_suc , 
 | 
                            icon: '1', 
 | 
                            end: function(layero, index){ 
 | 
                                logTable.fnDraw(); 
 | 
                            } 
 | 
                        }); 
 | 
                    } else { 
 | 
                        layer.open({ 
 | 
                            title: I18n.system_tips, 
 | 
                            btn: [ I18n.system_ok ], 
 | 
                            content: (data.msg || I18n.system_opt_fail ), 
 | 
                            icon: '2' 
 | 
                        }); 
 | 
                    } 
 | 
                }, 
 | 
            }); 
 | 
        }); 
 | 
  
 | 
    }); 
 | 
  
 | 
    /** 
 | 
     * clear Log 
 | 
     */ 
 | 
    $('#clearLog').on('click', function(){ 
 | 
  
 | 
        var jobGroup = $('#jobGroup').val(); 
 | 
        var jobId = $('#jobId').val(); 
 | 
  
 | 
        var jobGroupText = $("#jobGroup").find("option:selected").text(); 
 | 
        var jobIdText = $("#jobId").find("option:selected").text(); 
 | 
  
 | 
        $('#clearLogModal input[name=jobGroup]').val(jobGroup); 
 | 
        $('#clearLogModal input[name=jobId]').val(jobId); 
 | 
  
 | 
        $('#clearLogModal .jobGroupText').val(jobGroupText); 
 | 
        $('#clearLogModal .jobIdText').val(jobIdText); 
 | 
  
 | 
        $('#clearLogModal').modal('show'); 
 | 
  
 | 
    }); 
 | 
    $("#clearLogModal .ok").on('click', function(){ 
 | 
        $.post(base_url + "/joblog/clearLog",  $("#clearLogModal .form").serialize(), function(data, status) { 
 | 
            if (data.code == "200") { 
 | 
                $('#clearLogModal').modal('hide'); 
 | 
                layer.open({ 
 | 
                    title: I18n.system_tips , 
 | 
                    btn: [ I18n.system_ok ], 
 | 
                    content: (I18n.joblog_clean_log + I18n.system_success) , 
 | 
                    icon: '1', 
 | 
                    end: function(layero, index){ 
 | 
                        logTable.fnDraw(); 
 | 
                    } 
 | 
                }); 
 | 
            } else { 
 | 
                layer.open({ 
 | 
                    title: I18n.system_tips , 
 | 
                    btn: [ I18n.system_ok ], 
 | 
                    content: (data.msg || (I18n.joblog_clean_log + I18n.system_fail) ), 
 | 
                    icon: '2' 
 | 
                }); 
 | 
            } 
 | 
        }); 
 | 
    }); 
 | 
    $("#clearLogModal").on('hide.bs.modal', function () { 
 | 
        $("#clearLogModal .form")[0].reset(); 
 | 
    }); 
 | 
  
 | 
}); 
 | 
  
 | 
  
 | 
// Com Alert by Tec theme 
 | 
var ComAlertTec = { 
 | 
    html:function(){ 
 | 
        var html = 
 | 
            '<div class="modal fade" id="ComAlertTec" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">' + 
 | 
            '    <div class="modal-dialog modal-lg-">' + 
 | 
            '        <div class="modal-content-tec">' + 
 | 
            '            <div class="modal-body">' + 
 | 
            '                <div class="alert" style="color:#fff;word-wrap: break-word;">' + 
 | 
            '                </div>' + 
 | 
            '            </div>' + 
 | 
            '                <div class="modal-footer">' + 
 | 
            '                <div class="text-center" >' + 
 | 
            '                    <button type="button" class="btn btn-info ok" data-dismiss="modal" >'+ I18n.system_ok +'</button>' + 
 | 
            '                </div>' + 
 | 
            '            </div>' + 
 | 
            '        </div>' + 
 | 
            '    </div>' + 
 | 
            '</div>'; 
 | 
        return html; 
 | 
    }, 
 | 
    show:function(msg, callback){ 
 | 
        // dom init 
 | 
        if ($('#ComAlertTec').length == 0){ 
 | 
            $('body').append(ComAlertTec.html()); 
 | 
        } 
 | 
  
 | 
        // init com alert 
 | 
        $('#ComAlertTec .alert').html(msg); 
 | 
        $('#ComAlertTec').modal('show'); 
 | 
  
 | 
        $('#ComAlertTec .ok').click(function(){ 
 | 
            $('#ComAlertTec').modal('hide'); 
 | 
            if(typeof callback == 'function') { 
 | 
                callback(); 
 | 
            } 
 | 
        }); 
 | 
    } 
 | 
}; 
 |