Kaynağa Gözat

定时任务&角色管理添加更多操作按钮

RuoYi 5 yıl önce
ebeveyn
işleme
55da596a80

+ 6 - 6
ruoyi-admin/src/main/resources/static/css/style.css

@@ -763,15 +763,15 @@ body.canvas-menu.mini-navbar nav.navbar-static-side {
 }
 
 .btn-default {
-    background-color: #c2c2c2;
-    border-color: #c2c2c2;
-    color: #FFFFFF;
+    background-color: #f4f4f4;
+    border-color: #ddd;
+    color: #444;
 }
 
 .btn-default:hover, .btn-default:focus, .btn-default:active,  .btn-default.active, .open .dropdown-toggle.btn-default {
-    background-color: #bababa;
-    border-color: #bababa;
-    color: #FFFFFF;
+    background-color: #e7e7e7;
+    border-color: #e7e7e7;
+    color: #444;
 }
 
 .btn-default:active, .btn-default.active, .open .dropdown-toggle.btn-default {

+ 19 - 0
ruoyi-admin/src/main/resources/static/ruoyi/css/ry-ui.css

@@ -1014,6 +1014,25 @@ label {
     background-color: #F5F5F5;
 }
 
+/** 气泡弹出框样式 **/
+.popover {
+	font-size: 13px;
+	max-width: unset;
+}
+
+.popover-title {
+	padding: 8px 14px;
+	margin: 0 !important;
+	font-size: 14px;
+	background-color: #f7f7f7;
+	border-bottom: 1px solid #ebebeb;
+	border-radius: 5px 5px 0 0;
+}
+
+.popover-content {
+	padding: 5px;
+}
+
 ::-webkit-scrollbar {
     width: 6px;
     height: 10px;

+ 21 - 1
ruoyi-admin/src/main/resources/static/ruoyi/js/ry-ui.js

@@ -253,7 +253,27 @@ var table = {
             		table.options.onLoadSuccess(data);
             	}
             	// 浮动提示框特效
-            	$("[data-toggle='tooltip']").tooltip();
+            	$(".table [data-toggle='tooltip']").tooltip();
+            	
+            	// 气泡弹出框特效
+            	$('.table [data-toggle="popover"]').each(function() {
+            	    $(this).popover({ trigger: "manual", html: true, animation: false, container: "body", placement: "left" 
+            	    }).on("mouseenter",
+                        function() {
+	            	        var _this = this;
+	            	        $(this).popover("show");
+	            	        $(".popover").on("mouseleave", function() {
+                                $(_this).popover('hide'); 
+	            	        });
+            	    }).on("mouseleave",
+                        function() {
+            	            var _this = this;
+	            	        setTimeout(function() {
+		            	        if (!$(".popover:hover").length)
+			            	        $(_this).popover("hide");
+            	        }, 100);
+            	    });
+            	});
             },
             // 表格销毁
             destroy: function (tableId) {

+ 4 - 2
ruoyi-admin/src/main/resources/templates/system/role/role.html

@@ -114,9 +114,11 @@
 		            formatter: function(value, row, index) {
 		                var actions = [];
 		                actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.roleId + '\')"><i class="fa fa-edit"></i>编辑</a> ');
-		                actions.push('<a class="btn btn-primary btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="authDataScope(\'' + row.roleId + '\')"><i class="fa fa-check-square-o"></i>数据权限</a> ');
-		                actions.push('<a class="btn btn-info btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="authUser(\'' + row.roleId + '\')"><i class="fa fa-user"></i>分配用户</a> ');
 		                actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.roleId + '\')"><i class="fa fa-remove"></i>删除</a> ');
+		                var more = [];
+		                more.push("<a class='btn btn-default btn-xs " + editFlag + "' href='javascript:void(0)' onclick='authDataScope(" + row.roleId + ")'><i class='fa fa-check-square-o'></i>数据权限</a> ");
+		                more.push("<a class='btn btn-default btn-xs " + editFlag + "' href='javascript:void(0)' onclick='authUser(" + row.roleId + ")'><i class='fa fa-user'></i>分配用户</a> ");
+		                actions.push('<a class="btn btn-info btn-xs" data-toggle="popover" data-content="' + more.join('') + '"><i class="fa fa-chevron-circle-right"></i>更多操作</a>');
 		                return actions.join('');
 		            }
 		        }]

+ 3 - 4
ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/SysJobServiceImpl.java

@@ -179,12 +179,11 @@ public class SysJobServiceImpl implements ISysJobService
     public void run(SysJob job) throws SchedulerException
     {
         Long jobId = job.getJobId();
-        String jobGroup = job.getJobGroup();
-        SysJob properties = selectJobById(job.getJobId());
+        SysJob tmpObj = selectJobById(job.getJobId());
         // 参数
         JobDataMap dataMap = new JobDataMap();
-        dataMap.put(ScheduleConstants.TASK_PROPERTIES, properties);
-        scheduler.triggerJob(ScheduleUtils.getJobKey(jobId, jobGroup), dataMap);
+        dataMap.put(ScheduleConstants.TASK_PROPERTIES, tmpObj);
+        scheduler.triggerJob(ScheduleUtils.getJobKey(jobId, tmpObj.getJobGroup()), dataMap);
     }
 
     /**

+ 8 - 4
ruoyi-quartz/src/main/resources/templates/monitor/job/job.html

@@ -124,8 +124,12 @@
 		            align: 'center',
 		            formatter: function(value, row, index) {
 		                var actions = [];
-		                actions.push('<a class="btn btn-primary btn-xs ' + statusFlag + '" href="javascript:void(0)" onclick="run(\'' + row.jobId + '\', \'' + row.jobGroup + '\')"><i class="fa fa-play-circle-o"></i> 执行一次</a> ');
-		                actions.push('<a class="btn btn-warning btn-xs ' + detailFlag + '" href="javascript:void(0)" onclick="$.operate.detail(\'' + row.jobId + '\')"><i class="fa fa-search"></i>详细</a> ');
+		                actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="#" onclick="$.operate.edit(\'' + row.jobId + '\')"><i class="fa fa-edit"></i>编辑</a> ');
+		                actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="$.operate.remove(\'' + row.jobId + '\')"><i class="fa fa-remove"></i>删除</a> ');
+		                var more = [];
+		                more.push("<a class='btn btn-default btn-xs " + statusFlag + "' href='javascript:void(0)' onclick='run(" + row.jobId + ")'><i class='fa fa-play-circle-o'></i> 执行一次</a> ");
+		                more.push("<a class='btn btn-default btn-xs " + detailFlag + "' href='javascript:void(0)' onclick='$.operate.detail(" + row.jobId + ")'><i class='fa fa-search'></i>任务详细</a> ");
+		                actions.push('<a class="btn btn-info btn-xs" data-toggle="popover" data-content="' + more.join('') + '"><i class="fa fa-chevron-circle-right"></i>更多操作</a>');
 		                return actions.join('');
 		            }
 		        }]
@@ -143,9 +147,9 @@
 		}
 		
 		/* 立即执行一次 */
-		function run(jobId, jobGroup) {
+		function run(jobId) {
 			$.modal.confirm("确认要立即执行一次任务吗?", function() {
-				$.operate.post(prefix + "/run", { "jobId": jobId, "jobGroup": jobGroup});
+				$.operate.post(prefix + "/run", { "jobId": jobId});
 		    })
 		}