Model20.vue 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280
  1. <template>
  2. <view class="model-20">
  3. <view class="marketing-box marketing-box-two marketing-box-3" :style="{backgroundColor:editablePageConfig.editable_page_config_content.back_color}">
  4. <view>
  5. <view class="title-wrap title-wrap-3" v-if="editablePageConfig.editable_page_config_content['if_show_title_icon']==1" @click="goPintuan()">
  6. <view class="title-left">
  7. <image mode="aspectFit" class="img" :src="title_icon">
  8. <!---->
  9. </view>
  10. </view>
  11. </view>
  12. <view class="list-wrap">
  13. <view class="item" v-for="(goods,index) in editablePageConfig.editable_page_config_content.goods_list" :key="index" @click="productClick(goods.goods_id)">
  14. <view class="img-wrap">
  15. <image mode="aspectFit" class="img" :src="goods.goods_image">
  16. </view>
  17. <view class="content">
  18. <view class="top">
  19. <view class="content-desc">{{goods.goods_name}}</view>
  20. <view class="label">
  21. <view class="div label-person">
  22. <text class="i iconfont">&#xe6f0;</text>
  23. <text class="span">{{goods.member_count}}人团</text>
  24. </view>
  25. <view class="label-num">
  26. <text>已拼{{goods.order_count}}件</text>
  27. </view>
  28. </view>
  29. </view>
  30. <view class="bot">
  31. <view class="content-price">
  32. <view>¥<text class="span">{{parseFloat(goods.goods_promotion_price)}}</text></view>
  33. <view class="content-num">¥{{parseFloat(goods.goods_price)}}</view>
  34. </view>
  35. <view class="layui-btn">去拼团</view>
  36. </view>
  37. </view>
  38. </view>
  39. </view>
  40. <view class="more" @click="goPintuan()">
  41. <text class="span">更多拼团</text>
  42. <text class="i iconfont iconyoujiantou">
  43. </text>
  44. </view>
  45. </view>
  46. </view>
  47. </template>
  48. <script>
  49. import {
  50. env
  51. } from '../../../../static/config'
  52. export default {
  53. name: 'Model20',
  54. data () {
  55. return {
  56. }
  57. },
  58. props: ['editablePageConfig','editablePage'],
  59. computed: {
  60. title_icon(){
  61. if(this.editablePageConfig.editable_page_config_content['title_icon']){
  62. return this.editablePageConfig.editable_page_config_content['title_icon']
  63. }else{
  64. return env.SITE_URL+'/static/home/images/editable_page/pintuan_style3_title.png'
  65. }
  66. }
  67. },
  68. methods: {
  69. productClick(goods_id) {
  70. uni.navigateTo({url: '/pages/home/goodsdetail/Goodsdetail?goods_id='+goods_id })
  71. },
  72. goPintuan(){
  73. uni.navigateTo({url:'/pages/home/pintuan/PintuanList'})
  74. }
  75. }
  76. }
  77. </script>
  78. <style lang="scss" scoped>
  79. .model-20 .marketing-box-two {
  80. padding: 20px 15px 5px;
  81. background-color: rgb(255, 255, 255);
  82. border-radius: 5px;
  83. }
  84. .model-20 .marketing-box-two .title-wrap {
  85. padding-bottom: 5px;
  86. display: flex;
  87. align-items: center;
  88. }
  89. .model-20 .marketing-box-two .title-wrap-2 {
  90. justify-content: space-between;
  91. }
  92. .model-20 .marketing-box-two .title-wrap-2 .title-left {
  93. width: 120px;
  94. height: 35px;
  95. line-height: 35px;
  96. }
  97. .model-20 .marketing-box-two .title-wrap .title-left .img {
  98. width: 100%;
  99. height: 100%;
  100. }
  101. .model-20 .marketing-box-two .title-wrap .title-right {
  102. font-size: 12px;
  103. color: rgb(144, 147, 153);
  104. }
  105. .model-20 .marketing-box-two .title-wrap .title-right .i {
  106. font-size: 12px;
  107. }
  108. .model-20 .marketing-box-two .list-wrap {
  109. flex-wrap: wrap;
  110. margin-top: 0px;
  111. }
  112. .model-20 .marketing-box-two .list-wrap .item {
  113. width: 100%;
  114. display: flex;
  115. height: 125px;
  116. box-sizing: border-box;
  117. }
  118. .model-20 .marketing-box-two .list-wrap .img-wrap {
  119. width: 95px;
  120. height: 95px;
  121. border-radius: 5px;
  122. overflow: hidden;
  123. flex-shrink: 0;
  124. margin-right: 9px;
  125. margin-top: 15px;
  126. position: relative;
  127. }
  128. .model-20 .marketing-box-two .list-wrap .img-wrap > .img {
  129. width: 100%;
  130. height: 100%;
  131. }
  132. .model-20 .marketing-box-two .list-wrap .img-wrap .hot {
  133. position: absolute;
  134. top: 3px;
  135. left: 3px;
  136. width: 30px;
  137. height: 30px;
  138. }
  139. .model-20 .marketing-box-two .list-wrap .img-wrap .hot .div {
  140. width: 100%;
  141. height: 100%;
  142. position: relative;
  143. }
  144. .model-20 .marketing-box-two .list-wrap .img-wrap .hot .div .img {
  145. width: 100%;
  146. height: 100%;
  147. }
  148. .model-20 .marketing-box-two .list-wrap .img-wrap .hot .div .span {
  149. display: inline-block;
  150. width: 30px;
  151. height: 30px;
  152. line-height: 30px;
  153. text-align: center;
  154. font-size: 12px;
  155. color: rgb(255, 255, 255);
  156. position: absolute;
  157. top: 0px;
  158. left: 0px;
  159. }
  160. .model-20 .marketing-box-two .list-wrap .item .content {
  161. flex:1;
  162. padding: 15px 0px;
  163. border-bottom: 1px solid rgb(238, 238, 238);
  164. display: flex;
  165. justify-content: space-between;
  166. flex-direction: column;
  167. }
  168. .model-20 .marketing-box-two .list-wrap .item:last-child .content {
  169. border-bottom: 0px;
  170. }
  171. .model-20 .marketing-box-two .list-wrap .item .content .content-desc {
  172. height: 32px;
  173. margin-top: 0px;
  174. font-size: 14px;
  175. line-height: 14px;
  176. text-overflow: -o-ellipsis-lastline;
  177. overflow: hidden;
  178. text-overflow: ellipsis;
  179. display: -webkit-box;
  180. -webkit-line-clamp: 2;
  181. line-clamp: 2;
  182. -webkit-box-orient: vertical;
  183. }
  184. .model-20 .marketing-box-two .list-wrap .label {
  185. display: flex;
  186. align-items: center;
  187. }
  188. .model-20 .marketing-box-two .list-wrap .label .div {
  189. height: 15px;
  190. line-height: 15px;
  191. border: 1px solid rgb(255, 69, 68);
  192. border-radius: 2px;
  193. margin-right: 5px;
  194. }
  195. .model-20 .marketing-box-two .list-wrap .label .label-person .i {
  196. display: inline-block;
  197. width: 15px;
  198. height: 15px;
  199. background-color: rgb(255, 69, 68);
  200. font-size: 9px;
  201. color: rgb(255, 255, 255);
  202. text-align: center;
  203. }
  204. .model-20 .marketing-box-two .list-wrap .label .div .span {
  205. font-size: 10px;
  206. padding: 0px 5px;
  207. color: rgb(255, 69, 68);
  208. }
  209. .model-20 .marketing-box-two .list-wrap .progress .img .img-con {
  210. width: 77px;
  211. height: 10px;
  212. border-radius: 10px;
  213. background-color: rgb(253, 190, 108);
  214. }
  215. .model-20 .marketing-box-two .list-wrap .progress .num {
  216. font-size: 12px;
  217. color: rgb(144, 147, 153);
  218. margin-top: 9px;
  219. }
  220. .model-20 .marketing-box-two .list-wrap .bot {
  221. display: flex;
  222. justify-content: space-between;
  223. align-items: flex-end;
  224. }
  225. .model-20 .marketing-box-two .list-wrap .bot .content-price {
  226. display: flex;
  227. align-items: flex-end;
  228. font-size: 12px;
  229. color: #FF4544;
  230. font-weight: 600;
  231. }
  232. .model-20 .marketing-box-two .list-wrap .bot .content-price .span {
  233. font-size: 16px;
  234. margin-right: 5px;
  235. }
  236. .model-20 .marketing-box-two .list-wrap .bot .content-price .content-num {
  237. font-weight: 500;
  238. margin-top: 0px;
  239. font-size: 12px;
  240. line-height: 12px;
  241. color: rgb(144, 147, 153);
  242. text-decoration: line-through;
  243. }
  244. .model-20 .marketing-box-two .list-wrap .bot .layui-btn {
  245. background-color: rgb(255, 69, 68);
  246. color:#fff;
  247. font-size: 14px;
  248. width: 80px;
  249. height: 25px;
  250. line-height: 25px;
  251. text-align: center;
  252. border-radius: 25px;
  253. }
  254. .model-20 .marketing-box-3 {
  255. padding-bottom: 0px;
  256. }
  257. .model-20 .marketing-box-two .title-wrap-3 {
  258. justify-content: center;
  259. }
  260. .model-20 .marketing-box-two .title-wrap-3 .title-left {
  261. width: 174px;
  262. height: 37px;
  263. text-align: center;
  264. line-height: 37px;
  265. }
  266. .model-20 .marketing-box-two .more {
  267. text-align: center;
  268. height: 50px;
  269. line-height: 50px;
  270. border-top: 1px solid rgb(238, 238, 238);
  271. }
  272. .model-20 .marketing-box-two .more .span, .marketing-box-two .more .i {
  273. font-size: 12px;
  274. color: rgb(144, 147, 153);
  275. }
  276. </style>