2
0
mirror of https://github.com/acepanel/panel.git synced 2026-02-06 17:37:19 +08:00
Files
panel/public/panel/views/task.html
2023-07-21 02:26:12 +08:00

159 lines
6.1 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!--
Name: 任务中心
Author: 耗子
Date: 2023-07-21
-->
<title>任务中心</title>
<div class="layui-fluid" id="component-tabs">
<div class="layui-row">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">任务列表</div>
<div class="layui-card-body">
<div class="layui-tab">
<ul class="layui-tab-title">
<li class="layui-this">进行中</li>
<li>等待中</li>
<li>已完成</li>
</ul>
<div class="layui-tab-content">
<div class="layui-tab-item layui-show">
<script type="text/html" template
lay-url="/api/panel/task/list?status=running&page=1&limit=10"
lay-done="layui.data.done(d);">
{{# if(d.data.total != 0){ }}
<blockquote class="layui-elem-quote">{{ d.data.items[0].name }}</blockquote>
<pre id="plugin-install-log" class="layui-code">
日志获取中...
</pre>
{{# } else { }}
<blockquote class="layui-elem-quote">暂无任务</blockquote>
{{# } }}
</script>
</div>
<div class="layui-tab-item">
<table id="panel-task-waiting" lay-filter="panel-task-waiting"></table>
</div>
<div class="layui-tab-item">
<table id="panel-task-finished" lay-filter="panel-task-finished"></table>
<script type="text/html" id="panel-task-finished-control-tpl">
<a class="layui-btn layui-btn-xs" lay-event="remove">移除</a>
</script>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
function render_plugin_install_log(d) {
layui.use(['admin', 'jquery'], function () {
let admin = layui.admin
, $ = layui.jquery;
admin.req({
url: "/api/panel/task/log?id=" + d.data.items[0].id
, method: 'get'
, success: function (result) {
if (result.code !== 0) {
$('#plugin-install-log').html('实时安装日志获取失败,请刷新重试!');
return false;
}
$('#plugin-install-log').html(result.data);
}
})
});
}
layui.data.done = function (d) {
if (d.data.items[0] !== undefined) {
render_plugin_install_log(d);
setInterval(function () {
render_plugin_install_log(d);
}, 1000);
}
};
layui.use(['admin', 'table', 'jquery'], function () {
var table = layui.table
, admin = layui.admin;
table.render({
elem: '#panel-task-waiting'
, url: '/api/panel/task/list?status=waiting'
, cols: [[
{field: 'id', hide: true, title: 'ID', sort: true}
, {field: 'name', width: '100%', title: '任务名'}
]]
, page: true
, text: '耗子Linux面板数据加载出现异常'
, parseData: function (res) {
return {
"code": res.code,
"msg": res.message,
"count": res.data.total,
"data": res.data.items
};
}
});
table.render({
elem: '#panel-task-finished'
, id: 'panel-task-finished-table'
, url: '/api/panel/task/list?status=finished'
, cols: [[
{field: 'id', hide: true, title: 'ID', sort: true}
, {field: 'name', width: '80%', title: '任务名'}
, {
field: 'control',
title: '操作',
templet: '#panel-task-finished-control-tpl',
fixed: 'right',
align: 'center'
}
]]
, page: true
, text: '耗子Linux面板数据加载出现异常'
, parseData: function (res) {
return {
"code": res.code,
"msg": res.message,
"count": res.data.total,
"data": res.data.items
};
}
});
// 工具条
table.on('tool(panel-task-finished)', function (obj) {
let data = obj.data;
if (obj.event === 'remove') {
layer.confirm('确定移除该记录吗?', function (index) {
layer.close(index);
admin.req({
url: '/api/panel/task/delete',
type: 'post',
data: {
id: data.id
}
, success: function (res) {
if (res.code == 0) {
layer.msg('移除任务:' + data.name + ' 成功!', {icon: 1, time: 1000}, function () {
// 重载表格
table.reload('panel-task-finished-table');
});
} else {
layer.msg(res.msg, {icon: 2, time: 1000});
}
}
});
});
}
});
});
</script>