MainLayout.vue 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333
  1. <template>
  2. <q-layout view="hHh lpR fff">
  3. <q-header height-hint="76" reveal class="bg-white text-black">
  4. <q-toolbar class="GPL__toolbar" style="height: 76px">
  5. <div class="row">
  6. <div class="col-sm-12 col-xs-12 q-ml-xl q-mr-lg">
  7. <q-toolbar-title>
  8. <img
  9. @click="$router.push('/')"
  10. class="cursor-pointer float-left"
  11. src="~/assets/hichinalogo.png"
  12. />
  13. </q-toolbar-title>
  14. </div>
  15. </div>
  16. <q-btn
  17. @click="goPage('/guideintro')"
  18. flat
  19. no-caps
  20. no-wrap
  21. class="q-ml-xl"
  22. v-if="$q.screen.gt.xs"
  23. >
  24. GuideBooks
  25. </q-btn>
  26. <q-btn
  27. @click="goPage('/blog')"
  28. flat
  29. no-caps
  30. no-wrap
  31. class="q-ml-sm"
  32. v-if="$q.screen.gt.xs"
  33. >
  34. Blogs/Vlogs
  35. </q-btn>
  36. <q-btn
  37. @click="goPage('/product')"
  38. flat
  39. no-caps
  40. no-wrap
  41. class="q-ml-sm"
  42. v-if="$q.screen.gt.xs"
  43. >
  44. Travel Shop
  45. </q-btn>
  46. <q-btn
  47. @click="goPage('/destination')"
  48. flat
  49. no-caps
  50. no-wrap
  51. class="q-ml-sm"
  52. v-if="$q.screen.gt.xs"
  53. >
  54. Destinations
  55. </q-btn>
  56. <!-- this is the trick -->
  57. <q-space />
  58. <div class="row no-wrap">
  59. <q-btn
  60. flat
  61. dense
  62. no-wrap
  63. no-caps
  64. color="primary"
  65. label="Register"
  66. class="q-mr-lg"
  67. v-if="$q.screen.gt.xs"
  68. />
  69. <q-btn
  70. flat
  71. dense
  72. no-wrap
  73. no-caps
  74. color="primary"
  75. label="Login"
  76. class="q-mr-sm"
  77. v-if="$q.screen.gt.xs"
  78. />
  79. </div>
  80. <div>
  81. <q-btn
  82. v-if="!$q.screen.gt.xs"
  83. flat
  84. dense
  85. round
  86. @click="toggleLeftDrawer"
  87. icon="menu"
  88. aria-label="Menu"
  89. />
  90. </div>
  91. </q-toolbar>
  92. </q-header>
  93. <q-drawer v-model="leftDrawerOpen" bordered class="bg-grey-2" :width="240">
  94. <q-scroll-area class="fit">
  95. <q-list padding>
  96. <q-item v-ripple clickable>
  97. <q-item-section avatar>
  98. <q-icon color="grey" name="fingerprint" />
  99. </q-item-section>
  100. <q-item-section>
  101. <q-item-label>GuideBooks</q-item-label>
  102. </q-item-section>
  103. </q-item>
  104. <q-item v-ripple clickable>
  105. <q-item-section avatar>
  106. <q-icon color="grey" name="fingerprint" />
  107. </q-item-section>
  108. <q-item-section>
  109. <q-item-label>Blogs/Vlogs</q-item-label>
  110. </q-item-section>
  111. </q-item>
  112. <q-item v-ripple clickable>
  113. <q-item-section avatar>
  114. <q-icon color="grey" name="fingerprint" />
  115. </q-item-section>
  116. <q-item-section>
  117. <q-item-label>Travel Shop</q-item-label>
  118. </q-item-section>
  119. </q-item>
  120. <q-item v-ripple clickable>
  121. <q-item-section avatar>
  122. <q-icon color="grey" name="fingerprint" />
  123. </q-item-section>
  124. <q-item-section>
  125. <q-item-label>Destinations</q-item-label>
  126. </q-item-section>
  127. </q-item>
  128. <q-separator class="q-my-md" />
  129. <q-item v-ripple clickable>
  130. <q-item-section avatar>
  131. <q-icon color="grey" name="login" />
  132. </q-item-section>
  133. <q-item-section>
  134. <q-item-label>Login</q-item-label>
  135. </q-item-section>
  136. </q-item>
  137. <q-item v-ripple clickable>
  138. <q-item-section avatar>
  139. <q-icon color="grey" name="account_circle" />
  140. </q-item-section>
  141. <q-item-section>
  142. <q-item-label>Register</q-item-label>
  143. </q-item-section>
  144. </q-item>
  145. </q-list>
  146. </q-scroll-area>
  147. </q-drawer>
  148. <q-page-container>
  149. <router-view />
  150. <q-footer bordered class="bg-blue-6 text-white">
  151. <div class="q-pa-md">
  152. <div class="row justify-center">
  153. <div class="col-12 col-md-3 text-white q-pl-xl q-pt-md">
  154. <div class="text-subtitle1 text-weight-bold">
  155. About HiChinaTravel
  156. </div>
  157. <div class="text-body2 hover_underline_white q-mt-md">
  158. About Us
  159. </div>
  160. <div class="text-body2 hover_underline_white q-mt-md">
  161. Contact us
  162. </div>
  163. <div class="text-body2 hover_underline_white q-mt-md">
  164. Copyright
  165. </div>
  166. <div class="text-body2 hover_underline_white q-mt-md">
  167. Privacy
  168. </div>
  169. <div class="text-body2 hover_underline_white q-mt-md">
  170. Join Us
  171. </div>
  172. </div>
  173. <div class="col-12 col-md-5 q-pt-xl">
  174. <div
  175. class="text-subtitle1 text-weight-medium hover_underline_white q-mt-md"
  176. >
  177. Facebook: HiChinaTravel
  178. </div>
  179. <div
  180. class="text-subtitle1 text-weight-medium hover_underline_white q-mt-md"
  181. >
  182. WeChat Official Account: HCTravel
  183. </div>
  184. <div
  185. class="text-subtitle1 text-weight-medium hover_underline_white q-mt-md"
  186. >
  187. Instagram: HiChinaTravel
  188. </div>
  189. <div
  190. class="text-subtitle1 text-weight-medium hover_underline_white q-mt-md"
  191. >
  192. Support: customerservice@hichinatrip.com
  193. </div>
  194. <div
  195. class="text-subtitle1 text-weight-medium hover_underline_white q-mt-md"
  196. >
  197. Address: 4,Zhixin Rd. Qixia District Nanjing City, Jiangsu
  198. Province, P.R China
  199. </div>
  200. </div>
  201. <div class="col-12 col-md-4"></div>
  202. </div>
  203. <div class="row justify-center q-mt-xl">
  204. <div class="text-body2 text-weight-medium hover_underline_white">
  205. COPYRIGHT © 2015-2023 WWW.HICHINATRAVEL.COM, ALL RIGHTS RESERVED
  206. </div>
  207. </div>
  208. <div class="row justify-center">
  209. <div class="text-body2 text-weight-medium hover_underline_white">
  210. 备案号: 京ICP备16006305号-1
  211. </div>
  212. </div>
  213. </div>
  214. </q-footer>
  215. </q-page-container>
  216. </q-layout>
  217. </template>
  218. <script>
  219. import { defineComponent, ref } from "vue";
  220. const linksList = [
  221. {
  222. title: "Docs",
  223. caption: "quasar.dev",
  224. icon: "school",
  225. link: "https://quasar.dev",
  226. },
  227. {
  228. title: "Github",
  229. caption: "github.com/quasarframework",
  230. icon: "code",
  231. link: "https://github.com/quasarframework",
  232. },
  233. {
  234. title: "Discord Chat Channel",
  235. caption: "chat.quasar.dev",
  236. icon: "chat",
  237. link: "https://chat.quasar.dev",
  238. },
  239. {
  240. title: "Forum",
  241. caption: "forum.quasar.dev",
  242. icon: "record_voice_over",
  243. link: "https://forum.quasar.dev",
  244. },
  245. {
  246. title: "Twitter",
  247. caption: "@quasarframework",
  248. icon: "rss_feed",
  249. link: "https://twitter.quasar.dev",
  250. },
  251. {
  252. title: "Facebook",
  253. caption: "@QuasarFramework",
  254. icon: "public",
  255. link: "https://facebook.quasar.dev",
  256. },
  257. {
  258. title: "Quasar Awesome",
  259. caption: "Community Quasar projects",
  260. icon: "favorite",
  261. link: "https://awesome.quasar.dev",
  262. },
  263. ];
  264. export default defineComponent({
  265. name: "MainLayout",
  266. components: {},
  267. setup() {
  268. const leftDrawerOpen = ref(false);
  269. return {
  270. essentialLinks: linksList,
  271. leftDrawerOpen,
  272. toggleLeftDrawer() {
  273. leftDrawerOpen.value = !leftDrawerOpen.value;
  274. },
  275. };
  276. },
  277. });
  278. </script>
  279. <style lang="sass">
  280. .GPL
  281. &__toolbar
  282. height: 64px
  283. &__toolbar-input
  284. width: 35%
  285. &__drawer-item
  286. line-height: 24px
  287. border-radius: 0 24px 24px 0
  288. margin-right: 12px
  289. .q-item__section--avatar
  290. padding-left: 12px
  291. .q-icon
  292. color: #5f6368
  293. .q-item__label:not(.q-item__label--caption)
  294. color: #3c4043
  295. letter-spacing: .01785714em
  296. font-size: .875rem
  297. font-weight: 500
  298. line-height: 1.25rem
  299. &--storage
  300. border-radius: 0
  301. margin-right: 0
  302. padding-top: 24px
  303. padding-bottom: 24px
  304. &__side-btn
  305. &__label
  306. font-size: 12px
  307. line-height: 24px
  308. letter-spacing: .01785714em
  309. font-weight: 500
  310. @media (min-width: 1024px)
  311. &__page-container
  312. padding-left: 94px
  313. </style>