NavBar.vue 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. <template>
  2. <div class="NavBar clearfix" :style="{ backgroundColor: modelData.bgColor }">
  3. <div class="nav-li" v-for="(item, index) in modelData.navList" :key="index"
  4. :style="{ width: 100 / modelData.num + '%' }" @click="navTo(item.url, item.switchTab,item)">
  5. <image class="nav-icon" :src="item.image.url" mode="aspectFit"></image>
  6. <div :style="{ color: modelData.color }" class="nav-text">{{ item.text || '文字标题' }}</div>
  7. </div>
  8. <NoLoginTip @cancel="cancelTip" :show="loginTip" v-if="loginTip" />
  9. </div>
  10. </template>
  11. <script>
  12. import NoLoginTip from '../../NoLoginTip.vue';
  13. export default {
  14. name: 'NavBar',
  15. components: {
  16. NoLoginTip
  17. },
  18. props: {
  19. modelData: {
  20. type: Object,
  21. default: () => {
  22. return {};
  23. }
  24. }
  25. },
  26. data() {
  27. return {
  28. loginTip: false
  29. };
  30. },
  31. methods: {
  32. cancelTip() {
  33. this.loginTip = false;
  34. },
  35. navTo(url, switchTab, item) {
  36. if (!this.$common.isLogin()) {
  37. this.loginTip = true;
  38. } else {
  39. if (item.text == '企业文化') {
  40. this.goPage('/pagesT/unit/artdetail?type=2', switchTab);
  41. } else if (item.text == '高管') {
  42. this.goPage('/pagesT/unit/official?type=4', switchTab);
  43. } else if (item.text == '员工') {
  44. this.goPage('/pagesT/unit/official?type=5', switchTab);
  45. } else if (item.text == '项目') {
  46. this.goPage('/pagesT/unit/item', switchTab);
  47. } else if (item.text == '会员') {
  48. this.goPage('/pagesT/user/VipList',switchTab)
  49. } else if (item.text == '股权') {
  50. this.goPage('/pagesT/user/guquan', switchTab);
  51. } else if (item.text == '共享股东') {
  52. this.goPage('/pagesT/unit/official?type=3', switchTab);
  53. } else if (item.text == '招商') {
  54. this.goPage('/pagesT/unit/officialT?state=0', switchTab);
  55. } else if (item.text == '招聘') {
  56. this.goPage('/pagesT/unit/artdetail?type=1', switchTab);
  57. }else if (item.text == '邀请好友') {
  58. this.goPage('/pagesT/Distribution/Poster', switchTab);
  59. }else {
  60. this.goPage(url, switchTab);
  61. }
  62. }
  63. }
  64. }
  65. };
  66. </script>
  67. <style scoped>
  68. .NavBar {
  69. padding: 32rpx 0 8rpx;
  70. display: -webkit-flex;
  71. display: flex;
  72. width: 100%;
  73. justify-content: space-between;
  74. flex-wrap: wrap;
  75. }
  76. .nav-icon {
  77. width: 88upx;
  78. height: 88upx;
  79. border-radius: 20rpx;
  80. margin: 0 auto;
  81. display: block;
  82. }
  83. .nav-text {
  84. padding-top: 12upx;
  85. }
  86. .nav-li {
  87. font-size: 24upx;
  88. text-align: center;
  89. font-weight: 400rpx;
  90. margin-bottom: 24upx;
  91. }
  92. </style>