footTabs.vue 3.0 KB

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