2018-09-25 15:26:08 +08:00

171 lines
7.2 KiB
PHP
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.

{extend name="public/container"}
{block name="content"}
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-title">
<h5>数据库备份记录</h5>
</div>
<div class="ibox-content" style="display: block;">
<div class="table-responsive">
<table class="layui-hide" id="fileList" lay-filter="fileList"></table>
<script type="text/html" id="fileListtool">
<button type="button" class="layui-btn layui-btn-xs" lay-event="import"><i class="layui-icon layui-icon-edit"></i>倒入</button>
<button type="button" class="layui-btn layui-btn-xs" lay-event="delFile"><i class="layui-icon layui-icon-edit"></i>删除</button>
<button type="button" class="layui-btn layui-btn-xs" lay-event="downloadFile"><i class="layui-icon layui-icon-edit"></i>下载</button>
</script>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div class="ibox">
<div class="ibox-title">
<h5>数据库表列表</h5>
</div>
<div class="ibox-content">
<div class="table-responsive">
<script type="text/html" id="toolbarDemo">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-sm" lay-event="backup">备份</button>
<button class="layui-btn layui-btn-sm" lay-event="optimize">优化表</button>
<button class="layui-btn layui-btn-sm" lay-event="repair">修复表</button>
</div>
</script>
<table class="layui-hide" id="tableListID" lay-filter="tableListID"></table>
<script type="text/html" id="barDemo">
<button type="button" class="layui-btn layui-btn-xs" lay-event="see"><i class="layui-icon layui-icon-edit"></i>详情</button>
</script>
</div>
</div>
</div>
</div>
</div>
<script src="{__ADMIN_PATH}js/layuiList.js"></script>
<script>
layui.use('table', function(){
var fileList = layui.table;
var tableList = layui.table;
//加载sql备份列表
var buckdata = fileList.render({
elem: '#fileList'
,url:"{:Url('fileList')}"
,cols: [[
{field: 'backtime', title: '备份名称', sort: true},
{field: 'part', title: '备注'},
{field: 'size', title: '大小'},
{field: 'compress', title: '类型'},
{field: 'time', title: '时间'},
{fixed: 'right', title: '操作', width: '20%', align: 'center', toolbar: '#fileListtool'}
]]
,page: false
});
//监听工具条
fileList.on('tool(fileList)', function(obj){
var data = obj.data;
var layEvent = obj.data;
switch (layEvent){
case 'import':
layer.confirm('真的倒入该备份吗?', function(index){
layList.basePost(layList.Url({a:'import'}),{feilname:data.time},function (res) {
layList.msg(res.msg);
buckdata.reload();
});
obj.del();
layer.close(index);
});
break;
case 'delFile':
layer.confirm('真的删除该备份吗?', function(index){
layList.basePost(layList.Url({a:'delFile'}),{feilname:data.time},function (res) {
layList.msg(res.msg);
buckdata.reload();
});
obj.del();
layer.close(index);
});
break;
case 'downloadFile':
$eb.createModalFrame('详情',layList.Url({a:'downloadFile',p:{feilname:data.name}}));
break;
}
if(obj.event === 'import'){
layer.msg('ID'+ data.id + ' 的查看操作');
} else if(obj.event === 'delFile'){
layer.confirm('真的删除行么', function(index){
layList.basePost(layList.Url({a:'delFile'}),{feilname:data.time},function (res) {
layList.msg(res.msg);
buckdata.reload();
});
obj.del();
layer.close(index);
});
} else if(obj.event === 'downloadFile'){
layer.alert('编辑行:<br>'+ JSON.stringify(data))
}
});
//加载table
tableList.render({
elem: '#tableListID'
,url:"{:Url('tablelist')}"
,toolbar: '#toolbarDemo'
,cols: [[
{type:'checkbox'},
{field: 'name', title: '表名称', sort: true},
{field: 'comment', title: '备注' },
{field: 'engine', title: '类型', sort: true},
{field: 'data_length', title: '大小', sort: true,totalRow: true},
{field: 'update_time', title: '更新时间', sort: true},
{field: 'rows', title: '行数'},
{fixed: 'right', title: '操作', width: '10%', align: 'center', toolbar: '#barDemo'}
]]
,page: false
});
//头工具栏事件
tableList.on('toolbar(tableListID)', function(obj){
var checkStatus = tableList.checkStatus(obj.config.id);
var data = checkStatus.data;
var tables = [];
$.each(data, function (name, value) {
if (value['name'] != undefined) tables.push(value['name']);
});
if(tables.length < 1 || empty(tables)){
return;
}
switch(obj.event){
case 'backup':
layList.basePost(layList.Url({a:'backup'}),{tables:tables},function (res) {
layList.msg(res.msg,{icon:1,time:1000},function(){
buckdata.reload();
});
});
break;
case 'optimize':
layList.basePost(layList.Url({a:'optimize'}),{tables:tables},function (res) {
layList.msg(res.msg);
});
break;
case 'repair':
layList.basePost(layList.Url({a:'repair'}),{tables:tables},function (res) {
layList.msg(res.msg);
});
break;
};
});
//监听并执行操作
tableList.on('tool(tableListID)', function(obj){
var data = obj.data;
if(obj.event === 'see'){
$eb.createModalFrame('详情',layList.Url({a:'edit',p:{tablename:data.name}}));
}
});
});
</script>
{/block}