database.html 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. <style type="text/css">
  2. .xm-label-block {
  3. background-color: #287bd2
  4. }
  5. </style>
  6. <!-- 正文开始 -->
  7. <div class="layui-fluid">
  8. <div class="layui-card">
  9. <div class="layui-card-body">
  10. <div class="layui-tab layui-tab-brief">
  11. <table id="dataTable" lay-filter="dataTable"></table>
  12. </div>
  13. </div>
  14. </div>
  15. </div>
  16. <!--表格工具栏-->
  17. <script type="text/html" id="toolBarTpl">
  18. <div class="layui-btn-group fl">
  19. <a table-data="{'url':'/system/database/optimize','action':'post'}" class="layui-btn layui-btn-sm layui-icon layui-icon-play table-toolbar-btn">&nbsp;优化</a>
  20. <a table-data="{'url':'/system/database/backup','action':'post'}" class="layui-btn layui-btn-sm layui-icon layui-icon-pause table-toolbar-btn">&nbsp;备份</a>
  21. </div>
  22. </script>
  23. <!-- 表格操作列 -->
  24. <script type="text/html" id="tableBar">
  25. <a class="layui-btn layui-btn-xs" lay-event="view">查看</a>
  26. </script>
  27. <!--查看表详情-->
  28. <script type="text/html" id="viewModel">
  29. <table id="viewTable" lay-filter="viewTable" class="layui-hide"></table>
  30. </script>
  31. <!-- js部分 -->
  32. <script>
  33. layui.use(['layer', 'form', 'table', 'notice', 'admin', 'setter'], function () {
  34. var $ = layui.jquery;
  35. var form = layui.form;
  36. var table = layui.table;
  37. var admin = layui.admin;
  38. var setter = layui.setter;
  39. form.render('select');
  40. // 渲染表格
  41. var insTb = table.render({
  42. elem: '#dataTable',
  43. url: setter.baseServer + 'system/database',
  44. page: false,
  45. toolbar: '#toolBarTpl',
  46. cellMinWidth: 100,
  47. cols: [[
  48. {type: 'checkbox'},
  49. {field: 'name', title: '表名', width: 200},
  50. {field: 'engine', title: '引擎'},
  51. {field: 'collation', title: '字符集'},
  52. {field: 'data_length', sort: true, title: '数据'},
  53. {field: 'comment', title: '注释'},
  54. {field: 'create_time', sort: true, title: '创建时间', width: 200},
  55. {fixed: 'right',align: 'center', toolbar: '#tableBar', title: '操作', minWidth: 120}
  56. ]]
  57. });
  58. // 工具条点击事件
  59. table.on('tool(dataTable)', function (obj) {
  60. var data = obj.data;
  61. var layEvent = obj.event;
  62. if (layEvent == 'view'){
  63. admin.open({
  64. type: 1,
  65. area: '745px', //宽高
  66. title: '查看表格详情',
  67. content: $('#viewModel').html(),
  68. success: function (layero, dIndex) {
  69. $(layero).children('.layui-layer-content').css('overflow', 'visible');
  70. // 渲染表格
  71. table.render({
  72. elem: '#viewTable',
  73. url: setter.baseServer + 'system/database/' + data.name,
  74. page: false,
  75. cellMinWidth: 100,
  76. cols: [[
  77. {type: 'numbers'},
  78. {field: 'field', title: '字段名称', width: 150},
  79. {field: 'type', title: '类型'},
  80. {field: 'collation', title: '字符集'},
  81. {field: 'null', title: 'Null'},
  82. {field: 'key', title: '索引'},
  83. {field: 'default', title: '默认值'},
  84. {field: 'privileges', title: '权限'},
  85. {field: 'comment', title: '注释'},
  86. ]]
  87. });
  88. }
  89. })
  90. }
  91. });
  92. });
  93. </script>