other-list.php 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247
  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">
  10. <head>
  11. <!-- jstree CSS -->
  12. <link rel="stylesheet" href="assets/vendor/jstree/themes/default/style.css" />
  13. <?php include("bim-support-header.html"); ?>
  14. <script src="./script/js/global.js"></script>
  15. <script src="./script/js/pdfobject.min.js"></script>
  16. <script type="application/javascript">
  17. var delFavoriteList = [];
  18. var i = 0;
  19. var path = [];
  20. var categoryList = [];
  21. var categoryTable = [];
  22. var id = [];
  23. var revitVersion = [];
  24. var userName = '<?php echo $_SESSION['name']; ?>';
  25. var url_href = window.location.href;
  26. var url = new URL(url_href);
  27. var type = url.searchParams.get("type");
  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. <other-list></other-list>
  53. </template>
  54. </inner-menu>
  55. <div class="inner-body mg-main">
  56. <div class="inner-toolbar">
  57. </div>
  58. <filter-content2></filter-content2>
  59. <div class="row">
  60. <div class="col-md-6">
  61. <section class="panel">
  62. <div class="panel-body">
  63. <h5 class="text-semibold text-dark text-uppercase">檔案下載</h5>
  64. <div id="treeAjaxHTML" style="height:800px"></div>
  65. </div>
  66. </section>
  67. </div>
  68. <div class="col-md-6">
  69. <section class="panel">
  70. <div class="panel-body">
  71. <div id="pdfFile" style="height:800px"></div>
  72. </div>
  73. </section>
  74. </div>
  75. </div>
  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">
  78. </isotope-item>
  79. </div> -->
  80. </div>
  81. </div>
  82. </section>
  83. <!-- end: page -->
  84. </section>
  85. </div>
  86. </section>
  87. <script>
  88. var folder = 'Dynamo/自動化汙水管線建置';
  89. $.ajax({
  90. url: "./script/php/getPath.php",
  91. type: "GET",
  92. async: false,
  93. data: {
  94. type: type,
  95. },
  96. contentType: "application/json",
  97. dataType: "json"
  98. }).done(function(data) {
  99. var table = data.table;
  100. for (i = 0; i < table.length; i++) {
  101. listObj = {};
  102. listObj["APIName"] = table[i].APIName;
  103. if (table[i].APIID == null)
  104. table[i].APIID = '';
  105. listObj["APIID"] = table[i].APIID;
  106. listObj["id"] = table[i].id;
  107. if (table[i].object != null)
  108. table[i].object = table[i].object.replaceAll(",", " ");
  109. listObj["object"] = table[i].object;
  110. if (table[i].usage != null)
  111. table[i].usage = table[i].usage.replaceAll(",", " ");
  112. listObj["usage"] = table[i].usage;
  113. listObj["software"] = table[i].software;
  114. listObj["detail"] = table[i].detail;
  115. listObj["operate"] = table[i].operate;
  116. listObj["source"] = table[i].source;
  117. list.push(listObj);
  118. }
  119. var filter = data.objectFilter;
  120. var filterArray = [];
  121. for (i = 0; i < filter.length; i++) {
  122. filterArray = filter[i].object.split(",")
  123. for (j = 0; j < filterArray.length; j++) {
  124. objectFilter.push(filterArray[j]);
  125. }
  126. }
  127. objectFilter = [...new Set(objectFilter)];
  128. filter = data.usageFilter;
  129. for (i = 0; i < filter.length; i++) {
  130. filterArray = filter[i].usage.split(",");
  131. for (j = 0; j < filterArray.length; j++) {
  132. usageFilter.push(filterArray[j]);
  133. }
  134. }
  135. usageFilter = [...new Set(usageFilter)];
  136. vm.mount('.body');
  137. }).error(function(error) {
  138. console.log(error);
  139. });
  140. </script>
  141. <?php include("bim-support-body.html"); ?>
  142. <script>
  143. // $(document).ready(function() {
  144. $grid = $("#content").isotope({
  145. itemSelector: ".isotope-item",
  146. layoutMode: 'fitRows',
  147. getSortData: {
  148. name: '.name',
  149. }
  150. })
  151. setTimeout(() => {
  152. $grid.isotope({
  153. sortBy: 'name'
  154. })
  155. }, 100);
  156. // });
  157. $(document).ready(function() {
  158. PDFObject.embed("./assets/null.pdf", "#pdfFile");
  159. console.log(type);
  160. $('#treeAjaxHTML').jstree({
  161. 'core': {
  162. 'themes': {
  163. 'responsive': false
  164. },
  165. 'check_callback': true,
  166. 'data': {
  167. 'url': './script/php/getBIMData.php?folder=' + type,
  168. }
  169. },
  170. 'types': {
  171. 'default': {
  172. 'icon': 'fa fa-folder'
  173. },
  174. 'file': {
  175. 'icon': 'fa fa-file'
  176. },
  177. 'pdf': {
  178. 'icon': 'fa fa-file-pdf-o'
  179. },
  180. 'word': {
  181. 'icon': 'fa fa-file-word-o'
  182. },
  183. 'ppt': {
  184. 'icon': 'fa fa-file-powerpoint-o'
  185. }
  186. },
  187. 'plugins': ['types']
  188. }).on(
  189. 'select_node.jstree',
  190. function(event, data) {
  191. data.instance.toggle_node(data.node);
  192. if (data.node.text.includes(".") & !data.node.text.includes(".pdf")) {
  193. console.log(data.node);
  194. var link = document.createElement("a");
  195. link.download = data.node.text;
  196. link.href = data.node.a_attr.href;
  197. document.body.appendChild(link);
  198. link.click();
  199. document.body.removeChild(link);
  200. }else if(data.node.text.includes(".pdf")){
  201. PDFObject.embed(data.node.a_attr.href, "#pdfFile");
  202. }
  203. }).bind('loaded.jstree', function(e, data) {
  204. // invoked after jstree has loaded
  205. /*$('.jstree-anchor').each(function(index) {
  206. if ($(this).attr('href').includes(".dll") || $(this).attr('href').includes(".dyn") || $(this).attr('href').includes(".exe") || $(this).attr('href').includes(".msi")) {
  207. folder.push($(this).attr('href'));
  208. }
  209. });
  210. if (api != null) {
  211. for (i = 0; i < api.length; i++) {
  212. var fileNames = api[i].split("/");
  213. fileName = fileNames[fileNames.length - 1];
  214. $("#apiList").append("<a download href='" + api[i] + "' id='api" + i + "'>" + fileName + "</a><br>");
  215. }
  216. }*/
  217. });
  218. });
  219. </script>
  220. <script src="assets/vendor/jstree/jstree.js"></script>
  221. </body>
  222. </html>