restore.htm 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196
  1. {include file="public/layout" /}
  2. <body class="bodystyle" style="cursor: default; -moz-user-select: inherit;">
  3. <div id="append_parent"></div>
  4. <div id="ajaxwaitid"></div>
  5. <div class="page">
  6. {include file="tools/bar" /}
  7. <!-- 操作说明 -->
  8. <div id="explanation" class="explanation" style="color: rgb(44, 188, 163); background-color: rgb(237, 251, 248); width: 99%; height: 100%;">
  9. <div id="checkZoom" class="title"><i class="fa fa-lightbulb-o"></i>
  10. <h4 title="提示相关设置操作时应注意的要点">操作提示</h4>
  11. <span title="收起提示" id="explanationZoom" style="display: block;"></span>
  12. </div>
  13. <ul>
  14. <li> 数据还原, 点击恢复选项进行数据库导入.</li>
  15. <li> 导入的SQL文件语句必须按照MYSQL的语法编写</li>
  16. </ul>
  17. </div>
  18. <div class="flexigrid">
  19. <div class="mDiv">
  20. <div class="ftitle">
  21. <h3>sql文件列表</h3>
  22. <h5>(备份文件数量:{$filenum},占空间大小:{$total|format_bytes})</h5>
  23. </div>
  24. <div title="刷新数据" class="pReload"><i class="fa fa-refresh"></i></div>
  25. </div>
  26. <div class="hDiv">
  27. <div class="hDivBox">
  28. <table cellspacing="0" cellpadding="0" style="width: 100%">
  29. <thead>
  30. <tr>
  31. <th class="sign w40" axis="col0">
  32. <div class="tc">选择</div>
  33. </th>
  34. <th abbr="article_title" axis="col3" class="">
  35. <div class="">文件名称</div>
  36. </th>
  37. <th abbr="article_show" axis="col5" class="w100">
  38. <div class="tc">系统版本</div>
  39. </th>
  40. <th abbr="ac_id" axis="col4" class="w40">
  41. <div class="tc">卷号</div>
  42. </th>
  43. <th abbr="article_show" axis="col5" class="w60">
  44. <div class="tc">压缩</div>
  45. </th>
  46. <th abbr="article_time" axis="col6" class="w100">
  47. <div class="tc">数据大小</div>
  48. </th>
  49. <th abbr="article_show" axis="col7" class="w160">
  50. <div class="tc">备份时间</div>
  51. </th>
  52. <th axis="col1" class="w160">
  53. <div class="tc">操作</div>
  54. </th>
  55. </tr>
  56. </thead>
  57. </table>
  58. </div>
  59. </div>
  60. <div class="bDiv" style="height: auto;">
  61. <div id="flexigrid" cellpadding="0" cellspacing="0" border="0">
  62. <table style="width: 100%">
  63. <tbody>
  64. {empty name="list"}
  65. <tr>
  66. <td class="no-data" align="center" axis="col0" colspan="50">
  67. <i class="fa fa-exclamation-circle"></i>没有符合条件的记录
  68. </td>
  69. </tr>
  70. {else/}
  71. {foreach name="list" item="vo" key="k" }
  72. <tr data-id="{$vo.basename}">
  73. <td class="sign">
  74. <div class="w40 tc"><input type="checkbox" name="ids[]" value="{$vo.time}"></div>
  75. </td>
  76. <td style="width: 100%">
  77. <div>{$vo.basename}</div>
  78. </td>
  79. <td>
  80. <div class="w100 tc">{$vo.version}</div>
  81. </td>
  82. <td class="">
  83. <div class="w40 tc">{$vo.part}</div>
  84. </td>
  85. <td>
  86. <div class="w60 tc">{$vo.compress}</div>
  87. </td>
  88. <td>
  89. <div class="w100 tc">{$vo.size|format_bytes}</div>
  90. </td>
  91. <td>
  92. <div class="w160 tc">{$vo.time|date="Y-m-d H:i:s",###}</div>
  93. </td>
  94. <td>
  95. <div class="w160 tc">
  96. {eq name="$Think.const.CONTROLLER_NAME.'@new_import'|is_check_access" value="1"}
  97. <a href="javascript:void(0);" data-url="{:U('Tools/new_import', array('time'=>$vo['time']))}" class="btn blue db-import"><i class="fa fa-repeat"></i>恢复</a>
  98. {/eq}
  99. {eq name="$Think.const.CONTROLLER_NAME.'@downFile'|is_check_access" value="1"}
  100. <a href="{:U('Tools/downFile',array('time'=>$vo['time']))}" class="btn green"><i class="fa fa-download"></i>下载</a>
  101. {/eq}
  102. {eq name="$Think.const.CONTROLLER_NAME.'@del'|is_check_access" value="1"}
  103. <a class="btn red" href="javascript:void(0);" data-url="{:U('Tools/del')}" data-id="{$vo.time}" onClick="delfun(this);"><i class="fa fa-trash-o"></i>删除</a>
  104. {/eq}
  105. </div>
  106. </td>
  107. </tr>
  108. {/foreach}
  109. {/empty}
  110. </tbody>
  111. </table>
  112. </div>
  113. <div class="iDiv" style="display: none;"></div>
  114. </div>
  115. <div class="tDiv">
  116. <div class="tDiv2">
  117. <div class="fbutton checkboxall">
  118. <input type="checkbox" onclick="javascript:$('input[name*=ids]').prop('checked',this.checked);">
  119. </div>
  120. {eq name="$Think.const.CONTROLLER_NAME.'@del'|is_check_access" value="1"}
  121. <div class="fbutton">
  122. <a onclick="batch_del(this, 'ids');" data-url="{:U('Tools/del')}">
  123. <div class="add" title="批量删除">
  124. <span><i class="fa fa-close"></i>批量删除</span>
  125. </div>
  126. </a>
  127. </div>
  128. {/eq}
  129. {eq name="$Think.const.CONTROLLER_NAME.'@restoreUpload'|is_check_access" value="1"}
  130. <div class="fbutton" style="display: none;">
  131. <form class="navbar-form form-inline" action="{:U('Tools/restoreUpload')}" name="change_System" id="change_System" method="post" enctype="multipart/form-data">
  132. <a href="javascript:void(0);" class="a-upload"><input type="file" name="sqlfile" id="sqlfile" title="请选择…"><i class="fa fa-upload"></i>上传执行sql文件</a>
  133. </form>
  134. </div>
  135. {/eq}
  136. </div>
  137. <div style="clear:both"></div>
  138. </div>
  139. </div>
  140. </div>
  141. <form class="none" name="form_tmp" id="form_tmp" action="" method="POST">
  142. </form>
  143. <script>
  144. $(document).ready(function(){
  145. // 表格行点击选中切换
  146. $('#flexigrid > table>tbody >tr').click(function(){
  147. $(this).toggleClass('trSelected');
  148. });
  149. // 点击刷新数据
  150. $('.fa-refresh').click(function(){
  151. location.href = location.href;
  152. });
  153. $('#sqlfile').change(function(){
  154. restoreUpload();
  155. });
  156. function restoreUpload()
  157. {
  158. var sqlfile = $('input[name=sqlfile]').val();
  159. var ext = sqlfile.substr(sqlfile.lastIndexOf('.')).toLowerCase();
  160. if ($.trim(sqlfile) == '' || ext != '.sql') {
  161. showErrorMsg('请上传sql文件!');
  162. return false;
  163. }
  164. layer.confirm('此操作不可恢复,确认执行?', {
  165. title: false,//'<font color="red">重要提示</font>',
  166. btn: ['确定', '取消'] //按钮
  167. }, function () {
  168. layer_loading('正在处理');
  169. $('#change_System').submit();
  170. return false;
  171. }, function (index) {
  172. $('#sqlfile').val('');
  173. layer.closeAll();
  174. return false;
  175. });
  176. }
  177. });
  178. $(".db-import").click(function(){
  179. var url = $(this).attr('data-url');
  180. $('#form_tmp').attr('action', url);
  181. layer_loading('正在处理');
  182. $('#form_tmp').submit();
  183. });
  184. </script>
  185. {include file="public/footer" /}