index.vue 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997
  1. <template>
  2. <view class="index-content">
  3. <view style="position: relative;top: 0;">
  4. <!-- #ifdef H5 -->
  5. <view class="content-div"
  6. style="position: fixed;width: 100%;height: 104upx;background-color: #05C25C;z-index: 999999;">
  7. <!-- #endif -->
  8. <!-- #ifdef APP-PLUS -->
  9. <view class="content-div"
  10. style="position: fixed;width: 100%;height: 154upx;background-color: #05C25C;z-index: 999999;padding-top: 50upx;">
  11. <!-- #endif -->
  12. <!-- #ifdef MP-WEIXIN -->
  13. <view class="content-div"
  14. style="position: fixed;width: 100%;height: 105upx;background-color: #05C25C;z-index: 999999;">
  15. <!-- #endif -->
  16. <view class="icon_header" @tap='goSearch'>
  17. <image class="header-imgsuo" src="/static/image/icon_search.png"></image>
  18. <input type="text" placeholder="输入关键字或者粘贴宝贝标题" class="icon-headerI" style="width: 100%;" />
  19. <view class="zy_search">搜索</view>
  20. </view>
  21. </view>
  22. </view>
  23. <!-- <view class="tar"></view> -->
  24. <view class="red_bg">
  25. <view>
  26. <swiper class="swiper-container" :autoplay="true" :interval="4000" :circular="true"
  27. :indicator-dots="false" style="height: 240upx;">
  28. <swiper-item class="swiper-wrapper" style="" v-for="(item, index3) in bannerList" :key="index3"
  29. @tap='toNavList(item.linkUrl,item.title)'>
  30. <image lazy-load='true' fade-show='true' :src="item.imgUrl" v-if="item"
  31. style="width: 100%;height: 240upx;overflow: hidden;border-radius: 32upx;"
  32. mode="scaleToFill"></image>
  33. </swiper-item>
  34. </swiper>
  35. </view>
  36. </view>
  37. <!-- #ifdef H5 -->
  38. <view style="width:100%;height:12upx;"></view>
  39. <!-- #endif -->
  40. <!-- #ifndef H5 -->
  41. <view style="width:100%;height:57upx;"></view>
  42. <!-- #endif -->
  43. <!--首页菜单开始-->
  44. <view class="category" v-if="navlist.length>0">
  45. <view class="box">
  46. <swiper class="swiper" duration="300" :style="{ height: categoryHeight }" @change="categoryChange">
  47. <swiper-item v-for="(nav, index5) in navlist" :key="index5">
  48. <view class="category-list">
  49. <view class="icon" v-for="(item,ind) in nav" :key="ind"
  50. @tap="toNavList(item.url, item.title)">
  51. <image mode="widthFix" :src="item.image_url" style="height: 90upx;width: 90upx">
  52. </image>
  53. <view>{{ item.title }}</view>
  54. </view>
  55. </view>
  56. </swiper-item>
  57. </swiper>
  58. <view class="dots">
  59. <view v-for="(page, pageindex) in navlist" :key="pageindex"
  60. :class="{ active: pageindex == currentPageindex }"></view>
  61. </view>
  62. </view>
  63. </view>
  64. <view class="index-views" style="margin-top: 5upx;border-radius: 15upx;">
  65. <view class="jx" @tap="goCommondityList('精选好物')">
  66. <view class="jx_row1">
  67. <text class="jx_tit">精选好物</text>
  68. <text class="note">精选畅销品</text>
  69. </view>
  70. <view class="jx_img_wrap">
  71. <image :src="jximg1" lazy-load="true"></image>
  72. </view>
  73. </view>
  74. <view class="rm" @tap="goCommondityList('热卖榜单')">
  75. <text class="jx_tit">热卖榜单</text>
  76. <text class="note">全球惊喜爆款</text>
  77. <image :src="rmimg1" lazy-load="true"></image>
  78. </view>
  79. <view class="sx" @tap="goCommondityList('每日上新')">
  80. <text class="jx_tit">每日上新</text>
  81. <text class="note">每日活动福利</text>
  82. <image :src="newsimg1" lazy-load="true"></image>
  83. </view>
  84. </view>
  85. <view class="header-wus" v-if="mrscList.length>0">
  86. <view @tap="goCommondityList('推荐商品')" style="display: flex;margin-bottom: 20upx;">
  87. <view style="color:#333333;width: 86%; font-size: 32upx;font-weight: bold;">
  88. 为你推荐
  89. </view>
  90. <view class="sale">超级折扣价</view>
  91. <view class="fr-jutext" style="width: 86%;text-align: right;color: #999999;">查看更多<text
  92. class="cuIcon-right" style="margin-left: 2px"></text></view>
  93. </view>
  94. <view style="display: flex;justify-content: space-around;margin-left: 20upx;" v-if="mrscList.length>0">
  95. <view v-for="(g, index) in mrscList" :key="index" class="box-float" @tap='goDetail(g.id)'>
  96. <image lazy-load='true' fade-show='true'
  97. style="border-radius: 16upx;width: 214upx;height: 214upx;margin-right: 20upx;" class="image"
  98. :src="g.coverImg" mode="scaleToFill"></image>
  99. <!-- <view class="index-conts">{{g.title}}</view> -->
  100. <view>
  101. <view v-if="relation" class="index-conts2"><text
  102. style="font-size: 30upx;">¥</text>{{ g.memberPrice }}
  103. <text
  104. style="font-size: 24upx;color: #999999;text-decoration:line-through;margin-left: 4upx">¥{{g.originalPrice}}</text>
  105. </view>
  106. <view v-if='!relation' class="index-conts2">
  107. <text style="font-size: 30upx;">¥</text>{{ g.price }}
  108. <text
  109. style="font-size: 20upx;color: #999999;text-decoration:line-through;margin-left: 4upx;font-weight:400;">¥{{g.originalPrice}}</text>
  110. </view>
  111. </view>
  112. </view>
  113. </view>
  114. </view>
  115. <view v-if="homegoodsList.length>0"
  116. style="text-align: center;margin-top: 20upx;margin-bottom: 16upx;padding-top: 16upx;">
  117. <!-- <text class="news_title">一一一</text> -->
  118. <image class="arrow_img" src="/static/image/title_left.png"></image>
  119. <text class="zy_jx_tit">精选好物</text>
  120. <!-- <text class="news_title">一一一</text> -->
  121. <image class="arrow_img" src="/static/image/title_right.png"></image>
  122. </view>
  123. <!-- #ifdef H5 -->
  124. <view style="display: flex;flex-wrap: wrap;margin-bottom: 0upx;padding: 20upx;"
  125. v-if="homegoodsList.length>0">
  126. <!-- #endif -->
  127. <!-- #ifndef H5 -->
  128. <view style="display: flex;flex-wrap: wrap;margin-bottom: 0upx;padding: 20upx;"
  129. v-if="homegoodsList.length>0">
  130. <!-- #endif -->
  131. <view
  132. style="width: 100%; background-color: #FFFFFF; border-radius: 20upx;overflow: hidden;box-shadow: rgba(183, 183, 183, 0.3) 1px 1px 10px 1px;margin-bottom: 20upx;display: flex;"
  133. @tap='goDetail(item.id)' v-for="(item,index) in homegoodsList" :key='index'
  134. v-if="homegoodsList.length > 0">
  135. <image :src="item.coverImg" lazy-load="true"
  136. style="width: 250upx;height: 250upx;flex-shrink: 0;"></image>
  137. <view style="padding: 16upx 16upx 16upx 20upx;flex: 1;">
  138. <view style="margin: 5upx 2upx 20upx;">
  139. <view style="width: 100%;height: 60upx;">
  140. <text class="limapboxqing2"><text class="indexr"
  141. style=""><text>自营</text></text>{{ item.title }}</text>
  142. </view>
  143. </view>
  144. <!-- <view class="reverse">
  145. <view class="" v-if="item.descrition&&isEnable == '是'">预估返¥{{ item.descrition }}</view>
  146. </view> -->
  147. <view style="display: flex;flex-direction: column;justify-content: space-between;">
  148. <view
  149. style="padding: 0rpx 0;display: flex;justify-content: space-between;margin:50upx 0 12upx;">
  150. <view style="display: flex;justify-content: space-between;width: 94%;">
  151. <view v-if="relation"
  152. style="font-size: 38upx;color: #05C25C;font-weight: 700;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;">
  153. <text style="font-size:20upx;">¥</text> {{item.memberPrice}}
  154. </view>
  155. <view v-if='!relation'
  156. style="font-size: 38upx;color: #05C25C;font-weight: 700;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;">
  157. <text style="font-size:20upx;margin-right: 10upx">¥</text> {{item.price}}
  158. </view>
  159. <view
  160. style="margin-left:10px;font-size: 24upx;color: #999999;margin-top: 10upx;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;text-align: left;">
  161. 已售{{item.sales}}件</view>
  162. </view>
  163. <!-- <view v-if="item.descrition&&isEnable == '是'" style="color: rgb(254, 108, 0);font-size: 24upx;padding: 8upx 0;">预估返¥ {{item.descrition}}</view> -->
  164. </view>
  165. <view
  166. style="display: flex;align-items: center;font-size: 24upx;color: rgb(153, 153, 153);">
  167. <image style="height: 30upx;width:30upx;margin-right: 4upx;"
  168. src="/static/image/icon_store.png"></image>
  169. <view>上门服务自营店铺</view>
  170. </view>
  171. </view>
  172. </view>
  173. </view>
  174. <!-- 悬浮上拉 -->
  175. <view class="scroll_top" @tap="topScrollTap" v-bind:class="[scrollTop ? 'active' : '','']"
  176. style="bottom: 56px;">
  177. <text class="iconfont icon-shangla"></text>
  178. </view>
  179. <!-- 加载更多提示 -->
  180. <view class="s-col is-col-24" v-if="homegoodsList.length > 0">
  181. <load-more :loadingType="loadingType" :contentText="contentText"></load-more>
  182. </view>
  183. </view>
  184. </view>
  185. </view>
  186. </template>
  187. <script>
  188. export default {
  189. data() {
  190. return {
  191. TabCur: 0,
  192. day: 1,
  193. hour: 2,
  194. page: 0,
  195. size: 10,
  196. minute: 30,
  197. money: 0,
  198. relation: false,
  199. jximg1: '',
  200. isEnable: '否',
  201. rmimg1: '',
  202. newsimg1: '',
  203. homegoodsList: [],
  204. bannerList: [],
  205. mrscList: [],
  206. navlist: [],
  207. relation_id: '',
  208. navlists: [],
  209. loadingType: 0,
  210. scrollTop: false,
  211. categoryHeight: '300rpx',
  212. currentPageindex: 0,
  213. contentText: {
  214. contentdown: "上拉显示更多",
  215. contentrefresh: "正在加载...",
  216. contentnomore: "没有更多数据了"
  217. }
  218. }
  219. },
  220. onShow() {
  221. let relation_id = this.$queue.getData('relation_id');
  222. this.relation_id = relation_id;
  223. if (relation_id && relation_id !== 'undefined') {
  224. this.relation = true;
  225. } else {
  226. this.relation = false;
  227. }
  228. let a = this.$queue.getData("isEnable")
  229. if (a === '是') {
  230. let b = this.$queue.getData('isLieBiaoEnable');
  231. if (b) {
  232. this.isEnable = b;
  233. } else {
  234. this.isEnable = a;
  235. }
  236. } else {
  237. this.isEnable = a;
  238. }
  239. this.getmrsc();
  240. this.getHomeGoods();
  241. },
  242. onLoad() {
  243. this.getBannerList();
  244. this.loadMenuList();
  245. },
  246. methods: {
  247. //更新分类指示器
  248. categoryChange(event) {
  249. this.currentPageindex = event.detail.current;
  250. },
  251. /**
  252. * 登录检测
  253. */
  254. loginS() {
  255. //#ifdef H5
  256. uni.navigateTo({
  257. url: '/pages/public/login'
  258. });
  259. //#endif
  260. //#ifndef H5
  261. uni.navigateTo({
  262. url: '/pages/public/login'
  263. });
  264. //#endif
  265. },
  266. /**
  267. * 会员授权界面
  268. */
  269. goPublisherInfo() {
  270. let token = this.$queue.getData('token');
  271. let userId = this.$queue.getData('userId');
  272. if (token) {
  273. uni.navigateTo({
  274. url: '/pages/member/publisher?uid=' + userId + '&token=' + token
  275. });
  276. } else {
  277. this.loginS();
  278. }
  279. },
  280. getmrsc() {
  281. this.$Request.getT('/app/goods/recommend?page=0&size=3&sort=createAt').then(res => {
  282. if (res.status === 0) {
  283. this.mrscList = res.data.content;
  284. }
  285. });
  286. },
  287. getNews() {
  288. this.$Request.getT('/app/goods/news?page=0&size=1&sort=createAt').then(res => {
  289. if (res.status === 0) {
  290. this.newsimg1 = res.data.content[0].coverImg;
  291. }
  292. });
  293. },
  294. topScrollTap: function() {
  295. uni.pageScrollTo({
  296. scrollTop: 0,
  297. duration: 300
  298. });
  299. },
  300. getSelectGoods() {
  301. this.$Request.getT('/app/goods/selectGoods?page=0&size=1&sort=createAt ').then(res => {
  302. if (res.status === 0) {
  303. this.jximg1 = res.data.content[0].coverImg;
  304. }
  305. });
  306. },
  307. getSellingList() {
  308. this.$Request.getT('/app/goods/selling?page=0&size=1&sort=sales').then(res => {
  309. if (res.status === 0) {
  310. this.rmimg1 = res.data.content[0].coverImg;
  311. }
  312. });
  313. },
  314. getHomeGoods(type) {
  315. this.loadingType = 1;
  316. this.$Request.getT('/app/goods/homeGoods?page=' + this.page + '&size=' + this.size).then(res => {
  317. if (res.status === 0) {
  318. if (this.page === 0 || res.status) {
  319. this.homegoodsList = [];
  320. }
  321. let grade = this.$queue.getData('grade');
  322. res.data.content.forEach(d => {
  323. d.descrition = '';
  324. // if (d.commissionPrice != 0) {
  325. // if (grade) {
  326. // if (this.relation) {
  327. // d.descrition = ((parseFloat(d.memberPrice) * parseFloat(d
  328. // .commissionPrice)) * parseFloat(grade)).toFixed(
  329. // 2);
  330. // } else {
  331. // d.descrition = ((parseFloat(d.price) * parseFloat(d
  332. // .commissionPrice)) * parseFloat(grade)).toFixed(2);
  333. // }
  334. // } else {
  335. // if (this.relation) {
  336. // d.descrition = ((parseFloat(d.memberPrice) * parseFloat(d
  337. // .commissionPrice)) * parseFloat(this.$queue
  338. // .minMoney()))
  339. // .toFixed(2);
  340. // } else {
  341. // d.descrition = ((parseFloat(d.price) * parseFloat(d
  342. // .commissionPrice)) * parseFloat(this.$queue
  343. // .minMoney()))
  344. // .toFixed(2);
  345. // }
  346. // }
  347. // }
  348. d.sales = d.sales > 10000 ? (d.sales / 10000).toFixed(1) + '万' : d.sales;
  349. this.homegoodsList.push(d);
  350. console.log(this.homegoodsList)
  351. });
  352. if (res.data.content.length === this.size) {
  353. this.loadingType = 0;
  354. } else {
  355. this.loadingType = 3;
  356. }
  357. } else {
  358. this.loadingType = 2;
  359. }
  360. if (type === "Refresh") {
  361. uni.stopPullDownRefresh(); // 停止刷新
  362. }
  363. });
  364. },
  365. goSearch() {
  366. uni.navigateTo({
  367. url: '/package/pages/zysc/index/search'
  368. });
  369. },
  370. goCommondityList(name) {
  371. uni.navigateTo({
  372. url: '/package/pages/zysc/index/commodityList?name=' + name
  373. });
  374. },
  375. // 传进数组和指定个数,进行拆分
  376. chunk: function(array, size) {
  377. //获取数组的长度,如果你传入的不是数组,那么获取到的就是undefined
  378. const length = array.length
  379. //判断不是数组,或者size没有设置,size小于1,就返回空数组
  380. if (!length || !size || size < 1) {
  381. return []
  382. }
  383. //核心部分
  384. let index = 0 //用来表示切割元素的范围start
  385. let resIndex = 0 //用来递增表示输出数组的下标
  386. //根据length和size算出输出数组的长度,并且创建它。
  387. let result = new Array(Math.ceil(length / size))
  388. //进行循环
  389. while (index < length) {
  390. //循环过程中设置result[0]和result[1]的值。该值根据array.slice切割得到。
  391. result[resIndex++] = array.slice(index, (index += size))
  392. }
  393. //输出新数组
  394. return result
  395. },
  396. loadMenuList: function() {
  397. this.$Request.getT('/selfActivity/state?state=1').then(res => {
  398. if (res.status === 0) {
  399. if (res.data.length > 0) {
  400. var datanew = this.chunk(res.data, 10)
  401. this.navlist = datanew;
  402. if (res.data.length > 5) {
  403. this.categoryHeight = "300rpx"
  404. } else {
  405. this.categoryHeight = "150rpx"
  406. }
  407. }
  408. }
  409. });
  410. this.$Request.getT('/selfActivity/state?state=3').then(res => {
  411. if (res.status === 0) {
  412. if (res.data.length > 0) {
  413. this.jximg1 = res.data[0].image_url;
  414. }
  415. }
  416. });
  417. this.$Request.getT('/selfActivity/state?state=4').then(res => {
  418. if (res.status === 0) {
  419. if (res.data.length > 0) {
  420. this.rmimg1 = res.data[0].image_url;
  421. }
  422. }
  423. });
  424. this.$Request.getT('/selfActivity/state?state=5').then(res => {
  425. if (res.status === 0) {
  426. if (res.data.length > 0) {
  427. this.newsimg1 = res.data[0].image_url;
  428. }
  429. }
  430. });
  431. },
  432. goDetail(id) {
  433. uni.navigateTo({
  434. url: '/package/pages/zysc/index/commoditydetail?ordersId=' + id
  435. });
  436. },
  437. /**
  438. * @param {Object} url
  439. */
  440. toNavList: function(url, title) {
  441. let token = this.$queue.getData('token');
  442. if (token) {
  443. if (url.indexOf('/pages/') !== -1 || url.indexOf('/package/') !== -1 || url.indexOf('/my/') !== -1) {
  444. uni.navigateTo({
  445. url
  446. });
  447. } else {
  448. //#ifndef H5
  449. uni.navigateTo({
  450. url: '/pages/member/webview?url=' + url
  451. });
  452. //#endif
  453. //#ifdef H5
  454. if (url.indexOf('http://') !== -1 && url.indexOf('https://') !== -1) {
  455. window.location.href = url;
  456. } else {
  457. window.location.href = 'http://' + url;
  458. }
  459. //#endif
  460. }
  461. } else {
  462. this.goLoginInfo();
  463. }
  464. },
  465. getBannerList() {
  466. this.$Request.getT('/advert/list').then(res => {
  467. if (res.status === 0) {
  468. this.bannerList = [];
  469. res.data.forEach(d => {
  470. this.bannerList.push(d)
  471. });
  472. }
  473. });
  474. },
  475. goMyList() {
  476. let token = this.$queue.getData('token');
  477. if (token) {
  478. uni.navigateTo({
  479. url: '/package/pages/zysc/my/myList'
  480. });
  481. } else {
  482. this.goLoginInfo();
  483. }
  484. },
  485. //统一登录跳转
  486. goLoginInfo() {
  487. this.$queue.setData('href', '/pages/zysc/index/index');
  488. //#ifdef H5
  489. uni.navigateTo({
  490. url: '/pages/public/login'
  491. });
  492. //#endif
  493. //#ifndef H5
  494. uni.navigateTo({
  495. url: '/pages/public/login'
  496. });
  497. //#endif
  498. },
  499. tabSlect(item, index) {
  500. this.TabCur = index;
  501. }
  502. },
  503. onPageScroll: function(e) {
  504. this.scrollTop = e.scrollTop > 200;
  505. },
  506. onReachBottom: function() {
  507. this.page = this.page + 1;
  508. this.getHomeGoods('');
  509. },
  510. onPullDownRefresh: function() {
  511. this.page = 0;
  512. this.min_id = 1;
  513. this.getHomeGoods("Refresh");
  514. }
  515. }
  516. </script>
  517. <style lang="scss">
  518. @import '../../../../static/css/index.css';
  519. page {
  520. background: #F5F0F0;
  521. }
  522. .index-views {
  523. // display: flex;
  524. // position: relative;
  525. background: #fefeff;
  526. margin: -12upx 20upx 0;
  527. // border-radius: 10upx;
  528. display: flex;
  529. justify-content: space-between;
  530. align-items: flex-end;
  531. .jx {
  532. width: 342rpx;
  533. position: relative;
  534. align-items: center;
  535. background: url('/static/image/zysc_jxhw_bg.png');
  536. background-size: cover;
  537. .jx_row1 {
  538. padding-left: 27rpx;
  539. position: relative;
  540. top: -18rpx;
  541. .jx_tit {
  542. margin-right: 13rpx;
  543. font-size: 28rpx;
  544. font-family: PingFang SC;
  545. font-weight: bold;
  546. color: #333333;
  547. line-height: 32rpx;
  548. }
  549. .note {
  550. font-size: 20rpx;
  551. font-family: PingFang SC;
  552. font-weight: 500;
  553. color: #FC5AA5;
  554. line-height: 32rpx;
  555. }
  556. }
  557. .jx_img_wrap {
  558. position: relative;
  559. top: 4rpx;
  560. text-align: center;
  561. image {
  562. width: 90rpx;
  563. height: 105rpx;
  564. margin-top: 30rpx;
  565. }
  566. }
  567. }
  568. .rm {
  569. width: 167rpx;
  570. text-align: center;
  571. display: flex;
  572. flex-direction: column;
  573. text-align: center;
  574. align-items: center;
  575. padding-top: 20rpx;
  576. background: url('/static/image/zysc_rmbd_bg.png');
  577. .jx_tit {
  578. margin-left: 27rpx;
  579. margin-right: 13rpx;
  580. font-size: 28rpx;
  581. font-family: PingFang SC;
  582. font-weight: bold;
  583. color: #333333;
  584. line-height: 32rpx;
  585. }
  586. .note {
  587. font-size: 20rpx;
  588. font-family: PingFang SC;
  589. font-weight: 500;
  590. color: #F3B398;
  591. line-height: 32rpx;
  592. }
  593. image {
  594. width: 90rpx;
  595. height: 105rpx;
  596. margin-top: 30rpx;
  597. }
  598. }
  599. .sx {
  600. background: url('/static/image/zysc_mrsx_bg.png');
  601. width: 167rpx;
  602. text-align: center;
  603. display: flex;
  604. flex-direction: column;
  605. text-align: center;
  606. align-items: center;
  607. padding-top: 20rpx;
  608. .jx_tit {
  609. margin-left: 27rpx;
  610. margin-right: 13rpx;
  611. font-size: 28rpx;
  612. font-family: PingFang SC;
  613. font-weight: bold;
  614. color: #333333;
  615. line-height: 32rpx;
  616. }
  617. .note {
  618. font-size: 20rpx;
  619. font-family: PingFang SC;
  620. font-weight: 500;
  621. color: #5988FA;
  622. line-height: 32rpx;
  623. }
  624. image {
  625. width: 90rpx;
  626. height: 105rpx;
  627. margin-top: 30rpx;
  628. }
  629. }
  630. }
  631. .sale {
  632. background: url('/static/image/zysc_btn_bg.png');
  633. background-size: cover;
  634. font-size: 20upx;
  635. width: 320rpx;
  636. height: 32rpx;
  637. text-align: center;
  638. color: #fff;
  639. position: relative;
  640. left: -108rpx;
  641. top: 8rpx;
  642. }
  643. .arrow_img {
  644. width: 78rpx;
  645. height: 23rpx;
  646. }
  647. .zy_jx_tit {
  648. font-size: 42rpx;
  649. font-family: YouSheBiaoTiHei;
  650. font-weight: 400;
  651. line-height: 32rpx;
  652. color: #FF0000;
  653. margin: 0 10rpx;
  654. }
  655. .reverse {
  656. display: flex;
  657. justify-content: flex-start;
  658. align-items: flex-end;
  659. margin-top: 28rpx;
  660. font-size: 24rpx;
  661. font-family: PingFang SC;
  662. /* font-weight: bold; */
  663. color: #FFFFFF;
  664. line-height: 32rpx;
  665. }
  666. .reverse>view:nth-child(1) {
  667. padding: 4rpx 10rpx;
  668. background: #05C25C;
  669. border-radius: 5px;
  670. color: #ffffff;
  671. margin-right: 20rpx;
  672. position: relative;
  673. top: 10rpx;
  674. }
  675. .index-conts {
  676. width: 200upx;
  677. margin-bottom: 7px;
  678. overflow: hidden;
  679. -o-text-overflow: ellipsis;
  680. text-overflow: ellipsis;
  681. white-space: nowrap;
  682. display: block;
  683. }
  684. .indexr {
  685. color: #FFFFFF;
  686. background: #05C25C;
  687. font-size: 22upx;
  688. padding-left: 12upx;
  689. display: inline-block;
  690. padding-right: 13upx;
  691. border-radius: 8upx;
  692. margin-right: 8upx;
  693. padding-top: 2upx;
  694. padding-bottom: 2upx;
  695. }
  696. .index-conts2 {
  697. font-size: 30upx;
  698. font-weight: bold;
  699. position: absolute;
  700. float: left;
  701. color: #FF2638;
  702. width: 80%;
  703. text-align: left;
  704. }
  705. .header-imgsuo {
  706. width: 37rpx;
  707. height: 31rpx;
  708. margin-right: 10upx;
  709. align-items: center;
  710. display: block;
  711. }
  712. .limapboxqing2 {
  713. font-size: 28upx;
  714. color: #333333;
  715. overflow: hidden;
  716. text-overflow: ellipsis;
  717. display: -webkit-box;
  718. -webkit-line-clamp: 2;
  719. -webkit-box-orient: vertical;
  720. }
  721. .icon_header {
  722. width: 700upx;
  723. display: flex;
  724. height: 77upx;
  725. align-items: center;
  726. line-height: 40upx;
  727. padding: 10upx 20upx;
  728. background-color: #FFFFFF;
  729. border-radius: 15upx;
  730. margin-top: 14upx;
  731. // margin-left: -20upx;
  732. }
  733. .swiper-container {
  734. width: 690upx;
  735. height: 300upx;
  736. border-radius: 4upx;
  737. transform: translateY(0);
  738. overflow: hidden;
  739. overflow: hidden !important;
  740. /* 兼容IOS,否则在swiper组件内的布局都不受border-radius和overflow的约束 */
  741. transform: translateY(0) !important;
  742. position: relative;
  743. /* #ifdef APP-PLUS */
  744. top: 120upx;
  745. /* #endif */
  746. /* #ifdef H5 */
  747. top: 130upx;
  748. /* #endif */
  749. /* #ifdef MP-WEIXIN */
  750. top: 80upx;
  751. /* #endif */
  752. right: 0upx;
  753. left: 0;
  754. margin: auto;
  755. }
  756. .content-div {
  757. width: 100%;
  758. display: flex;
  759. justify-content: space-around;
  760. z-index: 999;
  761. }
  762. .icon-headerI {
  763. font-size: 24upx;
  764. color: #999999;
  765. }
  766. .news_title {
  767. font-weight: bold;
  768. color: #FF2638;
  769. margin-right: 32upx;
  770. margin-left: 32upx;
  771. width: 12upx;
  772. }
  773. .header-wus {
  774. background-color: #FFFFFF;
  775. position: relative;
  776. margin: 27upx 20upx 0upx 20upx;
  777. border-radius: 10upx;
  778. padding: 28upx 28upx 50upx;
  779. }
  780. .header-wus2 {
  781. color: #333333;
  782. font-size: 32upx;
  783. margin-bottom: 10upx;
  784. font-weight: bold;
  785. }
  786. .header-wus3 {
  787. color: #333333;
  788. font-size: 30upx;
  789. margin-bottom: 10upx;
  790. }
  791. .home-bg {
  792. background: #FF2222;
  793. height: 350upx;
  794. border-bottom-right-radius: 32upx;
  795. border-bottom-left-radius: 32upx;
  796. }
  797. .box-float {
  798. width: 235upx;
  799. position: relative;
  800. border-radius: 10upx;
  801. padding: 6upx 0;
  802. }
  803. .icon_search {
  804. background: #f6f6f6;
  805. border-radius: 22px;
  806. height: 69upx;
  807. line-height: 66upx;
  808. font-size: 28upx;
  809. color: #dcdcdc;
  810. text-align: left;
  811. text-indent: 17px;
  812. }
  813. .index_header {
  814. background: #FF332F;
  815. /* #ifdef H5 */
  816. height: 110upx;
  817. /* #endif */
  818. /* #ifdef APP-PLUS */
  819. height: 170upx;
  820. padding-top: 50upx;
  821. /* #endif */
  822. /* #ifdef MP-WEIXIN */
  823. height: 110upx;
  824. /* #endif */
  825. background-size: 100%;
  826. position: fixed;
  827. z-index: 999;
  828. width: 100%;
  829. background: #05C25C
  830. }
  831. .category {
  832. width: 100%;
  833. /* #ifdef APP-PLUS */
  834. padding: 20upx;
  835. /* #endif */
  836. /* #ifndef APP-PLUS */
  837. padding: 20upx;
  838. /* #endif */
  839. .box {
  840. width: 100%;
  841. border-radius: 20upx;
  842. background-color: #ffffff;
  843. .dots {
  844. display: flex;
  845. justify-content: center;
  846. height: 15upx;
  847. width: 100%;
  848. view {
  849. width: 30upx;
  850. height: 5upx;
  851. background-color: rgba(0, 0, 0, 0.2);
  852. &.active {
  853. background-color: #05C25C;
  854. }
  855. }
  856. }
  857. .swiper {
  858. width: 100%;
  859. padding: 10upx 0;
  860. .uni-swiper-dot {
  861. width: 20upx;
  862. }
  863. .category-list {
  864. width: 100%;
  865. height: auto;
  866. display: flex;
  867. justify-content: flex-start;
  868. padding: 10upx 0 0;
  869. flex-flow: wrap;
  870. .icon {
  871. width: 20%;
  872. display: flex;
  873. flex-flow: wrap;
  874. justify-content: center;
  875. font-size: 22upx;
  876. color: #666;
  877. margin-bottom: 20upx;
  878. image {
  879. width: 70%;
  880. height: 13.3vw;
  881. }
  882. view {
  883. width: 100%;
  884. display: flex;
  885. justify-content: center;
  886. }
  887. }
  888. }
  889. }
  890. }
  891. }
  892. .zy_search {
  893. width: 108rpx;
  894. height: 74rpx;
  895. line-height: 74rpx;
  896. text-align: center;
  897. background: #05C25C;
  898. color: #FFFFFF;
  899. border-radius: 16rpx;
  900. position: relative;
  901. right: -20rpx;
  902. }
  903. .red_bg {
  904. width: 750rpx;
  905. /* #ifdef MP-WEIXIN */
  906. height: 300rpx;
  907. /* #endif */
  908. /* #ifndef MP-WEIXIN */
  909. height: 360rpx;
  910. /* #endif */
  911. border-radius: 0 0 34% 34%;
  912. background-color: #05C25C;
  913. padding-top: var(--status-bar-height);
  914. }
  915. </style>