Keine Beschreibung
Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

index.htm 17KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361
  1. {include file="header.htm" /}
  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. <div class="flexigrid">
  7. <div class="hDiv">
  8. <div class="hDivBox">
  9. <table cellspacing="0" cellpadding="0" style="width: 100%">
  10. <thead>
  11. <tr>
  12. <th abbr="" axis="col3" class="">
  13. <div class="" style="padding-left:15px ">文件名</div>
  14. </th>
  15. <th abbr="" axis="col3" class="w200">
  16. <div class="tc">文件大小</div>
  17. </th>
  18. <th abbr="" axis="col6" class="w150">
  19. <div class="tc">更新时间</div>
  20. </th>
  21. <th axis="col1" class="w150">
  22. <div class="tc">操作</div>
  23. </th>
  24. </tr>
  25. </thead>
  26. </table>
  27. </div>
  28. </div>
  29. <div class="bDiv" style="height: auto;">
  30. <div id="flexigrid" cellpadding="0" cellspacing="0" border="0">
  31. <table style="width: 100%">
  32. <tbody>
  33. {empty name="list"}
  34. <tr>
  35. <td class="no-data" align="center" axis="col0" colspan="50">
  36. <div class="no_row">
  37. <div class="no_pic"><img src="__SKIN__/images/null-data.png"></div>
  38. </div>
  39. </td>
  40. </tr>
  41. {else/}
  42. {foreach name="list" item="vo" key="k" }
  43. <tr>
  44. <td style="width: 100%">
  45. <div style="text-align: left; padding-left: 15px;">
  46. {if condition="in_array($vo['filetype'], array('dir','dir2'))"}
  47. <a href="{:weapp_url('Systemdoctor/Filetool/index', array('activepath'=>replace_path($vo.filepath)))}"><img src="__SKIN__/images/{$vo.icon}" border="0" width="16" height="16" align="absmiddle" class="flt_u">&nbsp;{$vo.filename}</a>
  48. {else /}
  49. {notempty name="$vo.icon"}
  50. <img class="flt_u" src="__SKIN__/images/{$vo.icon}" border="0" width="16" height="16" align="absmiddle" {if condition="!empty($vo.filepath) AND 'image' == $vo.filemine"}onmouseover="layer_tips=layer.tips('<img src=__ROOT_DIR__{$vo.filepath}?v={php}echo time();{/php} class=\'layer_tips_img\'>',this,{tips: [1, '#fff']});"{/if} onmouseout="layer.close(layer_tips);">
  51. {/notempty}
  52. &nbsp;
  53. {eq name="$vo['filemine']" value='image'}
  54. <a href="__ROOT_DIR__{$vo['filepath']}?v={php}echo time();{/php}" target="_blank">{$vo.filename}</a>
  55. {else /}
  56. <a href="{:weapp_url('Systemdoctor/Filetool/edit',array('filename'=>$vo['filename'], 'activepath'=>replace_path(dirname($vo['filepath']))))}">{$vo.filename}</a>
  57. {/eq}
  58. {/if}
  59. {$vo.intro}
  60. </div>
  61. </td>
  62. <td class="">
  63. <div class="w200 tc">
  64. {$vo.filesize|default=''}
  65. </div>
  66. </td>
  67. <td class="">
  68. <div class="w150 tc">
  69. {notempty name="$vo.filetime"}
  70. {$vo.filetime|date='Y-m-d H:i:s',###}
  71. {/notempty}
  72. </div>
  73. </td>
  74. <td class="operation">
  75. <div class="w150 tl">
  76. {if condition="!in_array($vo['filetype'], ['dir','dir2'])"}
  77. <a href="{:weapp_url('Systemdoctor/Filetool/edit',array('filename'=>$vo['filename'], 'activepath'=>replace_path(dirname($vo['filepath']))))}" class="btn blue">编辑</a>
  78. <i></i>
  79. {elseif condition="!in_array($vo['filetype'], ['dir2'])" /}
  80. <a class="btn grey" href="javascript:void(0);" title="文件夹不支持编辑">编辑</a>
  81. <i></i>
  82. {/if}
  83. {if condition="!in_array($vo['filetype'], ['dir2'])"}
  84. <a href="javascript:void(0);" data-filename="{$vo['filename']}" data-url="{:weapp_url('Systemdoctor/Filetool/resetname',array('filename'=>$vo['filename'], 'activepath'=>replace_path(dirname($vo['filepath']))))}" onclick="resetname(this);" class="btn blue">重命名</a>
  85. <i></i>
  86. <a href="javascript:void(0);" data-url="{:weapp_url('Systemdoctor/Filetool/del',array('filename'=>$vo['filename'], 'activepath'=>replace_path(dirname($vo['filepath']))))}" onclick="delfile(this);" class="btn blue">删除</a>
  87. {/if}
  88. {if condition="!in_array($vo['filetype'], ['dir','dir2'])"}
  89. <!-- <i></i>
  90. <a href="{:weapp_url('Systemdoctor/Filetool/movefile',array('filename'=>$vo['filename'], 'activepath'=>replace_path(dirname($vo['filepath']))))}" class="btn blue">移动</a> -->
  91. {elseif condition="!in_array($vo['filetype'], ['dir2'])" /}
  92. <!-- <i></i>
  93. <a class="btn grey" href="javascript:void(0);" title="文件夹不支持移动">移动</a> -->
  94. {/if}
  95. </div>
  96. </td>
  97. </tr>
  98. {/foreach}
  99. {/empty}
  100. </tbody>
  101. </table>
  102. </div>
  103. <div class="iDiv" style="display: none;"></div>
  104. </div>
  105. <div class="tDiv">
  106. <div class="tDiv2">
  107. <!-- <div class="fbutton">
  108. <a href="{:weapp_url('Systemdoctor/Filetool/newfile', array('activepath'=>replace_path($activepath)))}" class="layui-btn layui-btn-primary">
  109. <span class="red">新建文件</span>
  110. </a>
  111. </div>
  112. <div class="fbutton">
  113. <a href="javascript:void(0);" data-url="{:weapp_url('Systemdoctor/Filetool/newdir', array('activepath'=>replace_path($activepath)))}" onclick="newdir(this);" class="layui-btn layui-btn-primary">
  114. <span>新建目录</span>
  115. </a>
  116. </div> -->
  117. <div class="fbutton">
  118. <a href="javascript:void(0);" class="layui-btn layui-btn-primary" id="a_uploadfile">
  119. <span>文件上传</span>
  120. </a>
  121. <form action="{:weapp_url('Systemdoctor/Filetool/uploadfile', array('activepath'=>replace_path($activepath)))}" name="form_uploadfile" id="form_uploadfile" method="post" enctype="multipart/form-data" style="display: none;">
  122. <input type="file" name="uploadfile" id="uploadfile" title="请选择…">
  123. </form>
  124. </div>
  125. <!-- <div class="fbutton">
  126. <a href="{:weapp_url('Systemdoctor/Filetool/space_check', array('activepath'=>replace_path($activepath)))}" class="layui-btn layui-btn-primary">
  127. <span>空间检查</span>
  128. </a>
  129. </div>
  130. <div class="fbutton">
  131. <a href="{:weapp_url('Systemdoctor/Filetool/index')}" class="layui-btn layui-btn-primary">
  132. <span>返回根目录</span>
  133. </a>
  134. </div> -->
  135. {/eq}
  136. <div class="fbuttonr" style=" margin-right: 15px; ">
  137. <div class="total">
  138. <h5>共有{$list|count}条数据</h5>
  139. </div>
  140. </div>
  141. </div>
  142. <div style="clear:both"></div>
  143. </div>
  144. <!--分页位置-->
  145. </div>
  146. </div>
  147. <script type="text/javascript">
  148. $(document).ready(function(){
  149. // 表格行点击选中切换
  150. $('#flexigrid > table>tbody >tr').click(function(){
  151. $(this).toggleClass('trSelected');
  152. });
  153. // 点击刷新数据
  154. $('.fa-refresh').click(function(){
  155. location.href = location.href;
  156. });
  157. });
  158. $('#a_uploadfile').click(function(){
  159. $('#uploadfile').click();
  160. });
  161. $('#uploadfile').change(function(){
  162. var uploadfile = $("#uploadfile")[0].files[0]; //获取文件路径名
  163. var uploadfileName = uploadfile.name;
  164. var ext = uploadfileName.substr(uploadfileName.lastIndexOf('.')).toLowerCase();
  165. var formData = new FormData();
  166. formData.append('_ajax', 1);
  167. formData.append('file', uploadfile);
  168. layer_loading('正在处理');
  169. $.ajax({
  170. url: $('#form_uploadfile').attr('action'),
  171. type: "POST",
  172. data: formData,
  173. dataType: "json", //声明成功使用json数据类型回调
  174. //如果传递的是FormData数据类型,那么下来的三个参数是必须的,否则会报错
  175. cache: false, //默认是true,但是一般不做缓存
  176. processData: false, //用于对data参数进行序列化处理,这里必须false;如果是true,就会将FormData转换为String类型
  177. contentType: false, //一些文件上传http协议的关系,自行百度,如果上传的有文件,那么只能设置为false
  178. success: function(res){ //请求成功后的回调函数
  179. layer.closeAll();
  180. if (1 == res.code) {
  181. layer.msg(res.msg, {shade: layer_shade, icon:1, time: 1000}, function(){
  182. window.location.reload();
  183. });
  184. } else {
  185. $('#uploadfile').val('');
  186. showErrorAlert(res.msg);
  187. }
  188. },
  189. error: function(e){
  190. layer.closeAll();
  191. showErrorAlert(e.responseText);
  192. }
  193. });
  194. });
  195. function delfile(obj)
  196. {
  197. layer.confirm('此操作不可恢复,确认删除?', {
  198. shade: layer_shade,
  199. area: ['480px', '190px'],
  200. move: false,
  201. title: '提示',
  202. btnAlign:'r',
  203. closeBtn: 3,
  204. btn: ['确定', '取消'] ,//按钮
  205. success: function() {
  206. $(".layui-layer-content").css('text-align', 'left');
  207. }
  208. }, function(){
  209. layer_loading('正在处理');
  210. var url = $(obj).data('url');
  211. $.ajax({
  212. type : 'post',
  213. url : url,
  214. data : {_ajax:1},
  215. dataType : 'json',
  216. success : function(res){
  217. layer.closeAll();
  218. if(res.code == 1){
  219. layer.msg(res.msg, {shade: layer_shade, icon:1, time: 1000}, function(){
  220. window.location.reload();
  221. });
  222. }else{
  223. showErrorAlert(res.msg);
  224. }
  225. },
  226. error: function(e){
  227. layer.closeAll();
  228. showErrorAlert(e.responseText);
  229. }
  230. });
  231. }, function(index){
  232. layer.close(index);
  233. return false;// 取消
  234. }
  235. );
  236. }
  237. function newdir(obj)
  238. {
  239. var url = $(obj).data('url');
  240. layer.prompt({
  241. title: '新建目录',
  242. id: 'layerid_1645598368',
  243. btn: ['确定','取消'],
  244. shade: layer_shade,
  245. closeBtn: 0,
  246. success: function(layero, index) {
  247. var before_str = "<div style='margin: 8px 0px 10px 0px;'>不能包含下列任何字符:\\ / : * ? \" < > |</div>";
  248. $("#layerid_1645598368").append(before_str);
  249. $("#layerid_1645598368").find('input').attr('placeholder', '请输入目录名称');
  250. $("#layerid_1645598368").find('input').attr('onkeyup', 'this.value=this.value.replace(/[\\\\/\:\*\?\"\<\>\|]/g,\'\');');
  251. $("#layerid_1645598368").find('input').attr('onpaste', 'this.value=this.value.replace(/[\\\\/\:\*\?\"\<\>\|]/g,\'\');');
  252. $("#layerid_1645598368").find('input').bind('keydown', function(event) {
  253. if (event.keyCode == 13) {
  254. newdir_submit(obj, $(this).val());
  255. }
  256. });
  257. },
  258. btn2: function(index, layero){
  259. layer.close(index);
  260. }
  261. }, function(value, index) {
  262. newdir_submit(obj, value);
  263. });
  264. return false;
  265. }
  266. function newdir_submit(obj, dirname)
  267. {
  268. var url = $(obj).data('url');
  269. $.ajax({
  270. type : 'post',
  271. url : url,
  272. data : {dirname:dirname, _ajax:1},
  273. dataType : 'json',
  274. success : function(res){
  275. layer.closeAll();
  276. if(res.code == 1){
  277. layer.msg(res.msg, {shade: layer_shade, icon:1, time: 1000}, function(){
  278. window.location.reload();
  279. // window.location.href = res.url;
  280. });
  281. }else{
  282. showErrorAlert(res.msg);
  283. }
  284. },
  285. error: function(e){
  286. layer.closeAll();
  287. showErrorAlert(e.responseText);
  288. }
  289. });
  290. }
  291. function resetname(obj)
  292. {
  293. var url = $(obj).data('url');
  294. var old_filename = $(obj).data('filename');
  295. layer.prompt({
  296. title: '重命名',
  297. id: 'layerid_1645598368',
  298. btn: ['确定','取消'],
  299. shade: layer_shade,
  300. closeBtn: 0,
  301. success: function(layero, index) {
  302. var before_str = "<div style='margin: 0px 0px 10px 0px;'>旧名称:"+old_filename+"</div>";
  303. $("#layerid_1645598368").prepend(before_str);
  304. var append_str = "<div style='margin: 8px 0px 0px 0px;'>不能包含下列任何字符:\\ / : * ? \" < > |</div>";
  305. $("#layerid_1645598368").append(append_str);
  306. $("#layerid_1645598368").find('input').attr('placeholder', '请输入新的名称');
  307. $("#layerid_1645598368").find('input').attr('onkeyup', 'this.value=this.value.replace(/[\\\\/\:\*\?\"\<\>\|]/g,\'\');');
  308. $("#layerid_1645598368").find('input').attr('onpaste', 'this.value=this.value.replace(/[\\\\/\:\*\?\"\<\>\|]/g,\'\');');
  309. $("#layerid_1645598368").find('input').bind('keydown', function(event) {
  310. if (event.keyCode == 13) {
  311. resetname_submit(obj, $(this).val(), old_filename);
  312. }
  313. });
  314. },
  315. btn2: function(index, layero){
  316. layer.close(index);
  317. }
  318. }, function(value, index) {
  319. resetname_submit(obj, value, old_filename);
  320. });
  321. return false;
  322. }
  323. function resetname_submit(obj, dirname, old_filename)
  324. {
  325. var url = $(obj).data('url');
  326. $.ajax({
  327. type : 'post',
  328. url : url,
  329. data : {dirname:dirname, old_filename:old_filename, _ajax:1},
  330. dataType : 'json',
  331. success : function(res){
  332. layer.closeAll();
  333. if(res.code == 1){
  334. layer.msg(res.msg, {shade: layer_shade, icon:1, time: 1000}, function(){
  335. window.location.reload();
  336. });
  337. }else{
  338. showErrorAlert(res.msg);
  339. }
  340. },
  341. error: function(e){
  342. layer.closeAll();
  343. showErrorAlert(e.responseText);
  344. }
  345. });
  346. }
  347. </script>
  348. {include file="footer.htm" /}