restore.html 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. {extend name="layout:home" /}
  2. {block name="container"}
  3. <div class="layui-tab layui-tab-card">
  4. {include file="layout/admin_items" /}
  5. <!-- 操作说明 -->
  6. <div class="layui-tab-content page-tab-content" id="flexigrid">
  7. <div class="explanation" id="explanation">
  8. <div class="title" id="checkZoom">
  9. <h4 title="提示相关设置操作时应注意的要点">操作提示</h4>
  10. <span id="explanationZoom" title="收起提示" class="arrow"></span>
  11. </div>
  12. <ul>
  13. <li> 数据还原, 点击恢复选项进行数据库导入.</li>
  14. <li> 导入的SQL文件语句必须按照MYSQL的语法编写</li>
  15. </ul>
  16. </div>
  17. <div class="mDiv">
  18. <div class="ftitle">
  19. <div style="width: 100px;float: left;line-height: 56px;"><h3>sql文件列表</h3></div>
  20. <div style="width: 300px;float: left;line-height: 56px;"><h5>(备份文件数量:{$filenum},占空间大小:{$total|format_bytes})</h5></div>
  21. </div>
  22. <div title="刷新数据" class="pReload"><i class="fa fa-refresh"></i></div>
  23. </div>
  24. <table class="layui-table lay-even">
  25. <colgroup>
  26. <col width="150">
  27. <col width="200">
  28. <col width="200">
  29. <col>
  30. <col width="150">
  31. </colgroup>
  32. <thead>
  33. <tr>
  34. <th align="left" abbr="article_title" axis="col3" class="">
  35. <div style="text-align: left; width: 200px;" class="">文件名称</div>
  36. </th>
  37. <th align="center" abbr="ac_id" axis="col4" class="">
  38. <div style="text-align: center; width: 50px;" class="">卷号</div>
  39. </th>
  40. <th align="center" abbr="article_show" axis="col5" class="">
  41. <div style="text-align: center; width: 50px;" class="">压缩</div>
  42. </th>
  43. <th align="center" abbr="article_time" axis="col6" class="">
  44. <div style="text-align: center; width: 150px;" class="">数据大小</div>
  45. </th>
  46. <th align="center" abbr="article_show" axis="col7" class="">
  47. <div style="text-align: center; width: 150px;" class="">备份时间</div>
  48. </th>
  49. <th align="center" abbr="article_show" axis="col8" class="">
  50. <div style="text-align: center; width: 130px;" class="">状态</div>
  51. </th>
  52. <th align="center" axis="col1" class="handle">
  53. <div style="text-align: center; width: 250px;">操作</div>
  54. </th>
  55. </tr>
  56. </thead>
  57. <tbody>
  58. {notempty name="list"}
  59. {volist name="list" id="vo"}
  60. <tr>
  61. <td align="left" class="">
  62. <div style="text-align: left; width: 200px;">{$vo.basename}</div>
  63. </td>
  64. <td align="center" class="">
  65. <div style="text-align: center; width: 50px;">{$vo.part}</div>
  66. </td>
  67. <td align="center" class="">
  68. <div style="text-align: center; width: 50px;">{$vo.compress}</div>
  69. </td>
  70. <td align="center" class="">
  71. <div style="text-align: center; width: 150px;">{$vo.size|format_bytes}</div>
  72. </td>
  73. <td align="center" class="">
  74. <div style="text-align: center; width: 150px;">{$vo.time|date="Y-m-d H:i:s",###}</div>
  75. </td>
  76. <td align="center" class="">
  77. <div style="text-align: center; width: 130px;">-</div>
  78. </td>
  79. <td align="center" class="handle">
  80. <div style="text-align: center; width: 170px; max-width:170px;">
  81. <a value="{:url('/Admin/Db/import',['time'=>$vo.time])}" href="javascript:void(0)" class="db-import"><i
  82. class="fa fa-repeat"></i>恢复</a> |
  83. <a href="{:url('/Admin/Db/downFile',['time'=>$vo.time])}"><i class="fa fa-download"></i>下载</a> |
  84. <a href="{:url('/Admin/Db/del',['time'=>$vo.time])}"><i class="fa fa-trash"></i>删除</a>
  85. </div>
  86. </td>
  87. </tr>
  88. {/volist}
  89. {else}
  90. <tr class="no_data">
  91. <td colspan="11">{$Think.lang.ds_no_record}</td>
  92. </tr>
  93. {/notempty}
  94. </tbody>
  95. </table>
  96. </div>
  97. </div>
  98. <script>
  99. $(document).ready(function () {
  100. // 表格行点击选中切换
  101. $('#flexigrid > table>tbody >tr').click(function () {
  102. $(this).toggleClass('trSelected');
  103. });
  104. // 点击刷新数据
  105. $('.fa-refresh').click(function () {
  106. location.href = location.href;
  107. });
  108. });
  109. $(".db-import").click(function () {
  110. var self = this, status = ".";
  111. $.get($('.db-import').attr('value'), success, "json");
  112. window.onbeforeunload = function () {
  113. return "正在还原数据库,请不要关闭!"
  114. }
  115. function success(data) {
  116. if (data.code) {
  117. if (data.gz) {
  118. data.info += status;
  119. if (status.length === 5) {
  120. status = ".";
  121. } else {
  122. status += ".";
  123. }
  124. }
  125. $(self).parent().parent().prev().find('div').text(data.msg);
  126. if (data.data) {
  127. $.get($('.db-import').attr('value'), {"part": data.data.part, "start": data.data.start}, success, "json");
  128. } else {
  129. window.onbeforeunload = function () {
  130. return null;
  131. }
  132. }
  133. } else {
  134. layer.alert(data.msg, {icon: 2});
  135. }
  136. }
  137. });
  138. </script>
  139. {/block}