customNav.vue 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. <template>
  2. <view style="">
  3. <!-- 自定义导航栏 -->
  4. <view class="contentView">
  5. <!-- 状态栏占位 -->
  6. <view class="navBarBox" :style="{marginTop:statusBarHeight+'rpx'}">
  7. <!-- 直正的导航栏内容 -->
  8. <view v-if="shownav" class="navBar" >
  9. <view class="leftconten">
  10. <image v-if="showfanhui!=1" class="logo" src="/static/images/fanhuiz@3x.png" mode="aspectFit" @click="leftbuttonsel(1)"></image>
  11. <view v-if="titledetl==''" class="textlableR">
  12. <view class="lableTR">
  13. <text style="color: white;">{{title}}</text>
  14. </view>
  15. </view>
  16. <view v-if="titledetl!=''" class="textlable">
  17. <view class="lableT">{{title}}</view>
  18. <view class="lableB">{{titledetl}}</view>
  19. </view>
  20. </view>
  21. <view class="rightconten">
  22. <!-- <image v-if="shareBT==1" class="mycart" src="/static/images/fenxiang@3x.png" mode="aspectFit" @click="leftbuttonsel(2)"></image> -->
  23. <image v-if="faverBT==1" class="mycart" :src="isfaver==0?'/static/images/faver@3x.png':'/static/images/faverr@3x.png'" mode="aspectFit" @click="leftbuttonsel(3)"></image>
  24. <!-- <image v-if="addBT==1" class="mycart" src="/static/images/plus-circle-fill@3x.png" mode="aspectFit" @click="leftbuttonsel(4)"></image> -->
  25. <uni-icons v-if="addBT==1" custom-prefix="custom-icon" color="white" type="plus" size="26" @click="leftbuttonsel(4)"></uni-icons>
  26. <text v-if="deleteBt==1" style="font-size: 30rpx;color: white;" @click="leftbuttonsel(5)">{{$t('index.sanchu')}}</text>
  27. </view>
  28. </view>
  29. </view>
  30. </view>
  31. <view v-if="shownav" :style="{height:navBarHeight+'rpx'}">
  32. </view>
  33. <view v-if="!shownav" :style="{height:yincbtHeight+'rpx'}">
  34. </view>
  35. </view>
  36. </template>
  37. <script>
  38. export default
  39. {
  40. props:{
  41. shownav:true,
  42. title:'',
  43. titledetl:'',
  44. faverBT:0,
  45. shareBT:0,
  46. isfaver:0,
  47. addBT:0,
  48. deleteBt:0,
  49. showfanhui:0
  50. },
  51. data() {
  52. return{
  53. // 状态栏高度
  54. statusBarHeight:0,
  55. // 导航栏高度
  56. navBarHeight: 50,
  57. yincbtHeight:0,
  58. };
  59. },
  60. //第一次加载时调用
  61. created() {
  62. //获取手机状态栏高度
  63. var systemInfo = uni.getSystemInfoSync();
  64. this.statusBarHeight=systemInfo.statusBarHeight*2+30;
  65. this.navBarHeight = 50+this.statusBarHeight;
  66. this.yincbtHeight=this.statusBarHeight;
  67. },
  68. methods:{
  69. leftbuttonsel(item){
  70. //触发一个更新事件
  71. if(item==1){
  72. uni.navigateBack();
  73. }
  74. this.$emit('Enavbarsel',item);
  75. }
  76. },
  77. }
  78. </script>
  79. <style>
  80. .contentView{
  81. position: fixed;
  82. left: 0;
  83. right: 0;
  84. top: 0;
  85. z-index: 99999;
  86. background-color: #40AE36;
  87. }
  88. .navBarBox{
  89. display: flex;
  90. width: 100%;
  91. background-color: #40AE36;
  92. }
  93. .navBar {
  94. display: flex;
  95. width: 92%;
  96. margin-left: 4%;
  97. margin-bottom: 20rpx;
  98. display: flex;
  99. flex-direction: row;
  100. justify-content: space-between;
  101. align-items: center
  102. }
  103. .logo {
  104. width: 50rpx;
  105. height: 50rpx;
  106. margin-left: 6rpx;
  107. }
  108. .textlable{
  109. flex-direction:column;
  110. margin-left: 20rpx;
  111. }
  112. .textlableR{
  113. flex-direction:column;
  114. margin-left: 20rpx;
  115. }
  116. .lableTR{
  117. font-size: 32rpx;
  118. color: white;
  119. }
  120. .lableT{
  121. font-size: 30rpx;
  122. color: white;
  123. }
  124. .lableB{
  125. font-size: 22rpx;
  126. color: white;
  127. }
  128. .leftconten{
  129. display: flex;
  130. flex-direction: row;
  131. justify-content:flex-start;
  132. margin-left: 20rpx;
  133. }
  134. .rightconten{
  135. display: flex;
  136. flex-direction: row;
  137. justify-content:flex-end;
  138. }
  139. .mycart {
  140. margin-right: 10rpx;
  141. width: 50rpx;
  142. height: 50rpx;
  143. }
  144. </style>