store_cate_index.vue 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824
  1. <template>
  2. <view class="one">
  3. <!-- 顶部搜索框 -->
  4. <view class="header">
  5. <image :src="imgHost+'/statics/images/store-header.png'" mode="" class="header-img"></image>
  6. <navigator url="/pages/goods/goods_search/index" class="input acea-row row-center-wrapper"
  7. hover-class="none">
  8. <!-- #ifndef MP -->
  9. <view class="search">
  10. <!-- #endif -->
  11. <!-- #ifdef MP -->
  12. <view class="search on acea-row row-middle" style="height: 43px;"
  13. :style="'top:'+statusBarHeight+'px;'">
  14. <view class="search_Back">
  15. <view class="iconfont icon-fanhui2" @tap.stop="returns"></view>
  16. </view>
  17. <view class="searchCon">
  18. <!-- #endif -->
  19. <text class="iconfont icon-xiazai5"></text>
  20. 搜索店内商品
  21. </view>
  22. <!-- #ifdef MP -->
  23. </view>
  24. <!-- #endif -->
  25. </navigator>
  26. <!-- 门店地址 -->
  27. <view class="address">
  28. <view class="left">
  29. <view class="left-title" @click="goMap">
  30. <text class="iconfont icon-mendian"></text>
  31. <text class="text line1">{{info.name || '暂无门店'}}</text>
  32. <text class="iconfont icon-xiangyou"></text>
  33. </view>
  34. <!-- 营业时间 -->
  35. <view class="time">
  36. 营业时间:{{info.day_time || '-'}}
  37. </view>
  38. <view class="distance">
  39. <text class="iconfont icon-chakanditu"></text>
  40. 距您<text>{{info.range||0}}km</text>
  41. <text class="distance-name">{{info.detailed_address}}</text>
  42. </view>
  43. </view>
  44. <!-- 客服 -->
  45. <view class="right">
  46. <view class="kefu" @click="goKefu()">
  47. <text class="iconfont icon-kefu-mendian" />
  48. <text>客服</text>
  49. </view>
  50. <view class="goods" @click="shoppCart">
  51. <view class="cartNum" v-if="cartNum>0">
  52. {{cartNum}}
  53. </view>
  54. <text class="iconfont icon-gouwuche-mendian" />
  55. <text>购物车</text>
  56. </view>
  57. </view>
  58. </view>
  59. </view>
  60. <!-- 商品排序条件 -->
  61. <view class="content">
  62. <view class="nav">
  63. <view @click="set_where(1)" :class="{'activeColor':active == 1}">
  64. 综合排序
  65. </view>
  66. <view @click='set_where(2)' :class="{'activeColor':active == 2}">
  67. 价格
  68. <image v-if="price==1" src="../../static/images/up.png" alt="" class="nav-img"></image>
  69. <image v-else-if="price==2" src='../../static/images/down.png' class="nav-img"></image>
  70. <image v-else src='../../static/images/horn.png' class="nav-img"></image>
  71. </view>
  72. <view @click='set_where(3)' :class="{'activeColor':active == 3}">
  73. 销量
  74. <image v-if="stock==1" src="../../static/images/up.png" alt="" class="nav-img"></image>
  75. <image v-else-if="stock==2" src='../../static/images/down.png' class="nav-img"></image>
  76. <image v-else src='../../static/images/horn.png' class="nav-img"></image>
  77. </view>
  78. <view @click="set_where(4)">
  79. <text class="iconfont icon-shaixuan"></text>
  80. 筛选
  81. </view>
  82. </view>
  83. </view>
  84. <!-- 商品列表 -->
  85. <view class="list waterList">
  86. <waterfallsFlow ref="waterfallsFlow" :list="productList" @wapper-lick="godDetail">
  87. <!-- #ifdef MP-WEIXIN -->
  88. <view v-for="(item, index) of productList" :key="index" slot="slot{{index}}">
  89. <view class="waterfalls">
  90. <view class='name line2'>{{item.store_name}}</view>
  91. <span class="label"
  92. v-if="item.activity && item.activity.type === '1' && !promotions_type">秒杀</span>
  93. <span class="label"
  94. v-if="item.activity && item.activity.type === '2' && !promotions_type">砍价</span>
  95. <span class="label"
  96. v-if="item.activity && item.activity.type === '3' && !promotions_type">拼团</span>
  97. <text class="label" v-if="item.promotions.title">{{item.promotions.title}}</text>
  98. <view class="vip acea-row row-middle">
  99. <view class='money font-color'>
  100. ¥<text class='num'>{{item.price.toString().split(".")[0]}}</text>
  101. <text class='nums'
  102. v-if="item.price.toString().split('.').length>1">.{{item.price.toString().split(".")[1]}}</text>
  103. </view>
  104. <view class='vip-money acea-row row-middle' v-if="item.vip_price && item.vip_price > 0">
  105. <view>¥{{item.vip_price}}</view>
  106. <!-- <image src='../../static/images/vip.png' v-if="item.price_type == 'member'"></image> -->
  107. <view class="icon on" v-if="item.price_type && item.price_type == 'member'"><text
  108. class="iconfont icon-huangguan4"></text>SVIP</view>
  109. <view class="icon" v-if="item.price_type && item.price_type == 'level'"><text
  110. class="iconfont icon-dengjitubiao"></text>{{item.level_name}}</view>
  111. </view>
  112. </view>
  113. <view class='vip acea-row row-between-wrapper'>
  114. <view>已售{{item.sales}}{{item.unit_name || '件'}}</view>
  115. <view>评分 {{item.star}}</view>
  116. </view>
  117. </view>
  118. </view>
  119. <!-- #endif -->
  120. <!-- #ifndef MP-WEIXIN -->
  121. <template v-slot:default="item">
  122. <view class="waterfalls">
  123. <view class='name line2'>{{item.store_name}}</view>
  124. <span class="label"
  125. v-if="item.activity && item.activity.type === '1' && !promotions_type">秒杀</span>
  126. <span class="label"
  127. v-if="item.activity && item.activity.type === '2' && !promotions_type">砍价</span>
  128. <span class="label"
  129. v-if="item.activity && item.activity.type === '3' && !promotions_type">拼团</span>
  130. <text class="label" v-if="item.promotions.title">{{item.promotions.title}}</text>
  131. <view class="vip acea-row row-middle">
  132. <view class='money font-color'>
  133. ¥<text class='num'>{{item.price.toString().split(".")[0]}}</text>
  134. <text class='nums'
  135. v-if="item.price.toString().split('.').length>1">.{{item.price.toString().split(".")[1]}}</text>
  136. </view>
  137. <block v-if="(userInfo.is_ever_level||userInfo.is_money_level)">
  138. <view class='vip-money acea-row row-middle' v-if="item.vip_price && item.vip_price > 0">
  139. <view>¥{{item.vip_price}}</view>
  140. <view class="icon on" v-if="item.price_type && item.price_type == 'member'"><text
  141. class="iconfont icon-huangguan4"></text>SVIP</view>
  142. <view class="icon" v-if="item.price_type && item.price_type == 'level'"><text
  143. class="iconfont icon-v"></text>{{item.level_name}}</view>
  144. </view>
  145. </block>
  146. </view>
  147. <view class='vip acea-row row-between-wrapper'>
  148. <view>已售{{item.sales}}{{item.unit_name || '件'}}</view>
  149. <view>评分 {{item.star}}</view>
  150. </view>
  151. </view>
  152. </template>
  153. <!-- #endif -->
  154. </waterfallsFlow>
  155. <view class='loadingicon acea-row row-center-wrapper' v-if='productList.length > 0'>
  156. <text class='loading iconfont icon-jiazai' :hidden='loading==false'></text>{{loadTitle}}
  157. </view>
  158. </view>
  159. <!-- 商品列表 -->
  160. <view class="default" v-if="productList.length==0 && where.page > 1">
  161. <image :src="imgHost+'/statics/images/no-thing.png'" mode="" class="img"></image>
  162. <view class="text">
  163. 暂无商品,去添加点什么吧
  164. </view>
  165. </view>
  166. <!-- 筛选弹窗 -->
  167. <filterPopup ref="popup" :storeCategory="storeCategory" :storeBrand="storeBrand" @brandChange="brandChange"
  168. @categoryChange="categoryChange" @submitFn="submitFn"></filterPopup>
  169. <!-- 客服弹窗 -->
  170. <Kefu ref="kefu" @closeKefu="closeKefu" :customerList="customerList" :customerType="customerType"></Kefu>
  171. </view>
  172. </template>
  173. <script>
  174. let statusBarHeight = uni.getSystemInfoSync().statusBarHeight;
  175. import waterfallsFlow from "@/components/maramlee-waterfalls-flow/maramlee-waterfalls-flow.vue";
  176. import filterPopup from "@/components/filterPopup/index.vue";
  177. import Kefu from "@/components/kefu/index.vue"
  178. import {
  179. getnearbyStore
  180. } from '@/api/new_store.js'
  181. import {
  182. mapState,
  183. mapGetters
  184. } from 'vuex';
  185. import {
  186. getProducts,
  187. getCustomerList,
  188. getStoreCategory,
  189. getStoreBrand
  190. } from '@/api/new_store.js';
  191. import {
  192. goShopDetail
  193. } from '@/libs/order.js';
  194. import {
  195. HTTP_REQUEST_URL
  196. } from '@/config/app';
  197. export default {
  198. components: {
  199. filterPopup,
  200. waterfallsFlow,
  201. Kefu
  202. },
  203. computed: {
  204. ...mapState({
  205. cartNum: state => state.indexData.cartNum
  206. }),
  207. ...mapGetters(['isLogin', 'uid', 'cartNum','userInfo']),
  208. },
  209. data() {
  210. return {
  211. storeShow: 2,
  212. customerType: 1,
  213. info: {},
  214. statusBarHeight: statusBarHeight,
  215. imgHost: HTTP_REQUEST_URL,
  216. price: 0,
  217. stock: 0,
  218. productList: [], // 商品数据
  219. customerList: [], // 客服数据
  220. storeCategory: [], // 分类数据
  221. storeBrand: [], // 品牌数据
  222. show: false,
  223. active: 1,
  224. where: {
  225. cid: 0,
  226. sid: 0,
  227. keyword: '',
  228. priceOrder: '',
  229. salesOrder: '',
  230. news: 0,
  231. page: 1,
  232. limit: 5,
  233. store_id: 0,
  234. brand_id: '',
  235. },
  236. loading: false,
  237. loadend: false,
  238. loadTitle: '加载更多',
  239. }
  240. },
  241. onLoad() {
  242. try {
  243. this.where.latitude = uni.getStorageSync('user_latitude');
  244. this.where.longitude = uni.getStorageSync('user_longitude');
  245. } catch (e) {
  246. console.log(e);
  247. }
  248. if (this.where.latitude && this.where.longitude) {
  249. this.getStore();
  250. } else {
  251. this.selfLocation();
  252. }
  253. },
  254. mounted() {},
  255. methods: {
  256. returns: function() {
  257. uni.navigateBack();
  258. },
  259. getStore() {
  260. this.where.latitude = uni.getStorageSync('user_latitude');
  261. this.where.longitude = uni.getStorageSync('user_longitude');
  262. getnearbyStore(this.where).then(res => {
  263. this.info = res.data.info
  264. this.id = this.info.id
  265. this.customerType = parseInt(res.data.info.customer_type)
  266. uni.setStorageSync('user_store_id', this.info.id);
  267. setTimeout(() => {
  268. this.where.store_id = this.id
  269. this.getProducts(true)
  270. })
  271. })
  272. },
  273. // 获取附近位置
  274. selfLocation() {
  275. let self = this
  276. // #ifdef H5
  277. if (self.$wechat.isWeixin()) {
  278. self.$wechat.location().then(res => {
  279. this.where.latitude = res.latitude;
  280. this.where.longitude = res.longitude;
  281. uni.setStorageSync('user_latitude', res.latitude);
  282. uni.setStorageSync('user_longitude', res.longitude);
  283. self.getStore();
  284. })
  285. } else {
  286. // #endif
  287. uni.getLocation({
  288. type: 'wgs84',
  289. success: (res) => {
  290. try {
  291. this.where.latitude = res.latitude;
  292. this.where.longitude = res.longitude;
  293. uni.setStorageSync('user_latitude', res.latitude);
  294. uni.setStorageSync('user_longitude', res.longitude);
  295. } catch {}
  296. self.getStore();
  297. },
  298. complete: function() {
  299. self.getStore();
  300. }
  301. });
  302. // #ifdef H5
  303. }
  304. // #endif
  305. },
  306. // 选择品牌
  307. brandChange(val) {
  308. this.where.brand_id = val
  309. },
  310. // 选择分类
  311. categoryChange(val) {
  312. this.where.cid = val.cid
  313. this.where.sid = val.sid
  314. },
  315. // 确认提交
  316. submitFn(val) {
  317. if (val == 1) {
  318. this.getProducts(true)
  319. this.$refs.popup.visible = false
  320. } else if (val == 2) {
  321. this.where.brand_id = ""
  322. this.where.cid = ""
  323. this.where.sid = ""
  324. this.getProducts(true)
  325. this.$refs.popup.visible = false
  326. }
  327. },
  328. // 打开附近门店
  329. goMap() {
  330. uni.navigateTo({
  331. url: "/pages/store/map/index?type=1&storeId=" + this.info.id
  332. })
  333. },
  334. // 打开客服
  335. goKefu() {
  336. this.getCustomerList()
  337. this.$refs.kefu.show = true
  338. },
  339. // 购物车
  340. shoppCart() {
  341. uni.switchTab({
  342. url: "/pages/order_addcart/order_addcart"
  343. })
  344. },
  345. // 关闭客服
  346. closeKefu() {
  347. this.$refs.kefu.show = false
  348. },
  349. // 获取客服列表数据
  350. getCustomerList() {
  351. getCustomerList(this.where.store_id).then(res => {
  352. this.customerList = res.data
  353. })
  354. },
  355. // 去详情页
  356. godDetail(item) {
  357. this.currentPage = false
  358. if (this.promotions_type) {
  359. uni.navigateTo({
  360. url: `/pages/goods_details/index?id=${item.id}`
  361. })
  362. } else {
  363. goShopDetail(item, this.uid).then(res => {
  364. uni.navigateTo({
  365. url: `/pages/goods_details/index?id=${item.id}`
  366. })
  367. })
  368. }
  369. },
  370. // 操作
  371. set_where: function(e) {
  372. switch (e) {
  373. case 1:
  374. this.active = 1
  375. this.where.priceOrder = ""
  376. this.where.salesOrder = ""
  377. this.where.brand_id = ""
  378. this.price = 0
  379. break;
  380. case 2:
  381. if (this.price == 0) this.price = 1;
  382. else if (this.price == 1) this.price = 2;
  383. else if (this.price == 2) this.price = 0;
  384. if (this.price == 1) {
  385. this.where.priceOrder = "asc"
  386. } else if (this.price == 2) {
  387. this.where.priceOrder = "desc"
  388. } else {
  389. this.where.priceOrder = ""
  390. }
  391. this.active = 2
  392. this.stock = 0;
  393. break;
  394. case 3:
  395. if (this.stock == 0) this.stock = 1;
  396. else if (this.stock == 1) this.stock = 2;
  397. else if (this.stock == 2) this.stock = 0;
  398. if (this.stock == 1) {
  399. this.where.priceOrder = ""
  400. this.where.salesOrder = "asc"
  401. } else if (this.stock == 2) {
  402. this.where.priceOrder = ""
  403. this.where.salesOrder = "desc"
  404. } else {
  405. this.where.salesOrder = ""
  406. }
  407. this.active = 3
  408. this.price = 0
  409. break;
  410. case 4:
  411. console.log('1111111111');
  412. this.getStoreCategory()
  413. this.getStoreBrand()
  414. this.$refs.popup.visible = true
  415. this.loadend = false;
  416. this.loading = false;
  417. break;
  418. }
  419. if (e < 4) {
  420. this.loadend = false;
  421. this.$set(this.where, 'page', 1);
  422. this.getProducts(true)
  423. }
  424. },
  425. // 商品列表
  426. getProducts(isPage) {
  427. let that = this;
  428. if (that.loadend) return;
  429. if (that.loading) return;
  430. if (isPage === true) {
  431. that.$refs.waterfallsFlow.refresh();
  432. that.where.page = 1;
  433. that.$set(that, 'productList', []);
  434. }
  435. that.loading = true;
  436. that.loadTitle = '';
  437. getProducts(this.where).then(res => {
  438. let list = res.data;
  439. let productList = that.$util.SplitArray(list, that.productList);
  440. let loadend = list.length < that.where.limit;
  441. that.loadend = loadend;
  442. that.loading = false;
  443. that.loadTitle = loadend ? '没有更多内容啦~' : '加载更多';
  444. that.$set(that, 'productList', productList);
  445. that.$set(that.where, 'page', that.where.page + 1);
  446. }).catch(err => {
  447. that.loading = false;
  448. that.loadTitle = '加载更多'
  449. });
  450. },
  451. // 筛选-分类数据
  452. getStoreCategory() {
  453. let data = {
  454. pid: 0
  455. }
  456. getStoreCategory(data).then(res => {
  457. res.data.map(item => {
  458. this.$set(item, 'disabled', false)
  459. this.$set(item, 'current', -1)
  460. item.children.unshift({
  461. 'id': 0,
  462. 'cate_name': '全部'
  463. })
  464. })
  465. this.storeCategory = res.data
  466. })
  467. },
  468. // 筛选-品牌数据
  469. getStoreBrand() {
  470. getStoreBrand(this.where).then(res => {
  471. this.storeBrand = res.data
  472. })
  473. },
  474. // 触底刷新
  475. onReachBottom() {
  476. this.getProducts()
  477. }
  478. }
  479. }
  480. </script>
  481. <style lang="scss">
  482. page {
  483. background-color: #F5F5F5;
  484. }
  485. .activeColor {
  486. color: var(--view-theme) !important;
  487. }
  488. .header {
  489. margin-bottom: 40rpx;
  490. .header-img {
  491. width: 100%;
  492. height: 300rpx;
  493. display: block;
  494. }
  495. .search {
  496. display: flex;
  497. flex-wrap: nowrap;
  498. position: absolute;
  499. // #ifndef MP
  500. top: 56rpx;
  501. // #endif
  502. left: 20rpx;
  503. // #ifdef MP
  504. width: 520rpx;
  505. // #endif
  506. // #ifndef MP
  507. width: 710rpx;
  508. // #endif
  509. height: 64rpx;
  510. background: rgba(255, 255, 255, 0.2800);
  511. border-radius: 43rpx;
  512. font-weight: 400;
  513. color: #FFFFFF;
  514. font-size: 26rpx;
  515. line-height: 64rpx;
  516. .search_Back {
  517. width: 50rpx;
  518. height: 100%;
  519. flex-shrink: 0;
  520. display: flex;
  521. align-items: center;
  522. }
  523. &.on {
  524. background: unset;
  525. }
  526. .searchCon {
  527. width: 100%;
  528. height: 64rpx;
  529. background: rgba(255, 255, 255, 0.2800);
  530. border-radius: 43rpx;
  531. flex-shrink: 1;
  532. }
  533. .icon-xiazai5 {
  534. margin-left: 32rpx;
  535. margin-right: 12rpx;
  536. }
  537. }
  538. .address {
  539. position: absolute;
  540. top: 160rpx;
  541. margin: 0 20rpx;
  542. width: 710rpx;
  543. height: 192rpx;
  544. background: #fff;
  545. border-radius: 14rpx;
  546. padding: 30rpx 20rpx;
  547. display: flex;
  548. justify-content: space-between;
  549. .left {
  550. .left-title {
  551. height: 30rpx;
  552. line-height: 30rpx;
  553. display: flex;
  554. image {
  555. width: 30rpx;
  556. height: 28rpx;
  557. }
  558. .text {
  559. font-weight: 600;
  560. color: #333333;
  561. font-size: 30rpx;
  562. margin: 0 10rpx;
  563. max-width: 390rpx;
  564. }
  565. .icon-xiangyou {
  566. color: #333;
  567. font-size: 24rpx;
  568. }
  569. }
  570. .time {
  571. margin: 20rpx 0;
  572. font-size: 22rpx;
  573. font-weight: 400;
  574. color: #666666;
  575. }
  576. .distance {
  577. width: 500rpx;
  578. font-size: 22rpx;
  579. color: #666666;
  580. font-weight: 400;
  581. .icon-chakanditu {
  582. margin-right: 8rpx;
  583. font-size: 28rpx;
  584. color: #ccc;
  585. }
  586. .distance-name {
  587. display: inline-block;
  588. width: 286rpx;
  589. height: 22rpx;
  590. border-left: 1px solid #000;
  591. margin-left: 16rpx;
  592. line-height: 22rpx;
  593. text-align: left;
  594. padding-left: 16rpx;
  595. white-space: nowrap;
  596. overflow: hidden;
  597. text-overflow: ellipsis;
  598. }
  599. }
  600. }
  601. .right {
  602. margin-top: 36rpx;
  603. display: flex;
  604. font-size: 20rpx;
  605. color: #333333;
  606. .kefu {
  607. margin-right: 30rpx;
  608. display: flex;
  609. flex-direction: column;
  610. align-items: center;
  611. .icon-kefu-mendian {
  612. font-size: 36rpx;
  613. }
  614. }
  615. }
  616. .goods {
  617. position: relative;
  618. display: flex;
  619. flex-direction: column;
  620. align-items: center;
  621. .icon-gouwuche-mendian {
  622. font-size: 36rpx;
  623. }
  624. .cartNum {
  625. position: absolute;
  626. top: -8rpx;
  627. right: 2rpx;
  628. width: 30rpx;
  629. height: 30rpx;
  630. line-height: 30rpx;
  631. text-align: center;
  632. font-weight: 500;
  633. color: #FFFFFF;
  634. border-radius: 50%;
  635. background: var(--view-theme);
  636. border: 1px solid #FFFFFF;
  637. }
  638. }
  639. }
  640. }
  641. .goods-list {
  642. padding: 0 30rpx;
  643. margin-bottom: 50rpx !important;
  644. }
  645. .content {
  646. height: 100%;
  647. // margin-bottom: 200rpx;
  648. .nav {
  649. padding: 40rpx 50rpx 40rpx 50rpx;
  650. display: flex;
  651. justify-content: space-between;
  652. font-size: 28rpx;
  653. font-weight: 500;
  654. color: #666666;
  655. .nav-img {
  656. width: 15rpx;
  657. height: 18rpx;
  658. margin-left: 10rpx;
  659. }
  660. .icon-shaixuan {
  661. font-size: 24rpx;
  662. margin-right: 10rpx;
  663. }
  664. }
  665. }
  666. .vip {
  667. margin: 20rpx 0 10rpx 0;
  668. .price {
  669. font-size: 34rpx;
  670. font-weight: 600;
  671. color: var(--view-theme);
  672. }
  673. .sold {
  674. font-size: 24rpx;
  675. font-weight: 400;
  676. color: #999999;
  677. }
  678. }
  679. .list {
  680. padding: 0 20rpx 90rpx 20rpx;
  681. }
  682. .list .waterList {
  683. margin-bottom: 60rpx;
  684. // margin-top: 192rpx;
  685. }
  686. .default {
  687. margin-top: 100rpx;
  688. display: flex;
  689. flex-direction: column;
  690. align-items: center;
  691. .img {
  692. width: 414rpx;
  693. height: 256rpx;
  694. }
  695. .text {
  696. font-size: 26rpx;
  697. font-weight: 400;
  698. color: #999999;
  699. }
  700. }
  701. .waterfalls {
  702. padding: 10rpx 16rpx 16rpx 16rpx;
  703. color: #222;
  704. .name {
  705. font-size: 28rpx;
  706. }
  707. .label {
  708. font-size: 20rpx;
  709. color: var(--view-theme);
  710. border-radius: 4rpx;
  711. border: 1px solid var(--view-theme);
  712. padding: 0 6rpx;
  713. display: inline-block;
  714. margin-top: 10rpx;
  715. margin-right: 10rpx;
  716. }
  717. .money {
  718. font-size: 26rpx;
  719. font-weight: 700;
  720. .num {
  721. font-size: 34rpx;
  722. }
  723. .nums {
  724. font-size: 28rpx;
  725. }
  726. }
  727. .vip {
  728. font-size: 22rpx;
  729. color: #aaa;
  730. margin-top: 6rpx;
  731. .vip-money {
  732. font-size: 24rpx;
  733. color: #282828;
  734. font-weight: bold;
  735. .icon {
  736. font-size: 15rpx;
  737. background: #FF9500;
  738. color: #fff;
  739. border-radius: 18rpx;
  740. padding: 1rpx 6rpx;
  741. margin-left: 10rpx;
  742. min-width: 60rpx;
  743. .iconfont {
  744. font-size: 15rpx;
  745. margin-right: 5rpx;
  746. }
  747. &.on {
  748. background: #333;
  749. color: #FDDAA4;
  750. min-width: unset;
  751. }
  752. }
  753. image {
  754. width: 46rpx;
  755. height: 21rpx;
  756. margin-left: 4rpx;
  757. }
  758. }
  759. }
  760. }
  761. </style>