Browse Source

修改任务管理

邹景立 3 years ago
parent
commit
9c072d44c8

+ 10 - 10
app/admin/view/auth/index.html

@@ -2,7 +2,7 @@
 
 {block name="button"}
 <!--{if auth("add")}-->
-<button data-modal='{:url("add")}' data-title="添加权限" class='layui-btn layui-btn-sm layui-btn-primary'>添加权限</button>
+<button data-modal='{:url("add")}' data-table-id="RoleData" class='layui-btn layui-btn-sm layui-btn-primary'>添加权限</button>
 <!--{/if}-->
 
 <!--{if auth("remove")}-->
@@ -26,17 +26,17 @@
             sort: {field: 'sort desc,id', type: 'desc'},
             cols: [[
                 {checkbox: true, fixed: true},
-                {field: 'sort', title: '排序权重', align: 'center', width: 100, sort: true, templet: '#SortInputTpl'},
+                {field: 'sort', title: '排序权重', align: 'center', width: 100, sort: true, templet: '#SortInputRoleDataTpl'},
                 {field: 'title', title: '权限名称', align: 'center', minWidth: 140},
                 {field: 'desc', title: '权限描述', align: 'center', minWidth: 110, templet: '<div>{{d.desc||"-"}}</div>'},
-                {field: 'status', title: '权限状态', align: 'center', minWidth: 110, templet: '#StatusSwitchTpl'},
+                {field: 'status', title: '权限状态', align: 'center', minWidth: 110, templet: '#StatusSwitchRoleDataTpl'},
                 {field: 'create_at', title: '创建时间', align: 'center', minWidth: 170, sort: true},
-                {toolbar: '#toolbar', title: '操作面板', align: 'center', minWidth: 210, fixed: 'right'},
+                {toolbar: '#ToolbarRoleDataTpl', title: '操作面板', align: 'center', minWidth: 210, fixed: 'right'},
             ]]
         });
 
         // 数据状态切换操作
-        layui.form.on('switch(StatusSwitch)', function (obj) {
+        layui.form.on('switch(StatusSwitchRoleData)', function (obj) {
             $.form.load("{:url('state')}", {id: obj.value, status: obj.elem.checked > 0 ? 1 : 0}, 'post', function (ret) {
                 if (ret.code < 1) $.msg.error(ret.info, 3, function () {
                     $('#RoleData').trigger('reload'); // 操作异常时重载数据
@@ -49,21 +49,21 @@
 </script>
 
 <!-- 列表排序权重模板 -->
-<script type="text/html" id="SortInputTpl">
-    <input min="0" type="number" data-blur-number="0" data-action-blur="{:sysuri()}" data-value="id#{{d.id}};action#sort;sort#{value}" data-loading="false" value="{{d.sort}}" class="layui-input text-center">
+<script type="text/html" id="SortInputRoleDataTpl">
+    <input type="number" min="0" data-blur-number="0" data-action-blur="{:sysuri()}" data-value="id#{{d.id}};action#sort;sort#{value}" data-loading="false" value="{{d.sort}}" class="layui-input text-center">
 </script>
 
 <!-- 数据状态切换模板 -->
-<script type="text/html" id="StatusSwitchTpl">
+<script type="text/html" id="StatusSwitchRoleDataTpl">
     <!--{if auth("state")}-->
-    <input type="checkbox" value="{{d.id}}" lay-skin="switch" lay-text="已激活|已禁用" lay-filter="StatusSwitch" {{d.status>0?'checked':''}}>
+    <input type="checkbox" value="{{d.id}}" lay-skin="switch" lay-text="已激活|已禁用" lay-filter="StatusSwitchRoleData" {{d.status>0?'checked':''}}>
     <!--{else}-->
     {{d.status ? '<b class="color-green">已启用</b>' : '<b class="color-red">已禁用</b>'}}
     <!--{/if}-->
 </script>
 
 <!-- 数据操作工具条模板 -->
-<script type="text/html" id="toolbar">
+<script type="text/html" id="ToolbarRoleDataTpl">
     <!--{if auth('edit')}-->
     <a class="layui-btn layui-btn-primary layui-btn-sm" data-title="编辑权限" data-modal='{:url("edit")}?id={{d.id}}'>编 辑</a>
     <!--{/if}-->

+ 1 - 3
app/admin/view/auth/index_search.html

@@ -42,6 +42,4 @@
             <button class="layui-btn layui-btn-primary"><i class="layui-icon">&#xe615;</i> 搜 索</button>
         </div>
     </form>
-
-    <script>layui.form.render()</script>
-</fieldset>
+</fieldset>

+ 0 - 1
app/admin/view/base/form.html

@@ -15,7 +15,6 @@
                 {/if}{/foreach}
             </select>
             <script>
-                layui.form.render();
                 (function (callable) {
                     layui.form.on('select(DataType)', callable);
                     callable({value: "{$vo.type|default=''}" || $('[lay-filter=DataType]').val()});

+ 1 - 1
app/admin/view/base/index.html

@@ -2,7 +2,7 @@
 
 {block name="button"}
 <!--{if auth("add")}-->
-<button data-modal='{:url("add")}?type={$type|default=""}' data-title="添加数据" class='layui-btn layui-btn-sm layui-btn-primary'>添加数据</button>
+<button data-modal='{:url("add")}?type={$type|default=""}' data-table-id="BaseData" data-title="添加数据" class='layui-btn layui-btn-sm layui-btn-primary'>添加数据</button>
 <!--{/if}-->
 
 <!--{if auth("remove")}-->

+ 1 - 1
app/admin/view/oplog/index.html

@@ -5,7 +5,7 @@
 <button data-action='{:url("remove")}' data-rule="id#{id}" data-table-id="OplogData" data-confirm="确定要删除选中的日志吗?" class='layui-btn layui-btn-sm layui-btn-primary'>批量删除</button>
 <!--{/if}-->
 <!--{if auth("clear")}-->
-<button data-load='{:url("clear")}' data-confirm="确定要清空所有日志吗?" class='layui-btn layui-btn-sm layui-btn-primary'>清空日志</button>
+<button data-load='{:url("clear")}' data-table-id="OplogData" data-confirm="确定要清空所有日志吗?" class='layui-btn layui-btn-sm layui-btn-primary'>清空日志</button>
 <!--{/if}-->
 {/block}
 

+ 7 - 1
app/admin/view/oplog/index_search.html

@@ -1,6 +1,7 @@
 <fieldset>
     <legend>条件搜索</legend>
     <form class="layui-form layui-form-pane form-search" action="{:sysuri()}" onsubmit="return false" method="get" autocomplete="off">
+
         <div class="layui-form-item layui-inline">
             <label class="layui-form-label">操作账号</label>
             <div class="layui-input-inline">
@@ -14,12 +15,14 @@
                 </select>
             </div>
         </div>
+
         <div class="layui-form-item layui-inline">
             <label class="layui-form-label">操作节点</label>
             <label class="layui-input-inline">
                 <input name="node" value="{$get.node|default=''}" placeholder="请输入操作内容" class="layui-input">
             </label>
         </div>
+
         <div class="layui-form-item layui-inline">
             <label class="layui-form-label">操作行为</label>
             <div class="layui-input-inline">
@@ -33,24 +36,28 @@
                 </select>
             </div>
         </div>
+
         <div class="layui-form-item layui-inline">
             <label class="layui-form-label">操作描述</label>
             <label class="layui-input-inline">
                 <input name="content" value="{$get.content|default=''}" placeholder="请输入操作内容" class="layui-input">
             </label>
         </div>
+
         <div class="layui-form-item layui-inline">
             <label class="layui-form-label">访问地址</label>
             <label class="layui-input-inline">
                 <input name="geoip" value="{$get.geoip|default=''}" placeholder="请输入访问地址" class="layui-input">
             </label>
         </div>
+
         <div class="layui-form-item layui-inline">
             <label class="layui-form-label">操作时间</label>
             <label class="layui-input-inline">
                 <input data-date-range name="create_at" value="{$get.create_at|default=''}" placeholder="请选择操作时间" class="layui-input">
             </label>
         </div>
+
         <div class="layui-form-item layui-inline">
             <button type="submit" class="layui-btn layui-btn-primary"><i class="layui-icon">&#xe615;</i> 搜 索</button>
             <button type="button" data-form-export="{:url('index')}?type={$type|default=''}" class="layui-btn layui-btn-primary">
@@ -61,7 +68,6 @@
 </fieldset>
 
 <script>
-    window.form.render();
     require(['excel'], function (excel) {
         excel.bind(function (data) {
             data.forEach(function (item, index) {

+ 60 - 90
app/admin/view/queue/index.html

@@ -3,10 +3,10 @@
 {block name="button"}
 <!--{if isset($super) and $super}-->
 <a class="layui-btn layui-btn-sm layui-btn-primary" data-queue="{:url('admin/api.plugs/optimize')}">优化数据库</a>
-<!--{if $iswin}-->
+{if $iswin}
 <button data-load='{:url("admin/api.queue/start")}' class='layui-btn layui-btn-sm layui-btn-primary'>开启后台服务</button>
 <button data-load='{:url("admin/api.queue/stop")}' class='layui-btn layui-btn-sm layui-btn-primary'>关闭后台服务</button>
-<!--{/if}-->
+{/if}
 <!--{/if}-->
 
 <!--{if auth("clean")}-->
@@ -19,132 +19,102 @@
 {/block}
 
 {block name="content"}
+<div class="think-box-notify">
+    <b>任务统计:</b>待处理 {$total.pre|default=0} 个任务,处理中 {$total.dos|default=0} 个任务,待处理 {$total.oks|default=0} 个任务,已失败 {$total.ers|default=0} 个任务。
+</div>
 <div class="think-box-shadow">
-    <div class="layui-row layui-col-space20 portal-block-container notselect">
-        <div class="layui-col-sm6 layui-col-md6 layui-col-lg3">
-            <div class="portal-block-item nowrap" style="background:linear-gradient(-125deg,#57bdbf,#2f9de2)">
-                <div class="font-w7 font-s16">等待处理</div>
-                <div>{$total.pre|default=0}</div>
-                <div>待处理的任务数量</div>
-            </div>
-            <i class="portal-block-icon layui-icon layui-icon-star"></i>
-        </div>
-        <div class="layui-col-sm6 layui-col-md6 layui-col-lg3">
-            <div class="portal-block-item nowrap" style="background:linear-gradient(-125deg,#ff7d7d,#fb2c95)">
-                <div class="font-w7 font-s16">正在处理</div>
-                <div>{$total.dos|default=0}</div>
-                <div>处理中的任务数量</div>
-            </div>
-            <i class="portal-block-icon layui-icon layui-icon-log"></i>
-        </div>
-        <div class="layui-col-sm6 layui-col-md6 layui-col-lg3">
-            <div class="portal-block-item nowrap" style="background:linear-gradient(-113deg,#c543d8,#925cc3)">
-                <div class="font-w7 font-s16">处理完成</div>
-                <div>{$total.oks|default=0}</div>
-                <div>处理完成的任务数量</div>
-            </div>
-            <i class="portal-block-icon layui-icon layui-icon-release"></i>
-        </div>
-        <div class="layui-col-sm6 layui-col-md6 layui-col-lg3">
-            <div class="portal-block-item nowrap" style="background:linear-gradient(-141deg,#ecca1b,#f39526)">
-                <div class="font-w7 font-s16">处理失败</div>
-                <div>{$total.ers|default=0}</div>
-                <div>处理失败的任务数量</div>
-            </div>
-            <i class="portal-block-icon layui-icon layui-icon-engine"></i>
-        </div>
-    </div>
-
     {include file='queue/index_search'}
     <table id="QueueData" data-url="{:sysuri()}" data-target-search="form.form-search"></table>
 </div>
 {/block}
 
 {block name='script'}
+<style>
+    #QueueData + div tbody .layui-table-cell {
+        height: 42px;
+        line-height: 22px;
+    }
+
+    #QueueData + div tbody .layui-table-cell .layui-btn {
+        margin-top: 8px;
+    }
+
+    #QueueData + div tbody .layui-table-cell.laytable-cell-checkbox {
+        line-height: 42px;
+    }
+</style>
 <script>
     $(function () {
         $('#QueueData').layTable({
-            even: true,
-            sort: {field: 'loops_time desc,code', type: 'desc'},
+            height: 'full',
+            even: true, sort: {field: 'loops_time desc,id', type: 'desc'},
             cols: [[
                 {checkbox: true, fixed: 'left'},
-                {field: 'code', title: '任务编号', width: 140, sort: true},
-                {field: 'title', title: '任务名称', minWidth: 100},
-                {field: 'command', title: '任务指令', minWidth: 100},
                 {
-                    field: 'exec_time', title: '计划时间', minWidth: 245, templet: function (d) {
-                        d.exec_time = d.exec_time || 0, d.loops_time = d.loops_time || 0;
+                    field: 'id', title: '任务名称', minWidth: 230, sort: true, templet: function (d) {
                         if (d.loops_time > 0) {
-                            return d.exec_time + ' ( 每 <b class="color-blue">' + d.loops_time + '</b> 秒 ) ';
+                            d.one = '<span class="layui-badge think-bg-blue">循</span>';
+                        } else {
+                            d.one = '<span class="layui-badge think-bg-red">次</span>';
+                        }
+                        if (d.rscript === 1) {
+                            d.two = '<span class="layui-badge layui-bg-green">复</span>';
                         } else {
-                            return d.exec_time + ' <span class="color-desc">( 单次任务 )</span> ';
+                            d.two = '<span class="layui-badge think-bg-violet">单</span>';
                         }
+                        return laytpl('{{d.one}}任务编号:<b>{{d.code}}</b><br>{{d.two}}任务名称:{{d.title}}').render(d);
                     }
                 },
                 {
-                    field: 'loops_time', title: '执行时间', minWidth: 175, templet: function (d) {
+                    field: 'exec_time', title: '任务计划', minWidth: 300, templet: function (d) {
+                        d.html = '执行指令:' + d.command + '<br>计划执行:' + d.exec_time;
+                        if (d.loops_time > 0) {
+                            return d.html + ' ( 每 <b class="color-blue">' + d.loops_time + '</b> 秒 ) ';
+                        } else {
+                            return d.html + ' <span class="color-desc">( 单次任务 )</span> ';
+                        }
+                    }
+                },
+                {
+                    field: 'loops_time', title: '执行状态', width: 400, templet: function (d) {
+                        d.html = [
+                            '<span class="layui-badge layui-badge-middle layui-bg-gray pull-left" style="width:2em">未知</span>',
+                            '<span class="layui-badge layui-badge-middle layui-bg-black pull-left" style="width:2em">等待</span>',
+                            '<span class="layui-badge layui-badge-middle layui-bg-blue pull-left" style="width:2em">执行</span>',
+                            '<span class="layui-badge layui-badge-middle layui-bg-green pull-left" style="width:2em">完成</span>',
+                            '<span class="layui-badge layui-badge-middle layui-bg-red pull-left" style="width:2em">失败</span>',
+                        ][d.status] || '';
+                        d.html += '执行时间:';
                         d.enter_time = d.enter_time || '', d.outer_time = d.outer_time || '0.0000';
                         if (d.enter_time.length > 12) {
-                            return d.enter_time.substr(12) + '<span class="color-desc"> ( 耗时 ' + d.outer_time + ' )</span>';
+                            d.html += d.enter_time.substring(12) + '<span class="color-desc"> ( 耗时 ' + d.outer_time + ' )</span>';
+                            d.html += ',已执行 <b>' + (d.attempts || 0) + '</b> 次';
                         } else {
-                            return '<span class="color-desc">任务未执行</span>'
+                            d.html += '<span class="color-desc">任务未执行</span>'
                         }
+                        return d.html + '<br>执行结果:<span class="color-blue">' + (d.exec_desc || '-') + '</span>';
                     }
                 },
-                {field: 'attempts', title: '执行次数', minWidth: 95, align: 'center', sort: true, templet: "<div>{{d.attempts||0}}</div>"},
-                {field: 'exec_desc', title: '执行结果', minWidth: 180},
-                {field: 'create_at', title: '创建时间', align: 'center', minWidth: 170},
-                {toolbar: '#toolbar', title: '操作面板', align: 'center', width: 260, fixed: 'right',}
+                {toolbar: '#toolbar', title: '操作面板', align: 'center', minWidth: 200}
             ]]
         });
     });
 </script>
 
 <script type="text/html" id="toolbar">
-    {{# if(d.loops_time>0){ }}
-    <span class="layui-badge think-bg-blue">循</span>
-    {{# }else{ }}
-    <span class="layui-badge think-bg-red">次</span>
-    {{# } }}
 
-    {{# if(d.rscript===1){ }}
-    <span class="layui-badge layui-bg-green">复</span>
+    <!--{if auth('redo')}-->
+    {{# if(d.status===4||d.status===3){ }}
+    <a class="layui-btn layui-btn-sm" data-confirm="确定要重置该任务吗?" data-queue="{:url('redo')}?code={{d.code}}">重 置</a>
     {{# }else{ }}
-    <span class="layui-badge think-bg-violet">单</span>
+    <a class="layui-btn layui-btn-sm layui-btn-disabled">重 置</a>
     {{# } }}
-
-    {{# if(d.status===1){ }}
-    <span class="layui-badge layui-bg-black">等待处理</span>
-    <span class="layui-badge think-bg-gray"><i class="layui-icon font-s12">&#xe669;</i></span>
-    {{# }else if(d.status===2){ }}
-    <span class="layui-badge layui-bg-green">正在处理</span>
-    <!--{if auth('redo')}-->
-    <span class="layui-badge think-bg-gray"><i class="layui-icon font-s12">&#xe669;</i></span>
     <!--{/if}-->
-    {{# }else if(d.status===3){ }}
-    <span class="layui-badge layui-bg-blue">处理完成</span>
-    <!--{if auth('redo')}-->
-    <a class="layui-badge layui-bg-green" data-confirm="确定要重置该任务吗?" data-queue="{:url('redo')}?code={{d.code}}">
-        <i class="layui-icon font-s12">&#xe669;</i>
-    </a>
-    <!--{/if}-->
-    {{# }else if(d.status===4){ }}
-    <span class="layui-badge layui-bg-red">处理失败</span>
-    <!--{if auth('redo')}-->
-    <a class="layui-badge layui-bg-green" data-confirm="确定要重置该任务吗?" data-queue="{:url('redo')}?code={{d.code}}">
-        <i class="layui-icon font-s12">&#xe669;</i>
-    </a>
-    <!--{/if}-->
-    {{# } }}
 
     <!--{if auth('remove')}-->
-    <a class='layui-badge layui-bg-red' data-confirm="确定要删除该任务吗?" data-action='{:url("remove")}' data-value="id#{{d.id}}">
-        <i class="layui-icon font-s12">&#xe640;</i>
-    </a>
+    <a class='layui-btn layui-btn-sm layui-btn-danger' data-confirm="确定要删除该任务吗?" data-action='{:url("remove")}' data-value="id#{{d.id}}">删 除</a>
     <!--{/if}-->
 
-    <a class='layui-badge layui-bg-orange margin-0' onclick="$.loadQueue('{{d.code}}',false,this)">
-        <i class="layui-icon font-s12">&#xe705;</i>
-    </a>
+    <a class='layui-btn layui-btn-sm layui-btn-normal' onclick="$.loadQueue('{{d.code}}',false,this)">日 志</a>
 </script>
 {/block}

+ 2 - 2
app/admin/view/queue/index_search.html

@@ -57,14 +57,14 @@
             </label>
         </div>
 
-        <div class="layui-form-item layui-inline">
+        <div class="layui-form-item layui-inline layui-hide">
             <label class="layui-form-label">执行时间</label>
             <label class="layui-input-inline">
                 <input data-date-range name="enter_time" value="{$get.enter_time|default=''}" placeholder="请选择执行时间" class="layui-input">
             </label>
         </div>
 
-        <div class="layui-form-item layui-inline">
+        <div class="layui-form-item layui-inline layui-hide">
             <label class="layui-form-label">创建时间</label>
             <label class="layui-input-inline">
                 <input data-date-range name="create_at" value="{$get.create_at|default=''}" placeholder="请选择创建时间" class="layui-input">

+ 1 - 1
public/static/theme/css/_custom.less

@@ -203,7 +203,7 @@
 
     .layui-form-select {
       dl {
-        top: 32px;
+        top: 31px;
         padding: 0;
         border-width: 0;
         box-shadow: @ShadowMaxOuter;

File diff suppressed because it is too large
+ 0 - 0
public/static/theme/css/console.css


Some files were not shown because too many files changed in this diff