帧视界壹通告,付费看视频的微信小程序
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

289 lines
5.1 KiB

  1. <template>
  2. <view class="competition">
  3. <navbar
  4. leftClick
  5. bgColor="#cfd4ff"
  6. @leftClick="$utils.navigateBack"
  7. title="比赛评选"/>
  8. <view class="top">
  9. <view class="left">
  10. <view class="title">
  11. 比赛评选排行
  12. </view>
  13. <view class="">
  14. 参与活动 领取奖励
  15. </view>
  16. </view>
  17. <view class="right">
  18. <image src="/static/image/competition/1.png" mode=""></image>
  19. </view>
  20. </view>
  21. <view class="box">
  22. <view class="head">
  23. <view class="ranking">
  24. 排行
  25. </view>
  26. <view class="content">
  27. 作品
  28. </view>
  29. <view class="give-like">
  30. 点赞
  31. </view>
  32. </view>
  33. <view class="empty"
  34. v-if="!list.length">
  35. <image src="/static/image/competition/k.png" mode=""></image>
  36. <view class="">
  37. 暂无作品发布第一个作品吧 ~
  38. </view>
  39. </view>
  40. <view class="list"
  41. v-else>
  42. <view class="item"
  43. v-for="(item, index) in list"
  44. :key="index">
  45. <view class="ranking">
  46. {{ index + 1 }}
  47. </view>
  48. <view class="content">
  49. <view class="image">
  50. <image src="" mode=""></image>
  51. </view>
  52. <view class="text">
  53. <view class="title">
  54. 作品名称
  55. </view>
  56. <view class="actor">
  57. <view class="headImage">
  58. <image src="" mode=""></image>
  59. </view>
  60. <view class="username">
  61. 发布人小飞作品名称作品名称作品名称作品名称
  62. </view>
  63. </view>
  64. <view class="createTime">
  65. 发布时间2024-03-03
  66. </view>
  67. </view>
  68. </view>
  69. <view class="give-like">
  70. <view class="num">
  71. <uv-icon
  72. size="30rpx"
  73. name="thumb-up"></uv-icon>
  74. 240
  75. </view>
  76. <view :class="{btn : true, a : index == 3}">
  77. 投票
  78. </view>
  79. </view>
  80. </view>
  81. </view>
  82. </view>
  83. <view class="submit">
  84. 发布作品
  85. </view>
  86. </view>
  87. </template>
  88. <script>
  89. export default {
  90. data() {
  91. return {
  92. list : []
  93. }
  94. },
  95. methods: {
  96. }
  97. }
  98. </script>
  99. <style scoped lang="scss">
  100. .competition{
  101. .top{
  102. background: linear-gradient(#cfd4ff, #f7f7f7);
  103. width: 100%;
  104. height: 400rpx;
  105. display: flex;
  106. box-sizing: border-box;
  107. padding: 0 30rpx;
  108. justify-content: space-between;
  109. .left{
  110. padding-top: 40rpx;
  111. font-size: 28rpx;
  112. .title{
  113. font-size: 50rpx;
  114. font-weight: 900;
  115. color: #5a24f3;
  116. padding-bottom: 20rpx;
  117. }
  118. }
  119. .right{
  120. image{
  121. width: 300rpx;
  122. height: 300rpx;
  123. margin-top: -50rpx;
  124. }
  125. }
  126. }
  127. .box{
  128. background-color: #fff;
  129. min-height: 100rpx;
  130. margin: 0 30rpx;
  131. margin-top: -150rpx;
  132. border-radius: 20rpx;
  133. .head,
  134. .item{
  135. display: flex;
  136. padding: 20rpx 10rpx;
  137. .content{
  138. flex: 1;
  139. }
  140. .give-like,
  141. .ranking{
  142. width: 120rpx;
  143. display: flex;
  144. justify-content: center;
  145. align-items: center;
  146. flex-direction: column;
  147. }
  148. }
  149. .head{
  150. font-size: 28rpx;
  151. color: #999;
  152. }
  153. .empty{
  154. display: flex;
  155. flex-direction: column;
  156. justify-content: center;
  157. align-items: center;
  158. padding: 100rpx 0;
  159. color: #999;
  160. }
  161. .list{
  162. .item{
  163. font-size: 20rpx;
  164. &:nth-child(2){
  165. .ranking{
  166. color: red;
  167. }
  168. }
  169. &:nth-child(3){
  170. .ranking{
  171. color: #FFA200;
  172. }
  173. }
  174. &:nth-child(4){
  175. .ranking{
  176. color: #4739EA;
  177. }
  178. }
  179. .ranking{
  180. font-size: 40rpx;
  181. font-weight: 900;
  182. font-style: italic;
  183. }
  184. .content{
  185. display: flex;
  186. image{
  187. width: 100%;
  188. height: 100%;
  189. }
  190. .image{
  191. width: 200rpx;
  192. height: 150rpx;
  193. background-color: #999;
  194. overflow: hidden;
  195. margin-right: 20rpx;
  196. border-radius: 20rpx;
  197. flex-shrink: 0;
  198. }
  199. .text{
  200. .title{
  201. font-size: 30rpx;
  202. font-weight: 900;
  203. display: -webkit-box;
  204. -webkit-box-orient:
  205. vertical; -webkit-line-clamp: 2;
  206. overflow: hidden;
  207. height: 80rpx;
  208. }
  209. .actor{
  210. display: flex;
  211. .headImage{
  212. width: 30rpx;
  213. height: 30rpx;
  214. overflow: hidden;
  215. border-radius: 20rpx;
  216. background-color: #999;
  217. margin-right: 5rpx;
  218. }
  219. .username{
  220. overflow: hidden;
  221. text-overflow:ellipsis;
  222. white-space: nowrap;
  223. width: 180rpx;
  224. }
  225. }
  226. .createTime{
  227. overflow: hidden;
  228. text-overflow:ellipsis;
  229. white-space: nowrap;
  230. width: 220rpx;
  231. margin-top: 10rpx;
  232. }
  233. }
  234. }
  235. .give-like{
  236. display: flex;
  237. flex-direction: column;
  238. justify-content: center;
  239. align-items: center;
  240. .num{
  241. display: flex;
  242. }
  243. .btn{
  244. border: 1px solid #4739EA;
  245. margin-top: 10rpx;
  246. padding: 8rpx 16rpx;
  247. border-radius: 15rpx;
  248. color: #4739EA;
  249. &.a{
  250. color: #999;
  251. border: 1px solid #999;
  252. }
  253. }
  254. }
  255. }
  256. }
  257. }
  258. .submit{
  259. position: fixed;
  260. bottom: 0;
  261. left: 0;
  262. margin: 0 50rpx;
  263. margin-bottom: 50rpx;
  264. background: $uni-linear-gradient-btn-color;
  265. color: #fff;
  266. width: 650rpx;
  267. height: 80rpx;
  268. display: flex;
  269. justify-content: center;
  270. align-items: center;
  271. font-size: 28rpx;
  272. border-radius: 20rpx;
  273. }
  274. }
  275. </style>