You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

108 lines
2.6 KiB

2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
  1. <template>
  2. <v-row class="mb-6">
  3. <v-col cols="12">
  4. <div class="exhibitionGoogleMap">
  5. <iframe
  6. id="googleMap"
  7. width="100%"
  8. height="437px"
  9. frameborder="0"
  10. :src= "addressMsg"
  11. ></iframe>
  12. </div>
  13. <div class="mt-lg-5" v-for="item in exhibition.venues" :key="item.VenueID">
  14. <div class="mapAddressContainer" @click="prompt(item.Address)">
  15. <div class="mapIcon"><unicon name="map-marker" fill="#EE9546" /></div>
  16. <div class="mapAddressName" style="margin-left: 10px">
  17. <b v-bind:class="{ upColor: IsIndex === item.Address }">{{ item.VenueName }}</b>
  18. </div>
  19. <div class="mapAddress" style="margin-left: 10px">
  20. {{ item.Address }}
  21. </div>
  22. </div>
  23. </div>
  24. <p></p>
  25. <!--div
  26. class="exhibitionVenueBtnContainer"
  27. style="padding: 30px; background: #f8f8f8; border-radius: 15px"
  28. >
  29. <div class="venueIconText">
  30. <v-icon color="warning">mdi-cloud-check-outline</v-icon>&nbsp;<b
  31. >Online event</b
  32. >
  33. </div>
  34. <div style="text-align: right">
  35. <v-btn
  36. color="warning"
  37. class="
  38. recommend-tag
  39. no-text-transform
  40. text-space-1
  41. rounded-lg
  42. venueBtn
  43. "
  44. >Go to online event
  45. </v-btn>
  46. </div>
  47. </div-->
  48. </v-col>
  49. </v-row>
  50. </template>
  51. <script>
  52. export default {
  53. name: "ExhibitionVenue",
  54. props: {
  55. exhibition: {
  56. type: Object,
  57. default: () => ({
  58. venues:[],
  59. })
  60. },
  61. },
  62. data() {
  63. return {
  64. IsIndex: this.exhibition.venues[0].Address,
  65. addressMsg : "https://maps.google.com.tw/maps?f=q&hl=" + this.$i18n.locale + "&geocode=&q=" + this.exhibition.venues[0].Address + "&z=16&output=embed&t=t",
  66. };
  67. },
  68. methods: {
  69. prompt(address) {
  70. this.IsIndex = address;
  71. this.addressMsg = "https://maps.google.com.tw/maps?f=q&hl=" + this.$i18n.locale + "&geocode=&q=" + address + "&z=16&output=embed&t=t";
  72. },
  73. },
  74. };
  75. </script>
  76. <style>
  77. .upColor{
  78. color: #EE9546;
  79. }
  80. .mapIcon {
  81. grid-area: mapIcon;
  82. }
  83. .mapAddressName {
  84. grid-area: mapAddressName;
  85. }
  86. .mapAddress {
  87. grid-area: mapAddress;
  88. }
  89. .mapAddressContainer {
  90. display: grid;
  91. grid-template-columns: auto 1fr;
  92. grid-template-areas:
  93. "mapIcon mapAddressName"
  94. "mapIcon mapAddress";
  95. }
  96. .venueIconText {
  97. grid-area: venueIconText;
  98. }
  99. .venueBtn {
  100. grid-area: venueBtn;
  101. }
  102. .exhibitionVenueBtnContainer {
  103. display: grid;
  104. grid-template-areas: "venueIconText venueBtn";
  105. }
  106. </style>