lidaPage.vue 53 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116
  1. <template>
  2. <view class="index">
  3. <!-- <navbar :config="config"></navbar> -->
  4. <!-- <view :style="{ top: top + 'px' }" class="top"></view> -->
  5. <!-- <div class="seat"></div> -->
  6. <!-- <view style="background: linear-gradient(180deg,#2bba26 0%, #047753 100%);">
  7. <div class="search-box">
  8. <div class="search" @click="searchClick">
  9. <text class="hxicon search-icon" style="color:#dbdbdb;">&#xe65c;</text>
  10. <div class="key-word">请输入搜索关键字</div>
  11. </div>
  12. <div class="iconfont2 message" @click="goToMsg()">
  13. &#xe60e;
  14. <view class="num" v-if="msgCenter==0?false:msgCenter">{{msgCenter > 99 ? '99+' : msgCenter}}</view>
  15. </div>
  16. </div>
  17. </view> -->
  18. <view class="top-box" :class="showTopSearch?'':'hide'">
  19. <view :style="`height:${statusBarHeight}px`"></view>
  20. <view class="title">
  21. <u-icon class="back-icon" name="arrow-left" size="40" @click="backHome()"></u-icon>
  22. <view>
  23. <!-- <image src="/static/shop_logo.png" mode="aspectFill"></image> -->
  24. <text class="titlt-txt">宜昌优选</text>
  25. </view>
  26. </view>
  27. <view class="input-box">
  28. <view class="status-bar" :style="`height:${statusBarHeight}px`" @click="searchClick"></view>
  29. <!-- <input @click="searchClick" placeholder="请输入商品搜索" placeholder-class="input-placeholder" /> -->
  30. <view class="input-placeholder" @click="searchClick">请输入检索关键字</view>
  31. <text class="iconfont2 msgCenter" @click="goToMsg()">
  32. &#xe67c;
  33. <text v-if="msgCenter==0?false:msgCenter">{{msgCenter}}</text>
  34. </text>
  35. </view>
  36. </view>
  37. <view class="u-skeleton">
  38. <view class="swiper u-skeleton-rect" :class="showTopSearch?'':'mt120'" v-if="shopBanner&&shopBanner.length>0||skeletonShow">
  39. <view class="uni-margin-wrap ">
  40. <swiper class="swiper" :indicator-dots="true" :autoplay="true" :interval="3000" :duration="1000"
  41. circular=false>
  42. <swiper-item v-for="item in skeletonShow?1:shopBanner" :key="item.id">
  43. <view class="swiper-item " @click="$mUtil.imgLink(item.model_type, item.model_id, item.url, item.shop_id)
  44. ">
  45. <image class="bannersize" :src="item.cover" mode="aspectFill"></image>
  46. </view>
  47. </swiper-item>
  48. </swiper>
  49. </view>
  50. </view>
  51. <!-- 首页一级分类 -->
  52. <div class="one-cate">
  53. <!-- cateList.slice(0,4) -->
  54. <div class="item" v-for="(item,index) in (skeletonShow?4:cateList.slice(0,4))" @click="jumpCate(item.id)" :key="item.id">
  55. <image class="u-skeleton-fillet" mode="widthFix " :src="item.cover_image"></image>
  56. <div class="word u-skeleton-fillet">{{ item.name||'加载中' }}</div>
  57. </div>
  58. <div class="item" @click="jumpCate()">
  59. <image class="u-skeleton-fillet" mode="widthFix " src="/static/common/more.png"></image>
  60. <div class="word u-skeleton-fillet">分类</div>
  61. </div>
  62. </div>
  63. <view class="classlist">
  64. <view class="item" @click="goDetail('/pages/research/nearby/timeLimit')">
  65. <div class="img-box">
  66. <image class="u-skeleton-fillet" src="/static/common/alarmClock-icon.png"></image>
  67. </div>
  68. <view class="font u-skeleton-fillet">限时秒杀</view>
  69. </view>
  70. <view class="item" @click="goDetail('/pages/research/homepage/groupList')">
  71. <div class="img-box">
  72. <image class="u-skeleton-fillet" src="/static/common/spell-icon.png"></image>
  73. </div>
  74. <view class="font u-skeleton-fillet">拼团</view>
  75. </view>
  76. <!-- <div class="one-cate"> -->
  77. <view class="item" v-for="(item,index) in (skeletonShow?3:cateList.slice(4,6))" @click="jumpCate(item.id)"
  78. :key="item.id">
  79. <view class="imgbox">
  80. <image class="u-skeleton-fillet" mode="widthFix" :src="item.cover_image"></image>
  81. </view>
  82. <view class="word font u-skeleton-fillet">{{ item.name||'加载中' }}</view>
  83. </view>
  84. <view class="item" @click="goDetail('/pages/pointsMall/index')">
  85. <div class="img-box">
  86. <image class="u-skeleton-fillet" src="/static/common/shop-icon.png"></image>
  87. </div>
  88. <view class="font u-skeleton-fillet">积分商城</view>
  89. </view>
  90. <!-- </div> -->
  91. <!-- <view class="item" @click="goDetail('/pages/welfareBuy/index')"> -->
  92. <!-- <view class="item" @click="goDetail('/pages/index/list')">
  93. <div class="img-box"><text class="iconfont3 integral">&#xe602;</text></div>
  94. <view class="font">公益福利</view>
  95. </view> -->
  96. <!-- <view v-if="ispay" class="item" @click="goDetail('/pages/couponCenter/index', true)"> -->
  97. <!-- <view v-if="ispay" class="item" @click="goDetail('/pages/index/list')">
  98. <div class="img-box"><text class="iconfont3 discounts">&#xec03;</text></div>
  99. <view class="font">优惠商品</view>
  100. </view> -->
  101. <!-- <view v-if="ispay" class="item" @click="goDetail('/pages/nearbyShop/index')"> -->
  102. <!-- <view v-if="ispay" class="item" @click="goDetail('/pages/freeCollection/index')">
  103. <div class="img-box">
  104. <image mode="widthFix" src="/static/common/activeRegion-icon.png"></image>
  105. </div>
  106. <view class="font">复购区</view>
  107. </view> -->
  108. </view>
  109. <view v-if="homeBanner1&&homeBanner1.cover||skeletonShow" class="banner1Cls "
  110. @click="$mUtil.imgLink(homeBanner1.model_type, homeBanner1.model_id, homeBanner1.url, homeBanner1.shop_id)">
  111. <image class="font u-skeleton-fillet" :src="homeBanner1.cover" mode=""></image>
  112. </view>
  113. <!-- 惠选专区 hxCateList-->
  114. <view class="hxbox u-skeleton-fillet" v-if="hxCateList.length||skeletonShow">
  115. <view class="title">惠选专区</view>
  116. <view class="hxClassify">
  117. <view class="item" v-for="(item,index) in (skeletonShow?1:hxCateList.slice(0,4))" @click="jumpHxCate(item)"
  118. :key="item.id">
  119. <image mode="widthFix" :src="item.cover_image"></image>
  120. <!-- <view class="word">{{ item.name }}</view> -->
  121. </view>
  122. </view>
  123. </view>
  124. <!-- 限时秒杀 -->
  125. <view class="seckill u-skeleton-fillet" v-if="currSeckill && currSeckill.length > 0||skeletonShow">
  126. <view class="seckill-item">
  127. <view class="seckill-top" @click="goDetail('/pages/research/nearby/timeLimit')">
  128. <view class="left">限时秒杀</view>
  129. <view class="line" v-if="currTime"></view>
  130. <view class="time" v-if="currTime">{{ currTime }}点场 剩余</view>
  131. <view class="reciprocal" v-if="currTime">
  132. <uni-countdown :backgroundColor="'none'" @timeup="overDown2" :color="'#fff'"
  133. :splitorColor="'#fff'" :show-day="time2[0] > 0" :day="time2[0]" :hour="time2[1]"
  134. :minute="time2[2]" :second="time2[3]">
  135. </uni-countdown>
  136. </view>
  137. </view>
  138. <view class="option" v-if="currSeckill && currSeckill.length > 0||skeletonShow">
  139. <!-- <scroll-view scroll-x="true">
  140. <div class="fa-item" v-for="(item,key) in currSeckill" :key="key">
  141. <view class="option-item" v-for="itemSon in item"
  142. @click="goProductDetails('/pages/product/goods/seckillGoods?id=' + itemSon.id)" :key="item.id">
  143. <image v-if="itemSon && itemSon.cover" :src="itemSon.cover" mode="aspectFill"></image>
  144. <view class="number">
  145. <rich-text :nodes="$mUtil.priceBigSmall(itemSon.min_price)"></rich-text>
  146. </view>
  147. </view>
  148. </div>
  149. </scroll-view> -->
  150. <swiper :indicator-dots="false" :autoplay="false" :display-multiple-items="itemsDis2"
  151. @change="imgActiveFun2" style="height: 220rpx" circular="true">
  152. <swiper-item v-for="(item,key) in currSeckill" :key="key">
  153. <div class="fa-item">
  154. <view class="option-item" v-for="itemSon in item"
  155. @click="goProductDetails('/pages/product/goods/seckillGoods?id=' + itemSon.id)"
  156. :key="item.id">
  157. <image v-if="itemSon && itemSon.cover" :src="itemSon.cover" mode="aspectFill">
  158. </image>
  159. <view class="number">
  160. <rich-text :nodes="$mUtil.priceBigSmall(itemSon.min_price)"></rich-text>
  161. </view>
  162. </view>
  163. </div>
  164. </swiper-item>
  165. </swiper>
  166. <view class="slide-box">
  167. <view class="dotBox" v-if="currSeckill.length > 1">
  168. <view class="dotBox_item" v-for="(v, i) in currSeckill" :key="i"
  169. :class="{ active_dotBox: activeBannerIndex2 == i }"></view>
  170. </view>
  171. </view>
  172. </view>
  173. <!-- <view class="scroll" v-if="currSeckill && currSeckill.length > 0"
  174. ><view class="scroll-red"></view
  175. ></view> -->
  176. <nodata v-else :config="{ top: 1, content: '暂无商品~' }"></nodata>
  177. </view>
  178. </view>
  179. <!-- 拼团购 -->
  180. <view class="group-work u-skeleton-fillet" v-if="groupList && groupList.length > 0||skeletonShow">
  181. <view class="work-top" @click="goDetail('/pages/research/homepage/groupList')">
  182. <view class="top-left">拼团购</view>
  183. <view class="top-right" style="color: #333333;">
  184. 查看更多
  185. <text class="iconfont u-font24 u-999" style="margin-left: 10rpx;">&#xe6c7;</text>
  186. </view>
  187. </view>
  188. <view v-if="groupList && groupList.length > 0||skeletonShow">
  189. <view class="middle_item" v-for="item in (skeletonShow?1:groupList)" :key="item.id">
  190. <view class="middle" @click="
  191. goProductDetails('/pages/product/goods/puzzleGoods?id=' + item.id)
  192. ">
  193. <view class="middle-left">
  194. <image v-if="item && item.cover" :src="item.cover" mode="aspectFill"></image>
  195. </view>
  196. <view class="middle-right">
  197. <view class="middle-title u-text2">{{ item.title }}</view>
  198. <view class="division">
  199. <view class="middle-num">
  200. <view class="contain">
  201. <view class="large">
  202. <rich-text :nodes="$mUtil.priceBigSmall(item.min_price)"></rich-text>
  203. </view>
  204. <view class="small">¥ {{ item.min_sale_price }}</view>
  205. </view>
  206. <view class="three">{{ item.group_people_num }}人团,已拼 <text style="color: red;">
  207. {{item.result_sale_num}}</text> 件</view>
  208. </view>
  209. <view class="button">去拼团</view>
  210. </view>
  211. </view>
  212. </view>
  213. </view>
  214. </view>
  215. <nodata v-else :config="{ top: 1, content: '暂无商品~' }"></nodata>
  216. </view>
  217. <!-- 热门推荐 -->
  218. <view class="hot">
  219. <view class="hot-top u-skeleton-fillet">
  220. <view class="hot-left">热门推荐</view>
  221. <view class="hot-body"></view>
  222. <view class="hot-right">精选好物推荐</view>
  223. </view>
  224. <view class="hot-item u-skeleton-fillet" v-if="recommendList && recommendList.length > 0|| skeletonShow">
  225. <view class="item" v-for="item in recommendList.length>0?recommendList:2" :key="item.id"
  226. @click="goProductDetails('/pages/product/goods/goods?id=' + item.id)">
  227. <image v-if="item && item.cover" :src="item.cover" mode="aspectFill"></image>
  228. <div class="title-price">
  229. <view class="hot-introduce" v-if="item && item.title">{{item.title}}</view>
  230. <view class="hot-number">
  231. <view class="hot-large">
  232. <rich-text :nodes="$mUtil.priceBigSmall(item.min_sale_price)"></rich-text>
  233. </view>
  234. <view class="hot-small">¥{{ item.max_market_price }}</view>
  235. </view>
  236. </div>
  237. </view>
  238. </view>
  239. <nodata v-else :config="{ top: 1, content: '暂无商品~' }"></nodata>
  240. </view>
  241. <!-- 每周上新 -->
  242. <view class="new-products u-skeleton-fillet">
  243. <view class="new-top ">
  244. <view class="new-left">每周上新</view>
  245. <view class="new-line"></view>
  246. <view class="new-right">新品上市优惠热销</view>
  247. </view>
  248. <view class="new-list " v-if="newsList && newsList.length > 0||skeletonShow">
  249. <view class="item" v-for="item in newsList.length>0?newsList:2" :key="item.id"
  250. @click="goProductDetails('/pages/product/goods/goods?id=' + item.id)">
  251. <image v-if="item && item.cover||skeletonShow" :src="item.cover" mode="aspectFill"></image>
  252. <view class="list-num">
  253. <rich-text :nodes="$mUtil.priceBigSmall(item.min_sale_price)"></rich-text>
  254. </view>
  255. </view>
  256. </view>
  257. <nodata v-else :config="{ top: 1, content: '暂无商品~' }"></nodata>
  258. </view>
  259. <!-- 本月热销 -->
  260. <view class="new-products u-skeleton-fillet">
  261. <view class="new-top">
  262. <view class="new-left">本月热销</view>
  263. <view class="new-line"></view>
  264. <view class="new-right">爆品热卖中</view>
  265. </view>
  266. <view v-if="hotList && hotList.length > 0||skeletonShow">
  267. <!-- itemsDis -->
  268. <swiper class="month-list" :indicator-dots="false" :autoplay="false"
  269. :display-multiple-items="itemsDis" @change="imgActiveFun" :circular="false">
  270. <swiper-item class="item" @click="
  271. goProductDetails('/pages/product/goods/goods?id=' + item.id)
  272. " v-for="item in hotList.length>0?hotList:1" :key="item.id">
  273. <image v-if="item && item.cover" :src="item.cover" mode="aspectFill"></image>
  274. <view class="list-num">
  275. <rich-text :nodes="$mUtil.priceBigSmall(item.min_sale_price)"></rich-text>
  276. </view>
  277. <!-- <view class="sold">已售{{ item.result_sale_num }}件</view> -->
  278. </swiper-item>
  279. </swiper>
  280. <view class="slide-box">
  281. <view class="dotBox" v-if="hotList.length > 0">
  282. <!-- 上面给的动态样式 :style="{ marginLeft: ml + 'rpx' }" -->
  283. <!-- v-for="(v, i) in hotList.slice(0,hotList.length-2)" -->
  284. <view class="dotBox_item" v-for="(v, i) in lineList" :key="i"
  285. :class="{ active_dotBox: activeBannerIndex == i }"></view>
  286. </view>
  287. </view>
  288. </view>
  289. <nodata v-else :config="{ top: 1, content: '暂无商品~' }"></nodata>
  290. </view>
  291. <!-- 本月热销 -->
  292. <!-- 猜你喜欢 -->
  293. <view class="guess">
  294. <view class="guess-top u-skeleton-fillet">
  295. <view class="guess-left">猜你喜欢</view>
  296. <view class="guess-line"></view>
  297. <view class="guess-right">智能推荐你感兴趣的优品</view>
  298. </view>
  299. <view class="guess-item" v-if="goodsList && goodsList.length > 0||skeletonShow">
  300. <view class="item u-skeleton-fillet" @click="goProductDetails('/pages/product/goods/goods?id=' + item.id)"
  301. v-for="(item, index) in goodsList.length>0?goodsList:10" :key="index">
  302. <image v-if="item && item.cover" :src="item.cover" mode="aspectFill"></image>
  303. <view style=" padding-bottom: 40rpx;">
  304. <view class="name" style="flex: 1;">{{ item.title||'加载中' }}</view>
  305. <view class="number">
  306. <view class="number-red">
  307. <rich-text :nodes="$mUtil.priceBigSmall(item.min_sale_price)"></rich-text>
  308. </view>
  309. <view class="number-grey">¥{{ item.max_market_price||'加载中' }}</view>
  310. </view>
  311. </view>
  312. </view>
  313. </view>
  314. <nodata v-else :config="{ top: 1, content: '暂无商品~' }"></nodata>
  315. <loadMore v-if="goodsList.length > 0" :status="status"></loadMore>
  316. </view>
  317. <!-- 猜你喜欢 -->
  318. <view class="cart-entrance" @click="toCartPage()">
  319. <image src="/static/czd/car.png" alt=""></image>
  320. </view>
  321. <u-skeleton :loading="skeletonShow" :animation="true" bgColor="#FFF"></u-skeleton>
  322. </view>
  323. <entrepreneurship-zone-tabbar :current="0"></entrepreneurship-zone-tabbar>
  324. </view>
  325. </template>
  326. <script>
  327. let app = getApp()
  328. export default {
  329. data() {
  330. return {
  331. //手机状态栏高度
  332. statusBarHeight: uni.getSystemInfoSync().statusBarHeight,
  333. showTopSearch: true,
  334. background: ["color1", "color2", "color3"],
  335. indicatorDots: true,
  336. autoplay: true,
  337. interval: 2000,
  338. duration: 500,
  339. config: {
  340. back: false, //false是tolbar页面 是则不写
  341. title: "宜昌优选",
  342. color: "#FFFFFF",
  343. fixed: false,
  344. //背景颜色;参数一:透明度(0-1);参数二:背景颜色(array则为线性渐变,string为单色背景)
  345. backgroundColor: [1, ['#0B844A', '#00a54e']],
  346. // rightButton:[{
  347. // key:'btn1',
  348. // position:"left",
  349. // icon:'&#xe6eb;'
  350. // }],
  351. // rightSlot: true,
  352. // search: {
  353. // disabled:true,
  354. // value: "",
  355. // placeholder: "请输入搜索关键字",
  356. // },
  357. },
  358. keyWord: "",
  359. groupList: [], //团购
  360. hotList: [
  361. // {cover: 'https://gulimall-java.oss-cn-chengdu.aliyuncs.com/img/admin/t32W8pXB.png'},
  362. // {cover: 'https://gulimall-java.oss-cn-chengdu.aliyuncs.com/img/admin/QyYZ1abZ.jpg'},
  363. // {cover: 'https://gulimall-java.oss-cn-chengdu.aliyuncs.com/img/admin/XT4XBY4H.jpg'},
  364. // {cover: 'https://gulimall-java.oss-cn-chengdu.aliyuncs.com/img/admin/ikbbTkHC.jpg'}
  365. ], //本月热销
  366. newsList: [], //每周上新
  367. recommendList: [], //推荐
  368. shopBanner: [], //轮播图
  369. currSeckill: [], //秒杀
  370. time2: [0, 0, 0, 0], //秒杀倒计时
  371. goodsList: [], //猜你喜欢
  372. currTime: null,
  373. keyList: 0,
  374. ml: -22,
  375. itemsDis: 1,
  376. activeBannerIndex: 0,
  377. keyList2: 0,
  378. ml2: -22,
  379. itemsDis2: 1,
  380. activeBannerIndex2: 0,
  381. page: 1,
  382. status: "more",
  383. isOver2: false,
  384. msgCenter: null,
  385. imgUrl: this.$mConfig.staticUrl,
  386. top: 0,
  387. cateList: [], // 一级分类
  388. hxCateList: [],
  389. lineList: 0,
  390. ispay: app.globalData.openPay,
  391. homeBanner1: {},
  392. skeletonShow:true
  393. };
  394. },
  395. onLoad() {
  396. this.skeletonShow=true;
  397. // // #ifdef APP-PLUS
  398. // if (plus.os.name == 'iOS') {
  399. // // 首先获取一次网络状态
  400. // uni.getNetworkType({
  401. // success: (res) => {
  402. // if (res.networkType != 'none') {
  403. // this.init()
  404. // }
  405. // }
  406. // });
  407. // // 监听网络变化
  408. // uni.onNetworkStatusChange((res) => {
  409. // if (res.isConnected) {
  410. // this.init()
  411. // }
  412. // });
  413. // } else {
  414. // this.init()
  415. // this.getAppInfo()
  416. // }
  417. // // #endif
  418. // #ifdef H5
  419. // #endif
  420. this.init()
  421. // #ifdef APP-PLUS
  422. if (plus.os.name == 'iOS') {} else {
  423. this.getAppInfo()
  424. }
  425. // #endif
  426. // this.page = 1;
  427. // this.getAll();
  428. // this.top = app.globalData.barHeight + 44
  429. // this.getOneCate()
  430. // 是否开启支付
  431. // this.$http.get("/saleconfig/openPayment").then(res => {
  432. // if (res && res.code == 200) {
  433. // this.ispay = res.openPayment
  434. // }
  435. // })
  436. // let that = this;
  437. // #ifdef APP-PLUS
  438. // if (plus.os.name == 'iOS') {} else {
  439. // this.getAppInfo()
  440. // }
  441. // #endif
  442. this.getHomeBanner1()
  443. },
  444. onShow() {
  445. this.getmessageNum()
  446. },
  447. onPullDownRefresh() {
  448. this.page = 1;
  449. // uni.showModal({
  450. // title:'onPullDownRefresh'
  451. // })
  452. this.getAll();
  453. this.getOneCate()
  454. this.getHxCateList();
  455. this.getHomeBanner1()
  456. // uni.stopPullDownRefresh();
  457. },
  458. onReachBottom() {
  459. if (this.status == 'more') {
  460. this.page++;
  461. this.guessLike();
  462. }
  463. // this.status = "loading";
  464. },
  465. onPageScroll: function(e) { //nvue暂不支持滚动监听,可用bindingx代替
  466. if (e.scrollTop > uni.upx2px(49 + 30)) {
  467. this.showTopSearch = false;
  468. } else {
  469. this.showTopSearch = true;
  470. }
  471. },
  472. methods: {
  473. getHomeBanner1() {
  474. this.$http.get('/ad/ad/getShopAdByAdL/0/home-banner1').then(res => {
  475. if (res.list && res.list.length > 0) {
  476. this.homeBanner1 = res.list[0]
  477. }
  478. })
  479. },
  480. backHome() {
  481. uni.switchTab({
  482. url: '/pages/home'
  483. })
  484. },
  485. init() {
  486. this.page = 1;
  487. this.getAll();
  488. this.top = app.globalData.barHeight + 44
  489. this.getOneCate()
  490. this.getHxCateList()
  491. // this.getLocation()
  492. },
  493. // // 获取经纬度
  494. // getLocation() {
  495. // uni.getLocation({
  496. // type: 'wgs84',
  497. // geocode: true,
  498. // success: (res) => {
  499. // console.log(res, 1111)
  500. // uni.setStorageSync('locationObj', res)
  501. // }
  502. // });
  503. // },
  504. //跳转消息页面
  505. goToMsg() {
  506. let token = uni.getStorageSync("apiToken")
  507. if (!token) {
  508. uni.navigateTo({
  509. url: "/pages/login/index"
  510. })
  511. } else {
  512. uni.navigateTo({
  513. url: "/pages/research/setup/myMsg"
  514. })
  515. }
  516. },
  517. searchClick() {
  518. // console.log("dian");
  519. uni.navigateTo({
  520. url: "/pages/research/homepage/search",
  521. });
  522. },
  523. goProductDetails(url) {
  524. uni.navigateTo({
  525. url: url,
  526. });
  527. },
  528. changeIndicatorDots(e) {
  529. this.indicatorDots = !this.indicatorDots;
  530. },
  531. changeAutoplay(e) {
  532. this.autoplay = !this.autoplay;
  533. },
  534. intervalChange(e) {
  535. this.interval = e.detail.value;
  536. },
  537. durationChange(e) {
  538. this.duration = e.detail.value;
  539. },
  540. getAll() {
  541. this.rest();
  542. // this.getmessageNum();
  543. this.getBanner();
  544. this.seckillList();
  545. this.getgroupList();
  546. this.recommend();
  547. this.newWeek();
  548. this.hotSale();
  549. this.guessLike();
  550. },
  551. /**获得消息数量 */
  552. getmessageNum() {
  553. let token = uni.getStorageSync("apiToken")
  554. if (token) {
  555. this.$http.get("/private/message/unread-num").then(res => {
  556. if (res && res.code == 200) {
  557. this.msgCenter = res.data
  558. }
  559. })
  560. } else {
  561. this.msgCenter = 0
  562. }
  563. },
  564. // 一级分类
  565. getOneCate() {
  566. this.$http.get("/category/home/recommend").then(res => {
  567. if (res && res.code == 200) {
  568. this.cateList = res.list
  569. }
  570. })
  571. },
  572. getHxCateList() {
  573. this.$http.get("/hxcategory/home/recommend/4").then(res => {
  574. if (res && res.code == 200) {
  575. this.hxCateList = res.list
  576. }
  577. })
  578. },
  579. // 跳转一级分类
  580. jumpCate(id) {
  581. let that = this;
  582. that.$store.commit('changeCateId', id || '')
  583. uni.navigateTo({
  584. url: "/pages/index/list",
  585. success: (res) => {
  586. }
  587. });
  588. },
  589. jumpHxCate(item) {
  590. uni.navigateTo({
  591. url: `/pages/freeCollection/index?hxCategoryId=${item.id}&title=${item.name}`
  592. })
  593. },
  594. /**轮播图 */
  595. getBanner() {
  596. this.$http
  597. .get(`/ad/ad/getShopAdByAdL/0/publicshop-banner`, {}, false)
  598. .then((res) => {
  599. uni.stopPullDownRefresh();
  600. this.loading = false;
  601. if (res && res.code == 200) {
  602. this.shopBanner = res.list;
  603. }
  604. })
  605. .catch(err => {
  606. console.log('err')
  607. console.log(err)
  608. });
  609. },
  610. imgActiveFun(e) {
  611. this.activeBannerIndex = e.detail.current;
  612. },
  613. imgActiveFun2(e) {
  614. this.activeBannerIndex2 = e.detail.current;
  615. },
  616. overDown2() {
  617. this.isOver2 = true;
  618. },
  619. /**限时秒杀 */
  620. seckillList() {
  621. this.$http
  622. .get(
  623. `/marketing/seckillActivityGoods/flash-sale`, {
  624. limit: 10,
  625. page: 1
  626. },
  627. false
  628. )
  629. .then((res) => {
  630. if (res && res.code == 200) {
  631. this.currTime = res.data.start_hour;
  632. // this.currSeckill = res.data.list;
  633. if (res.data.list) {
  634. this.currSeckill = this.oneArrToTwoArr(res.data.list)
  635. }
  636. // if (this.currSeckill && res.data.list.length <= 4) {
  637. // this.keyList2 = 1;
  638. // this.itemsDis2 = res.data.list.length;
  639. // }
  640. // if (
  641. // this.currSeckill &&
  642. // res.data.list.length > 4 &&
  643. // res.data.list.length <= 8
  644. // ) {
  645. // this.keyList2 = 2;
  646. // this.ml2 = -45;
  647. // this.itemsDis2 = 3;
  648. // }
  649. // if (
  650. // this.currSeckill &&
  651. // res.data.list.length > 8 &&
  652. // res.data.list.length <= 12
  653. // ) {
  654. // this.keyList2 = 3;
  655. // this.ml2 = -68;
  656. // this.itemsDis2 = 3;
  657. // }
  658. // if (
  659. // this.currSeckill &&
  660. // res.data.list.length > 12 &&
  661. // res.data.list.length <= 16
  662. // ) {
  663. // this.keyList2 = 4;
  664. // this.ml2 = -90;
  665. // this.itemsDis2 = 3;
  666. // }
  667. if (res.data.finish_time) {
  668. this.time2 = this.$mUtil
  669. .countDown(Math.floor(res.data.finish_time / 1000))
  670. .split(":")
  671. .map((val) => Number(val));
  672. }
  673. }
  674. });
  675. },
  676. oneArrToTwoArr(data) {
  677. let newData = [];
  678. let zyf = 4; //一维数组转二维数组长度(此处是二维数组每一个长度控制)
  679. for (var i = 0; i < Math.ceil(data.length / zyf); i++) {
  680. newData[i] = [];
  681. newData[i].push(data[i * zyf]);
  682. for (var j = 1; j < zyf; j++) {
  683. if (data[i * zyf + j] == undefined) {
  684. //超出长度控住
  685. return newData;
  686. } else {
  687. newData[i].push(data[i * zyf + j]);
  688. }
  689. }
  690. }
  691. return newData;
  692. },
  693. /**团购 */
  694. getgroupList() {
  695. this.$http
  696. .get(
  697. `/groupbuy/activitygoods/will-you-spell`, {
  698. limit: 10,
  699. page: 1
  700. },
  701. false
  702. )
  703. .then((res) => {
  704. if (res && res.code == 200) {
  705. if (res.list.length > 0) {
  706. this.groupList = res.list;
  707. }
  708. }
  709. });
  710. },
  711. /**热门推荐 */
  712. recommend() {
  713. this.$http
  714. .get(`/goods/new`, {
  715. limit: 6,
  716. type: "hot"
  717. }, false)
  718. .then((res) => {
  719. if (res && res.code == 200) {
  720. this.recommendList = res.list;
  721. }
  722. });
  723. },
  724. /**每周上新 */
  725. newWeek() {
  726. this.$http.get(`/goods/new`, {
  727. limit: 16
  728. }, false).then((res) => {
  729. if (res && res.code == 200) {
  730. this.newsList = res.list;
  731. }
  732. });
  733. },
  734. /**本月热销 */
  735. hotSale() {
  736. this.$http
  737. .get(`/goods/month`, {
  738. limit: 12,
  739. mix_num: 3
  740. }, false)
  741. .then((res) => {
  742. if (res && res.code == 200) {
  743. this.hotList = res.list;
  744. if (this.hotList.length > 2) {
  745. this.lineList = this.hotList.length - 2
  746. }
  747. if (res.list.length <= 3) {
  748. this.keyList = 1;
  749. this.itemsDis = res.list.length;
  750. }
  751. if (res.list.length > 3 && res.list.length <= 6) {
  752. this.keyList = 2;
  753. this.ml = -45;
  754. this.itemsDis = 3;
  755. }
  756. if (res.list.length > 6 && res.list.length <= 9) {
  757. this.keyList = 3;
  758. this.ml = -68;
  759. this.itemsDis = 3;
  760. }
  761. if (res.list.length > 9 && res.list.length <= 12) {
  762. this.keyList = 4;
  763. this.ml = -90;
  764. this.itemsDis = 3;
  765. }
  766. }
  767. });
  768. },
  769. /**猜你喜欢 */
  770. guessLike() {
  771. this.keyWord = uni.getStorageSync("history") ? uni.getStorageSync("history").join(",") : ''
  772. this.$http
  773. .get(
  774. `/goods/smart`, {
  775. page: this.page,
  776. limit: 6,
  777. keywords: this.keyWord,
  778. },
  779. false
  780. )
  781. .then((res) => {
  782. if (res && res.code == 200) {
  783. this.goodsList = this.page == 1 ? res.page.list : this.goodsList.concat(res.page.list);
  784. if (res.page.totalPage <= res.page.currPage) {
  785. this.status = "noMore";
  786. } else {
  787. this.status = "more";
  788. }
  789. this.skeletonShow=false;
  790. }
  791. });
  792. },
  793. /**轮播图跳转 */
  794. // imgLink(type, id, url, shopid) {
  795. // if (type == "goods") {
  796. // uni.navigateTo({
  797. // url: "/pages/product/goods/goods?id=" + id + "&shopid=" + shopid,
  798. // });
  799. // } else if (type == "service") {
  800. // uni.navigateTo({
  801. // url: "/pages/product/goods/serviceGood?id=" + id
  802. // });
  803. // } else if (type == "point_goods") {
  804. // uni.navigateTo({
  805. // url: "/pages/product/goods/IntegralGood?id=" + id
  806. // });
  807. // } else if (type == "url") {
  808. // if (/^http/.test(url)) {
  809. // uni.navigateTo({
  810. // url: "/pages/index/webView?linkUrl=" + url,
  811. // });
  812. // } else {
  813. // uni.navigateTo({
  814. // url
  815. // });
  816. // }
  817. // }
  818. // },
  819. // 跳转商家
  820. jumpsj() {
  821. // uni.navigateTo({
  822. // url: "/pages/user/merchant/registerAndAudit",
  823. // });
  824. let token = uni.getStorageSync("apiToken")
  825. if (!token) {
  826. uni.navigateTo({
  827. url: "/pages/login/index"
  828. })
  829. } else {
  830. this.$http.get("/yxt/shopapply/shopApplyInfo").then(res => {
  831. if (res && res.code == 200) {
  832. if (res.data == null) {
  833. uni.navigateTo({
  834. url: "../user/merchant/registerAndAudit"
  835. })
  836. } else {
  837. uni.navigateTo({
  838. url: "../user/merchant/audit"
  839. })
  840. }
  841. }
  842. })
  843. }
  844. },
  845. goDetail(url, isNeedLogin) {
  846. if ((isNeedLogin && uni.getStorageSync("apiToken") == "") || null) {
  847. this.$mUtil.toast("请先登录");
  848. return false;
  849. }
  850. uni.navigateTo({
  851. url: url,
  852. });
  853. },
  854. /**重置数据*/
  855. rest() {
  856. this.goodsList = [];
  857. this.currSeckill = [];
  858. this.shopBanner = [];
  859. this.recommendList = [];
  860. this.newsList = [];
  861. this.hotList = [];
  862. this.groupList = [];
  863. },
  864. toCartPage() {
  865. uni.navigateTo({
  866. url: '/pages/index/shop'
  867. })
  868. },
  869. // 获取更新信息
  870. getAppInfo() {
  871. this.$http.get('/app/config/info').then(res => {
  872. if (res && res.code == 200) {
  873. this.appInfo = res.data || {};
  874. // #ifdef APP-PLUS
  875. plus.runtime.getProperty(plus.runtime.appid, (info) => {
  876. this.versionCode = info.versionCode;
  877. if (this.appInfo.number > info.versionCode) {
  878. uni.navigateTo({
  879. url: "/components/appUpdatePop"
  880. })
  881. }
  882. })
  883. // #endif
  884. }
  885. })
  886. },
  887. },
  888. };
  889. </script>
  890. <style scoped lang="scss">
  891. @font-face {
  892. font-family: 'hxicon';
  893. /* project id 2009392 */
  894. src: url(data:font/truetype;charset=utf-8;base64,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) format('truetype');
  895. }
  896. .hxicon {
  897. font-family: "hxicon" !important;
  898. font-size: 20px;
  899. font-style: normal;
  900. /* #ifndef APP-NVUE */
  901. -webkit-font-smoothing: antialiased;
  902. -webkit-text-stroke-width: 0.2px;
  903. -moz-osx-font-smoothing: grayscale;
  904. /* #endif */
  905. }
  906. .swiper {
  907. width: 100%;
  908. height: 370rpx !important;
  909. // border-radius: 20rpx;
  910. overflow: hidden;
  911. margin: 0 auto;
  912. /deep/ .uni-swiper-dot {
  913. width: 16rpx !important;
  914. height: 6rpx;
  915. border-radius: 4rpx !important;
  916. background-color: #ffffff !important;
  917. opacity: 0.5;
  918. }
  919. /deep/ .uni-swiper-dot-active {
  920. width: 32rpx !important;
  921. height: 6rpx;
  922. border-radius: 4rpx !important;
  923. background-color: #ffffff !important;
  924. opacity: 1;
  925. }
  926. }
  927. /deep/.hx-navbar__content__main_search_hxicon {
  928. span {
  929. font-size: 30rpx;
  930. }
  931. }
  932. /deep/.hx-navbar__content__main_search_input {
  933. background-color: #4A705E;
  934. }
  935. .one-cate {
  936. display: flex;
  937. // width: 750rpx;
  938. flex-wrap: wrap;
  939. justify-content: space-between;
  940. padding: 0 31rpx;
  941. margin-top: 30rpx;
  942. color: #373737;
  943. .item {
  944. width: 120rpx;
  945. text-align: center;
  946. // margin-right: 40rpx;
  947. // &:last-child {
  948. // margin-right: 0;
  949. // }
  950. image {
  951. width: 70rpx !important;
  952. height: 70rpx !important;
  953. }
  954. .word {
  955. // margin-top: 17rpx;
  956. overflow: hidden;
  957. text-overflow: ellipsis;
  958. white-space: nowrap;
  959. }
  960. }
  961. .item:first-child {
  962. margin-left: 0;
  963. }
  964. .item:nth-child(5n+1) {
  965. margin-left: 0;
  966. }
  967. }
  968. .seat {
  969. width: 100%;
  970. background-color: #0B844A;
  971. position: absolute;
  972. z-index: 5;
  973. height: 60rpx;
  974. }
  975. .search-box {
  976. display: flex;
  977. justify-content: space-between;
  978. width: 709rpx;
  979. margin-left: 12rpx;
  980. height: 71rpx;
  981. align-items: center;
  982. position: absolute;
  983. z-index: 10;
  984. background-color: #0B844A;
  985. margin-top: 15rpx;
  986. .search {
  987. width: 641rpx;
  988. height: 60rpx;
  989. display: flex;
  990. align-items: center;
  991. background: #018836;
  992. border: 1px solid rgba(255, 255, 255, 0.42);
  993. border-radius: 30rpx;
  994. position: relative;
  995. .search-icon {
  996. font-size: 18px;
  997. margin-left: 30rpx;
  998. color: #dbdbdb;
  999. }
  1000. .key-word {
  1001. color: #abc5b5;
  1002. margin-left: 25rpx;
  1003. font-size: 22rpx;
  1004. }
  1005. // .hxicon {
  1006. // position: absolute;
  1007. // left: 24px;
  1008. // font-size: 18px;
  1009. // color: #dbdbdb;
  1010. // z-index: 100;
  1011. // }
  1012. }
  1013. .iconfont {
  1014. position: relative;
  1015. }
  1016. .message {
  1017. font-size: 40rpx;
  1018. color: white;
  1019. z-index: 11;
  1020. }
  1021. .num {
  1022. position: absolute;
  1023. top: -18rpx;
  1024. left: -20rpx;
  1025. background-color: red;
  1026. padding: 2rpx 10rpx;
  1027. border-radius: 14rpx;
  1028. font-size: 20rpx;
  1029. font-weight: 400;
  1030. color: #ffffff;
  1031. }
  1032. }
  1033. .bannersize {
  1034. display: block;
  1035. overflow: hidden;
  1036. width: 100%;
  1037. height: 100%;
  1038. }
  1039. .guess {
  1040. margin: 0 30rpx;
  1041. .guess-item {
  1042. display: flex;
  1043. // justify-content: space-around;
  1044. flex-wrap: wrap;
  1045. .item {
  1046. margin-bottom: 36rpx;
  1047. background-color: #ffffff;
  1048. overflow: hidden;
  1049. display: flex;
  1050. flex-direction: column;
  1051. image {
  1052. width: 336rpx;
  1053. height: 336rpx;
  1054. border-radius: 18rpx;
  1055. }
  1056. .name {
  1057. margin: 6rpx 20rpx;
  1058. width: 296rpx;
  1059. // height: 70rpx;
  1060. overflow: hidden;
  1061. text-overflow: ellipsis;
  1062. display: -webkit-box;
  1063. -webkit-line-clamp: 2;
  1064. -webkit-box-orient: vertical;
  1065. word-wrap: break-word;
  1066. word-break: break-all;
  1067. white-space: normal !important;
  1068. }
  1069. .tag-box {
  1070. margin: 10rpx 20rpx 0 20rpx;
  1071. .tag1 {
  1072. width: 69rpx;
  1073. height: 30rpx;
  1074. }
  1075. .tag2 {
  1076. width: 116rpx;
  1077. height: 30rpx;
  1078. margin-left: 10rpx;
  1079. }
  1080. }
  1081. .number {
  1082. display: flex;
  1083. align-items: flex-end;
  1084. // padding-bottom: 40rpx;
  1085. margin: 8rpx 20rpx 0 20rpx;
  1086. .number-red {
  1087. color: #FF6600;
  1088. font-size: 36rpx;
  1089. font-weight: 700;
  1090. text {
  1091. font-size: 36rpx;
  1092. font-weight: Bold;
  1093. }
  1094. }
  1095. .number-grey {
  1096. color: #999999;
  1097. font-size: 22rpx;
  1098. font-weight: 400;
  1099. text-decoration: line-through;
  1100. margin-left: 16rpx;
  1101. padding-bottom: 4rpx;
  1102. }
  1103. }
  1104. }
  1105. .item:nth-child(2n) {
  1106. margin-left: 18rpx;
  1107. }
  1108. }
  1109. .guess-top {
  1110. display: flex;
  1111. align-items: center;
  1112. margin-bottom: 24rpx;
  1113. .guess-left {
  1114. font-size: 36rpx;
  1115. color: #1a1a1a;
  1116. font-weight: Bold;
  1117. line-height: 30rpx;
  1118. }
  1119. .guess-line {
  1120. width: 1rpx;
  1121. height: 32rpx;
  1122. background-color: #707070;
  1123. margin: 0 16rpx;
  1124. }
  1125. .guess-right {
  1126. font-size: 24rpx;
  1127. color: #666666;
  1128. font-weight: Regular;
  1129. line-height: 24rpx;
  1130. }
  1131. }
  1132. }
  1133. .new-products {
  1134. margin: 50rpx 30rpx;
  1135. .new-list {
  1136. display: flex;
  1137. overflow: scroll;
  1138. white-space: nowrap;
  1139. .item {
  1140. margin-right: 20rpx;
  1141. margin-top: 28rpx;
  1142. margin-bottom: 28rpx;
  1143. text-align: center;
  1144. image {
  1145. border: 1rpx solid #e6e6e6;
  1146. width: 172rpx;
  1147. height: 172rpx;
  1148. border-radius: 10rpx;
  1149. }
  1150. .list-num {
  1151. margin-top: 16rpx;
  1152. font-size: 36rpx;
  1153. line-height: 24rpx;
  1154. color: #FF6600;
  1155. font-weight: Bold;
  1156. text-align: center;
  1157. text {
  1158. font-size: 32rpx;
  1159. text-align: center;
  1160. }
  1161. }
  1162. }
  1163. }
  1164. .montn-scroll {
  1165. margin: 0 auto;
  1166. border-radius: 6rpx;
  1167. width: 124rpx;
  1168. height: 14rpx;
  1169. background-color: #dddddd;
  1170. border-radius: 7rpx;
  1171. text-align: center;
  1172. .montn-red {
  1173. width: 50rpx;
  1174. border-radius: 6rpx;
  1175. height: 14rpx;
  1176. background-color: #FF6600;
  1177. }
  1178. }
  1179. .month-list {
  1180. // display: flex;
  1181. // overflow: scroll;
  1182. // white-space: nowrap;
  1183. position: relative;
  1184. padding-bottom: 20rpx;
  1185. height: 350rpx;
  1186. /deep/ uni-swiper {
  1187. height: 350rpx;
  1188. }
  1189. .item {
  1190. margin: 28rpx 0;
  1191. text-align: center;
  1192. height: 350rpx;
  1193. width: 217rpx;
  1194. image {
  1195. width: 217rpx;
  1196. margin: 0 auto;
  1197. height: 217rpx;
  1198. border-radius: 10rpx;
  1199. }
  1200. .list-num {
  1201. margin-top: 16rpx;
  1202. font-size: 36rpx;
  1203. line-height: 24rpx;
  1204. color: #FF6600;
  1205. font-weight: bold;
  1206. text-align: center;
  1207. text {
  1208. font-size: 32rpx;
  1209. text-align: center;
  1210. }
  1211. }
  1212. .sold {
  1213. font-size: 22rpx;
  1214. font-weight: Medium;
  1215. line-height: 24rpx;
  1216. color: #999999;
  1217. margin-top: 8rpx;
  1218. text-align: center;
  1219. }
  1220. }
  1221. /deep/ swiper-item {
  1222. width: 33.333%;
  1223. }
  1224. }
  1225. .new-top {
  1226. display: flex;
  1227. align-items: center;
  1228. .new-left {
  1229. font-size: 36rpx;
  1230. color: #1a1a1a;
  1231. font-weight: Bold;
  1232. line-height: 30rpx;
  1233. }
  1234. .new-line {
  1235. width: 1rpx;
  1236. height: 33rpx;
  1237. background-color: #707070;
  1238. margin: 0 16rpx;
  1239. }
  1240. .new-right {
  1241. font-size: 24rpx;
  1242. color: #666666;
  1243. font-weight: Regular;
  1244. line-height: 24rpx;
  1245. }
  1246. }
  1247. }
  1248. .slide-box {
  1249. display: flex;
  1250. justify-content: center;
  1251. }
  1252. .dotBox {
  1253. // position: absolute;
  1254. // bottom: 0rpx;
  1255. // left: 50%;
  1256. // margin: 0 auto;
  1257. height: 14rpx;
  1258. overflow: hidden;
  1259. border-radius: 14rpx;
  1260. background-color: #ccc;
  1261. display: flex;
  1262. justify-content: center;
  1263. .dotBox_item {
  1264. width: 45rpx;
  1265. height: 14rpx;
  1266. border-radius: 2rpx;
  1267. background-color: #ccc;
  1268. transition: all 0.5s;
  1269. }
  1270. .active_dotBox {
  1271. width: 45rpx;
  1272. background: #FA6138;
  1273. transition: all 0.5s;
  1274. }
  1275. }
  1276. .hot {
  1277. margin: 0 30rpx;
  1278. .hot-item {
  1279. display: flex;
  1280. overflow: scroll;
  1281. white-space: nowrap;
  1282. .hot-number {
  1283. display: flex;
  1284. align-items: flex-end;
  1285. margin-top: 20rpx;
  1286. }
  1287. .hot-large {
  1288. color: #FF6600;
  1289. font-size: 36rpx;
  1290. font-weight: Bold;
  1291. line-height: 24rpx;
  1292. text {
  1293. font-size: 36rpx;
  1294. margin-left: 10rpx;
  1295. }
  1296. }
  1297. .hot-small {
  1298. font-size: 22rpx;
  1299. font-weight: Medium;
  1300. line-height: 24rpx;
  1301. color: #cccccc;
  1302. margin-left: 16rpx;
  1303. text-decoration: line-through;
  1304. }
  1305. .title-price {
  1306. display: flex;
  1307. flex-direction: column;
  1308. justify-content: space-between;
  1309. height: 140rpx;
  1310. }
  1311. .hot-introduce {
  1312. overflow: hidden;
  1313. word-break: break-all;
  1314. margin-top: 24rpx;
  1315. // width: 240rpx;
  1316. font-size: 24rpx;
  1317. font-weight: Regular;
  1318. line-height: 34rpx;
  1319. color: #333333;
  1320. text-overflow: ellipsis;
  1321. display: -webkit-box;
  1322. -webkit-line-clamp: 2;
  1323. -webkit-box-orient: vertical;
  1324. word-wrap: break-word;
  1325. white-space: normal !important;
  1326. width: 252rpx;
  1327. }
  1328. .item {
  1329. padding: 20rpx;
  1330. background-color: #ffffff;
  1331. border-radius: 16rpx;
  1332. margin-right: 20rpx;
  1333. }
  1334. display: flex;
  1335. margin-top: 27rpx;
  1336. image {
  1337. width: 252rpx;
  1338. height: 252rpx;
  1339. border-radius: 16rpx;
  1340. }
  1341. }
  1342. .hot-top {
  1343. display: flex;
  1344. align-items: center;
  1345. .hot-left {
  1346. font-size: 36rpx;
  1347. font-weight: Bold;
  1348. color: #1a1a1a;
  1349. line-height: 30rpx;
  1350. }
  1351. .hot-body {
  1352. width: 1rpx;
  1353. height: 32rpx;
  1354. background-color: #707070;
  1355. margin: 0 16rpx 0 14rpx;
  1356. }
  1357. .hot-right {
  1358. font-size: 24rpx;
  1359. font-weight: Regular;
  1360. line-height: 24rpx;
  1361. color: #666666;
  1362. }
  1363. }
  1364. }
  1365. .middle_item {
  1366. padding: 0 30rpx;
  1367. }
  1368. .middle_item:last-child {
  1369. border: none;
  1370. }
  1371. .middle {
  1372. display: flex;
  1373. border-bottom: 1rpx solid #e6e6e6;
  1374. padding-bottom: 40rpx;
  1375. padding-top: 42rpx;
  1376. .middle-left {
  1377. margin-right: 20rpx;
  1378. image {
  1379. width: 226rpx;
  1380. height: 226rpx;
  1381. border-radius: 10rpx;
  1382. }
  1383. }
  1384. .middle-right {
  1385. width: 100%;
  1386. display: flex;
  1387. flex-direction: column;
  1388. justify-content: space-between;
  1389. margin-top: 10rpx;
  1390. padding-bottom: 10rpx;
  1391. .middle-title {
  1392. font-size: 28rpx;
  1393. margin-top: 10rpx;
  1394. color: #181818;
  1395. font-weight: 400;
  1396. line-height: 36rpx;
  1397. }
  1398. .division {
  1399. display: flex;
  1400. // margin-top: 60rpx;
  1401. width: 100%;
  1402. padding-bottom: 10rpx;
  1403. justify-content: space-between;
  1404. }
  1405. .middle-num {
  1406. flex: 1;
  1407. .contain {
  1408. display: flex;
  1409. align-items: flex-end;
  1410. }
  1411. .three {
  1412. font-size: 24rpx;
  1413. font-weight: Regular;
  1414. color: #333333;
  1415. line-height: 24rpx;
  1416. margin-top: 8rpx;
  1417. }
  1418. .large {
  1419. color: #FF6600;
  1420. font-size: 36rpx;
  1421. font-weight: Bold;
  1422. line-height: 24rpx;
  1423. text {
  1424. font-size: 36rpx;
  1425. }
  1426. }
  1427. .small {
  1428. margin-left: 16rpx;
  1429. font-size: 22rpx;
  1430. font-weight: 500;
  1431. color: #cccccc;
  1432. line-height: 24rpx;
  1433. text-decoration: line-through;
  1434. }
  1435. }
  1436. .button {
  1437. // padding: 10rpx 25rpx 10rpx 25rpx;
  1438. width: 130rpx;
  1439. height: 60rpx;
  1440. text-align: center;
  1441. line-height: 60rpx;
  1442. color: #ffffff;
  1443. font-size: 28rpx;
  1444. background: linear-gradient(180deg, #fa6037, #feb26d);
  1445. border-radius: 32rpx;
  1446. }
  1447. }
  1448. }
  1449. .group-work {
  1450. margin: 50rpx 30rpx;
  1451. border-radius: 16rpx;
  1452. background-color: #ffffff;
  1453. padding: 30rpx 0;
  1454. .work-top {
  1455. // padding-bottom: 20rpx;
  1456. margin-bottom: 10rpx;
  1457. padding: 0 30rpx 20rpx;
  1458. display: flex;
  1459. justify-content: space-between;
  1460. align-items: center;
  1461. border-bottom: 1rpx solid #e6e6e6;
  1462. .top-left {
  1463. font-size: 36rpx;
  1464. font-weight: Bold;
  1465. color: #1a1a1a;
  1466. line-height: 30rpx;
  1467. }
  1468. .top-right {
  1469. color: #333333;
  1470. font-size: 24rpx;
  1471. font-weight: Regular;
  1472. .iconfont {
  1473. color: #666666;
  1474. }
  1475. }
  1476. }
  1477. }
  1478. // 惠选专区
  1479. .hxbox {
  1480. padding: 30rpx 30rpx 0;
  1481. margin: 0rpx 30rpx 30rpx;
  1482. background: url('/static/home/hx.png') no-repeat;
  1483. background-size: 100% 100%;
  1484. .title {
  1485. font-size: 36rpx;
  1486. font-weight: bold;
  1487. color: #1a1a1a;
  1488. }
  1489. .hxClassify {
  1490. display: flex;
  1491. flex-wrap: wrap;
  1492. justify-content: space-between;
  1493. margin-top: 30rpx;
  1494. color: #373737;
  1495. .item {
  1496. text-align: center;
  1497. margin-bottom: 20rpx;
  1498. image {
  1499. width: 300rpx !important;
  1500. height: 210rpx !important;
  1501. }
  1502. .word {
  1503. // margin-top: 17rpx;
  1504. }
  1505. }
  1506. .item:first-child {
  1507. margin-left: 0;
  1508. }
  1509. .item:nth-child(5n+1) {
  1510. margin-left: 0;
  1511. }
  1512. }
  1513. }
  1514. .seckill {
  1515. margin: 30rpx 30rpx 50rpx;
  1516. .seckill-item {
  1517. border-radius: 16rpx;
  1518. background-color: #ffffff;
  1519. // padding: 0 29rpx 26rpx 29rpx;
  1520. padding-bottom: 26rpx;
  1521. .scroll {
  1522. margin: 26rpx auto 26rpx auto;
  1523. width: 124rpx;
  1524. height: 14rpx;
  1525. background-color: #ededed;
  1526. border-radius: 8rpx;
  1527. .scroll-red {
  1528. width: 50rpx;
  1529. height: 14rpx;
  1530. background-color: red;
  1531. border-radius: 8rpx;
  1532. }
  1533. }
  1534. .option {
  1535. // display: flex;
  1536. position: relative;
  1537. // padding: 12rpx 20rpx;
  1538. margin-top: 20rpx;
  1539. padding: 0 29rpx;
  1540. /deep/ .uni-swiper-slide-frame {
  1541. // width: 26% !important;
  1542. }
  1543. .fa-item {
  1544. display: flex;
  1545. }
  1546. .option-item:first-child {
  1547. margin-left: 0;
  1548. }
  1549. .option-item {
  1550. margin-left: 24rpx;
  1551. image {
  1552. width: 140rpx;
  1553. height: 140rpx;
  1554. }
  1555. .number {
  1556. margin-top: 4rpx;
  1557. text-align: center;
  1558. font-size: 36rpx;
  1559. font-weight: Bold;
  1560. line-height: 24rpx;
  1561. color: #333333;
  1562. width: 140rpx;
  1563. text {
  1564. font-size: 28rpx;
  1565. font-weight: Medium;
  1566. }
  1567. }
  1568. }
  1569. }
  1570. .seckill-top {
  1571. padding: 24rpx 26rpx;
  1572. display: flex;
  1573. align-items: center;
  1574. border-bottom: 1rpx solid #e6e6e6;
  1575. .left {
  1576. font-size: 36rpx;
  1577. font-weight: Bold;
  1578. color: #1a1a1a;
  1579. margin-right: 14rpx;
  1580. }
  1581. .line {
  1582. width: 1rpx;
  1583. height: 32rpx;
  1584. background-color: #707070;
  1585. }
  1586. .time {
  1587. margin-left: 16rpx;
  1588. color: #666666;
  1589. font-size: 24rpx;
  1590. font-weight: Regular;
  1591. }
  1592. .reciprocal {
  1593. color: #ffffff;
  1594. padding: 0rpx 14rpx;
  1595. background-color: #FF0000;
  1596. font-size: 24rpx;
  1597. font-weight: Bold;
  1598. border-radius: 30rpx;
  1599. margin-left: 30rpx;
  1600. }
  1601. }
  1602. }
  1603. }
  1604. .advertisement {
  1605. margin: 50rpx 30rpx;
  1606. image {
  1607. width: 690rpx;
  1608. height: 156rpx;
  1609. border-radius: 28rpx;
  1610. }
  1611. }
  1612. .classlist {
  1613. margin: 30rpx;
  1614. display: flex;
  1615. justify-content: space-between;
  1616. color: #373737;
  1617. .item {
  1618. width: 120rpx;
  1619. text-align: center;
  1620. // margin-right: 38rpx;
  1621. // &:last-child {
  1622. // margin-right: 0;
  1623. // }
  1624. .img-box {
  1625. width: 100%;
  1626. // height: 110rpx;
  1627. display: flex;
  1628. align-items: center;
  1629. justify-content: center;
  1630. image {
  1631. width: 70rpx;
  1632. height: 70rpx;
  1633. margin-bottom: 8rpx;
  1634. }
  1635. text {
  1636. font-size: 70rpx;
  1637. }
  1638. .word {
  1639. overflow: hidden;
  1640. text-overflow: ellipsis;
  1641. white-space: nowrap;
  1642. }
  1643. .alarmClock {
  1644. color: #EB963A;
  1645. }
  1646. .spell {
  1647. color: #4581F6;
  1648. }
  1649. .integral {
  1650. color: #4EA700;
  1651. }
  1652. .discounts {
  1653. color: #F55F40;
  1654. }
  1655. .activeRegion {
  1656. color: #4581F6;
  1657. }
  1658. }
  1659. .font {
  1660. // margin-top: 17rpx;
  1661. }
  1662. .imgbox {
  1663. display: flex;
  1664. justify-content: center;
  1665. align-items: center;
  1666. width: 100%;
  1667. // height: 110rpx;
  1668. image {
  1669. width: 70rpx;
  1670. height: 70rpx !important;
  1671. margin-bottom: 8rpx;
  1672. }
  1673. }
  1674. }
  1675. }
  1676. .item-red {
  1677. background: #f76260;
  1678. color: #fff;
  1679. }
  1680. .item-green {
  1681. background: #09bb07;
  1682. color: #fff;
  1683. }
  1684. .item-blue {
  1685. background: #007aff;
  1686. color: #fff;
  1687. }
  1688. .swiper {
  1689. // margin-top: 105rpx;
  1690. height: 360rpx;
  1691. .swiper-item {
  1692. width: 100%;
  1693. height: 100%;
  1694. }
  1695. }
  1696. .index {
  1697. position: relative;
  1698. background-color: #f5f5f5;
  1699. overflow-x: hidden;
  1700. .top {
  1701. position: absolute;
  1702. // top: 0;
  1703. left: -13%;
  1704. width: 126%;
  1705. overflow-x: hidden;
  1706. height: 400rpx;
  1707. border-radius: 0 0 50% 50%;
  1708. background-color: #0B844A;
  1709. }
  1710. }
  1711. .uni-common-mt {
  1712. margin-top: 60rpx;
  1713. position: relative;
  1714. }
  1715. .info {
  1716. position: absolute;
  1717. right: 20rpx;
  1718. }
  1719. .uni-padding-wrap {
  1720. width: 550rpx;
  1721. padding: 0 100rpx;
  1722. }
  1723. .cart-entrance {
  1724. position: fixed;
  1725. right: 30rpx;
  1726. bottom: 180rpx;
  1727. width: 50px;
  1728. height: 50px;
  1729. // background-image: url('/static/commonwealMall/cart.png');
  1730. background-size: 100% 100%;
  1731. border-radius: 50%;
  1732. filter: drop-shadow(1px 2px 4px rgba(26, 58, 70, 0.3));
  1733. background-color: #fff;
  1734. display: flex;
  1735. align-items: center;
  1736. justify-content: center;
  1737. image {
  1738. width: 65%;
  1739. height: 65%;
  1740. margin-right: 5rpx;
  1741. }
  1742. }
  1743. .top-box {
  1744. width: 100%;
  1745. padding-top: 46rpx;
  1746. // padding: 49rpx 0 0 0;
  1747. background: linear-gradient(132deg, #fd995d 1%, #feb771 45%, #ed9f61 95%);
  1748. &.hide {
  1749. // padding: 0;
  1750. // .title {
  1751. // display: none;
  1752. // }
  1753. // .input-box {
  1754. // position: fixed;
  1755. // top: 0;
  1756. // left: 0;
  1757. // background: linear-gradient(132deg,#fd995d 1%, #feb771 45%, #ed9f61 95%);
  1758. // .status-bar {
  1759. // display: block;
  1760. // }
  1761. // }
  1762. .seat {
  1763. display: block;
  1764. }
  1765. }
  1766. .seat {
  1767. display: none;
  1768. height: 130rpx;
  1769. }
  1770. .title {
  1771. display: flex;
  1772. justify-content: center;
  1773. align-items: center;
  1774. position: relative;
  1775. margin: 0 auto;
  1776. height: 45rpx;
  1777. padding: 0 30rpx;
  1778. font-size: 36rpx;
  1779. font-family: PingFang SC, PingFang SC-Bold;
  1780. font-weight: 700;
  1781. color: #ffffff;
  1782. line-height: 45rpx;
  1783. text-align: center;
  1784. .back-icon {
  1785. position: absolute;
  1786. left: 30rpx;
  1787. top: 50%;
  1788. transform: translateY(-50%);
  1789. float: left;
  1790. }
  1791. image {
  1792. width: 41rpx;
  1793. height: 31rpx;
  1794. margin-right: 4rpx;
  1795. }
  1796. .titlt-txt {
  1797. font-size: 36rpx;
  1798. }
  1799. }
  1800. .input-box {
  1801. display: flex;
  1802. justify-content: space-between;
  1803. align-items: center;
  1804. position: sticky;
  1805. top: 0;
  1806. z-index: 100;
  1807. width: 100%;
  1808. padding: 23rpx 30rpx 20rpx;
  1809. .text {
  1810. margin-right: 20rpx;
  1811. margin-left: 0rpx;
  1812. font-weight: 500;
  1813. font-size: 28rpx;
  1814. color: #fff;
  1815. }
  1816. .input-placeholder {
  1817. // flex: 1;
  1818. box-sizing: border-box;
  1819. display: inline-block;
  1820. vertical-align: middle;
  1821. width: 630rpx;
  1822. height: 70rpx;
  1823. line-height: 66rpx;
  1824. // background: rgba(2,81,43,0.3);
  1825. background: #fff;
  1826. padding-left: 80rpx;
  1827. // color: #666666;
  1828. background: rgba(255, 255, 255, 0.30);
  1829. background-image: url('/static/czd/search.png');
  1830. background-size: 40rpx 40rpx;
  1831. background-position: 24rpx 50%;
  1832. background-repeat: no-repeat;
  1833. border: 1rpx solid rgba(255, 255, 255, 0.36);
  1834. border-radius: 36rpx;
  1835. }
  1836. text {
  1837. margin-left: 10rpx;
  1838. display: inline-block;
  1839. vertical-align: middle;
  1840. font-size: 42rpx;
  1841. font-weight: 400;
  1842. text-align: right;
  1843. color: #ffffff;
  1844. line-height: 42rpx;
  1845. &.iconfont2 {
  1846. font-size: 55rpx;
  1847. }
  1848. }
  1849. .status-bar {
  1850. display: none;
  1851. }
  1852. .msgCenter {
  1853. position: relative;
  1854. text {
  1855. min-width: 50rpx;
  1856. font-size: 20rpx;
  1857. color: #FFFFFF;
  1858. font-weight: 400;
  1859. padding: 0 4rpx;
  1860. background-color: #FF0000;
  1861. border-radius: 13rpx;
  1862. border: 2rpx solid #fff;
  1863. text-align: center;
  1864. position: absolute;
  1865. left: 10rpx;
  1866. top: -30rpx;
  1867. line-height: normal;
  1868. }
  1869. }
  1870. }
  1871. .input-placeholder {
  1872. color: #FEE3CF;
  1873. opacity: 0.74;
  1874. font-size: 28rpx;
  1875. font-family: PingFang SC, PingFang SC-Regular;
  1876. font-weight: 400;
  1877. text-align: left;
  1878. line-height: 70rpx;
  1879. }
  1880. }
  1881. .top-box.hide {
  1882. position: fixed;
  1883. z-index: 9999;
  1884. }
  1885. .notice-box {
  1886. height: 92rpx;
  1887. font-size: 28rpx;
  1888. margin-bottom: 0;
  1889. ::v-deep .uni-noticebar-icon {
  1890. width: 40rpx;
  1891. background-image: url('/static/home/noticebar-icon.png');
  1892. background-size: cover;
  1893. color: transparent !important;
  1894. }
  1895. }
  1896. .mt120 {
  1897. margin-top: 240rpx;
  1898. }
  1899. .banner1Cls {
  1900. text-align: center;
  1901. margin-top: 20rpx;
  1902. image {
  1903. width: 690rpx;
  1904. height: 200rpx;
  1905. }
  1906. }
  1907. </style>