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> |