vue-panel.js 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. var panel_data = [{
  2. image: "/Common/assets/images/bim.png",
  3. name: "BIM資源網",
  4. info: `BIM資源網提供元件庫、API庫以及樣版庫,使用git管理元件、API以及樣板及其之版本控制,可瀏覽所有元件、API及樣板的內容及其相關屬性,以利下載自己所需之檔案。`,
  5. buttons: [{
  6. name: "進入",
  7. url: "/BIM-Resource/home.php"
  8. }],
  9. target: "",
  10. right: 0,
  11. },
  12. {
  13. image: "/Common/assets/images/BIM-Monitor.png",
  14. name: "BIM監測網",
  15. info: `BIM監測查詢網的目標為監測工地在各開挖階段時的工地安全,以及是否會影響到周遭環境,利用監測儀器回傳的數據以及工地模型,以視覺化的模式回饋儀器回傳的數據,可根據有異數據進行會議討論,提出處理方案。`,
  16. buttons: [{
  17. name: "進入",
  18. url: "/BIM-Monitor/home.php"
  19. }],
  20. target: "",
  21. right: 0,
  22. },
  23. {
  24. image: "/Common/assets/images/db.png",
  25. name: "設計資料庫查詢系統",
  26. info: `<p>設計圖資料庫</p>`,
  27. buttons: [{
  28. name: "進入",
  29. url: "/DataBase/index.php"
  30. }],
  31. target: "",
  32. right: 1,
  33. },
  34. {
  35. image: "/Common/assets/images/ArcGIS.png",
  36. name: "ArcGIS 系統",
  37. info: `<p>地理資訊系統</p>`,
  38. buttons: [{
  39. name: "2D 地圖",
  40. url: "https://maaconsultants.maps.arcgis.com/apps/webappviewer/index.html?id=e95e23fbe1954895a5ded8e85972df77"
  41. },
  42. {
  43. name: "3D 地圖",
  44. url: "https://maaconsultants.maps.arcgis.com/apps/instant/3dviewer/index.html?appid=653b6a2c89db404dbcd3db359d151e0d"
  45. }
  46. ],
  47. target: "_blank",
  48. right: 1,
  49. },
  50. {
  51. image: "/Common/assets/images/profile.png",
  52. name: "帳號管理系統",
  53. info: `本系統用於帳號管理:<br>
  54. 1.管理帳號密碼。<br>`,
  55. buttons: [{
  56. name: "進入",
  57. url: "/MyAccount/index.php"
  58. }],
  59. target: "",
  60. right: 1,
  61. },
  62. {
  63. image: "/Common/assets/images/permission.png",
  64. name: "權限管理系統",
  65. info: `本系統用於帳號權限管理:<br>
  66. 1.管理部門帳號權限。<br>`,
  67. buttons: [{
  68. name: "進入",
  69. url: "/Authorization/index.php"
  70. }],
  71. target: "",
  72. right: 3,
  73. },
  74. {
  75. image: "/Common/assets/images/architect.png",
  76. name: "智慧施工查核系統",
  77. info: `施工查核系統為一個提升查核效率且適合內業與外業情境的視查核管理平台。`,
  78. buttons: [{
  79. name: "進入",
  80. url: "http://125.227.151.69/2000R-02/#/signin"
  81. }],
  82. target: "_blank",
  83. right: 3,
  84. }
  85. ]
  86. const vm = Vue.createApp({});
  87. vm.component('panel-row', {
  88. data() {
  89. return {
  90. panel_data: panelGroup,
  91. }
  92. },
  93. template: `<div v-for="rows in panel_data" class="row">
  94. <panel-object v-for="row in rows" :panel="row"></panel-object>
  95. </div>`
  96. });
  97. vm.component('panel-object', {
  98. props: {
  99. panel: Array,
  100. },
  101. template: `<div class="col-md-6 col-lg-6 col-xl-4">
  102. <section class="panel">
  103. <header class="panel-heading bg-primary">
  104. <div class="panel-heading-profile-picture">
  105. <img v-bind:src="panel.image" height="75px" alt="BIM">
  106. </div>
  107. </header>
  108. <div class="panel-body">
  109. <div class="panel-body-title">
  110. <h4 class="text-semibold mt-sm">{{panel.name}}</h4>
  111. <hr class="solid short">
  112. <a :target="panel.target" v-for="button in panel.buttons" v-bind:href="button.url"><button type="button" class="mb-xs mt-xs mr-xs btn btn-primary">{{button.name}}</button></a>
  113. </div>
  114. <div class="panel-body-info" v-html="panel.info" hidden></div>
  115. </div>
  116. </section>
  117. </div>`
  118. });