component-favorite.php 4.7 KB

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