groupList.vue 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945
  1. <template>
  2. <view class="container">
  3. <!--screen-->
  4. <view class="tui-header-screen">
  5. <view class="tui-search__bar">
  6. <view class="tui-searchbox" @tap="search">
  7. <icon type="search" :size="13" color="#999"></icon>
  8. <text class="tui-search-text">请输入搜索关键词</text>
  9. </view>
  10. </view>
  11. <view class="tui-screen__box">
  12. <view class="tui-screen-item" :class="[tabIndex == -1 ? 'tui-active tui-bold' : '']" @tap="screen" data-index="-1">综合</view>
  13. <view class="tui-screen-item" :class="[tabIndex == 0 ? 'tui-active tui-bold' : '']" data-index="0" @tap="screen">
  14. <view>价格</view>
  15. <tui-icon :name="selectH > 0 ? 'arrowup' : 'arrowdown'" :size="14" :color="tabIndex == 0 ? '#e41f19' : '#444'"></tui-icon>
  16. </view>
  17. <view class="tui-screen-item" :class="[tabIndex == 1 ? 'tui-active tui-bold' : '']" @tap="screen" data-index="1">销量</view>
  18. <view class="tui-screen-item" @tap="screen" data-index="2">
  19. <tui-icon :name="isList ? 'manage' : 'listview'" :size="isList ? 22 : 18" :bold="isList ? false : true" color="#333"></tui-icon>
  20. </view>
  21. <!--下拉选择列表-综合-->
  22. <view class="tui-dropdownlist" :class="[selectH > 0 ? 'tui-dropdownlist-show' : '']" :style="{ height: selectH + 'rpx' }">
  23. <view class="tui-dropdownlist-item" :class="[item.selected ? 'tui-bold' : '']" v-for="(item, index) in dropdownList"
  24. :key="index" @tap.stop="dropdownItem" :data-index="index">
  25. <text>{{ item.name }}</text>
  26. <tui-icon name="check" :size="16" color="#e41f19" :bold="true" v-if="item.selected"></tui-icon>
  27. </view>
  28. </view>
  29. <view class="tui-dropdownlist-mask" :class="[selectH > 0 ? 'tui-mask-show' : '']" @tap.stop="hideDropdownList"></view>
  30. <!--下拉选择列表--综合-->
  31. </view>
  32. </view>
  33. <!--screen-->
  34. <!--list-->
  35. <view class="tui-product-list" :style="{ marginTop: px(dropScreenH + 18) }">
  36. <view class="tui-product-container">
  37. <block v-for="(item, index) in goodsList" :key="index">
  38. <!--商品列表-->
  39. <view class="tui-pro-item" :class="[isList ? 'tui-flex-list' : 'tui-flex-card']"
  40. hover-class="tui-hover" :hover-start-time="150"
  41. :data-url="'/pages/goodsDetail/goodsDetail?tuanid='+item.id+'&id='+item.goods_id" @tap="navigationTo">
  42. <image :src="item.image" class="tui-pro-img" :class="[isList ? 'tui-proimg-list' : '']"
  43. mode="widthFix" />
  44. <view class="tui-pro-content">
  45. <view class="tui-pro-tit">{{ item.title }}</view>
  46. <view>
  47. <view class="tui-pro-price">
  48. <text v-if="item.is_points_goods!=1" class="tui-sale-price">¥{{ item.price }}</text>
  49. <text v-if="item.goods.price>0" class="tui-factory-price">¥{{ item.goods.price }}</text>
  50. </view>
  51. <view class="tui-group-text">已有{{ item.sale_count }}人拼团</view>
  52. <view class="tui-group-btn">
  53. <view class="tui-flex-btn tui-color-red">{{ item.people_num }}人团</view>
  54. <view class="tui-flex-btn">去拼团</view>
  55. </view>
  56. </view>
  57. </view>
  58. </view>
  59. <!--商品列表-->
  60. </block>
  61. </view>
  62. </view>
  63. <!--list end-->
  64. <!--加载loadding-->
  65. <tui-loadmore v-if="loadding" :index="3" type="red"></tui-loadmore>
  66. <tui-nomore v-if="!pullUpOn && isList" backgroundColor="#f7f7f7"></tui-nomore>
  67. <!--加载loadding-->
  68. </view>
  69. </template>
  70. <script>
  71. export default {
  72. data() {
  73. return {
  74. searchKey: '', //搜索关键词
  75. width: 200, //header宽度
  76. height: 64, //header高度
  77. inputTop: 0, //搜索框距离顶部距离
  78. arrowTop: 0, //箭头距离顶部距离
  79. dropScreenH: 0, //下拉筛选框距顶部距离
  80. attrData: [],
  81. attrIndex: -1,
  82. scrollTop: 0,
  83. tabIndex: 0, //顶部筛选索引
  84. isList: false, //是否以列表展示 | 列表或大图
  85. drawer: false,
  86. drawerH: 0, //抽屉内部scrollview高度
  87. selectedName: '综合',
  88. selectH: 0,
  89. dropdownList: [{
  90. name: '综合',
  91. selected: true
  92. },
  93. {
  94. name: '价格升序',
  95. selected: false
  96. },
  97. {
  98. name: '价格降序',
  99. selected: false
  100. }
  101. ],
  102. goodsList: [],
  103. where: {
  104. sid: 0,
  105. keyword: '',
  106. priceOrder: '',
  107. salesOrder: '',
  108. news: 0,
  109. page: 1,
  110. limit: 10,
  111. categoryId: 0,
  112. },
  113. price: 0,
  114. stock: 0,
  115. pageIndex: 1,
  116. loadding: false,
  117. pullUpOn: true
  118. };
  119. },
  120. onLoad: function(options) {
  121. this.where.categoryId = options.cid || ''
  122. this.where.keyword = options.keyword || '';
  123. let obj = {};
  124. // #ifdef MP-WEIXIN
  125. obj = wx.getMenuButtonBoundingClientRect();
  126. // #endif
  127. // #ifdef MP-BAIDU
  128. obj = swan.getMenuButtonBoundingClientRect();
  129. // #endif
  130. // #ifdef MP-ALIPAY
  131. my.hideAddToDesktopMenu();
  132. // #endif
  133. uni.getSystemInfo({
  134. success: res => {
  135. this.width = obj.left || res.windowWidth;
  136. this.height = obj.top ? obj.top + obj.height + 8 : res.statusBarHeight + 44;
  137. this.inputTop = obj.top ? obj.top + (obj.height - 30) / 2 : res.statusBarHeight + 7;
  138. this.arrowTop = obj.top ? obj.top + (obj.height - 32) / 2 : res.statusBarHeight + 6;
  139. this.searchKey = options.keyword || options.searchKey || '';
  140. //略小,避免误差带来的影响
  141. this.dropScreenH = (this.height * 750) / res.windowWidth + 10;
  142. this.drawerH = res.windowHeight - uni.upx2px(100) - this.height;
  143. }
  144. });
  145. this.get_product_list();
  146. },
  147. methods: {
  148. px(num) {
  149. return uni.upx2px(num) + 'px';
  150. },
  151. btnCloseDrop() {
  152. this.scrollTop = 1;
  153. this.$nextTick(() => {
  154. this.scrollTop = 0;
  155. });
  156. this.dropScreenShow = false;
  157. this.attrIndex = -1;
  158. },
  159. btnSure: function() {
  160. let index = this.attrIndex;
  161. let arr = this.attrData;
  162. let active = false;
  163. let attrName = '';
  164. //这里只是为了展示选中效果,并非实际场景
  165. for (let item of arr) {
  166. if (item.selected) {
  167. active = true;
  168. attrName += attrName ? ';' + item.name : item.name;
  169. }
  170. }
  171. let obj = this.attrArr[index];
  172. this.btnCloseDrop();
  173. this.$set(obj, 'isActive', active);
  174. this.$set(obj, 'selectedName', attrName);
  175. },
  176. showDropdownList: function() {
  177. this.selectH = 246;
  178. this.tabIndex = 0;
  179. },
  180. hideDropdownList: function() {
  181. this.selectH = 0;
  182. },
  183. dropdownItem: function(e) {
  184. let index = Number(e.currentTarget.dataset.index);
  185. let arr = this.dropdownList;
  186. if(index==0){
  187. }
  188. for (let i = 0; i < arr.length; i++) {
  189. if (i === index) {
  190. arr[i].selected = true;
  191. } else {
  192. arr[i].selected = false;
  193. }
  194. }
  195. this.dropdownList = arr;
  196. this.selectedName = index == 0 ? '综合' : '价格';
  197. this.selectH = 0;
  198. this.price = index;
  199. this.where.page = 1;
  200. this.get_product_list(true);
  201. },
  202. screen: function(e) {
  203. let index = e.currentTarget.dataset.index;
  204. this.hideDropdownList();
  205. this.btnCloseDrop();
  206. if (index == 0) {
  207. this.showDropdownList();
  208. } else if (index == 1) {
  209. this.tabIndex = 1;
  210. if(this.stock == 1){
  211. this.stock = 2
  212. }else{
  213. this.stock = 1
  214. }
  215. } else if (index == 2) {
  216. this.isList = !this.isList;
  217. } else if (index == 3) {
  218. this.drawer = true;
  219. } else if (index == 4) {
  220. if(this.tabIndex == 4){
  221. this.tabIndex = 0;
  222. }else{
  223. this.tabIndex = 4;
  224. }
  225. if(this.where.news==1){
  226. this.where.news = 0;
  227. }else{
  228. this.where.news = 1;
  229. }
  230. }
  231. this.loadend = false;
  232. this.where.page = 1;
  233. this.get_product_list(true);
  234. },
  235. back: function() {
  236. if (this.drawer) {
  237. this.closeDrawer();
  238. } else {
  239. uni.navigateBack();
  240. }
  241. },
  242. search: function() {
  243. uni.navigateTo({
  244. url: '/pages/common/search/search'
  245. });
  246. },
  247. navigationTo: function(e) {
  248. uni.navigateTo({
  249. url: e.currentTarget.dataset.url
  250. });
  251. },
  252. //设置where条件
  253. setWhere: function() {
  254. if (this.price == 0)
  255. this.where.priceOrder = '';
  256. else if (this.price == 1)
  257. this.where.priceOrder = 'desc';
  258. else if (this.price == 2)
  259. this.where.priceOrder = 'asc';
  260. if (this.stock == 0)
  261. this.where.salesOrder = '';
  262. else if (this.stock == 1)
  263. this.where.salesOrder = 'desc';
  264. else if (this.stock == 2)
  265. this.where.salesOrder = 'asc';
  266. },
  267. //查找产品
  268. get_product_list: function(isPage) {
  269. var that = this;
  270. this.setWhere();
  271. console.log(this.where);
  272. if (that.loadend) return;
  273. if (that.loading) return;
  274. if (isPage === true) {
  275. that.goodsList = [];
  276. that.where.page =1;
  277. }
  278. this.$request.post('tuangoods', that.where).then(res => {
  279. if (res.errno == 0) {
  280. that.goodsList = that.goodsList.concat(res.data.data);
  281. that.loadend = that.goodsList.length < that.where.limit;
  282. that.loading = false;
  283. that.where.page = that.where.page + 1
  284. }
  285. })
  286. },
  287. },
  288. /**
  289. * 页面相关事件处理函数--监听用户下拉动作
  290. */
  291. onPullDownRefresh: function() {
  292. this.where.page = 1;
  293. this.loadend = false;
  294. this.goodsList = [];
  295. this.get_product_list();
  296. uni.stopPullDownRefresh();
  297. },
  298. /**
  299. * 页面上拉触底事件的处理函数
  300. */
  301. onReachBottom: function() {
  302. this.get_product_list();
  303. }
  304. };
  305. </script>
  306. <style>
  307. page {
  308. background-color: #f7f7f7;
  309. }
  310. .tui-search__bar {
  311. width: 100%;
  312. background-color: #fff;
  313. padding: 20rpx 25rpx;
  314. box-sizing: border-box;
  315. }
  316. .tui-searchbox {
  317. width: 100%;
  318. height: 64rpx;
  319. margin-right: 30rpx;
  320. border-radius: 15px;
  321. font-size: 24rpx;
  322. background: #f7f7f7;
  323. padding: 6rpx 20rpx;
  324. box-sizing: border-box;
  325. color: #999;
  326. display: flex;
  327. align-items: center;
  328. overflow: hidden;
  329. }
  330. .tui-search-text {
  331. padding-left: 16rpx;
  332. }
  333. /*screen*/
  334. .tui-header-screen {
  335. width: 100%;
  336. box-sizing: border-box;
  337. background: #fff;
  338. position: fixed;
  339. z-index: 996;
  340. }
  341. .tui-screen__box {
  342. width: 100%;
  343. height: 80rpx;
  344. display: flex;
  345. align-items: center;
  346. justify-content: space-between;
  347. font-size: 28rpx;
  348. color: #333;
  349. position: relative;
  350. background: #fff;
  351. }
  352. .tui-screen-item {
  353. height: 28rpx;
  354. line-height: 28rpx;
  355. flex: 1;
  356. display: flex;
  357. align-items: center;
  358. justify-content: center;
  359. }
  360. .tui-btmItem-active {
  361. background-color: #fcedea !important;
  362. color: #e41f19;
  363. font-weight: bold;
  364. position: relative;
  365. }
  366. .tui-btmItem-active::after {
  367. content: '';
  368. position: absolute;
  369. border: 1rpx solid #e41f19;
  370. width: 100%;
  371. height: 100%;
  372. border-radius: 40rpx;
  373. left: 0;
  374. top: 0;
  375. }
  376. .tui-addr-left {
  377. padding-left: 6rpx;
  378. }
  379. .tui-bold {
  380. font-weight: bold;
  381. }
  382. .tui-active {
  383. color: #e41f19;
  384. }
  385. /*screen*/
  386. .tui-screen-top,
  387. .tui-screen-bottom {
  388. display: flex;
  389. align-items: center;
  390. justify-content: space-between;
  391. font-size: 28rpx;
  392. color: #333;
  393. }
  394. .tui-screen-top {
  395. height: 88rpx;
  396. position: relative;
  397. background: #fff;
  398. }
  399. .tui-top-item {
  400. height: 28rpx;
  401. line-height: 28rpx;
  402. flex: 1;
  403. display: flex;
  404. align-items: center;
  405. justify-content: center;
  406. }
  407. .tui-topitem-active {
  408. color: #e41f19;
  409. }
  410. .tui-screen-bottom {
  411. height: 100rpx;
  412. padding: 0 30rpx;
  413. box-sizing: border-box;
  414. font-size: 24rpx;
  415. align-items: center;
  416. overflow: hidden;
  417. }
  418. .tui-bottom-text {
  419. line-height: 26rpx;
  420. max-width: 82%;
  421. white-space: nowrap;
  422. overflow: hidden;
  423. text-overflow: ellipsis;
  424. }
  425. .tui-bottom-item {
  426. flex: 1;
  427. width: 0;
  428. display: flex;
  429. align-items: center;
  430. justify-content: center;
  431. padding: 0 12rpx;
  432. box-sizing: border-box;
  433. background-color: #f7f7f7;
  434. margin-right: 20rpx;
  435. white-space: nowrap;
  436. height: 60rpx;
  437. border-radius: 40rpx;
  438. }
  439. .tui-bottom-item:last-child {
  440. margin-right: 0;
  441. }
  442. .tui-btmItem-active {
  443. background-color: #fcedea !important;
  444. color: #e41f19;
  445. font-weight: bold;
  446. position: relative;
  447. }
  448. .tui-btmItem-active::after {
  449. content: '';
  450. position: absolute;
  451. border: 1rpx solid #e41f19;
  452. width: 100%;
  453. height: 100%;
  454. border-radius: 40rpx;
  455. left: 0;
  456. top: 0;
  457. }
  458. .tui-btmItem-tap {
  459. position: relative;
  460. border-bottom-left-radius: 0;
  461. border-bottom-right-radius: 0;
  462. }
  463. .tui-btmItem-tap::after {
  464. content: '';
  465. position: absolute;
  466. width: 100%;
  467. height: 22rpx;
  468. background: #f7f7f7;
  469. left: 0;
  470. top: 58rpx;
  471. }
  472. .tui-bold {
  473. font-weight: bold;
  474. }
  475. .tui-active {
  476. color: #e41f19;
  477. }
  478. .tui-addr-left {
  479. padding-left: 6rpx;
  480. }
  481. .tui-seizeaseat-20 {
  482. height: 20rpx;
  483. }
  484. .tui-seizeaseat-30 {
  485. height: 30rpx;
  486. }
  487. /*screen*/
  488. /*顶部下拉选择 属性*/
  489. .tui-scroll-box {
  490. width: 100%;
  491. height: 480rpx;
  492. box-sizing: border-box;
  493. position: relative;
  494. z-index: 99;
  495. color: #fff;
  496. font-size: 30rpx;
  497. word-break: break-all;
  498. }
  499. .tui-drop-item {
  500. color: #333;
  501. height: 80rpx;
  502. font-size: 28rpx;
  503. padding: 20rpx 40rpx 20rpx 40rpx;
  504. box-sizing: border-box;
  505. display: inline-block;
  506. width: 50%;
  507. }
  508. .tui-drop-btnbox {
  509. width: 100%;
  510. height: 100rpx;
  511. position: absolute;
  512. left: 0;
  513. bottom: 0;
  514. box-sizing: border-box;
  515. display: flex;
  516. }
  517. .tui-drop-btn {
  518. width: 50%;
  519. font-size: 32rpx;
  520. text-align: center;
  521. height: 100rpx;
  522. line-height: 100rpx;
  523. border: 0;
  524. }
  525. .tui-btn-red {
  526. background: #e41f19;
  527. color: #fff;
  528. }
  529. .tui-red-hover {
  530. background: #c51a15 !important;
  531. color: #e5e5e5;
  532. }
  533. .tui-btn-white {
  534. background: #fff;
  535. color: #333;
  536. }
  537. .tui-white-hover {
  538. background: #e5e5e5;
  539. color: #2e2e2e;
  540. }
  541. /*顶部下拉选择 属性*/
  542. /*顶部下拉选择 综合*/
  543. .tui-dropdownlist {
  544. width: 100%;
  545. position: absolute;
  546. background-color: #fff;
  547. border-bottom-left-radius: 24rpx;
  548. border-bottom-right-radius: 24rpx;
  549. overflow: hidden;
  550. box-sizing: border-box;
  551. padding-top: 10rpx;
  552. padding-bottom: 26rpx;
  553. left: 0;
  554. top: 88rpx;
  555. visibility: hidden;
  556. transition: all 0.2s ease-in-out;
  557. z-index: 999;
  558. }
  559. .tui-dropdownlist-show {
  560. visibility: visible;
  561. }
  562. .tui-dropdownlist-mask {
  563. position: fixed;
  564. top: 0;
  565. left: 0;
  566. right: 0;
  567. bottom: 0;
  568. background-color: rgba(0, 0, 0, 0.6);
  569. z-index: -1;
  570. transition: all 0.2s ease-in-out;
  571. opacity: 0;
  572. visibility: hidden;
  573. }
  574. .tui-mask-show {
  575. opacity: 1;
  576. visibility: visible;
  577. }
  578. .tui-dropdownlist-item {
  579. color: #333;
  580. height: 70rpx;
  581. font-size: 28rpx;
  582. padding: 0 40rpx;
  583. box-sizing: border-box;
  584. display: flex;
  585. align-items: center;
  586. justify-content: space-between;
  587. }
  588. /*顶部下拉选择 综合*/
  589. .tui-drawer-box {
  590. width: 686rpx;
  591. font-size: 24rpx;
  592. overflow: hidden;
  593. position: relative;
  594. padding-bottom: 100rpx;
  595. }
  596. .tui-drawer-title {
  597. display: flex;
  598. align-items: center;
  599. justify-content: space-between;
  600. padding: 0 30rpx;
  601. box-sizing: border-box;
  602. height: 80rpx;
  603. }
  604. .tui-title-bold {
  605. font-size: 26rpx;
  606. font-weight: bold;
  607. flex-shrink: 0;
  608. }
  609. .tui-location {
  610. margin-right: 6rpx;
  611. }
  612. .tui-attr-right {
  613. width: 70%;
  614. white-space: nowrap;
  615. overflow: hidden;
  616. text-overflow: ellipsis;
  617. text-align: right;
  618. }
  619. .tui-all-box {
  620. width: 90%;
  621. white-space: nowrap;
  622. display: flex;
  623. align-items: center;
  624. justify-content: flex-end;
  625. }
  626. .tui-drawer-content {
  627. padding: 16rpx 30rpx 30rpx 30rpx;
  628. display: flex;
  629. align-items: center;
  630. justify-content: space-between;
  631. box-sizing: border-box;
  632. }
  633. .tui-input {
  634. border: 0;
  635. height: 64rpx;
  636. border-radius: 32rpx;
  637. width: 45%;
  638. background-color: #f7f7f7;
  639. text-align: center;
  640. font-size: 24rpx;
  641. color: #333;
  642. }
  643. .tui-phcolor {
  644. text-align: center;
  645. color: #b2b2b2;
  646. font-size: 24rpx;
  647. }
  648. .tui-flex-attr {
  649. flex-wrap: wrap;
  650. justify-content: flex-start;
  651. }
  652. .tui-attr-item {
  653. width: 30%;
  654. height: 64rpx;
  655. background-color: #f7f7f7;
  656. display: flex;
  657. align-items: center;
  658. justify-content: center;
  659. padding: 0 4rpx;
  660. box-sizing: border-box;
  661. border-radius: 32rpx;
  662. margin-right: 5%;
  663. margin-bottom: 5%;
  664. }
  665. .tui-attr-ellipsis {
  666. white-space: nowrap;
  667. text-overflow: ellipsis;
  668. overflow: hidden;
  669. width: 96%;
  670. text-align: center;
  671. }
  672. .tui-attr-item:nth-of-type(3n) {
  673. margin-right: 0%;
  674. }
  675. .tui-attr-btnbox {
  676. width: 100%;
  677. position: absolute;
  678. left: 0;
  679. bottom: 0;
  680. box-sizing: border-box;
  681. padding: 0 30rpx;
  682. background: #fff;
  683. }
  684. .tui-attr-safearea {
  685. height: 100rpx;
  686. display: flex;
  687. align-items: center;
  688. justify-content: space-between;
  689. padding-bottom: env(safe-area-inset-bottom);
  690. }
  691. .tui-safearea-bottom {
  692. width: 100%;
  693. height: env(safe-area-inset-bottom);
  694. }
  695. .tui-attr-btnbox::before {
  696. content: '';
  697. position: absolute;
  698. top: 0;
  699. right: 0;
  700. left: 0;
  701. border-top: 1px solid #eaeef1;
  702. transform: scaleY(0.5) translateZ(0);
  703. transform-origin: 0 0;
  704. }
  705. .tui-drawer-btn {
  706. width: 47%;
  707. text-align: center;
  708. height: 60rpx;
  709. border-radius: 30rpx;
  710. flex-shrink: 0;
  711. display: flex;
  712. align-items: center;
  713. justify-content: center;
  714. box-sizing: border-box;
  715. }
  716. .tui-drawerbtn-black {
  717. border: 1rpx solid #555;
  718. }
  719. .tui-drawerbtn-primary {
  720. background: #e41f19;
  721. color: #fff;
  722. }
  723. /* 商品列表*/
  724. .tui-product-list {
  725. display: flex;
  726. justify-content: space-between;
  727. flex-direction: row;
  728. flex-wrap: wrap;
  729. box-sizing: border-box;
  730. }
  731. .tui-product-container {
  732. width: 100%;
  733. margin-left: 10rpx;
  734. margin-right: 10rpx;
  735. display: flex;
  736. flex-direction: row;
  737. flex-wrap: wrap;
  738. }
  739. .tui-pro-item {
  740. background: #fff;
  741. box-sizing: border-box;
  742. overflow: hidden;
  743. transition: all 0.15s ease-in-out;
  744. }
  745. .tui-flex-card {
  746. border-radius: 12rpx;
  747. width: 48%;
  748. margin-left: 1%;
  749. margin-right: 1%;
  750. margin-bottom: 2%;
  751. }
  752. .tui-flex-list {
  753. width: 100%;
  754. padding-top: 10rpx;
  755. padding-bottom: 10rpx;
  756. display: flex;
  757. margin-bottom: 1rpx !important;
  758. }
  759. .tui-pro-img {
  760. width: 100%;
  761. display: block;
  762. }
  763. .tui-proimg-list {
  764. width: 260rpx;
  765. height: 260rpx !important;
  766. flex-shrink: 0;
  767. border-radius: 12rpx;
  768. }
  769. .tui-pro-content {
  770. display: flex;
  771. flex-direction: column;
  772. justify-content: space-between;
  773. box-sizing: border-box;
  774. padding: 20rpx;
  775. }
  776. .tui-pro-tit {
  777. color: #2e2e2e;
  778. font-size: 26rpx;
  779. word-break: break-all;
  780. overflow: hidden;
  781. text-overflow: ellipsis;
  782. display: -webkit-box;
  783. -webkit-box-orient: vertical;
  784. -webkit-line-clamp: 2;
  785. }
  786. .tui-pro-price {
  787. padding-top: 18rpx;
  788. }
  789. .tui-sale-price {
  790. font-size: 34rpx;
  791. font-weight: 500;
  792. color: #e41f19;
  793. }
  794. .tui-factory-price {
  795. font-size: 24rpx;
  796. color: #a0a0a0;
  797. text-decoration: line-through;
  798. padding-left: 12rpx;
  799. }
  800. .tui-pro-pay {
  801. padding-top: 10rpx;
  802. font-size: 24rpx;
  803. color: #656565;
  804. }
  805. .tui-group-btn {
  806. max-width: 312rpx;
  807. height: 48rpx;
  808. border-radius: 6rpx;
  809. background: #EB0909;
  810. display: flex;
  811. align-items: center;
  812. padding: 4rpx;
  813. margin-top: 10rpx;
  814. box-sizing: border-box;
  815. }
  816. .tui-flex-btn {
  817. height: 100%;
  818. flex: 1;
  819. text-align: center;
  820. font-size: 26rpx;
  821. line-height: 26rpx;
  822. font-weight: 400;
  823. color: #fff;
  824. display: flex;
  825. align-items: center;
  826. justify-content: center;
  827. }
  828. .tui-flex-btn:first-child {
  829. background: #fff;
  830. }
  831. .tui-group-text {
  832. font-size: 25rpx;
  833. line-height: 25rpx;
  834. transform: scale(0.8);
  835. transform-origin: 0 center;
  836. padding-top: 30rpx;
  837. color: #999;
  838. }
  839. .tui-color-red {
  840. color: #EB0909;
  841. }
  842. /* 列表*/
  843. </style>