api-list.php 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  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. <!-- jstree CSS -->
  8. <link rel="stylesheet" href="/Common/assets/vendor/jstree/themes/default/style.css" />
  9. <?php include("bim-support-header.html"); ?>
  10. <script src="./script/js/global.js"></script>
  11. <script type="application/javascript">
  12. var delFavoriteList = [];
  13. var i = 0;
  14. var path = [];
  15. var categoryList = [];
  16. var categoryTable = [];
  17. var id = [];
  18. var revitVersion = [];
  19. var userName = "<?php echo $_SESSION['name'] ?>";
  20. var role = "<?php echo ($groupName); ?>";
  21. var right = <?php echo ($right); ?>;
  22. var searchURL = window.location.search;
  23. searchURL = searchURL.substring(1, searchURL.length);
  24. type = searchURL.split("&")[0].split("=")[1];
  25. if (type === undefined) {
  26. //window.location.href = "?type=other";
  27. }
  28. var $grid;
  29. var list;
  30. pageHeader = "BIM程式庫";
  31. </script>
  32. </head>
  33. <body>
  34. <canvas id="c"></canvas>
  35. <section class="body">
  36. <!-- start: header -->
  37. <header-menu></header-menu>
  38. <!-- end: header -->
  39. <div class="inner-wrapper">
  40. <!-- start: sidebar -->
  41. <side-bar></side-bar>
  42. <!-- end: sidebar -->
  43. <section role="main" class="content-body">
  44. <header class="page-header">
  45. <h2>{{pageHeader}}</h2>
  46. </header>
  47. <!-- start: page -->
  48. <section class="content-with-menu content-with-menu-has-toolbar media-gallery">
  49. <div class="content-with-menu-container">
  50. <inner-menu>
  51. <template v-slot:inner-equipment>
  52. <api-list></api-list>
  53. </template>
  54. </inner-menu>
  55. <div class="inner-body mg-main">
  56. <div class="inner-toolbar">
  57. <ul>
  58. <search-bar></search-bar>
  59. <li>
  60. <ul class="button-group nav nav-pills nav-pills-primary sort-by-button-group" data-filter-group="type">
  61. <li>
  62. <label>排序</label>
  63. </li>
  64. <li class="active">
  65. <button data-sort-by="downloadTimes" class="btn btn-primary">下載熱門</button>
  66. </li>
  67. <li class="active">
  68. <button data-sort-by="viewTimes" class="btn btn-primary">瀏覽熱門</button>
  69. </li>
  70. </ul>
  71. </li>
  72. <filter-bar></filter-bar>
  73. </ul>
  74. </div>
  75. <filter-content2></filter-content2>
  76. <div class="row mg-files" data-sort-destination="" data-sort-id="media-gallery" id="content" style="position: relative; height: 720.5px;">
  77. <isotope-item v-for="item in list" v-bind:name="item.APIName" v-bind:folder="item.APIID + item.APIName" v-bind:id="item.id" v-bind:object="item.object" v-bind:usage="item.usage" v-bind:software="item.software" v-bind:detail="item.detail" v-bind:operate="item.operate" v-bind:source="item.source" v-bind:view-times="item.viewTimes" v-bind:download-times="item.downloadTimes">
  78. </isotope-item>
  79. </div>
  80. </div>
  81. </div>
  82. </section>
  83. <!-- end: page -->
  84. </section>
  85. </div>
  86. </section>
  87. <script>
  88. $.ajax({
  89. url: "./script/php/getPath.php",
  90. type: "GET",
  91. async: false,
  92. data: {
  93. type: type,
  94. },
  95. contentType: "application/json",
  96. dataType: "json"
  97. }).done(function(data) {
  98. var table = data.table;
  99. for (i = 0; i < table.length; i++) {
  100. listObj = {};
  101. listObj["APIName"] = table[i].APIName;
  102. if (table[i].APIID == null)
  103. table[i].APIID = '';
  104. listObj["APIID"] = table[i].APIID;
  105. listObj["id"] = table[i].id;
  106. if (table[i].object != null)
  107. table[i].object = table[i].object.replaceAll(",", " ");
  108. listObj["object"] = table[i].object;
  109. if (table[i].usage != null)
  110. table[i].usage = table[i].usage.replaceAll(",", " ");
  111. listObj["usage"] = table[i].usage;
  112. listObj["software"] = table[i].software;
  113. listObj["detail"] = table[i].detail;
  114. listObj["operate"] = table[i].operate;
  115. listObj["source"] = table[i].source;
  116. listObj["viewTimes"] = table[i].viewTimes;
  117. listObj["downloadTimes"] = table[i].downloadTimes;
  118. list.push(listObj);
  119. }
  120. var filter = data.objectFilter;
  121. var filterArray = [];
  122. for (i = 0; i < filter.length; i++) {
  123. filterArray = filter[i].object.split(",")
  124. for (j = 0; j < filterArray.length; j++) {
  125. objectFilter.push(filterArray[j]);
  126. }
  127. }
  128. objectFilter = [...new Set(objectFilter)];
  129. filter = data.usageFilter;
  130. for (i = 0; i < filter.length; i++) {
  131. filterArray = filter[i].usage.split(",");
  132. for (j = 0; j < filterArray.length; j++) {
  133. usageFilter.push(filterArray[j]);
  134. }
  135. }
  136. usageFilter = [...new Set(usageFilter)];
  137. vm.mount('.body');
  138. addUserImage(userName.charAt(0),role);
  139. }).error(function(error) {
  140. console.log(error);
  141. });
  142. </script>
  143. <?php include("bim-support-body.html"); ?>
  144. <script>
  145. // $(document).ready(function() {
  146. $grid = $("#content").isotope({
  147. itemSelector: ".isotope-item",
  148. layoutMode: 'fitRows',
  149. getSortData: {
  150. name: '.name',
  151. viewTimes: '.viewTimes parseInt',
  152. downloadTimes: '.downloadTimes parseInt',
  153. }
  154. })
  155. setTimeout(() => {
  156. $grid.isotope({
  157. sortBy: 'downloadTimes',
  158. sortAscending: false,
  159. })
  160. }, 100);
  161. $('.sort-by-button-group').on('click', 'button', function() {
  162. var sortByValue = $(this).attr('data-sort-by');
  163. $grid.isotope({
  164. sortBy: sortByValue,
  165. sortAscending: false,
  166. });
  167. });
  168. // });
  169. </script>
  170. <script src="./script/js/data-sort.js"></script>
  171. </body>
  172. </html>