diff --git a/doc/XXL-JOB官方文档.md b/doc/XXL-JOB官方文档.md index 286c062e..c87bccc3 100644 --- a/doc/XXL-JOB官方文档.md +++ b/doc/XXL-JOB官方文档.md @@ -1729,8 +1729,8 @@ data: post-data ``` - 15、执行器注册逻辑优化:新增配置项 ”注册地址 / xxl.job.executor.address“,优先使用该配置作为注册地址,为空时使用内嵌服务 ”IP:PORT“ 作为注册地址。从而更灵活的支持容器类型执行器动态IP和动态映射端口问题。 - 16、执行器初始化逻辑优化:修复懒加载的Bean被提前初始化问题; -- 17、[迭代中]自定义失败重试时间间隔; -- 18、[迭代中]任务复制功能;点击复制是弹出新建任务弹框,并初始化被复制任务信息; +- 17、任务复制功能:点击复制是弹出新建任务弹框,并初始化被复制任务信息; +- 18、[迭代中]自定义失败重试时间间隔; - 19、[迭代中]新增执行器描述、任务描述属性; - 20、[迭代中]任务执行一次的时候指定IP; - 21、[迭代中]任务日志支持单个清理和状态转移,方便触发子任务; diff --git a/xxl-job-admin/src/main/resources/i18n/message_en.properties b/xxl-job-admin/src/main/resources/i18n/message_en.properties index 3a7c6800..1b168bfb 100644 --- a/xxl-job-admin/src/main/resources/i18n/message_en.properties +++ b/xxl-job-admin/src/main/resources/i18n/message_en.properties @@ -26,8 +26,9 @@ system_show=Show system_empty=Empty system_opt_suc=operate success system_opt_fail=operate fail -system_opt_edit=Edit -system_opt_del=Delete +system_opt_edit=Edit +system_opt_del=Delete +system_opt_copy=Copy system_unvalid=illegal system_not_found=not exist system_nav=Navigation diff --git a/xxl-job-admin/src/main/resources/i18n/message_zh_CN.properties b/xxl-job-admin/src/main/resources/i18n/message_zh_CN.properties index ea4d4767..3199fc24 100644 --- a/xxl-job-admin/src/main/resources/i18n/message_zh_CN.properties +++ b/xxl-job-admin/src/main/resources/i18n/message_zh_CN.properties @@ -28,6 +28,7 @@ system_opt_suc=操作成功 system_opt_fail=操作失败 system_opt_edit=编辑 system_opt_del=删除 +system_opt_copy=复制 system_unvalid=非法 system_not_found=不存在 system_nav=导航 diff --git a/xxl-job-admin/src/main/resources/i18n/message_zh_TC.properties b/xxl-job-admin/src/main/resources/i18n/message_zh_TC.properties index 0703a050..84b76402 100755 --- a/xxl-job-admin/src/main/resources/i18n/message_zh_TC.properties +++ b/xxl-job-admin/src/main/resources/i18n/message_zh_TC.properties @@ -28,6 +28,7 @@ system_opt_suc=操作成功 system_opt_fail=操作失敗 system_opt_edit=編輯 system_opt_del=刪除 +system_opt_copy=復制 system_unvalid=非法 system_not_found=不存在 system_nav=導航 diff --git a/xxl-job-admin/src/main/resources/static/js/jobinfo.index.1.js b/xxl-job-admin/src/main/resources/static/js/jobinfo.index.1.js index 815c26fe..b0082792 100644 --- a/xxl-job-admin/src/main/resources/static/js/jobinfo.index.1.js +++ b/xxl-job-admin/src/main/resources/static/js/jobinfo.index.1.js @@ -142,6 +142,7 @@ $(function() { start_stop_div + '
  • '+ I18n.system_opt_edit +'
  • \n' + '
  • '+ I18n.system_opt_del +'
  • \n' + + '
  • '+ I18n.system_opt_copy +'
  • \n' + ' \n' + ' '; @@ -645,4 +646,36 @@ $(function() { return glueTypeTitle; } + // job_copy + $("#job_list").on('click', '.job_copy',function() { + + var id = $(this).parents('ul').attr("_id"); + var row = tableData['key'+id]; + + // base data + //$("#addModal .form input[name='id']").val( row.id ); + $('#addModal .form select[name=jobGroup] option[value='+ row.jobGroup +']').prop('selected', true); + $("#addModal .form input[name='jobDesc']").val( row.jobDesc ); + $("#addModal .form input[name='jobCron']").val( row.jobCron ); + $("#addModal .form input[name='author']").val( row.author ); + $("#addModal .form input[name='alarmEmail']").val( row.alarmEmail ); + $("#addModal .form input[name='executorTimeout']").val( row.executorTimeout ); + $("#addModal .form input[name='executorFailRetryCount']").val( row.executorFailRetryCount ); + $('#addModal .form select[name=executorRouteStrategy] option[value='+ row.executorRouteStrategy +']').prop('selected', true); + $("#addModal .form input[name='executorHandler']").val( row.executorHandler ); + $("#addModal .form textarea[name='executorParam']").val( row.executorParam ); + $("#addModal .form input[name='childJobId']").val( row.childJobId ); + $('#addModal .form select[name=executorBlockStrategy] option[value='+ row.executorBlockStrategy +']').prop('selected', true); + $('#addModal .form select[name=glueType] option[value='+ row.glueType +']').prop('selected', true); + + $("#addModal .form select[name=glueType]").change(); + + // init-cronGen + $("#addModal .form input[name='jobCron']").show().siblings().remove(); + $("#addModal .form input[name='jobCron']").cronGen({}); + + // show + $('#addModal').modal({backdrop: false, keyboard: false}).modal('show'); + }); + });