component-favorite.php 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. <?php
  2. session_start();
  3. if (!isset($_SESSION['loggedin'])) {
  4. header('Location: pages-signin.html');
  5. exit;
  6. }
  7. ?>
  8. <!doctype html>
  9. <html class="fixed sidebar-left-collapsed">
  10. <head>
  11. <?php include("bim-support-header.html"); ?>
  12. <script src="./script/js/global.js"></script>
  13. <script type="application/javascript">
  14. var delFavoriteList = [];
  15. var i = 0;
  16. var path = [];
  17. var categoryList = [];
  18. var categoryTable = [];
  19. var id = [];
  20. var revitVersion = [];
  21. var userName = '<?php echo $_SESSION['name']; ?>';
  22. var $grid;
  23. //var year = [];
  24. pageHeader = "元件庫";
  25. var parent = [];
  26. var type = [];
  27. var object = [];
  28. var typeInEnglish = [];
  29. var parentInEnglish = [];
  30. </script>
  31. </head>
  32. <body>
  33. <canvas id="c"></canvas>
  34. <section class="body">
  35. <!-- start: header -->
  36. <header-menu></header-menu>
  37. <!-- end: header -->
  38. <div class="inner-wrapper">
  39. <!-- start: sidebar -->
  40. <side-bar></side-bar>
  41. <!-- end: sidebar -->
  42. <section role="main" class="content-body">
  43. <header class="page-header">
  44. <h2>{{pageHeader}}</h2>
  45. </header>
  46. <!-- start: page -->
  47. <section class="content-with-menu content-with-menu-has-toolbar media-gallery">
  48. <div class="content-with-menu-container">
  49. <inner-menu>
  50. <template v-slot:inner-equipment>
  51. <equipment-list></equipment-list>
  52. </template>
  53. </inner-menu>
  54. <div class="inner-body mg-main">
  55. <div class="inner-toolbar">
  56. <ul>
  57. <search-bar></search-bar>
  58. <filter-bar></filter-bar>
  59. <li class="right">
  60. <a href="#" id="mgSelectAll"><i class="fa fa-check-square"></i> <span data-all-text="選擇全部" data-none-text="取消全選">選擇全部</span></a>
  61. </li>
  62. <li class="right">
  63. <a href="#" onclick="DelFavorite();"><i class="fa fa-trash-o"></i> 移出清單</a>
  64. </li>
  65. </ul>
  66. </div>
  67. <filter-content></filter-content>
  68. <div class="row mg-files" data-sort-destination data-sort-id="media-gallery" id="content">
  69. </div>
  70. </div>
  71. </div>
  72. </section>
  73. <!-- end: page -->
  74. </section>
  75. </div>
  76. </section>
  77. <script>
  78. /*Vue */
  79. vm.mount('.body');
  80. </script>
  81. <?php include("bim-support-body.html"); ?>
  82. <script>
  83. $(document).ready(function() {
  84. $("a").each(function() {
  85. var searchText = "清單列表";
  86. var found;
  87. if ($(this).context.innerText == searchText) {
  88. $(this).context.classList.add("highlight");
  89. }
  90. });
  91. //$.getJSON
  92. $.ajaxSetup({
  93. async: false
  94. });
  95. $.ajax({
  96. url: "./script/php/equipment_group_favorite.php",
  97. type: "GET",
  98. data: {
  99. userName: userName,
  100. },
  101. contentType: "application/json",
  102. dataType: "json"
  103. }).done(function(data) {
  104. id = data.id;
  105. path = data.path;
  106. for (let i = 0; i < path.length; i++) {
  107. var array = path[i].split('/');
  108. parent[i] = array[0];
  109. type[i] = array[1];
  110. object[i] = array[2];
  111. }
  112. $.getJSON('./assets/equipmentTable2.json', function(data) {
  113. for (var k = 0; k < path.length; k++) {
  114. for (var i = 0; i < data.length; i++) {
  115. if (parent[k] == data[i].category_name) {
  116. parentInEnglish[k] = data[i].category_code;
  117. }
  118. for (var j = 0; j < data[i].children.length; j++) {
  119. if (type[k] == data[i].children[j].component_name) {
  120. typeInEnglish[k] = data[i].children[j].component_code;
  121. }
  122. }
  123. }
  124. }
  125. });
  126. revitVersion = data.revitVersion;
  127. for (var i = 0; i < data.year.length; i++) {
  128. $("#revitVersion").append('<label><input type="checkbox" value=".' + data.year[i] + '" /> ' + data.year[i] + '</label> ');
  129. }
  130. $.when(initThreeJS()).then(function() {
  131. $grid = $("#content").isotope({
  132. itemSelector: ".isotope-item",
  133. layoutMode: 'fitRows'
  134. });
  135. }).then(function() {
  136. setTimeout(function() {
  137. $grid.isotope()
  138. }, 100);
  139. });
  140. }).error(function(error) {
  141. console.log(error);
  142. });
  143. });
  144. //刪除元件checkbox
  145. $(document).on("change", "input[name='delCheck']", function() {
  146. if ($(this).prop('checked') === true) {
  147. delFavoriteList.push($(this).attr('value'));
  148. } else {
  149. delFavoriteList.splice(delFavoriteList.indexOf($(this).attr('value')), 1);
  150. }
  151. });
  152. function DelFavorite() {
  153. $.ajax({
  154. url: "./script/php/addFavorite.php",
  155. type: "POST",
  156. data: {
  157. delFavoriteList: delFavoriteList,
  158. username: userName
  159. }
  160. }).done(function(data) {
  161. window.location.reload();
  162. }).error(function(error) {
  163. console.log(error);
  164. });
  165. }
  166. </script>
  167. <script src="script/js/3Dpic-favorite.js" type="module"></script>
  168. </body>
  169. </html>