skeleton.html 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309
  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" id="hdname" placeholder="请输入活动名称"
  59. aria-describedby="basic-addon1">
  60. </div>
  61. <div class="modal-footer">
  62. <div type="button" class="btn btn-primary uphd" data-dismiss="modal">保存</div>
  63. </div>
  64. </div>
  65. </div>
  66. </div>
  67. <!-- Modal 删除活动 -->
  68. <div class="modal fade" id="delActivity" tabindex="-1" role="dialog" aria-labelledby="delActivity">
  69. <div class="modal-dialog" role="document">
  70. <div class="modal-content">
  71. <div class="modal-header">
  72. <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
  73. aria-hidden="true">&times;</span></button>
  74. <h4 class="modal-title" id="del_Activity"></h4>
  75. </div>
  76. <div class="modal-footer">
  77. <div type="button" class="btn btn-danger btn-sm delhd" data-dismiss="modal">删除</div>
  78. </div>
  79. </div>
  80. </div>
  81. </div>
  82. <!-- Modal 增加/修改话题 -->
  83. <div class="modal fade" id="topic" tabindex="-1" role="dialog" aria-labelledby="topic">
  84. <div class="modal-dialog" role="document">
  85. <div class="modal-content">
  86. <div class="modal-header">
  87. <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
  88. aria-hidden="true">&times;</span></button>
  89. <h4 class="modal-title" id="topic_title"></h4>
  90. </div>
  91. <div class="modal-body input-group">
  92. <span class="input-group-addon" id="basic-addon1">话题名称</span>
  93. <input type="text" class="form-control" placeholder="请输入话题,多个话题使用中文分号隔开" id="htname"
  94. aria-describedby="basic-addon1">
  95. </div>
  96. <div class="modal-footer">
  97. <div type="button" class="btn btn-primary bcht" data-dismiss="modal">保存</div>
  98. </div>
  99. </div>
  100. </div>
  101. </div>
  102. <!-- Modal 删除话题 -->
  103. <div class="modal fade" id="delTopic" tabindex="-1" role="dialog" aria-labelledby="delTopic">
  104. <div class="modal-dialog" role="document">
  105. <div class="modal-content">
  106. <div class="modal-header">
  107. <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
  108. aria-hidden="true">&times;</span></button>
  109. <h4 class="modal-title" id="del_Topic"></h4>
  110. </div>
  111. <div class="modal-footer">
  112. <div type="button" class="btn btn-danger btn-sm delht" data-dismiss="modal">删除</div>
  113. </div>
  114. </div>
  115. </div>
  116. </div>
  117. </body>
  118. <script src="./js/base.js"></script>
  119. <script>
  120. let activityList = [], topicList = [], tList = [];
  121. getht(true);
  122. // 计算左侧功能栏列表高度
  123. const h = ($('.leftBody').height() - $(".proName").height()) / 2 - 80;
  124. $('.menu').attr("style", "height: " + h + 'px')
  125. function getht() {
  126. require('POST', {
  127. url: "/activity/list"
  128. }).then(data => {
  129. activityList = data;
  130. let o = $(".menuLiAct").index() || 0;
  131. o < 0 && (o = 0);
  132. $(".activity").html("")
  133. for (let i = 0; i < activityList.length; i++) {
  134. const v = activityList[i];
  135. const li = $(`<div class="menuLi menuActivity" data-id='${v.activityId}'><div data-id='${v.activityId}' class="menuliText">${v.name}</div></div>`);
  136. const svg = $(`<img class='icon' data-id='${v.activityId}' data-title='${v.name}' src='./img/round_close.png' />`)
  137. v.id !== -1 && li.append(svg);
  138. $(".activity").append(li)
  139. }
  140. $($(".leftBody .menuliText")[o || 0]).click();
  141. })
  142. }
  143. function getTopic(id) {
  144. require('POST', {
  145. url: "/topic/list",
  146. ct: true,
  147. data: {
  148. activityId: id
  149. }
  150. }).then(data => {
  151. tList = data || [];
  152. $(".topic").html("")
  153. for (let i = 0; i < tList.length; i++) {
  154. const v = tList[i];
  155. const li = $(`<div class="menuLi menuTopic" data-id='${v.topicId}'><div data-id='${v.topicId}' class="menuliText">${v.name}</div></div>`);
  156. const svg = $(`<img class='icon' data-id='${v.topicId}' data-title='${v.name}' src='./img/round_close.png' />`)
  157. v.id !== -1 && li.append(svg);
  158. $(".topic").append(li)
  159. }
  160. })
  161. }
  162. $(".userArea .user").text(localStorage.login);
  163. $(".userArea .loginout").click(function () {
  164. localStorage.token = "";
  165. localStorage.login = "";
  166. location.href = "./index.html";
  167. });
  168. $(".leftBody").on('click', '.menuliText', function () {
  169. if ($(this).hasClass("menuLiAct")) return;
  170. $(".leftBody .menuActivity").removeClass("menuLiAct");
  171. $(this).parent().addClass("menuLiAct");
  172. getTopic($(this).attr('data-id'));
  173. $("#iframe")[0].src = `./item.html?id=${$(this).attr('data-id')}&topic=${$(this).text()}`;
  174. });
  175. let allData = [], selectid = "", topicId = "";
  176. $(".leftBody .activity").on('click', '.icon', function (e) {
  177. selectid = $(this).attr('data-id');
  178. $("#del_Activity").text(`确定要删除 ${e.target.getAttribute("data-title") || ''} 活动?`)
  179. $('#delActivity').modal()
  180. })
  181. $(".Activity").on('click', '.icon', function (e) {
  182. $("#modify_title").text(`添加活动`)
  183. $('#modify').modal()
  184. })
  185. $(".leftBody .topic").on('click', '.icon', function (e) {
  186. $("#del_Topic").text(`确定要删除 ${e.target.getAttribute("data-title") || ''} 话题?`)
  187. $('#delTopic').modal()
  188. topicId = $(this).attr('data-id');
  189. })
  190. $(".Topic").on('click', '.icon', function (e) {
  191. $("#topic_title").text(`添加话题`)
  192. $('#topic').modal()
  193. })
  194. $('.uphd').click(function (e) {
  195. require('POST', {
  196. url: "/activity/adv-add",
  197. data: {
  198. name: document.getElementById("hdname").value
  199. }
  200. }).then(data => {
  201. console.log(data)
  202. showAlert('添加成功')
  203. getht()
  204. })
  205. })
  206. $('.delhd').click(function (e) {
  207. if (!selectid) return false
  208. require('POST', {
  209. url: "/activity/delete",
  210. data: {
  211. activityId: selectid
  212. }
  213. }).then(data => {
  214. console.log(data)
  215. showAlert('删除成功')
  216. getht()
  217. })
  218. })
  219. $('.bcht').click(function (e) {
  220. let v = $('#htname').val();
  221. if (!v) return false
  222. require('POST', {
  223. url: "/topic/add",
  224. data: {
  225. activityId: $('.menuLiAct').attr('data-id'),
  226. nameList: v.split(";")
  227. }
  228. }).then(data => {
  229. console.log(data)
  230. showAlert('删除成功')
  231. getht()
  232. })
  233. console.log($('#htname').val(), $('.menuLiAct').attr('data-id'))
  234. })
  235. $('.delht').click(function (e) {
  236. if (!topicId) return false
  237. require('POST', {
  238. url: "/topic/delete",
  239. data: {
  240. topicId: topicId
  241. }
  242. }).then(data => {
  243. console.log(data)
  244. showAlert('删除成功')
  245. getht()
  246. })
  247. })
  248. function funTool(config) {
  249. this.config = config;
  250. this.add = () => { }
  251. this.remove = () => { }
  252. this.change = () => { }
  253. }
  254. new funTool({
  255. baseUrl: Config.baseUrl,
  256. addUrl: "",
  257. addUrl: "",
  258. })
  259. // $.get(Config.baseUrl + "/overview.json", function (res) {
  260. // allData = res || [];
  261. // const allPele = $(".skeleton-header");
  262. // allData.map((v) => {
  263. // let ele = $(
  264. // "<div class='allItem item_big'><div class='valueStyle'><div class='itemValue'>" +
  265. // v.value +
  266. // "</div><div class='itemKey'>" +
  267. // v.name +
  268. // "</div></div><div class='labelStyle'>" +
  269. // "<div class='locakProgress' style='height: " +
  270. // (v.rate * 60).toFixed(2) +
  271. // "px'></div></div>"
  272. // );
  273. // allPele.append(ele);
  274. // });
  275. // }).fail(function (e) {
  276. // let showText = "请稍后再试";
  277. // showAlert(showText);
  278. // });
  279. </script>
  280. </html>