瑶都万能墙
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.

257 lines
4.6 KiB

1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
  1. <template>
  2. <view class="works" @click="$emit('click')">
  3. <view class="box"
  4. :style="{'--sexcolor' : sex[item.sex].color}">
  5. <view class="headPortraitimg">
  6. <image :src="item.userImage"
  7. @click.stop="previewImage([item.userImage])"
  8. mode="aspectFill"></image>
  9. </view>
  10. <view class="YaoduUniversalWall">
  11. <view class="heide">
  12. <view class="username text-ellipsis">
  13. {{ item.userName }}
  14. </view>
  15. <view class="inde"
  16. v-if="item.sex">
  17. <!-- 性别 -->
  18. {{ item.sex }}
  19. </view>
  20. <view class="inde"
  21. v-if="item.yearDate">
  22. <!-- 年份 -->
  23. {{ item.yearDate }}
  24. </view>
  25. <view class="inde"
  26. v-if="item.addId">
  27. <!-- 地址 -->
  28. {{ item.addId }}
  29. </view>
  30. <view class="authentication"
  31. v-if="item.isContent">
  32. <!-- 个人认证 -->
  33. {{ item.isContent }}
  34. </view>
  35. </view>
  36. <view class="Times">
  37. <view class="TimeMonth">
  38. <!-- 10-08 -->
  39. {{ item.createTime }}发布
  40. </view>
  41. <!-- <view class="Month">
  42. 12:34
  43. </view> -->
  44. </view>
  45. </view>
  46. </view>
  47. <view class="dynamics" v-html="$utils.stringFormatHtml(item.title)">
  48. </view>
  49. <view class="address"
  50. v-if="item.address">
  51. <uv-icon size="30rpx" name="map"></uv-icon>
  52. <view class="text-ellipsis">
  53. {{ item.address }}
  54. </view>
  55. </view>
  56. <view class="Artworkimages">
  57. <view class="wrokimg"
  58. @click.stop="previewImage(item.image, i)"
  59. :key="i" v-for="(img, i) in item.image">
  60. <image :src="img" mode="aspectFill"></image>
  61. </view>
  62. </view>
  63. <view class="bottom">
  64. <view class="browse">
  65. {{ item.isBrowse }}浏览
  66. </view>
  67. <view class="browse">
  68. {{ item.isComment }}条评论
  69. </view>
  70. <view class="phone"
  71. v-if="item.phone"
  72. @click.stop="callPhone">
  73. <image src="/static/image/home/phone.png" mode=""></image>
  74. 联系{{ ta[item.sex] }}
  75. </view>
  76. </view>
  77. </view>
  78. </template>
  79. <script>
  80. import mixinsSex from '@/mixins/sex.js'
  81. export default {
  82. mixins: [mixinsSex],
  83. props: {
  84. item: {},
  85. },
  86. data() {
  87. return {
  88. }
  89. },
  90. methods: {
  91. callPhone(){
  92. uni.makePhoneCall({
  93. phoneNumber: this.item.phone,
  94. success() {
  95. console.log('安卓拨打成功');
  96. },
  97. fail() {
  98. console.log('安卓拨打失败');
  99. }
  100. })
  101. },
  102. },
  103. }
  104. </script>
  105. <style scoped lang="scss">
  106. .works {
  107. margin: 40rpx 20rpx;
  108. background-color: #fff;
  109. padding: 40rpx;
  110. border-radius: 20rpx;
  111. box-shadow: 0 0 6rpx 6rpx #00000011;
  112. .box {
  113. display: flex;
  114. align-items: center;
  115. .headPortraitimg {
  116. width: 100rpx;
  117. height: 100rpx;
  118. border-radius: 15rpx;
  119. overflow: hidden;
  120. image{
  121. width: 100%;
  122. height: 100%;
  123. }
  124. }
  125. .YaoduUniversalWall {
  126. padding: 0rpx 10rpx;
  127. .username {
  128. max-width: 200rpx;
  129. }
  130. .heide {
  131. display: flex;
  132. justify-content: center;
  133. align-items: center;
  134. }
  135. .inde {
  136. display: flex;
  137. justify-content: center;
  138. align-items: center;
  139. padding: 0rpx 10rpx;
  140. margin: 0rpx 5rpx;
  141. font-size: 20rpx;
  142. height: 30rpx;
  143. color: white;
  144. // background-color: rgb(124, 136, 242);
  145. background-color: var(--sexcolor);
  146. border-radius: 7rpx;
  147. flex-shrink: 0;
  148. }
  149. .authentication {
  150. display: flex;
  151. justify-content: center;
  152. align-items: center;
  153. padding: 0rpx 10rpx;
  154. margin: 0rpx 5rpx;
  155. font-size: 20rpx;
  156. height: 34rpx;
  157. padding: 0rpx 10rpx;
  158. color: white;
  159. background-color: #ffd036;
  160. border-radius: 7rpx;
  161. flex-shrink: 0;
  162. }
  163. .Times {
  164. display: flex;
  165. padding: 5rpx 0rpx;
  166. font-size: 20rpx;
  167. margin-top: 10rpx;
  168. .Month {
  169. margin: 0rpx 15rpx;
  170. }
  171. }
  172. }
  173. }
  174. .personalInformation {
  175. display: flex;
  176. .inde {
  177. font-size: 25rpx;
  178. padding: 0rpx 8rpx;
  179. }
  180. .authentication {
  181. font-size: 25rpx;
  182. }
  183. }
  184. .dynamics {
  185. margin-top: 20rpx;
  186. font-size: 28rpx;
  187. // font-weight: bold;
  188. // line-height: 35rpx;
  189. letter-spacing: 3rpx;
  190. }
  191. .address{
  192. font-size: 24rpx;
  193. margin-top: 20rpx;
  194. display: flex;
  195. align-items: center;
  196. }
  197. .Artworkimages {
  198. display: flex;
  199. flex-wrap: wrap;
  200. .wrokimg {
  201. margin: 10rpx;
  202. image {
  203. height: 190rpx;
  204. width: 190rpx;
  205. border-radius: 20rpx;
  206. }
  207. }
  208. }
  209. .bottom {
  210. display: flex;
  211. margin-top: 20rpx;
  212. font-size: 24rpx;
  213. .browse {
  214. margin: 0rpx 30rpx;
  215. color: rgb(132, 132, 132);
  216. }
  217. .phone{
  218. background-color: rgba($uni-color, 0.2);
  219. color: $uni-color;
  220. padding: 8rpx 16rpx;
  221. border-radius: 10rpx;
  222. margin-left: auto;
  223. image{
  224. width: 20rpx;
  225. height: 20rpx;
  226. }
  227. }
  228. }
  229. }
  230. </style>