146 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			HTML
		
	
	
		
		
			
		
	
	
			146 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			HTML
		
	
	
|  | {layout name="layout2" /} | |||
|  | <style> | |||
|  |     .layui-form-item .layui-input-inline { | |||
|  |         width: 240px; | |||
|  |     } | |||
|  | </style> | |||
|  | <div class="layui-form" lay-filter="layuiadmin-form-admin" id="layuiadmin-form-admin" style="padding: 20px 30px 0 0;"> | |||
|  |     <input type="hidden" value="0" name="id"> | |||
|  |     <div class="layui-form-item"> | |||
|  |         <label class="layui-form-label">名称</label> | |||
|  |         <div class="layui-input-inline"> | |||
|  |             <input type="text" name="name" lay-verify="required" lay-vertype="tips" placeholder="请输入名称" | |||
|  |                    autocomplete="off" class="layui-input"> | |||
|  |         </div> | |||
|  |     </div> | |||
|  |     <div class="layui-form-item"> | |||
|  |         <label class="layui-form-label">类型</label> | |||
|  |         <div class="layui-input-inline"> | |||
|  |             <input type="radio" lay-filter="type" name="type" value="1" title="定时任务" checked> | |||
|  |         </div> | |||
|  |     </div> | |||
|  |     <div class="layui-form-item"> | |||
|  |         <label class="layui-form-label">命令</label> | |||
|  |         <div class="layui-input-inline"> | |||
|  |             <input type="text" name="command" lay-verify="required" lay-vertype="tips" | |||
|  |                    placeholder="请输入thinkphp命令,例:version" autocomplete="off" class="layui-input"> | |||
|  |         </div> | |||
|  |     </div> | |||
|  |     <div class="layui-form-item"> | |||
|  |         <label class="layui-form-label">参数</label> | |||
|  |         <div class="layui-input-inline"> | |||
|  |             <input type="text" name="parameter" placeholder="请输入参数,例:--id 8 --name 测试" autocomplete="off" | |||
|  |                    class="layui-input"> | |||
|  |         </div> | |||
|  |     </div> | |||
|  |     <div class="layui-form-item"> | |||
|  |         <label class="layui-form-label">状态</label> | |||
|  |         <div class="layui-input-inline"> | |||
|  |             <input type="checkbox" lay-filter="disable" name="status" lay-skin="switch" lay-text="立即启动|停止" checked> | |||
|  |         </div> | |||
|  |     </div> | |||
|  |     <div class="layui-form-item" id="expression"> | |||
|  |         <label class="layui-form-label">规则</label> | |||
|  |         <div class="layui-input-inline"> | |||
|  |             <input type="text" name="expression" lay-verify="expression_required" lay-vertype="tips" | |||
|  |                    placeholder="请输入crontab规则,例:59 * * * *" autocomplete="off" class="layui-input"> | |||
|  |         </div> | |||
|  |     </div> | |||
|  |     <div class="layui-form-item" id="preview" style="display: none"> | |||
|  |         <label class="layui-form-label">执行预览</label> | |||
|  |         <div class="layui-input-inline"> | |||
|  |             <table class="layui-table"> | |||
|  |                 <colgroup> | |||
|  |                     <col width="60"> | |||
|  |                     <col width="160"> | |||
|  |                 </colgroup> | |||
|  |                 <thead> | |||
|  |                 <tr> | |||
|  |                     <th>次数</th> | |||
|  |                     <th>执行时间</th> | |||
|  |                 </tr> | |||
|  |                 </thead> | |||
|  |                 <tbody id="tbody_lists"> | |||
|  |                 </tbody> | |||
|  |             </table> | |||
|  |         </div> | |||
|  |     </div> | |||
|  |     <div class="layui-form-item layui-form-text"> | |||
|  |         <label class="layui-form-label">备注</label> | |||
|  |         <div class="layui-input-inline"> | |||
|  |             <textarea name="remark" placeholder="请输入内容" class="layui-textarea"></textarea> | |||
|  |         </div> | |||
|  |     </div> | |||
|  |     <div class="layui-form-item layui-hide"> | |||
|  |         <input type="button" lay-submit lay-filter="crontab-submit" id="crontab-submit" value="确认"> | |||
|  |     </div> | |||
|  | </div> | |||
|  | <script src="/static/common/js/array.js"></script> | |||
|  | <script> | |||
|  |     var code; | |||
|  |     layui.config({ | |||
|  |         version:"{$front_version}", | |||
|  |         base: '/static/lib/' //静态资源所在路径 | |||
|  |     }).use(['form'], function () { | |||
|  |         var $ = layui.$ | |||
|  |             , form = layui.form; | |||
|  | 
 | |||
|  |         function preview() { | |||
|  |             expression = $("[name=expression]").val(); | |||
|  |             if (isEmptyString(expression)) { | |||
|  |                 $('#tbody_lists').html(''); | |||
|  |                 $('#preview').hide(); | |||
|  |                 return; | |||
|  |             } | |||
|  |             var data = {'expression': expression}; | |||
|  |             like.ajax({ | |||
|  |                 url: '{:url("system.Crontab/expression")}', | |||
|  |                 data: data, | |||
|  |                 type: "get", | |||
|  |                 success: function (res) { | |||
|  |                     if (res.code == 1) { | |||
|  |                         var html = ''; | |||
|  |                         var data = res.data; | |||
|  |                         for (var i in data) { | |||
|  |                             html += '<tr>'; | |||
|  |                             html += '<td>' + data[i]['time'] + '</td>'; | |||
|  |                             html += '<td>' + data[i]['date'] + '</td>'; | |||
|  |                             html += '</tr>'; | |||
|  |                         } | |||
|  |                         $('#preview').show(); | |||
|  |                         $('#tbody_lists').html(html); | |||
|  |                     } | |||
|  |                 } | |||
|  |             }); | |||
|  |         } | |||
|  | 
 | |||
|  |         $("[name=expression]").bind('input propertychange', function () { | |||
|  |             clearTimeout(code); | |||
|  |             code = setTimeout(function () { | |||
|  |                 preview(); | |||
|  |             }, 1000); | |||
|  |         }); | |||
|  | 
 | |||
|  |         form.on('radio(type)', function (data) { | |||
|  |             if (data.value == 1) { | |||
|  |                 $('#expression').show(); | |||
|  |                 preview(); | |||
|  |             } else { | |||
|  |                 $('#expression').hide(); | |||
|  |                 $('#preview').hide(); | |||
|  |             } | |||
|  |         }); | |||
|  | 
 | |||
|  |         form.verify({ | |||
|  |             expression_required: function (value, item) { | |||
|  |                 if ($('input[name="type"]:checked').val() == 2) { | |||
|  |                     return; | |||
|  |                 } | |||
|  |                 if(isEmptyString(value)){ | |||
|  |                     return '定时任务的规则不能为空'; | |||
|  |                 } | |||
|  |             } | |||
|  |         }); | |||
|  | 
 | |||
|  |     }) | |||
|  | </script> |