footTabs.vue 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  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. .menu_icon {
  36. transition: all 0.5s;
  37. img {
  38. width: 60rpx;
  39. height: 60rpx;
  40. border-radius: 100rpx;
  41. }
  42. }
  43. }
  44. }
  45. </style>
  46. <script>
  47. export default {
  48. data() {
  49. return {
  50. selectedIndex: getApp().globalData.selectedIndex,
  51. showselected: false,
  52. menus: [
  53. {
  54. pagePath: "pages/index/index",
  55. iconPath: "/static/tabbar/home-select.png",
  56. selectedIconPath: "/static/tabbar/home-selected.png",
  57. text: "首页",
  58. },
  59. {
  60. pagePath: "pages/selfCenter/index",
  61. iconPath: "/static/tabbar/user-select.png",
  62. selectedIconPath: "/static/tabbar/user-selected.png",
  63. text: "我的",
  64. },
  65. ],
  66. };
  67. },
  68. methods: {
  69. click(index, src) {
  70. var pages = getCurrentPages(); //获取加载的页面
  71. var currentPage = pages[pages.length - 1]; //获取当前页面的对象
  72. var url = currentPage.route; //当前页面url
  73. getApp().globalData.selectedIndex = index;
  74. let res_url = this.check(url);
  75. let res_src = this.check(src);
  76. // console.log(res_url,res_src);
  77. if (!(res_url && res_src) && !(res_url == false && res_src == false)) {
  78. uni.navigateTo({
  79. url: "/" + src,
  80. });
  81. }
  82. },
  83. check(url) {
  84. let isTure = false;
  85. let arr = [
  86. "pages/index/index",
  87. "pages/park/park_deatil",
  88. "pages/appeal/index",
  89. "pages/appeal/myAppeal",
  90. "pages/appeal/putAppeal",
  91. "pages/appeal/appeal_detail",
  92. "pages/policy/index",
  93. "pages/policy/policy_deatil",
  94. "pages/park/index",
  95. "pages/park/map_search",
  96. "pages/activity/index",
  97. "pages/supply/index",
  98. "pages/enterprise/index",
  99. "pages/service/index",
  100. ];
  101. for (let i = 0; i < arr.length; i++) {
  102. let e = arr[i];
  103. if (e == url) {
  104. isTure = true;
  105. return isTure;
  106. }
  107. }
  108. return isTure;
  109. },
  110. },
  111. };
  112. </script>