circle.vue 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. <template>
  2. <view class="circle-box">
  3. <view class="circle-title" :style="[{ 'margin-top': statusBarH + 'px'}]">
  4. <view class="title-left">
  5. <image class="title-left-back" @click.stop="back" src="/static/img/common/back.png"></image>
  6. <view class="title-user">
  7. <image class="user-head" src="/static/img/temporary/1.png" mode="aspectFill"></image>
  8. <view class="user-data">
  9. <view class="user-name sys-color-black sys-weight-600 sys-height-44">WWWWW</view>
  10. <view class="user-add sys-color-gray-9 sys-height-34">2021-04-18 15:53</view>
  11. </view>
  12. </view>
  13. </view>
  14. <view class="title-right">
  15. <call></call>
  16. <image class="title-right-img" @click.stop="back" src="/static/img/circle/Frame-100070@2x.png" mode="heightFix"></image>
  17. </view>
  18. </view>
  19. <scroll-view :scroll-y="true" :style="{'height':'calc(100vh - '+navHeight+'rpx - env(safe-area-inset-bottom))'}">
  20. <view class="circle-data">
  21. <view class="circle-img-list">
  22. <swiper class="swiper" circular :indicator-dots="true" indicator-color="rgba(255,255,255,0.4)" indicator-active-color="#FFFFFF">
  23. <swiper-item>
  24. <image class="circle-img" @click.stop="back" src="/static/img/temporary/1.png" mode="aspectFill"></image>
  25. </swiper-item>
  26. <swiper-item>
  27. <image class="circle-img" @click.stop="back" src="/static/img/temporary/2.png" mode="aspectFill"></image>
  28. </swiper-item>
  29. <swiper-item>
  30. <image class="circle-img" @click.stop="back" src="/static/img/temporary/3.png" mode="aspectFill"></image>
  31. </swiper-item>
  32. </swiper>
  33. </view>
  34. <view class="circle-text sys-color-black">
  35. 我是阳光大男孩
  36. </view>
  37. <view class="tag-list">
  38. <dynamic-tag :list="tagList" tag-bg="#F2F2F2" tag-color="#999999"></dynamic-tag>
  39. </view>
  40. </view>
  41. <view class="evaluate-data">
  42. <view class="tag-list">
  43. <view class="tag-item" @click="setTitleTag(0)">
  44. <text class="tag-text sys-weight-600 sys-height-44 sys-color-gray-9" :class="{'tag-text-default':tagNum===0}">评论</text>
  45. <text class="tag-num sys-color-gray-9">(3)</text>
  46. </view>
  47. <view class="tag-item" @click="setTitleTag(1)">
  48. <text class="tag-text sys-weight-600 sys-height-44 sys-color-gray-9" :class="{'tag-text-default':tagNum===1}">相关推荐</text>
  49. </view>
  50. </view>
  51. <view class="evaluate-list">
  52. <view class="evaluate-item"></view>
  53. </view>
  54. </view>
  55. </scroll-view>
  56. </view>
  57. </template>
  58. <script>
  59. import tools from "@/service/tools";
  60. import Call from "@/pages/common/call/call";
  61. import DynamicTag from "@/pages/common/tag/dynamic-tag";
  62. export default {
  63. components: {DynamicTag, Call},
  64. data() {
  65. return {
  66. statusBarH:0,
  67. navHeight:44,
  68. tagList:[{'text':'南亭新都会商场','icon':'1'},{'text':'你好认识一哈','icon':'2'}],
  69. tagNum:0
  70. }
  71. },
  72. methods: {
  73. back(){
  74. tools.leftClick()
  75. },
  76. setTitleTag(num){
  77. if(num!==this.tagNum){
  78. this.tagNum=num
  79. }
  80. }
  81. },
  82. created() {
  83. uni.getSystemInfo({
  84. success: (e) =>{
  85. this.statusBarH = e.statusBarHeight
  86. this.navHeight=(50+this.statusBarH)*2+98
  87. }
  88. })
  89. }
  90. }
  91. </script>
  92. <style scoped lang="scss">
  93. .circle-box{
  94. .circle-title{
  95. display: flex;
  96. justify-content: space-between;
  97. align-items: center;
  98. padding: 12rpx 24rpx;
  99. .title-left{
  100. display: flex;
  101. justify-content: flex-start;
  102. .title-left-back{
  103. width: 40rpx;
  104. height: 40rpx;
  105. }
  106. .title-user{
  107. margin-left: 30rpx;
  108. display: flex;
  109. justify-content: flex-start;
  110. .user-head{
  111. width: 64rpx;
  112. height: 64rpx;
  113. border-radius: 50%;
  114. margin-right: 20rpx;
  115. }
  116. .user-data{
  117. .user-name{
  118. font-size: 32rpx;
  119. }
  120. .user-add{
  121. font-size: 24rpx;
  122. }
  123. }
  124. }
  125. }
  126. .title-right{
  127. display: flex;
  128. justify-content: flex-end;
  129. .title-right-img{
  130. margin-left: 40rpx;
  131. height: 36rpx;
  132. }
  133. }
  134. }
  135. .circle-data{
  136. margin-top: 4rpx;
  137. border-bottom: 1rpx solid #F2F2F2;
  138. .circle-img-list{
  139. width: 100vw;
  140. height: 920rpx;
  141. .swiper{
  142. height: 920rpx;
  143. .circle-img{
  144. width: 100vw;
  145. height: 920rpx;
  146. }
  147. }
  148. }
  149. .circle-text{
  150. padding:36rpx 32rpx 0 32rpx;
  151. flex: 32rpx;
  152. line-height: 40rpx;
  153. }
  154. .tag-list{
  155. padding: 0 32rpx 42rpx 32rpx;
  156. }
  157. }
  158. .evaluate-data{
  159. padding: 40rpx 32rpx;
  160. .tag-list{
  161. display: flex;
  162. justify-content: flex-start;
  163. padding-bottom: 2rpx;
  164. .tag-item{
  165. margin-right: 60rpx;
  166. line-height: 44rpx;
  167. .tag-text{
  168. font-size: 32rpx;
  169. margin-right: 4rpx;
  170. }
  171. .tag-num{
  172. font-size: 24rpx;
  173. }
  174. .tag-text-default{
  175. color: #141414;
  176. }
  177. }
  178. }
  179. }
  180. }
  181. </style>