Преглед на файлове

任务日志列表交互优化,操作按钮合并为分割按钮;

xuxueli преди 5 години
родител
ревизия
0d1925fcbb
променени са 2 файла, в които са добавени 38 реда и са изтрити 27 реда
  1. 1 0
      doc/XXL-JOB官方文档.md
  2. 37 27
      xxl-job-admin/src/main/resources/static/js/jobinfo.index.1.js

+ 1 - 0
doc/XXL-JOB官方文档.md

@@ -1501,6 +1501,7 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段
 - 14、调度组件销毁流程优化,先停止调度线程,然后等待时间轮内存量任务处理完成,最终销毁时间轮线程;
 - 15、执行器回调线程优化,回调地址为空时销毁问题修复;
 - 16、任务日志主键调整为long,防止海量日志情况下数据溢出;
+- 17、任务日志列表交互优化,操作按钮合并为分割按钮;
 
 
 ### 6.26 版本 v2.1.1 Release Notes[规划中]

+ 37 - 27
xxl-job-admin/src/main/resources/static/js/jobinfo.index.1.js

@@ -33,7 +33,6 @@ $(function() {
 	                { 
 	                	"data": 'jobGroup', 
 	                	"visible" : false,
-						"width":'20%',
 	                	"render": function ( data, type, row ) {
 	            			var groupMenu = $("#jobGroup").find("option");
 	            			for ( var index in $("#jobGroup").find("option")) {
@@ -100,37 +99,48 @@ $(function() {
 	                },
 	                {
 						"data": I18n.system_opt ,
-						"width":'15%',
+						"width":'10%',
 	                	"render": function ( data, type, row ) {
 	                		return function(){
-	                			// status
-	                			var start_stop = "";
+
+                                // status
+                                var start_stop_div = "";
                                 if (1 == row.triggerStatus ) {
-                                    start_stop = '<button class="btn btn-primary btn-xs job_operate" _type="job_pause" type="button">'+ I18n.jobinfo_opt_stop +'</button>  ';
+                                    start_stop_div = '<li><a href="javascript:void(0);" class="job_operate" _type="job_pause" >'+ I18n.jobinfo_opt_stop +'</a></li>\n';
                                 } else {
-                                    start_stop = '<button class="btn btn-primary btn-xs job_operate" _type="job_resume" type="button">'+ I18n.jobinfo_opt_start +'</button>  ';
-								}
+                                    start_stop_div = '<li><a href="javascript:void(0);" class="job_operate" _type="job_resume" >'+ I18n.jobinfo_opt_start +'</a></li>\n';
+                                }
 
-	                			// log url
-	                			var logUrl = base_url +'/joblog?jobId='+ row.id;
-	                			
-	                			// log url
-	                			var codeBtn = "";
+                                // log url
+                                var logHref = base_url +'/joblog?jobId='+ row.id;
+
+                                // log url
+                                var codeBtn = "";
                                 if ('BEAN' != row.glueType) {
-									var codeUrl = base_url +'/jobcode?jobId='+ row.id;
-									codeBtn = '<a href="'+ codeUrl +'" target="_blank" > <button class="btn btn-warning btn-xs" type="button" >GLUE</button> </a> '
-								}
+                                    var codeUrl = base_url +'/jobcode?jobId='+ row.id;
+                                    codeBtn = '<li><a href="'+ codeUrl +'" target="_blank" >GLUE IDE</a></li>\n';
+                                }
 
-								// html
+                                // data
                                 tableData['key'+row.id] = row;
-								var html = '<p id="'+ row.id +'" >'+
-									'<button class="btn btn-primary btn-xs job_trigger" type="button">'+ I18n.jobinfo_opt_run +'</button>  '+
-                                    start_stop +
-									'<a href="'+ logUrl +'"> <button class="btn btn-primary btn-xs" type="job_del" type="button" >'+ I18n.jobinfo_opt_log +'</button> </a> <br>  '+
-									'<button class="btn btn-warning btn-xs update" type="button">'+ I18n.system_opt_edit +'</button>  '+
-									codeBtn +
-									'<button class="btn btn-danger btn-xs job_operate" _type="job_del" type="button">'+ I18n.system_opt_del +'</button>  '+
-									'</p>';
+
+                                // opt
+                                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="job_trigger" >'+ I18n.jobinfo_opt_run +'</a></li>\n' +
+                                    start_stop_div +
+                                    '       <li><a href="'+ logHref +'">'+ I18n.jobinfo_opt_log +'</a></li>\n' +
+                                    '       <li class="divider"></li>\n' +
+                                    '       <li><a href="javascript:void(0);" class="update" >'+ I18n.system_opt_edit +'</a></li>\n' +
+                                    codeBtn +
+                                    '       <li><a href="javascript:void(0);" class="job_operate" _type="job_del" >'+ I18n.system_opt_del +'</a></li>\n' +
+                                    '     </ul>\n' +
+                                    '   </div>';
 
 	                			return html;
 							};
@@ -201,7 +211,7 @@ $(function() {
 			return;
 		}
 		
-		var id = $(this).parent('p').attr("id");
+		var id = $(this).parents('ul').attr("_id");
 
 		layer.confirm( I18n.system_ok + typeName + '?', {
 			icon: 3,
@@ -234,7 +244,7 @@ $(function() {
 
     // job trigger
     $("#job_list").on('click', '.job_trigger',function() {
-        var id = $(this).parent('p').attr("id");
+        var id = $(this).parents('ul').attr("_id");
         var row = tableData['key'+id];
 
         $("#jobTriggerModal .form input[name='id']").val( row.id );
@@ -404,7 +414,7 @@ $(function() {
 	// update
 	$("#job_list").on('click', '.update',function() {
 
-        var id = $(this).parent('p').attr("id");
+        var id = $(this).parents('ul').attr("_id");
         var row = tableData['key'+id];
 
 		// base data