manage_list.tpl 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1">
  7. <title>我的文章 - Powered by MinDoc</title>
  8. <!-- Bootstrap -->
  9. <link href="{{cdncss "/static/bootstrap/css/bootstrap.min.css"}}" rel="stylesheet" type="text/css">
  10. <link href="{{cdncss "/static/font-awesome/css/font-awesome.min.css"}}" rel="stylesheet" type="text/css">
  11. <link href="{{cdncss "/static/bootstrap/plugins/bootstrap-fileinput/4.4.7/css/fileinput.min.css"}}" rel="stylesheet" type="text/css">
  12. <link href="{{cdncss "/static/bootstrap/plugins/bootstrap-fileinput/4.4.7/themes/explorer-fa/theme.css"}}" rel="stylesheet" type="text/css">
  13. <link href="{{cdncss "/static/css/main.css" "version"}}" rel="stylesheet">
  14. <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
  15. <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
  16. <!--[if lt IE 9]>
  17. <script src="/static/html5shiv/3.7.3/html5shiv.min.js"></script>
  18. <script src="/static/respond.js/1.4.2/respond.min.js"></script>
  19. <![endif]-->
  20. </head>
  21. <body>
  22. <div class="manual-reader">
  23. {{template "widgets/header.tpl" .}}
  24. <div class="container manual-body">
  25. <div class="row">
  26. <div class="page-left">
  27. <ul class="menu">
  28. <li {{if eq .ControllerName "BookController"}}class="active"{{end}}><a href="{{urlfor "BookController.Index"}}" class="item"><i class="fa fa-sitemap" aria-hidden="true"></i> 我的项目</a> </li>
  29. <li {{if eq .ControllerName "BlogController"}}class="active"{{end}}><a href="{{urlfor "BlogController.ManageList"}}" class="item"><i class="fa fa-file" aria-hidden="true"></i> 我的文章</a> </li>
  30. </ul>
  31. </div>
  32. <div class="page-right">
  33. <div class="m-box">
  34. <div class="box-head">
  35. <strong class="box-title">文章列表</strong>
  36. &nbsp;
  37. <a href="{{urlfor "BlogController.ManageSetting"}}" class="btn btn-success btn-sm pull-right">添加文章</a>
  38. </div>
  39. </div>
  40. <div class="box-body" id="blogList">
  41. <div class="ui items">
  42. {{range $index,$item := .ModelList}}
  43. <div class="item blog-item">
  44. <div class="content">
  45. <a class="header" href="{{urlfor "BlogController.Index" ":id" $item.BlogId}}" target="_blank">
  46. {{if eq $item.BlogStatus "password"}}
  47. <div class="ui teal label horizontal" data-tooltip="加密">密</div>
  48. {{end}}
  49. {{$item.BlogTitle}}
  50. </a>
  51. <div class="description">
  52. <p class="line-clamp">{{$item.BlogExcerpt}}&nbsp;</p>
  53. </div>
  54. <div class="extra">
  55. <div>
  56. <div class="ui horizontal small list">
  57. <div class="item"><i class="fa fa-clock-o"></i> {{date $item.Modified "Y-m-d H:i:s"}}</div>
  58. <div class="item"><a href="{{urlfor "BlogController.ManageEdit" ":id" $item.BlogId}}" title="文章编辑" target="_blank"><i class="fa fa-edit"></i> 编辑</a></div>
  59. <div class="item"><a class="delete-btn" title="删除文章" data-id="{{$item.BlogId}}"><i class="fa fa-trash"></i> 删除</a></div>
  60. <div class="item"><a href="{{urlfor "BlogController.ManageSetting" ":id" $item.BlogId}}" title="文章设置" class="setting-btn"><i class="fa fa-gear"></i> 设置</a></div>
  61. </div>
  62. </div>
  63. </div>
  64. </div>
  65. </div>
  66. {{else}}
  67. <div class="text-center">暂无文章</div>
  68. {{end}}
  69. </div>
  70. <nav class="pagination-container">
  71. {{.PageHtml}}
  72. </nav>
  73. </div>
  74. </div>
  75. </div>
  76. </div>
  77. {{template "widgets/footer.tpl" .}}
  78. </div>
  79. <!-- Delete Book Modal -->
  80. <div class="modal fade" id="deleteBlogModal" tabindex="-1" role="dialog" aria-labelledby="deleteBlogModalLabel">
  81. <div class="modal-dialog" role="document">
  82. <form method="post" id="deleteBlogForm" action="{{urlfor "BlogController.ManageDelete"}}">
  83. <input type="hidden" name="blog_id" value="">
  84. <div class="modal-content">
  85. <div class="modal-header">
  86. <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
  87. <h4 class="modal-title">删除文章</h4>
  88. </div>
  89. <div class="modal-body">
  90. <span style="font-size: 14px;font-weight: 400;">确定删除文章吗?</span>
  91. <p></p>
  92. <p class="text error-message">删除文章后将无法找回。</p>
  93. </div>
  94. <div class="modal-footer">
  95. <span id="form-error-message2" class="error-message"></span>
  96. <button type="button" class="btn btn-default" data-dismiss="modal">取消</button>
  97. <button type="submit" id="btnDeleteBlog" class="btn btn-primary" data-loading-text="删除中...">确定删除</button>
  98. </div>
  99. </div>
  100. </form>
  101. </div>
  102. </div>
  103. <script src="{{cdnjs "/static/jquery/1.12.4/jquery.min.js"}}" type="text/javascript"></script>
  104. <script src="{{cdnjs "/static/bootstrap/js/bootstrap.min.js"}}" type="text/javascript"></script>
  105. <script src="{{cdnjs "/static/vuejs/vue.min.js"}}" type="text/javascript"></script>
  106. <script src="{{cdnjs "/static/js/jquery.form.js"}}" type="text/javascript"></script>
  107. <script src="{{cdnjs "/static/bootstrap/plugins/bootstrap-fileinput/4.4.7/js/fileinput.min.js"}}"></script>
  108. <script src="{{cdnjs "/static/bootstrap/plugins/bootstrap-fileinput/4.4.7/js/locales/zh.js"}}"></script>
  109. <script src="{{cdnjs "/static/layer/layer.js"}}" type="text/javascript" ></script>
  110. <script src="{{cdnjs "/static/js/main.js"}}" type="text/javascript"></script>
  111. <script type="text/javascript">
  112. /**
  113. * 删除项目
  114. */
  115. function deleteBlog($id) {
  116. $("#deleteBlogModal").find("input[name='blog_id']").val($id);
  117. $("#deleteBlogModal").modal("show");
  118. }
  119. function copyBook($id){
  120. var index = layer.load()
  121. $.ajax({
  122. url : "{{urlfor "BookController.Copy"}}" ,
  123. data : {"identify":$id},
  124. type : "POST",
  125. dataType : "json",
  126. success : function ($res) {
  127. layer.close(index);
  128. if ($res.errcode === 0) {
  129. window.app.lists.splice(0, 0, $res.data);
  130. $("#addBookDialogModal").modal("hide");
  131. } else {
  132. layer.msg($res.message);
  133. }
  134. },
  135. error : function () {
  136. layer.close(index);
  137. layer.msg('服务器异常');
  138. }
  139. });
  140. }
  141. $(function () {
  142. $("#blogList .delete-btn").click(function () {
  143. deleteBlog($(this).attr("data-id"));
  144. });
  145. /**
  146. * 删除项目
  147. */
  148. $("#deleteBlogForm").ajaxForm({
  149. beforeSubmit : function () {
  150. $("#btnDeleteBlog").button("loading");
  151. },
  152. success : function ($res) {
  153. if($res.errcode === 0){
  154. window.location = window.location.href;
  155. }else{
  156. showError(res.message,"#form-error-message2");
  157. }
  158. $("#btnDeleteBlog").button("reset");
  159. },
  160. error : function () {
  161. showError("服务器异常","#form-error-message2");
  162. $("#btnDeleteBlog").button("reset");
  163. }
  164. });
  165. });
  166. </script>
  167. </body>
  168. </html>