footTabs.vue 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. <template>
  2. <div class="hover_content">
  3. <div class="hover_menu flex">
  4. <div
  5. class="menu_icon"
  6. v-for="(menu, i) in menus"
  7. :key="i"
  8. @tap="click(i, menu.pagePath)"
  9. >
  10. <img :src="menu.selectedIconPath" v-if="selectedIndex == i" />
  11. <img :src="menu.iconPath" v-else />
  12. </div>
  13. </div>
  14. </div>
  15. </template>
  16. <style lang="scss" scoped>
  17. .hover_content {
  18. z-index: 999;
  19. width: 30%;
  20. padding: 1.5% 1%;
  21. border-radius: 100rpx;
  22. position: fixed;
  23. left: 50%;
  24. top: 88%;
  25. transform: translateX(-50%);
  26. box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
  27. background-color: #fff;
  28. .hover_menu {
  29. display: flex;
  30. justify-content: space-around;
  31. .menu_icon {
  32. img {
  33. width: 60rpx;
  34. height: 60rpx;
  35. }
  36. }
  37. }
  38. }
  39. </style>
  40. <script>
  41. export default {
  42. data() {
  43. return {
  44. selectedIndex: getApp().globalData.selectedIndex,
  45. showselected: false,
  46. menus: [
  47. {
  48. pagePath: "pages/index/index",
  49. iconPath: "/static/tabbar/home-select.png",
  50. selectedIconPath: "/static/tabbar/home-selected.png",
  51. text: "首页",
  52. },
  53. {
  54. pagePath: "pages/selfCenter/index",
  55. iconPath: "/static/tabbar/user-select.png",
  56. selectedIconPath: "/static/tabbar/user-selected.png",
  57. text: "我的",
  58. },
  59. ],
  60. };
  61. },
  62. methods: {
  63. click(index, src) {
  64. var pages = getCurrentPages(); //获取加载的页面
  65. var currentPage = pages[pages.length - 1]; //获取当前页面的对象
  66. var url = currentPage.route; //当前页面url
  67. getApp().globalData.selectedIndex = index;
  68. let res_url = this.check(url);
  69. let res_src = this.check(src);
  70. console.log(getApp().globalData.selectedIndex);
  71. // console.log(res_url,res_src);
  72. if (!(res_url&&res_src) && !(res_url == false && res_src == false)) {
  73. uni.navigateTo({
  74. url: "/" + src,
  75. });
  76. }
  77. },
  78. check(url) {
  79. let isTure = false;
  80. let arr = ["pages/index/index",
  81. "pages/park/park_deatil",
  82. "pages/appeal/index",
  83. "pages/appeal/myAppeal",
  84. "pages/appeal/putAppeal",
  85. "pages/appeal/appeal_detail",
  86. "pages/policy/index",
  87. "pages/policy/policy_deatil",
  88. "pages/park/index",
  89. "pages/park/map_search",
  90. "pages/activity/index",
  91. "pages/supply/index",
  92. "pages/enterprise/index",
  93. "pages/service/index"];
  94. for (let i = 0; i < arr.length; i++) {
  95. let e = arr[i]
  96. if (e == url) {
  97. isTure = true;
  98. return isTure
  99. }
  100. }
  101. return isTure;
  102. },
  103. },
  104. };
  105. </script>