| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334 | $(function() {	// 任务组列表选中, 任务列表初始化和选中	$("#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" >全部</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: '系统提示',						content: (data.msg || "接口异常"),						icon: '2'					});				}			},		});	});	if ($("#jobGroup").attr("paramVal")){		$("#jobGroup").find("option[value='" + $("#jobGroup").attr("paramVal") + "']").attr("selected",true);        $("#jobGroup").change();	}	// 过滤时间	$('#filterTime').daterangepicker({        autoApply:false,        singleDatePicker:false,        showDropdowns:false,        // 是否显示年月选择条件		timePicker: true, 			// 是否显示小时和分钟选择条件		timePickerIncrement: 10, 	// 时间的增量,单位为分钟        timePicker24Hour : true,        opens : 'left', //日期选择框的弹出位置		ranges: {			'最近1小时': [moment().subtract(1, 'hours'), moment()],			'今日': [moment().startOf('day'), moment().endOf('day')],			'昨日': [moment().subtract(1, 'days').startOf('day'), moment().subtract(1, 'days').endOf('day')],			'最近7日': [moment().subtract(6, 'days'), moment()],			'最近30日': [moment().subtract(29, 'days'), moment()],			'本月': [moment().startOf('month'), moment().endOf('month')],			'上个月': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')]		},        locale : {            format: 'YYYY-MM-DD HH:mm:ss',            separator : ' - ',        	customRangeLabel : '自定义',            applyLabel : '确定',            cancelLabel : '取消',            fromLabel : '起始时间',            toLabel : '结束时间',            daysOfWeek : [ '日', '一', '二', '三', '四', '五', '六' ],            monthNames : [ '一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月' ],            firstDay : 1,            startDate: moment().startOf('day'),            endDate: moment().endOf('day')        }	});	// init date tables	var logTable = $("#joblog_list").dataTable({		"deferRender": true,		"processing" : true, 	    "serverSide": true,		"ajax": {	        url: base_url + "/joblog/pageList" ,	        data : function ( d ) {	        	var obj = {};	        	obj.jobGroup = $('#jobGroup').val();	        	obj.jobId = $('#jobId').val();				obj.filterTime = $('#filterTime').val();	        	obj.start = d.start;	        	obj.length = d.length;                return obj;            }	    },	    "searching": false,	    "ordering": false,	    //"scrollX": false,	    "columns": [	                { "data": 'id', "bSortable": false, "visible" : false},					{ "data": 'jobGroup', "visible" : false},	                { "data": 'jobId', "visible" : false},					{						"data": 'triggerTime',						"render": function ( data, type, row ) {							return data?moment(new Date(data)).format("YYYY-MM-DD HH:mm:ss"):"";						}					},					{						"data": 'triggerCode',						"render": function ( data, type, row ) {							return (data==200)?'<span style="color: green">成功</span>':(data==500)?'<span style="color: red">失败</span>':(data==0)?'':data;						}					},					{						"data": 'triggerMsg',						"render": function ( data, type, row ) {							return data?'<a class="logTips" href="javascript:;" >查看<span style="display:none;">'+ data +'</span></a>':"无";						}					},	                { "data": 'executorAddress', "visible" : true},					{						"data": 'glueType',						"visible" : true,						"render": function ( data, type, row ) {							if ('GLUE_GROOVY'==row.glueType) {								return "GLUE模式(Java)";							} else if ('GLUE_SHELL'==row.glueType) {								return "GLUE模式(Shell)";							} else if ('GLUE_PYTHON'==row.glueType) {								return "GLUE模式(Python)";							} else if ('BEAN'==row.glueType) {								return "BEAN模式:" + row.executorHandler;							}							return row.executorHandler;						}					},	                { "data": 'executorParam', "visible" : true},	                { 	                	"data": 'handleTime',	                	"render": function ( data, type, row ) {	                		return data?moment(new Date(data)).format("YYYY-MM-DD HH:mm:ss"):"";	                	}	                },	                {						"data": 'handleCode',						"render": function ( data, type, row ) {							return (data==200)?'<span style="color: green">成功</span>':(data==500)?'<span style="color: red">失败</span>':(data==0)?'':data;						}	                },	                { 	                	"data": 'handleMsg',	                	"render": function ( data, type, row ) {	                		return data?'<a class="logTips" href="javascript:;" >查看<span style="display:none;">'+ data +'</span></a>':"无";	                	}	                },	                {						"data": 'handleMsg' ,						"bSortable": false,						"width": "8%" ,	                	"render": function ( data, type, row ) {	                		// better support expression or string, not function	                		return function () {		                		if (row.triggerCode == 200){		                			var temp = '<a href="javascript:;" class="logDetail" _id="'+ row.id +'">执行日志</a>';		                			if(row.handleCode == 0){		                				temp += '<br><a href="javascript:;" class="logKill" _id="'+ row.id +'" style="color: red;" >终止任务</a>';		                			}		                			return temp;		                		}		                		return null;		                		}	                	}	                }	            ],		"language" : {			"sProcessing" : "处理中...",			"sLengthMenu" : "每页 _MENU_ 条记录",			"sZeroRecords" : "没有匹配结果",			"sInfo" : "第 _PAGE_ 页 ( 总共 _PAGES_ 页,_TOTAL_ 条记录 )",			"sInfoEmpty" : "无记录",			"sInfoFiltered" : "(由 _MAX_ 项结果过滤)",			"sInfoPostFix" : "",			"sSearch" : "搜索:",			"sUrl" : "",			"sEmptyTable" : "表中数据为空",			"sLoadingRecords" : "载入中...",			"sInfoThousands" : ",",			"oPaginate" : {				"sFirst" : "首页",				"sPrevious" : "上页",				"sNext" : "下页",				"sLast" : "末页"			},			"oAria" : {				"sSortAscending" : ": 以升序排列此列",				"sSortDescending" : ": 以降序排列此列"			}		}	});		// 日志弹框提示	$('#joblog_list').on('click', '.logTips', function(){		var msg = $(this).find('span').html();		ComAlertTec.show(msg);	});		// 搜索按钮	$('#searchBtn').on('click', function(){		logTable.fnDraw();	});		// 查看执行器详细执行日志	$('#joblog_list').on('click', '.logDetail', function(){		var _id = $(this).attr('_id');				window.open(base_url + '/joblog/logDetailPage?id=' + _id);		return;	});	/**	 * 终止任务	 */	$('#joblog_list').on('click', '.logKill', function(){		var _id = $(this).attr('_id');        layer.confirm('确认主动终止任务?', {icon: 3, title:'系统提示'}, 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: '系统提示',                            content: '操作成功',                            icon: '1',                            end: function(layero, index){                                logTable.fnDraw();                            }                        });                    } else {                        layer.open({                            title: '系统提示',                            content: (data.msg || "操作失败"),                            icon: '2'                        });                    }                },            });        });	});	/**	 * 清理任务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: '系统提示',					content: '日志清理成功',					icon: '1',					end: function(layero, index){						logTable.fnDraw();					}				});			} else {				layer.open({					title: '系统提示',					content: (data.msg || "日志清理失败"),					icon: '2'				});			}		});	});	$("#clearLogModal").on('hide.bs.modal', function () {		$("#clearLogModal .form")[0].reset();	});});// 提示-科技主题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">' +			'<div class="modal-content-tec">' +			'<div class="modal-body"><div class="alert" style="color:#fff;"></div></div>' +			'<div class="modal-footer">' +			'<div class="text-center" >' +			'<button type="button" class="btn btn-info ok" data-dismiss="modal" >确认</button>' +			'</div>' +			'</div>' +			'</div>' +			'</div>' +			'</div>';		return html;	},	show:function(msg, callback){		// dom init		if ($('#ComAlertTec').length == 0){			$('body').append(ComAlertTec.html());		}		// 弹框初始		$('#ComAlertTec .alert').html(msg);		$('#ComAlertTec').modal('show');		$('#ComAlertTec .ok').click(function(){			$('#ComAlertTec').modal('hide');			if(typeof callback == 'function') {				callback();			}		});	}};
 |