footTabs.vue 2.7 KB

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