joblog.index.1.js 7.7 KB
Newer Older
X
xueli.xue 已提交
1
$(function() {
X
xueli.xue 已提交
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
	// 过滤时间
	$('#filterTime').daterangepicker({
		timePicker: true, 			//是否显示小时和分钟
		timePickerIncrement: 10, 	//时间的增量,单位为分钟
		timePicker12Hour : false,	//是否使用12小时制来显示时间
		format: 'YYYY-MM-DD HH:mm:ss',
		separator : ' - ',
		ranges : {
            '最近1小时': [moment().subtract('hours',1), moment()],
            '今日': [moment().startOf('day'), moment()],
            '昨日': [moment().subtract('days', 1).startOf('day'), moment().subtract('days', 1).endOf('day')],
            '最近7日': [moment().subtract('days', 6), moment()],
            '最近30日': [moment().subtract('days', 29), moment()]
        },
        opens : 'left', //日期选择框的弹出位置
        locale : {
        	customRangeLabel : '自定义',
            applyLabel : '确定',
            cancelLabel : '取消',
            fromLabel : '起始时间',
            toLabel : '结束时间',
            daysOfWeek : [ '', '', '', '', '', '', '' ],
            monthNames : [ '一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月' ],
            firstDay : 1
        }
	});
	$('#filterTime').val( moment(new Date()).format("YYYY-MM-DD 00:00:00") + ' - ' + moment(new Date()).format("YYYY-MM-DD HH:mm:ss") );
	
X
xueli.xue 已提交
31
	// init date tables
X
xueli.xue 已提交
32 33 34 35
	var logTable = $("#joblog_list").dataTable({
		"deferRender": true,
		"processing" : true, 
	    "serverSide": true,
X
xueli.xue 已提交
36
		"ajax": {
X
xueli.xue 已提交
37 38
	        url: base_url + "/joblog/pageList" ,
	        data : function ( d ) {
X
xueli.xue 已提交
39 40
                d.jobGroup = $('#jobGroup').val();
                d.jobName = $('#jobName').val();
X
xueli.xue 已提交
41 42
                d.filterTime = $('#filterTime').val();
            }
X
xueli.xue 已提交
43
	    },
X
xueli.xue 已提交
44 45 46
	    "searching": false,
	    "ordering": false,
	    //"scrollX": false,
X
xueli.xue 已提交
47
	    "columns": [
X
xueli.xue 已提交
48 49
	                { "data": 'id', "bSortable": false, "visible" : false},
	                { 
X
xueli.xue 已提交
50
	                	"data": 'jobGroup', 
51
	                	"visible" : false, 
X
xueli.xue 已提交
52
	                	"bSortable": false, 
X
xueli.xue 已提交
53 54 55 56 57 58 59 60 61 62 63 64
	                	"render": function ( data, type, row ) {
	            			var groupMenu = $("#jobGroup").find("option");
	            			for ( var index in $("#jobGroup").find("option")) {
	            				if ($(groupMenu[index]).attr('value') == data) {
									return $(groupMenu[index]).html();
								}
							}
	            			return data;
	            		}
            		},
	                { "data": 'jobName'},
	                { "data": 'jobCron', "visible" : false},
X
xueli.xue 已提交
65
	                { "data": 'jobDesc', "visible" : false},
X
xueli.xue 已提交
66 67 68
	                { "data": 'jobClass', "visible" : false},
	                { 
	                	"data": 'jobData',
69
	                	"visible" : true,
X
xueli.xue 已提交
70
	                	"render": function ( data, type, row ) {
71
	                		var _jobData = eval('(' + data + ')');	// row.jobData
X
xueli.xue 已提交
72
	                		var html = "<p title='" + data + "'>JobHandler:" + _jobData.handler_name +
73
	                			"<br>执行参数:" + _jobData.handler_params + 
X
xueli.xue 已提交
74
	                			"<br>执行器地址:" + _jobData.handler_address + "</p>";
75 76
	                		
	                		return data?'<a class="logMsg" href="javascript:;" >查看<span style="display:none;">'+ html +'</span></a>':"";
X
xueli.xue 已提交
77 78 79 80
	                	}
	                },
	                { 
	                	"data": 'triggerTime', 
X
xueli.xue 已提交
81
	                	"render": function ( data, type, row ) {
X
xueli.xue 已提交
82
	                		return data?moment(new Date(data)).format("YYYY-MM-DD HH:mm:ss"):"";
X
xueli.xue 已提交
83 84
	                	}
	                },
X
xueli.xue 已提交
85 86 87
	                { "data": 'triggerStatus'},
	                { 
	                	"data": 'triggerMsg',
X
xueli.xue 已提交
88
	                	"render": function ( data, type, row ) {
X
xueli.xue 已提交
89
	                		return data?'<a class="logTips" href="javascript:;" >查看<span style="display:none;">'+ data +'</span></a>':"";
X
xueli.xue 已提交
90 91
	                	}
	                },
X
xueli.xue 已提交
92 93 94 95 96 97
	                { 
	                	"data": 'handleTime',
	                	"render": function ( data, type, row ) {
	                		return data?moment(new Date(data)).format("YYYY-MM-DD HH:mm:ss"):"";
	                	}
	                },
X
xueli.xue 已提交
98
	                { "data": 'handleStatus',"bSortable": false},
X
xueli.xue 已提交
99 100
	                { 
	                	"data": 'handleMsg',
X
xueli.xue 已提交
101
	                	"render": function ( data, type, row ) {
X
xueli.xue 已提交
102
	                		return data?'<a class="logTips" href="javascript:;" >查看<span style="display:none;">'+ data +'</span></a>':"";
X
xueli.xue 已提交
103
	                	}
104 105 106 107 108 109 110 111 112 113 114 115
	                },
	                { "data": 'handleMsg' , "bSortable": false,
	                	"render": function ( data, type, row ) {
	                		// better support expression or string, not function
	                		return function () {
	                			// local job do not support trigger detail log, now
		                		var _jobData = eval('(' + row.jobData + ')'); 
		                		if (!_jobData.handler_address) {
		                			return;
		                		}
		                		
		                		if (row.triggerStatus == 'SUCCESS'){
X
xueli.xue 已提交
116
		                			var temp = '<a href="javascript:;" class="logDetail" _id="'+ row.id +'">执行日志</a>';
117 118 119 120 121 122 123 124
		                			if(!row.handleStatus){
		                				temp += '<br><a href="javascript:;" class="logKill" _id="'+ row.id +'">终止任务</a>';
		                			}
		                			return temp;
		                		}
		                		return null;	
	                		}
	                	}
X
xueli.xue 已提交
125
	                }
X
xueli.xue 已提交
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
	            ],
		"language" : {
			"sProcessing" : "处理中...",
			"sLengthMenu" : "每页 _MENU_ 条记录",
			"sZeroRecords" : "没有匹配结果",
			"sInfo" : "第 _PAGE_ 页 ( 总共 _PAGES_ 页 )",
			"sInfoEmpty" : "无记录",
			"sInfoFiltered" : "(由 _MAX_ 项结果过滤)",
			"sInfoPostFix" : "",
			"sSearch" : "搜索:",
			"sUrl" : "",
			"sEmptyTable" : "表中数据为空",
			"sLoadingRecords" : "载入中...",
			"sInfoThousands" : ",",
			"oPaginate" : {
				"sFirst" : "首页",
				"sPrevious" : "上页",
				"sNext" : "下页",
				"sLast" : "末页"
			},
			"oAria" : {
				"sSortAscending" : ": 以升序排列此列",
				"sSortDescending" : ": 以降序排列此列"
			}
		}
	});
	
153 154 155 156 157 158
	// 任务数据
	$('#joblog_list').on('click', '.logMsg', function(){
		var msg = $(this).find('span').html();
		ComAlert.show(2, msg);
	});
	
X
xueli.xue 已提交
159 160
	// 日志弹框提示
	$('#joblog_list').on('click', '.logTips', function(){
X
xueli.xue 已提交
161 162
		var msg = $(this).find('span').html();
		ComAlertTec.show(msg);
X
xueli.xue 已提交
163 164
	});
	
X
xueli.xue 已提交
165 166 167 168 169
	// 搜索按钮
	$('#searchBtn').on('click', function(){
		logTable.fnDraw();
	});
	
170 171 172 173
	// 查看执行器详细执行日志
	$('#joblog_list').on('click', '.logDetail', function(){
		var _id = $(this).attr('_id');
		
X
xueli.xue 已提交
174
		window.open(base_url + '/joblog/logDetailPage?id=' + _id);
175 176 177 178 179
		return;
		
		/*
		$.ajax({
			type : 'POST',
X
xueli.xue 已提交
180
			url : base_url + '/joblog/logDetail',
181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198
			data : {"id":_id},
			dataType : "json",
			success : function(data){
				if (data.code == 200) {
					ComAlertTec.show('<pre style="color: white;background-color: black;width2:'+ $(window).width()*2/3 +'px;" >'+ data.content +'</pre>');
				} else {
					ComAlertTec.show(data.msg);
				}
			},
		});
		*/
	});
	
	$('#joblog_list').on('click', '.logKill', function(){
		var _id = $(this).attr('_id');
		ComConfirm.show("确认主动终止任务?", function(){
			$.ajax({
				type : 'POST',
X
xueli.xue 已提交
199
				url : base_url + '/joblog/logKill',
200 201 202 203 204 205 206 207 208 209 210 211 212 213
				data : {"id":_id},
				dataType : "json",
				success : function(data){
					if (data.code == 200) {
						ComAlert.show(1, '操作成功');
						logTable.fnDraw();
					} else {
						ComAlert.show(2, data.msg);
					}
				},
			});
		});
	});
	
X
xueli.xue 已提交
214
});