pageNavigation.vue 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. <template>
  2. <!-- 导航 -->
  3. <div class="navigate">
  4. <div class="partOne">
  5. <div class="inner">
  6. <div class="home">
  7. <em></em>
  8. <NuxtLink :to="'/'">首页</NuxtLink>
  9. </div>
  10. <ul class="partOneTitle">
  11. <li class="titleList1">
  12. 深度服务
  13. </li>
  14. <li class="titleList111" v-for="(item, index) in navigation1" :key="index">
  15. <NuxtLink :href="getLinkPath(item)" :title="item.alias"
  16. :target="item.is_url == 1 ? '_blank' : '_self'">
  17. {{ item.alias }}
  18. </NuxtLink>
  19. </li>
  20. </ul>
  21. </div>
  22. </div>
  23. <div class="partTwo">
  24. <div class="inner">
  25. <div class="navleft">
  26. <div> 互动版块 </div>
  27. <div> 推荐版块 </div>
  28. </div>
  29. <ul class="navlist">
  30. <li class="navListItem" v-for="(item, index) in navigation2" :key="index">
  31. <NuxtLink :href="getLinkPath(item)" :title="item.alias"
  32. :target="item.is_url == 1 ? '_blank' : '_self'">
  33. {{ item.alias }}
  34. </NuxtLink>
  35. </li>
  36. </ul>
  37. <div class="navright">
  38. <div class="nav111" v-for="(item, index) in navigation3" :key="index">
  39. <NuxtLink :href="getLinkPath(item)" :title="item.alias"
  40. :target="item.is_url == 1 ? '_blank' : '_self'">
  41. {{ item.alias }}
  42. </NuxtLink>
  43. </div>
  44. </div>
  45. </div>
  46. </div>
  47. </div>
  48. </template>
  49. <script setup>
  50. //1.获取导航菜单 start ---------------------------------------->
  51. //第一行导航菜单 10个
  52. const navigation1 = ref([]);
  53. //两行的导航菜单 20个
  54. const navigation2 = ref([]);
  55. //边边上的导航菜单 2个
  56. const navigation3 = ref([]);
  57. //获取导航菜单1
  58. async function getNavigation1() {
  59. const mkdata = await requestDataPromise('/web/getWebsiteModelCategory', {
  60. method: 'GET',
  61. query: {
  62. 'pid': 0,
  63. 'num': 10,
  64. 'placeid': 1
  65. },
  66. });
  67. navigation1.value = mkdata.data;
  68. }
  69. getNavigation1();
  70. //获取导航菜单2
  71. async function getNavigation2() {
  72. const mkdata = await requestDataPromise('/web/getWebsiteModelCategory', {
  73. method: 'GET',
  74. query: {
  75. 'pid': 0,
  76. 'num': 20,
  77. 'placeid': 11
  78. },
  79. });
  80. navigation2.value = mkdata.data;
  81. }
  82. getNavigation2();
  83. //获取导航菜单3
  84. async function getNavigation3() {
  85. const mkdata = await requestDataPromise('/web/getWebsiteModelCategory', {
  86. method: 'GET',
  87. query: {
  88. 'pid': 0,
  89. 'num': 2,
  90. 'placeid': 31
  91. },
  92. });
  93. navigation3.value = mkdata.data;
  94. }
  95. getNavigation3();
  96. //1.获取导航菜单 end ---------------------------------------->
  97. //格式化跳转路径
  98. const getLinkPath = (item) => {
  99. if (item.is_url == 1) {
  100. return `${item.web_url}`;
  101. } else if (item.children_count == 0) {
  102. //return `/newsList/${item.category_id}?page=1`;
  103. return `/${item.aLIas_pinyin}/list-1.html`;
  104. } else {
  105. //return `/primaryNavigation/${item.aLIas_pinyin}/`;
  106. return `/${item.aLIas_pinyin}/index.html`;
  107. }
  108. }
  109. </script>
  110. <style lang="less" scoped>
  111. @import url('@/assets/css/public/nav.less');
  112. </style>