skeleton.html 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <title></title>
  7. <link rel="stylesheet" href="./bootstrap/css/bootstrap.min.css" />
  8. <link rel="stylesheet" href="./bootstrap/css/bootstrap-theme.min.css" />
  9. <link rel="stylesheet" href="./css/index.css" />
  10. <script src="./js/jquery.js"></script>
  11. <script src="./bootstrap/js/bootstrap.min.js"></script>
  12. <style>
  13. .modal-header,
  14. .modal-footer {
  15. border: none;
  16. }
  17. </style>
  18. </head>
  19. <body>
  20. <div class="item_big skeleton">
  21. <div class="labelStyle leftBody">
  22. <h3 class="proName"></h3>
  23. <div class="title Activity">
  24. 活动列表
  25. <img src="./img/add.png" alt="" class="icon">
  26. </div>
  27. <div class="menu activity"> </div>
  28. <div class="title Topic">
  29. 话题列表
  30. <img src="./img/add.png" alt="" class="icon">
  31. </div>
  32. <div class="menu topic"> </div>
  33. </div>
  34. <div class="valueStyle rightBody">
  35. <div class="userArea">
  36. <span class="btn user">当前登录</span>
  37. |
  38. <span class="btn loginout">退出</span>
  39. </div>
  40. <div class="skeleton-body">
  41. <div class="iframe">
  42. <iframe id="iframe" style="width: 100%; height: 100%; border: none"></iframe>
  43. </div>
  44. </div>
  45. </div>
  46. </div>
  47. <!-- Modal 增加/修改活动 -->
  48. <div class="modal fade" id="modify" tabindex="-1" role="dialog" aria-labelledby="modify">
  49. <div class="modal-dialog" role="document">
  50. <div class="modal-content">
  51. <div class="modal-header">
  52. <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
  53. aria-hidden="true">&times;</span></button>
  54. <h4 class="modal-title" id="modify_title">Modal title</h4>
  55. </div>
  56. <div class="modal-body input-group">
  57. <span class="input-group-addon" id="basic-addon1">活动名称</span>
  58. <input type="text" class="form-control" placeholder="请输入活动名称" aria-describedby="basic-addon1">
  59. </div>
  60. <div class="modal-footer">
  61. <div type="button" class="btn btn-primary" data-dismiss="modal">保存</div>
  62. </div>
  63. </div>
  64. </div>
  65. </div>
  66. <!-- Modal 删除活动 -->
  67. <div class="modal fade" id="delActivity" tabindex="-1" role="dialog" aria-labelledby="delActivity">
  68. <div class="modal-dialog" role="document">
  69. <div class="modal-content">
  70. <div class="modal-header">
  71. <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
  72. aria-hidden="true">&times;</span></button>
  73. <h4 class="modal-title" id="del_Activity"></h4>
  74. </div>
  75. <div class="modal-footer">
  76. <div type="button" class="btn btn-danger btn-sm" data-dismiss="modal">确定</div>
  77. </div>
  78. </div>
  79. </div>
  80. </div>
  81. <!-- Modal 增加/修改话题 -->
  82. <div class="modal fade" id="topic" tabindex="-1" role="dialog" aria-labelledby="topic">
  83. <div class="modal-dialog" role="document">
  84. <div class="modal-content">
  85. <div class="modal-header">
  86. <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
  87. aria-hidden="true">&times;</span></button>
  88. <h4 class="modal-title" id="topic_title">Modal title</h4>
  89. </div>
  90. <div class="modal-body input-group">
  91. <span class="input-group-addon" id="basic-addon1">话题名称</span>
  92. <input type="text" class="form-control" placeholder="请输入话题,多个话题使用中文分号隔开"
  93. aria-describedby="basic-addon1">
  94. </div>
  95. <div class="modal-footer">
  96. <div type="button" class="btn btn-primary" data-dismiss="modal">保存</div>
  97. </div>
  98. </div>
  99. </div>
  100. </div>
  101. <!-- Modal 删除话题 -->
  102. <div class="modal fade" id="delTopic" tabindex="-1" role="dialog" aria-labelledby="delTopic">
  103. <div class="modal-dialog" role="document">
  104. <div class="modal-content">
  105. <div class="modal-header">
  106. <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
  107. aria-hidden="true">&times;</span></button>
  108. <h4 class="modal-title" id="del_Topic"></h4>
  109. </div>
  110. <div class="modal-footer">
  111. <div type="button" class="btn btn-danger btn-sm" data-dismiss="modal">确定</div>
  112. </div>
  113. </div>
  114. </div>
  115. </div>
  116. </body>
  117. <script src="./js/base.js"></script>
  118. <script>
  119. let activityList = [], topicList = [];
  120. require('POST', {
  121. url: "/activity/list"
  122. }).then(data => {
  123. activityList = data;
  124. for (let i = 0; i < activityList.length; i++) {
  125. const v = activityList[i];
  126. const li = $(`<div class="menuLi menuActivity" data-id='${v.activityId}'>${v.name}</div>`);
  127. const svg = $(`<img class='icon' data-id='${v.activityId}' data-title='${v.name}' src='./img/round_close.png' />`)
  128. v.id !== -1 && li.append(svg);
  129. $(".activity").append(li)
  130. }
  131. $($(".leftBody .menuActivity")[0]).click();
  132. })
  133. // 计算左侧功能栏列表高度
  134. const h = ($('.leftBody').height() - $(".proName").height()) / 2 - 40;
  135. $('.menu').attr("style", "height: " + h + 'px')
  136. function getTopic(actname) {
  137. require('POST', {
  138. url: "/topic/list",
  139. data: {
  140. name: actname
  141. }
  142. }).then(data => {
  143. console.log(data);
  144. for (let i = 0; i < topicList.length; i++) {
  145. const v = topicList[i];
  146. const li = $(`<div class="menuLi menuTopic" data-id='${v.id}'>${v.title}</div>`);
  147. const svg = $(`<img class='icon' data-id='${v.id}' data-title='${v.title}' src='./img/round_close.png' />`)
  148. v.id !== -1 && li.append(svg);
  149. $(".topic").append(li)
  150. }
  151. })
  152. }
  153. $(".userArea .user").text(localStorage.login);
  154. $(".userArea .loginout").click(function () {
  155. localStorage.token = "";
  156. localStorage.login = "";
  157. location.href = "./index.html";
  158. });
  159. $(".leftBody").on('click', '.menuActivity', function () {
  160. if ($(this).hasClass("menuLiAct")) return;
  161. $(".leftBody .menuActivity").removeClass("menuLiAct");
  162. $(this).addClass("menuLiAct");
  163. getTopic($(this).text());
  164. $("#iframe")[0].src = `./item.html?id=${$(this).attr('data-id')}&topic=${$(this).text()}`;
  165. });
  166. let allData = [];
  167. $(".leftBody .activity").on('click', '.icon', function (e) {
  168. $("#del_Activity").text(`确定要删除 ${e.target.getAttribute("data-title") || ''} 活动?`)
  169. $('#delActivity').modal()
  170. })
  171. $(".Activity").on('click', '.icon', function (e) {
  172. $("#modify_title").text(`添加活动`)
  173. $('#modify').modal()
  174. })
  175. $(".leftBody .topic").on('click', '.icon', function (e) {
  176. $("#del_Topic").text(`确定要删除 ${e.target.getAttribute("data-title") || ''} 话题?`)
  177. $('#delTopic').modal()
  178. })
  179. $(".Topic").on('click', '.icon', function (e) {
  180. $("#topic_title").text(`添加话题`)
  181. $('#topic').modal()
  182. })
  183. function funTool(config) {
  184. this.config = config;
  185. this.add = () => { }
  186. this.remove = () => { }
  187. this.change = () => { }
  188. }
  189. new funTool({
  190. baseUrl: Config.baseUrl,
  191. addUrl: "",
  192. addUrl: "",
  193. })
  194. // $.get(Config.baseUrl + "/overview.json", function (res) {
  195. // allData = res || [];
  196. // const allPele = $(".skeleton-header");
  197. // allData.map((v) => {
  198. // let ele = $(
  199. // "<div class='allItem item_big'><div class='valueStyle'><div class='itemValue'>" +
  200. // v.value +
  201. // "</div><div class='itemKey'>" +
  202. // v.name +
  203. // "</div></div><div class='labelStyle'>" +
  204. // "<div class='locakProgress' style='height: " +
  205. // (v.rate * 60).toFixed(2) +
  206. // "px'></div></div>"
  207. // );
  208. // allPele.append(ele);
  209. // });
  210. // }).fail(function (e) {
  211. // let showText = "请稍后再试";
  212. // showAlert(showText);
  213. // });
  214. </script>
  215. </html>