edit.html 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. <!DOCTYPE html>
  2. <html lang="zh" xmlns:th="http://www.thymeleaf.org" >
  3. <head>
  4. <th:block th:include="include :: header('修改定时任务')" />
  5. </head>
  6. <body class="white-bg">
  7. <div class="wrapper wrapper-content animated fadeInRight ibox-content">
  8. <form class="form-horizontal m" id="form-job-edit" th:object="${job}">
  9. <input id="jobId" name="jobId" type="hidden" th:field="*{jobId}"/>
  10. <input type="hidden" name="updateBy" th:value="${@permission.getPrincipalProperty('loginName')}">
  11. <div class="form-group">
  12. <label class="col-sm-3 control-label is-required">任务名称:</label>
  13. <div class="col-sm-8">
  14. <input class="form-control" type="text" name="jobName" id="jobName" th:field="*{jobName}" required>
  15. </div>
  16. </div>
  17. <div class="form-group">
  18. <label class="col-sm-3 control-label">任务分组:</label>
  19. <div class="col-sm-8">
  20. <select name="jobGroup" class="form-control m-b" th:with="type=${@dict.getType('sys_job_group')}">
  21. <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{jobGroup}"></option>
  22. </select>
  23. </div>
  24. </div>
  25. <div class="form-group">
  26. <label class="col-sm-3 control-label is-required">调用目标字符串:</label>
  27. <div class="col-sm-8">
  28. <input class="form-control" type="text" name="invokeTarget" id="invokeTarget" th:field="*{invokeTarget}" required>
  29. <span class="help-block m-b-none"><i class="fa fa-info-circle"></i> Bean调用示例:ryTask.ryParams('ry')</span>
  30. <span class="help-block m-b-none"><i class="fa fa-info-circle"></i> Class类调用示例:com.ruoyi.quartz.task.RyTask.ryParams('ry')</span>
  31. <span class="help-block m-b-none"><i class="fa fa-info-circle"></i> 参数说明:支持字符串,布尔类型,长整型,浮点型,整型</span>
  32. </div>
  33. </div>
  34. <div class="form-group">
  35. <label class="col-sm-3 control-label is-required">cron表达式:</label>
  36. <div class="col-sm-8">
  37. <input class="form-control" type="text" name="cronExpression" id="cronExpression" th:field="*{cronExpression}" required>
  38. </div>
  39. </div>
  40. <div class="form-group">
  41. <label class="col-sm-3 control-label">执行策略:</label>
  42. <div class="col-sm-8">
  43. <label class="radio-box"> <input type="radio" th:field="*{misfirePolicy}" name="misfirePolicy" value="1" /> 立即执行 </label>
  44. <label class="radio-box"> <input type="radio" th:field="*{misfirePolicy}" name="misfirePolicy" value="2" /> 执行一次 </label>
  45. <label class="radio-box"> <input type="radio" th:field="*{misfirePolicy}" name="misfirePolicy" value="3" /> 放弃执行 </label>
  46. </div>
  47. </div>
  48. <div class="form-group">
  49. <label class="col-sm-3 control-label">并发执行:</label>
  50. <div class="col-sm-8">
  51. <label class="radio-box"> <input type="radio" th:field="*{concurrent}" name="concurrent" value="0"/> 允许 </label>
  52. <label class="radio-box"> <input type="radio" th:field="*{concurrent}" name="concurrent" value="1"/> 禁止 </label>
  53. </div>
  54. </div>
  55. <div class="form-group">
  56. <label class="col-sm-3 control-label">状态:</label>
  57. <div class="col-sm-8">
  58. <div class="radio-box" th:each="dict : ${@dict.getType('sys_job_status')}">
  59. <input type="radio" th:id="${dict.dictCode}" name="status" th:value="${dict.dictValue}" th:field="*{status}">
  60. <label th:for="${dict.dictCode}" th:text="${dict.dictLabel}"></label>
  61. </div>
  62. </div>
  63. </div>
  64. <div class="form-group">
  65. <label class="col-sm-3 control-label">备注:</label>
  66. <div class="col-sm-8">
  67. <textarea id="remark" name="remark" class="form-control">[[*{remark}]]</textarea>
  68. </div>
  69. </div>
  70. </form>
  71. </div>
  72. <th:block th:include="include :: footer" />
  73. <script type="text/javascript">
  74. var prefix = ctx + "monitor/job";
  75. $("#form-job-edit").validate({
  76. onkeyup: false,
  77. rules:{
  78. cronExpression:{
  79. required:true,
  80. remote: {
  81. url: prefix + "/checkCronExpressionIsValid",
  82. type: "post",
  83. dataType: "json",
  84. data: {
  85. "cronExpression": function() {
  86. return $.common.trim($("#cronExpression").val());
  87. }
  88. },
  89. dataFilter: function(data, type) {
  90. return data;
  91. }
  92. }
  93. },
  94. },
  95. messages: {
  96. "cronExpression": {
  97. remote: "表达式不正确"
  98. }
  99. },
  100. focusCleanup: true
  101. });
  102. function submitHandler() {
  103. if ($.validate.form()) {
  104. $.operate.save(prefix + "/edit", $('#form-job-edit').serialize());
  105. }
  106. }
  107. </script>
  108. </body>
  109. </html>