You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1734 lines
60 KiB

3 months ago
  1. <template>
  2. <view :data-theme="theme">
  3. <skeleton :show="showSkeleton" :isNodes="isNodes" ref="skeleton" loading="chiaroscuro" selector="skeleton"
  4. ></skeleton>
  5. <view class='bargain skeleton' :style="{visibility: showSkeleton ? 'hidden' : 'visible'}">
  6. <view class="header" :class="startBargainUid != uid ? 'on' : ''" :style="{backgroundImage:'url('+imgHost+ '/' + backBg+')'}" v-show="imgHost">
  7. <!-- #ifdef H5 -->
  8. <view class="select_nav flex justify-center align-center">
  9. <text class="iconfont icon-fanhui2 px-20" @tap="returns"></text>
  10. <text class="iconfont icon-kanjialiebiao px-20" @tap="backList"></text>
  11. <text class="nav_line"></text>
  12. </view>
  13. <!-- #endif -->
  14. <!-- #ifndef H5 -->
  15. <navigator url="/pages/activity/goods_bargain/index" hover-class="none">
  16. <view class="back">
  17. <text class="iconfont icon-xiangzuo"></text> 返回砍价列表
  18. </view>
  19. </navigator>
  20. <!-- #endif -->
  21. </view>
  22. <view class="pad30" style="padding-bottom: 30rpx;">
  23. <view class='wrapper'>
  24. <view class='pictxt acea-row row-between' @tap="goProduct">
  25. <view class='pictrue skeleton-rect'>
  26. <image :src='bargainInfo.image'></image>
  27. </view>
  28. <view class='text acea-row row-column-around'>
  29. <view class='line1 skeleton-rect'>{{bargainInfo.title}}</view>
  30. <view class="surplus skeleton-rect">最低价{{bargainInfo.minPrice}}</view>
  31. <view class="surplus skeleton-rect">剩余{{bargainInfo.quota}}{{bargainInfo.unitName}}</view>
  32. <view class='money font-color-red skeleton-rect'>
  33. 当前:
  34. <text class='num'>{{buyPrice}}</text>
  35. </view>
  36. <view class="acea-row skeleton-rect"
  37. v-if="new Date().getTime()- bargainInfo.stopTime < 0 && bargainInfo.quota>0">
  38. <countDown :tipText="' '" :bgColor="bgColor" :dayText="':'" :hourText="':'"
  39. :minuteText="':'" :secondText="' '" :datatime="datatime" :isDay="true"></countDown>
  40. <text style="font-size: 22rpx;margin-left: 4rpx;line-height: 36rpx;">后结束</text>
  41. </view>
  42. <view v-if="new Date().getTime()- bargainInfo.stopTime >=0" class="skeleton-rect">
  43. <view style="font-size: 22rpx;" @tap='currentBargainUser'>已结束</view>
  44. </view>
  45. <view v-if="bargainInfo.quota==0" class="skeleton-rect">
  46. <view style="font-size: 22rpx;" @tap='currentBargainUser'>已售罄</view>
  47. </view>
  48. </view>
  49. <text class="iconfont icon-jiantou iconfonts"></text>
  50. </view>
  51. </view>
  52. <view class="content">
  53. <block
  54. v-if="(startBargainUid == uid && (bargainStatus==1 || bargainStatus==3)) || (startBargainUid != uid && bargainStatus==5)">
  55. <view class='money acea-row row-center'
  56. :class="new Date().getTime()- bargainInfo.stopTime >=0 ? 'font_hui': ''">
  57. <view style="margin-right: 40rpx;" class="skeleton-rect">已砍<text class="font-color-red"
  58. :class="new Date().getTime()- bargainInfo.stopTime >=0 ? 'font_hui': ''">{{bargainUserInfo.alreadyPrice}}</text>
  59. </view>
  60. <view class="skeleton-rect">还剩<text class="font-color-red"
  61. :class="new Date().getTime()- bargainInfo.stopTime >=0 ? 'font_hui': ''">{{bargainUserInfo.surplusPrice}}</text>
  62. </view>
  63. </view>
  64. <view class="cu-progress acea-row row-middle round margin-top skeleton-rect"
  65. :class="new Date().getTime()- bargainInfo.stopTime >=0 ? 'bg_qian': ''">
  66. <view class='acea-row row-middle bg-red'
  67. :class="new Date().getTime()- bargainInfo.stopTime >=0 ? 'bg-color-hui': ''"
  68. :style="'width:'+ bargainUserInfo.bargainPercent +'%;'"></view>
  69. </view>
  70. <view class='tip skeleton-rect'>
  71. 已有{{bargainInfo.sales}}位好友砍价成功
  72. </view>
  73. </block>
  74. <!-- 自己砍价 -->
  75. <view
  76. v-if="startBargainUid == uid && parseFloat(bargainUserInfo.surplusPrice) > 0 && bargainStatus==1">
  77. <view class='bargainBnt skeleton-rect' @tap='userBargain' v-if="quota>0">
  78. 立即参与砍价
  79. </view>
  80. <view class='bargainBnt grey' v-if="quota<=0">商品暂无库存</view>
  81. </view>
  82. <view
  83. v-if="startBargainUid == uid && parseFloat(bargainUserInfo.surplusPrice) > 0 && bargainStatus==3">
  84. <!-- #ifdef H5 -->
  85. <view class='bargainBnt' v-if="$wechat.isWeixin()" @click="H5ShareBox = true">邀请好友帮砍价</view>
  86. <view class='bargainBnt' v-else @tap='getBargainUserBargainPricePoster'>邀请好友帮砍价</view>
  87. <!-- #endif -->
  88. <!-- #ifdef MP -->
  89. <button open-type='share' class='bargainBnt'>邀请好友帮砍价</button>
  90. <!-- #endif -->
  91. <!-- #ifdef APP-PLUS -->
  92. <view class='bargainBnt' @click="posters = true">邀请好友帮砍价</view>
  93. <!-- #endif -->
  94. </view>
  95. <view
  96. v-if="startBargainUid != uid && bargainStatus==5 && parseFloat(bargainUserInfo.surplusPrice) > 0">
  97. <view class='bargainBnt' @tap='setBargainHelp'>帮好友砍一刀</view>
  98. </view>
  99. <view v-if="startBargainUid != uid && bargainStatus==4 && parseFloat(bargainUserInfo.surplusPrice) == 0" >
  100. <view class='bargainSuccess'>
  101. <image :src="urlDomain+'crmebimage/perset/activityImg/cheng.png'"></image>
  102. 好友已砍成功
  103. </view>
  104. <view class='bargainBnt' @tap='currentBargainUser'>我也要参与</view>
  105. </view>
  106. <view v-if="startBargainUid != uid && bargainStatus==7">
  107. <view class='bargainSuccess'>
  108. <image :src="urlDomain+'crmebimage/perset/activityImg/cheng.png'"></image>
  109. 您已帮其他好友砍过此商品
  110. </view>
  111. <view class='bargainBnt' @tap='currentBargainUser'>我也要参与</view>
  112. </view>
  113. <view v-if="startBargainUid != uid && bargainStatus==6">
  114. <view class='bargainSuccess'>
  115. <image :src="urlDomain+'crmebimage/perset/activityImg/chengh.png'"></image>
  116. 已成功帮助好友砍价
  117. </view>
  118. <view class='bargainBnt' @tap='currentBargainUser'>我也要参与</view>
  119. </view>
  120. <view
  121. v-if="parseFloat(bargainUserInfo.surplusPrice) == 0 && startBargainUid == uid && (bargainStatus==4 || bargainStatus==8)">
  122. <view class='bargainSuccess'>
  123. <image :src="urlDomain+'crmebimage/perset/activityImg/chengh.png'"></image>
  124. 恭喜您砍价成功快去支付吧~
  125. </view>
  126. <view class="acea-row row-between buyBox pad30">
  127. <view class='buyMore on' @tap='goBargainList'>继续选购</view>
  128. <view v-if="bargainStatus==4" class='buyNow on' @tap='goPay'>立即支付</view>
  129. <view v-if="bargainStatus==8" class='buyNow on' @tap='goConfirm'>砍价记录</view>
  130. </view>
  131. </view>
  132. <view
  133. v-if="parseFloat(bargainUserInfo.surplusPrice) == 0 && startBargainUid == uid && bargainStatus==9">
  134. <view class='bargainSuccess'>
  135. <image :src="urlDomain+'crmebimage/perset/activityImg/chengh.png'"></image>
  136. 恭喜您砍价成功去看看别的商品吧~
  137. </view>
  138. <view class="buyBox pad30">
  139. <view class='buyMore on' @tap='goBargainList' style="margin: 40rpx auto 0 auto;">继续选购</view>
  140. </view>
  141. </view>
  142. <view v-if="new Date().getTime()- bargainInfo.stopTime >=0">
  143. <view class='huiBtn' @tap='currentBargainUser'>活动已结束</view>
  144. </view>
  145. <view v-else-if="bargainInfo.quota==0">
  146. <view class='huiBtn' @tap='currentBargainUser'>商品已售罄</view>
  147. </view>
  148. <navigator v-if="new Date().getTime()- bargainInfo.stopTime >=0 || bargainInfo.quota==0"
  149. url="/pages/activity/goods_bargain/index" hover-class="none">
  150. <view class="go">再去逛逛<text class="iconfont icon-jiantou"></text></view>
  151. </navigator>
  152. <view v-if="bargainStatus==2" class="contentNo" style="padding: 0;">
  153. <text class="iconfont icon-xiaolian mr8"></text>
  154. 您购买的商品数量已达上限
  155. </view>
  156. <view v-if="bargainStatus==10" class="contentNo" style="padding: 0;">
  157. <view class="pb-25">
  158. <text class="iconfont icon-xiaolian mr8 "></text>
  159. 您已参与
  160. </view>
  161. <view class='bargainBnt skeleton-rect'@tap='goConfirm'>
  162. 查看记录
  163. </view>
  164. </view>
  165. </view>
  166. <!-- 砍价记录 -->
  167. <view class='title font-color acea-row row-center-wrapper skeleton-rect'>
  168. <view class='pictrue'>
  169. <image :src="urlDomain+'crmebimage/perset/activityImg/zuo2.png'"></image>
  170. </view>
  171. <view class="tits">
  172. <view class='titleCon'>砍价记录</view>
  173. <view class="line"></view>
  174. </view>
  175. <view class='pictrue on'>
  176. <image :src="urlDomain+'crmebimage/perset/activityImg/you2.png'"></image>
  177. </view>
  178. </view>
  179. <view class='bargainGang borRadius14 skeleton-rect'>
  180. <view class='list' v-if="bargainUserHelpList.length>0">
  181. <block v-for="(item,index) in bargainUserHelpList" :key='index'
  182. v-if="index<3 || !couponsHidden">
  183. <view class='item acea-row row-between-wrapper'>
  184. <view class='pictxt acea-row row-between-wrapper'>
  185. <view class='pictrue'>
  186. <image :src='item.avatar'></image>
  187. </view>
  188. <view class='text'>
  189. <view class='name line1'>{{item.nickname}}</view>
  190. <view class='line1'>{{item.addTimeStr }}</view>
  191. </view>
  192. </view>
  193. <view class='money'>
  194. 已砍 <text class="font-color-red">{{item.price}}</text>
  195. </view>
  196. </view>
  197. </block>
  198. <view class="open acea-row row-center-wrapper" @click="openTap"
  199. v-if="bargainUserHelpList.length>3">{{couponsHidden?'展开更多':'关闭展开'}}<text class="iconfont"
  200. :class='couponsHidden==true?"icon-xiangxia":"icon-xiangshang"'></text></view>
  201. </view>
  202. <view v-if="bargainUserHelpList.length===0" class="contentNo">
  203. <text class="iconfont icon-xiaolian mr8"></text>
  204. 暂无助力记录
  205. </view>
  206. <!-- <view class='load font-color' v-if="!limitStatus" @tap='getBargainUser'>点击加载更多</view> -->
  207. </view>
  208. <!-- 商品详情 -->
  209. <view class='title font-color acea-row row-center-wrapper'>
  210. <view class='pictrue'>
  211. <image :src="urlDomain+'crmebimage/perset/activityImg/zuo2.png'"></image>
  212. </view>
  213. <view class="tits">
  214. <view class='titleCon'>商品详情</view>
  215. <view class="line"></view>
  216. </view>
  217. <view class='pictrue on'>
  218. <image :src="urlDomain+'crmebimage/perset/activityImg/you2.png'"></image>
  219. </view>
  220. </view>
  221. <view class='goodsDetails borRadius14'>
  222. <view class='conter borRadius14'>
  223. <jyf-parser v-if="bargainInfo.content" :html="bargainInfo.content" ref="article"
  224. :tag-style="tagStyle"></jyf-parser>
  225. <view v-else class="contentNo">
  226. <text class="iconfont icon-xiaolian mr8"></text>
  227. 暂无商品详情
  228. </view>
  229. </view>
  230. </view>
  231. <view class='bargainTip' :class='active==true?"on":""'>
  232. <view class='pictrue' :style="{backgroundImage:'url('+imgHost +'/'+backHead+')'}" v-show="imgHost"></view>
  233. <view v-if="startBargainUid == uid">
  234. <view class='cutOff'>
  235. 您已砍掉<text class='font_color'>{{bargainUserBargainPrice}}</text>
  236. </view>
  237. <view class="bubbleBox">
  238. <view class="bubble"
  239. :style="'left:'+ (bargainUserInfo.bargainPercent>0?bargainUserInfo.bargainPercent-9:0) +'%;'">
  240. <text>{{bargainUserInfo.bargainPercent}}%</text>
  241. </view>
  242. </view>
  243. <view class="cu-progress acea-row row-middle round margin-top">
  244. <view class='acea-row row-middle bg-red'
  245. :style="'width:'+ bargainUserInfo.bargainPercent +'%;'"></view>
  246. </view>
  247. <view class="t1">分享次数越多成功的机会越大哦</view>
  248. <!-- #ifdef MP -->
  249. <button open-type='share' class='tipBnt'>邀请好友帮砍价</button>
  250. <!-- #endif -->
  251. <!-- #ifdef H5 -->
  252. <view class='tipBnt' @tap='getBargainUserBargainPricePoster'>邀请好友帮砍价</view>
  253. <!-- #endif -->
  254. <!-- #ifdef APP-PLUS -->
  255. <view class='tipBnt' @click="posters = true">邀请好友帮砍价</view>
  256. <!-- #endif -->
  257. </view>
  258. <view v-else>
  259. <view class='cutOff'>
  260. 帮好友砍掉<text class='font_color'>{{bargainUserBargainPrice}}</text>
  261. </view>
  262. <view class="bubbleBox">
  263. <view class="bubble"
  264. :style="'left:'+ (bargainUserInfo.bargainPercent>0?bargainUserInfo.bargainPercent-9:0) +'%;'">
  265. <text>{{bargainUserInfo.bargainPercent}}%</text>
  266. </view>
  267. </view>
  268. <view class="cu-progress acea-row row-middle round margin-top">
  269. <view class='acea-row row-middle bg-red'
  270. :style="'width:'+ bargainUserInfo.bargainPercent +'%;'"></view>
  271. </view>
  272. <view class="t1">您也可以砍价低价拿哦快去挑选吧~</view>
  273. <!-- <view class='help font-color'>成功帮砍{{bargainUserBargainPrice}}</view> -->
  274. <!-- <view class='cutOff on'>您也可以砍价低价拿哦快去挑选心仪的商品吧~</view> -->
  275. <view @tap='currentBargainUser' class='tipBnt'>我也要参与</view>
  276. </view>
  277. </view>
  278. </view>
  279. <view class='mask' catchtouchmove="true" v-show='active==true || posters==true || canvasStatus'></view>
  280. </view>
  281. <!-- 分享按钮 -->
  282. <view class="generate-posters acea-row row-middle" :class="posters ? 'on' : ''">
  283. <!-- #ifdef APP-PLUS -->
  284. <view class="item" @click="appShare('WXSceneSession')">
  285. <view class="iconfont icon-weixin3"></view>
  286. <view class="">微信好友</view>
  287. </view>
  288. <view class="item" @click="appShare('WXSenceTimeline')">
  289. <view class="iconfont icon-pengyouquan"></view>
  290. <view class="">微信朋友圈</view>
  291. </view>
  292. <!-- #endif -->
  293. </view>
  294. <!-- 发送给朋友图片 -->
  295. <view class="share-box" v-if="H5ShareBox">
  296. <image :src="urlDomain+'crmebimage/perset/staticImg/share-info.png'" @click="H5ShareBox = false"></image>
  297. </view>
  298. <!-- 海报展示 -->
  299. <view class='poster-pop' v-if="canvasStatus">
  300. <image :src='imagePath'></image>
  301. <!-- #ifndef H5 -->
  302. <view class='save-poster' @click="savePosterPath">保存到手机</view>
  303. <!-- #endif -->
  304. <!-- #ifdef H5 -->
  305. <view class="keep">长按图片保存至相册</view>
  306. <view class="close_box">
  307. <text class='iconfont icon-cha2 close' @tap='close'></text>
  308. </view>
  309. <!-- #endif -->
  310. </view>
  311. <view class="canvas">
  312. <canvas style="width:597px;height:850px;" canvas-id="activityCanvas"></canvas>
  313. <canvas canvas-id="qrcode" :style="{width: `${qrcodeSize}px`, height: `${qrcodeSize}px`}"
  314. style="opacity: 0;" />
  315. </view>
  316. </view>
  317. </template>
  318. <script>
  319. import {
  320. getBargainDetail,
  321. postBargainStartUser,
  322. postBargainStart,
  323. postBargainHelp,
  324. getBargainUser
  325. } from '../../../api/activity.js';
  326. import {imageBase64} from "@/api/public";
  327. import uQRCode from '@/js_sdk/Sansnn-uQRCode/uqrcode.js';
  328. import {postCartAdd} from '../../../api/store.js';
  329. import util from '../../../utils/util.js';
  330. import {toLogin} from '@/libs/login.js';
  331. import {mapGetters} from "vuex";
  332. import { getImageDomain } from '@/api/api.js'
  333. import countDown from '@/components/countDown';
  334. import parser from "@/components/jyf-parser/jyf-parser";
  335. import {
  336. silenceBindingSpread
  337. } from "@/utils";
  338. // #ifdef APP-PLUS
  339. import {
  340. TOKENNAME,
  341. HTTP_H5_URL
  342. } from '@/config/app.js';
  343. // #endif
  344. import { BACK_URL} from '@/config/cache';
  345. const app = getApp();
  346. export default {
  347. components: {
  348. countDown,
  349. "jyf-parser": parser
  350. },
  351. filters: {
  352. picFilter(status) {
  353. const statusMap = {
  354. '0': 'num1',
  355. '1': 'num2',
  356. '2': 'num3'
  357. }
  358. return statusMap[status]
  359. }
  360. },
  361. /**
  362. * 页面的初始数据
  363. */
  364. data() {
  365. return {
  366. urlDomain: this.$Cache.get("imgHost"),
  367. showSkeleton: true, //骨架屏显示隐藏
  368. isNodes: 0, //控制什么时候开始抓取元素节点,只要数值改变就重新抓取
  369. bgColor: {
  370. 'bgColor': '#333333',
  371. 'Color': '#fff',
  372. 'width': '44rpx',
  373. 'timeTxtwidth': '16rpx',
  374. 'isDay': true
  375. },
  376. countDownDay: '00',
  377. countDownHour: '00',
  378. countDownMinute: '00',
  379. countDownSecond: '00',
  380. active: false,
  381. id: 0, //砍价商品id
  382. bargainStatus: 0, //当前用户砍价状态:1-可以参与砍价,2-参与次数已满,3-砍价中,4-已完成,5-可以帮砍,6-已帮砍,7-帮砍次数已满,8-已生成订单未支付,9-已支付
  383. startBargainUid: 0, //开启砍价用户uid
  384. bargainUserInfo: {}, //开启砍价用户信息
  385. //bargainUserId: 0, //开启砍价编号
  386. storeBargainId: 0, // 砍价活动id
  387. bargainInfo: {}, //砍价产品
  388. page: 1,
  389. limit: 5,
  390. limitStatus: false,
  391. bargainUserHelpList: [],
  392. bargainUserHelpInfo: [],
  393. bargainUserBargainPrice: 0, //砍了多少钱
  394. bargainCount: [], //分享人数 浏览人数 参与人数
  395. retunTop: true,
  396. bargainPartake: 0,
  397. isHelp: false,
  398. interval: null,
  399. productStock: 0, //判断是否售罄;
  400. quota: 0, //判断是否已限量;
  401. userBargainStatusHelp: true,
  402. navH: '',
  403. bargainPrice: 0,
  404. datatime: 0,
  405. offest: '',
  406. tagStyle: {
  407. img: 'width:100%;display:block;',
  408. table: 'width:100%',
  409. video: 'width:100%'
  410. },
  411. H5ShareBox: false, //公众号分享图片
  412. systemH: 0,
  413. isAuto: false, //没有授权的不会自动授权
  414. isShowAuth: false, //是否隐藏授权
  415. pages: '',
  416. couponsHidden: true,
  417. loading: false,
  418. loadend: false,
  419. posters: false,
  420. buyPrice: '', //最后砍价购买价格
  421. qrcodeSize: 600,
  422. posterbackgd: '../static/images/bargain_post1.png',
  423. PromotionCode: '', //二维码
  424. canvasStatus: false,
  425. imgTop: '', //商品图base64位
  426. imagePath: '', // 海报图片
  427. theme:app.globalData.theme,
  428. imgHost:'',
  429. backBg:'crmebimage/perset/bargain_header_bg/bargain_header_bg1.jpg',
  430. backHead:'crmebimage/perset/bargain_tip/bargain_tip1.png'
  431. }
  432. },
  433. computed: mapGetters(['isLogin', 'userInfo', 'uid']),
  434. /**
  435. * 生命周期函数--监听页面加载
  436. */
  437. onLoad: function(options) {
  438. setTimeout(() => {
  439. this.isNodes++;
  440. }, 200);
  441. let that = this;
  442. that.$set(that,'theme',that.$Cache.get('theme'));
  443. getImageDomain().then(res=>{
  444. that.$set(that,'imgHost',res.data);
  445. })
  446. switch (that.theme) {
  447. case 'theme1':
  448. that.backBg = 'crmebimage/perset/bargain_header_bg/bargain_header_bg1.jpg';
  449. that.backHead = 'crmebimage/perset/bargain_tip/bargain_tip1.png';
  450. that.posterbackgd = require('../images/bargain_post1.png') // 因为跨域不能使用网络图片,
  451. break;
  452. case 'theme2':
  453. that.backBg = 'crmebimage/perset/bargain_header_bg/bargain_header_bg2.jpg';
  454. that.backHead = 'crmebimage/perset/bargain_tip/bargain_tip2.png';
  455. that.posterbackgd = require('../images/bargain_post2.png')
  456. break;
  457. case 'theme3':
  458. that.backBg = 'crmebimage/perset/bargain_header_bg/bargain_header_bg3.jpg';
  459. that.backHead = 'crmebimage/perset/bargain_tip/bargain_tip3.png';
  460. that.posterbackgd = require('../images/bargain_post3.png')
  461. break;
  462. case 'theme4':
  463. that.backBg = 'crmebimage/perset/bargain_header_bg/bargain_header_bg4.jpg';
  464. that.backHead = 'crmebimage/perset/bargain_tip/bargain_tip4.png';
  465. that.posterbackgd = require('../images/bargain_post4.png')
  466. break;
  467. case 'theme5':
  468. that.backBg = 'crmebimage/perset/bargain_header_bg/bargain_header_bg5.jpg';
  469. that.backHead = 'crmebimage/perset/bargain_tip/bargain_tip5.png';
  470. that.posterbackgd = require('../images/bargain_post5.png')
  471. break;
  472. }
  473. that.$store.commit("PRODUCT_TYPE", 'normal');
  474. // #ifdef MP
  475. uni.getSystemInfo({
  476. success: function(res) {
  477. that.systemH = res.statusBarHeight
  478. that.navH = that.systemH + 10
  479. }
  480. })
  481. // #endif
  482. // 链接进入获取绑定关系id
  483. if(options.spread) app.globalData.spread = options.spread;
  484. var pages = getCurrentPages();
  485. if (pages.length <= 1) {
  486. that.retunTop = false
  487. }
  488. if (options.hasOwnProperty('id') || options.scene) {
  489. if (options.scene) { // 仅仅小程序扫码进入
  490. let qrCodeValue = this.$util.getUrlParams(decodeURIComponent(options.scene));
  491. let mapeMpQrCodeValue = this.$util.formatMpQrCodeData(qrCodeValue);
  492. app.globalData = mapeMpQrCodeValue;
  493. app.globalData.spread = mapeMpQrCodeValue.spread;
  494. this.id = app.globalData.id
  495. }else{
  496. this.id = options.id;
  497. }
  498. }
  499. options.startBargainUid == 'undefined' ? that.startBargainUid = 0 : that.startBargainUid = Number(options
  500. .startBargainUid);
  501. if (this.isLogin) {
  502. if (that.startBargainUid == 0) {
  503. that.startBargainUid = Number(that.$store.state.app.uid)
  504. }
  505. this.storeBargainId = options.storeBargainId ? Number(options.storeBargainId) : 0;
  506. this.page = 1;
  507. } else {
  508. this.$Cache.set(BACK_URL,
  509. '/pages/activity/goods_bargain_details/index?id=' + options.id +
  510. '&startBargainUid=' + this.uid + '&spread=' + this.uid + '&storeBargainId=' + this.storeBargainId
  511. );
  512. toLogin();
  513. }
  514. uni.setNavigationBarTitle({
  515. title: '砍价详情'
  516. })
  517. if(this.isLogin && parseInt(app.globalData.spread)>0){
  518. silenceBindingSpread()
  519. }
  520. },
  521. methods: {
  522. //去支付
  523. goConfirm() {
  524. uni.navigateTo({
  525. url: `/pages/activity/bargain/index`
  526. })
  527. },
  528. // app分享
  529. // #ifdef APP-PLUS
  530. appShare(scene) {
  531. let that = this
  532. let routes = getCurrentPages(); // 获取当前打开过的页面路由数组
  533. let curRoute = routes[routes.length - 1].$page.fullPath // 获取当前页面路由,也就是最后一个打开的页面路由"
  534. let href = HTTP_H5_URL + '/pages/activity/goods_bargain_details/index?id=' + this.id +
  535. '&startBargainUid=' + this
  536. .uid + '&spread=' + this.uid + '&storeBargainId=' + this.storeBargainId;
  537. uni.share({
  538. provider: "weixin",
  539. scene: scene,
  540. type: 0,
  541. href: href,
  542. title: '您的好友' + that.userInfo.nickname + '邀请您帮他砍' + that.bargainInfo.title + ' 快去帮忙吧!',
  543. imageUrl: that.bargainInfo.image,
  544. success: function(res) {
  545. that.posters = false;
  546. },
  547. fail: function(err) {
  548. uni.showToast({
  549. title: '分享失败',
  550. icon: 'none',
  551. duration: 2000
  552. })
  553. that.posters = false;
  554. }
  555. });
  556. },
  557. // #endif
  558. //#ifdef H5
  559. setOpenShare() {
  560. let that = this;
  561. let configTimeline = {
  562. title: "您的好友" +
  563. that.userInfo.nickname +
  564. "邀请您砍价" +
  565. that.bargainInfo.title,
  566. desc: that.bargainInfo.title,
  567. link: window.location.protocol +
  568. "//" +
  569. window.location.host +
  570. '/pages/activity/goods_bargain_details/index?id=' + this.id + '&startBargainUid=' + this
  571. .uid + '&spread=' + this.uid + '&storeBargainId=' + this.storeBargainId,
  572. imgUrl: that.bargainInfo.image
  573. };
  574. if (this.$wechat.isWeixin()) {
  575. this.$wechat.wechatEvevt([
  576. "updateAppMessageShareData",
  577. "updateTimelineShareData",
  578. "onMenuShareAppMessage",
  579. "onMenuShareTimeline"
  580. ],
  581. configTimeline
  582. )
  583. .then(res => {})
  584. .catch(res => {
  585. if (res.is_ready) {
  586. res.wx.updateAppMessageShareData(configTimeline);
  587. res.wx.updateTimelineShareData(configTimeline);
  588. res.wx.onMenuShareAppMessage(configTimeline);
  589. res.wx.onMenuShareTimeline(configTimeline);
  590. }
  591. });
  592. }
  593. },
  594. //#endif
  595. openTap() {
  596. this.$set(this, 'couponsHidden', !this.couponsHidden);
  597. },
  598. // 去商品页
  599. goProduct() {
  600. uni.navigateTo({
  601. url: `/pages/goods/goods_details/index?id=${this.bargainInfo.productId}`
  602. })
  603. },
  604. // 自己砍价;
  605. userBargain: function() {
  606. if (this.uid == this.startBargainUid) {
  607. this.setBargain();
  608. }
  609. },
  610. goBack: function() {
  611. uni.navigateBack({
  612. delta: 1
  613. })
  614. },
  615. // 生成二维码;
  616. make() {
  617. let href = window.location.protocol +
  618. "//" +
  619. window.location.host +
  620. '/pages/activity/goods_bargain_details/index?id=' + this.id + '&startBargainUid=' + this
  621. .uid + '&spread=' + this.uid + '&storeBargainId=' + this.storeBargainId;
  622. uQRCode.make({
  623. canvasId: 'qrcode',
  624. text: href,
  625. size: this.qrcodeSize,
  626. margin: 10,
  627. success: res => {
  628. this.PromotionCode = res;
  629. },
  630. complete: () => {},
  631. fail: res => {
  632. this.$util.Tips({
  633. title: '海报二维码生成失败!'
  634. });
  635. }
  636. })
  637. },
  638. // 商品图片转base64
  639. getImageBase64: function(images) {
  640. let that = this;
  641. imageBase64({
  642. url: images
  643. }).then(res => {
  644. that.imgTop = res.data.code;
  645. })
  646. },
  647. //获取砍价用户信息
  648. gobargainUserInfo: function() {
  649. getBargainUser({
  650. bargainId: this.id,
  651. bargainUserId: this.storeBargainId || 0
  652. }).then(res => {
  653. let bargainUserInfo = res.data;
  654. this.bargainUserInfo = bargainUserInfo;
  655. this.bargainStatus = bargainUserInfo.bargainStatus;
  656. this.storeBargainId = bargainUserInfo.storeBargainUserId;
  657. this.buyPrice = this.$util.$h.Sub(parseFloat(this.bargainPrice), parseFloat(bargainUserInfo
  658. .alreadyPrice))
  659. this.bargainUserHelpList = bargainUserInfo.userHelpList || [];
  660. //#ifdef H5
  661. if (bargainUserInfo.storeBargainUserId) this.make();
  662. this.setOpenShare();
  663. //#endif
  664. }).catch(err => {
  665. //状态异常返回上级页面
  666. return this.$util.Tips({
  667. title: err.toString()
  668. }, {
  669. tab: 3,
  670. url: 1
  671. });
  672. });
  673. },
  674. goPay: function() { //立即支付
  675. if (this.isLogin === false) {
  676. toLogin();
  677. } else {
  678. // 预下单
  679. this.$Order.getPreOrder("buyNow", [{
  680. "attrValueId": parseFloat(this.bargainInfo.attrValueId),
  681. "bargainId": parseFloat(this.id),
  682. "productNum": 1,
  683. "productId": parseFloat(this.bargainInfo.productId),
  684. "bargainUserId": parseFloat(this.storeBargainId)
  685. }]);
  686. }
  687. },
  688. //获取砍价产品详情
  689. getBargainDetails: function() {
  690. var that = this;
  691. getBargainDetail(that.id).then(function(res) {
  692. let bargainInfo = res.data;
  693. that.bargainInfo = bargainInfo;
  694. that.bargainPrice = bargainInfo.price;
  695. that.quota = bargainInfo.quota;
  696. that.datatime = bargainInfo.stopTime / 1000;
  697. that.pages = '/pages/activity/goods_bargain_details/index?id=' + that.id +
  698. '&startBargainUid=' + that
  699. .uid + '&spread=' + that.uid + '&storeBargainId=' + that.storeBargainId;
  700. uni.setNavigationBarTitle({
  701. title: bargainInfo.title.substring(0, 13) + '...'
  702. })
  703. that.bargainUserHelpList = []
  704. if (that.isLogin && that.quota > 0 && new Date().getTime() - bargainInfo.stopTime < 0) {
  705. that.gobargainUserInfo();
  706. } else {
  707. that.buyPrice = that.bargainPrice;
  708. }
  709. //#ifdef H5
  710. that.getImageBase64(bargainInfo.image);
  711. //#endif
  712. setTimeout(() => {
  713. that.showSkeleton = false
  714. }, 1000)
  715. }).catch(function(err) {
  716. that.$util.Tips({
  717. title: err
  718. }, {
  719. tab: 2,
  720. url: '/pages/activity/goods_bargain/index'
  721. });
  722. })
  723. },
  724. currentBargainUser: function() { //当前用户砍价
  725. this.page = 1;
  726. uni.navigateTo({
  727. url: '/pages/activity/goods_bargain_details/index?id=' + this.id + '&startBargainUid=' +
  728. this.uid
  729. });
  730. },
  731. setBargain: function() { //参与砍价
  732. var that = this;
  733. postBargainStart(that.id).then(res => {
  734. if (res.code === 'subscribe') {
  735. return;
  736. }
  737. this.storeBargainId = res.data.storeBargainUserId;
  738. that.setBargainHelp();
  739. that.userBargainStatus = 1;
  740. //#ifdef H5
  741. that.make();
  742. //#endif
  743. }, error => {
  744. this.startBargainUid = 0;
  745. that.$util.Tips({
  746. title: error
  747. })
  748. })
  749. },
  750. //帮好友砍价
  751. setBargainHelp: function() {
  752. var data = {
  753. bargainId: this.id,
  754. bargainUserId: this.storeBargainId,
  755. bargainUserUid: this.startBargainUid
  756. };
  757. postBargainHelp(data).then(res => {
  758. this.$set(this, 'bargainUserHelpList', []);
  759. this.$set(this, 'bargainUserBargainPrice', res.data.bargainPrice);
  760. this.$set(this, 'active', true);
  761. this.gobargainUserInfo();
  762. }).catch(err => {
  763. this.$util.Tips({
  764. title: err
  765. })
  766. this.$set(this, 'bargainUserHelpList', []);
  767. })
  768. },
  769. getBargainUserBargainPricePoster: function() {
  770. var that = this;
  771. this.active = false
  772. uni.showLoading({
  773. title: '海报生成中',
  774. mask: true
  775. });
  776. this.posters = false;
  777. let arrImagesUrl = '';
  778. let arrImagesUrlTop = '';
  779. if (!this.PromotionCode) {
  780. uni.hideLoading();
  781. this.$util.Tips({
  782. title: this.errT
  783. });
  784. return
  785. }
  786. setTimeout(() => {
  787. if (!this.imgTop) {
  788. uni.hideLoading();
  789. this.$util.Tips({
  790. title: '无法生成商品海报!'
  791. });
  792. return
  793. }
  794. }, 1000);
  795. uni.downloadFile({
  796. url: this.imgTop,
  797. success: (res) => {
  798. arrImagesUrlTop = res.tempFilePath;
  799. let arrImages = [this.posterbackgd, arrImagesUrlTop, this.PromotionCode];
  800. setTimeout(() => {
  801. this.$util.activityCanvas(arrImages, this.bargainInfo.title, this
  802. .buyPrice, '已砍至', '还剩' + this.bargainUserInfo
  803. .surplusPrice + '元砍价成功', 0,
  804. (tempFilePath) => {
  805. this.imagePath = tempFilePath;
  806. this.canvasStatus = true;
  807. uni.hideLoading();
  808. });
  809. }, 500);
  810. }
  811. });
  812. },
  813. goBargainList: function() {
  814. uni.navigateTo({
  815. url: '/pages/activity/goods_bargain/index',
  816. })
  817. },
  818. close: function() {
  819. this.$set(this, 'active', false);
  820. this.$set(this, 'posters', false);
  821. this.$set(this, 'canvasStatus', false);
  822. },
  823. // 返回
  824. returns() {
  825. uni.switchTab({
  826. url:'/pages/index/index'
  827. })
  828. },
  829. backList(){
  830. uni.navigateTo({
  831. url:'/pages/activity/goods_bargain/index'
  832. })
  833. }
  834. },
  835. /**
  836. * 生命周期函数--监听页面初次渲染完成
  837. */
  838. onReady: function() {
  839. },
  840. /**
  841. * 生命周期函数--监听页面显示
  842. */
  843. onShow: function() {
  844. //校验token是否有效,true为有效,false为无效
  845. this.$LoginAuth.getTokenIsExist().then(data => {
  846. if (data) {
  847. this.getBargainDetails();
  848. }
  849. });
  850. },
  851. /**
  852. * 生命周期函数--监听页面隐藏
  853. */
  854. onHide: function() {
  855. if (this.interval !== null) clearInterval(this.interval);
  856. },
  857. /**
  858. * 生命周期函数--监听页面卸载
  859. */
  860. onUnload: function() {
  861. if (this.interval !== null) clearInterval(this.interval);
  862. },
  863. //#ifdef MP
  864. /**
  865. * 用户点击右上角分享
  866. */
  867. onShareAppMessage: function() {
  868. let that = this,
  869. share = {
  870. title: '您的好友' + that.userInfo.nickname + '邀请您帮他砍' + that.bargainInfo.title + ' 快去帮忙吧!',
  871. path: '/pages/activity/goods_bargain_details/index?id=' + this.id + '&startBargainUid=' + this
  872. .startBargainUid + '&spread=' + this.uid + '&storeBargainId=' + this.storeBargainId,
  873. imageUrl: that.bargainInfo.image,
  874. };
  875. that.close();
  876. return share;
  877. },
  878. //#endif
  879. }
  880. </script>
  881. <style lang="scss">
  882. page {
  883. @include main_bg_color(theme);
  884. }
  885. </style>
  886. <style lang="scss" scoped>
  887. .home_back{
  888. display: block;
  889. color: #000;
  890. font-size: 32px;
  891. text-align: center;
  892. width: 58rpx;
  893. height: 58rpx;
  894. line-height: 58rpx;
  895. background: rgba(255, 255, 255, 0.3);
  896. border: 1px solid rgba(0, 0, 0, 0.1);
  897. border-radius: 50%;
  898. margin-bottom: 20rpx;
  899. margin-left: 20rpx;
  900. }
  901. .select_nav{
  902. width: 170rpx !important;
  903. height: 60rpx !important;
  904. border-radius: 33rpx;
  905. background: rgba(0, 0, 0, 0.4);
  906. border: 1px solid rgba(0,0,0,0.1);
  907. color: #fff;
  908. font-size: 18px;
  909. line-height: 58rpx;
  910. position: relative;
  911. left: 20rpx;
  912. }
  913. .px-20{
  914. padding: 0 20rpx 0;
  915. }
  916. .justify-center{
  917. justify-content: center;
  918. }
  919. .align-center {
  920. align-items: center;
  921. }
  922. .nav_line{
  923. content: '';
  924. display: inline-block;
  925. width: 1px;
  926. height: 34rpx;
  927. background: rgba(255, 255, 255, 0.1);
  928. position: absolute;
  929. left: 0;
  930. right: 0;
  931. margin: auto;
  932. }
  933. .userEvaluation {
  934. i {
  935. display: inline-block;
  936. }
  937. }
  938. .bargain{
  939. /* #ifdef MP || APP-PLUS */
  940. @include main_bg_color(theme);
  941. /* #endif */
  942. height: 100vh;
  943. overflow: auto;
  944. }
  945. .go {
  946. color: #E93323;
  947. text-align: center;
  948. font-size: 28rpx;
  949. margin-top: 26rpx;
  950. .iconfont {
  951. font-size: 11px
  952. }
  953. }
  954. .poster-pop {
  955. width: 594rpx;
  956. height: 850rpx;
  957. position: fixed;
  958. left: 50%;
  959. transform: translateX(-50%);
  960. z-index: 999;
  961. top: 50%;
  962. margin-top: -466rpx;
  963. image {
  964. width: 100%;
  965. height: 100%;
  966. display: block;
  967. border-radius: 10rpx;
  968. }
  969. .close_box{
  970. text-align: center;
  971. margin-top: 55rpx;
  972. }
  973. .close {
  974. color: #fff;
  975. font-size: 52rpx;
  976. }
  977. .save-poster {
  978. background-color: #df2d0a;
  979. font-size: 22rpx;
  980. color: #fff;
  981. text-align: center;
  982. height: 76rpx;
  983. line-height: 76rpx;
  984. width: 100%;
  985. }
  986. .keep {
  987. color: #fff;
  988. text-align: center;
  989. font-size: 25rpx;
  990. margin-top: 25rpx;
  991. }
  992. }
  993. .canvas {
  994. position: fixed;
  995. opacity: 0;
  996. }
  997. .font_hui {
  998. color: #CCCCCC !important;
  999. }
  1000. .bg_qian {
  1001. background-color: #F5F5F5 !important;
  1002. }
  1003. .font-color-red {
  1004. font-weight: 800;
  1005. @include price_color(theme);
  1006. }
  1007. .huiBtn {
  1008. font-size: 30rpx;
  1009. font-weight: bold;
  1010. color: #fff;
  1011. width: 630rpx;
  1012. height: 80rpx;
  1013. text-align: center;
  1014. line-height: 80rpx;
  1015. margin: 0 auto;
  1016. background-color: #CCCCCC;
  1017. // box-shadow: 0 7rpx 0 #AAAAAA;
  1018. border-radius: 40rpx;
  1019. }
  1020. .huifont {
  1021. color: #CCCCCC;
  1022. }
  1023. .buyBox {
  1024. margin-top: 40rpx;
  1025. .on {
  1026. width: 300rpx;
  1027. height: 80rpx;
  1028. border-radius: 40rpx;
  1029. font-size: 32rpx;
  1030. color: #fff;
  1031. text-align: center;
  1032. line-height: 80rpx;
  1033. }
  1034. .buyNow {
  1035. @include linear-gradient(theme);
  1036. // box-shadow: 0 7rpx 0 #C11100;
  1037. }
  1038. .buyMore {
  1039. background: linear-gradient(180deg, #FFCA52 0%, #FE960F 100%);
  1040. // box-shadow: 0 7rpx 0 #D87A00;
  1041. }
  1042. }
  1043. .mr8 {
  1044. margin-right: 8rpx;
  1045. }
  1046. .contentNo {
  1047. width: 100%;
  1048. padding: 50rpx 15rpx;
  1049. text-align: center;
  1050. font-size: 26rpx;
  1051. color: #AAAAAA;
  1052. }
  1053. .generate-posters {
  1054. width: 100%;
  1055. height: 170rpx;
  1056. background-color: #fff;
  1057. position: fixed;
  1058. left: 0;
  1059. bottom: 0;
  1060. z-index: 388;
  1061. transform: translate3d(0, 100%, 0);
  1062. transition: all 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9);
  1063. border-top: 1rpx solid #eee;
  1064. }
  1065. .generate-posters.on {
  1066. transform: translate3d(0, 0, 0);
  1067. }
  1068. .generate-posters .item {
  1069. flex: 1;
  1070. text-align: center;
  1071. font-size: 30rpx;
  1072. }
  1073. .generate-posters .item .iconfont {
  1074. font-size: 80rpx;
  1075. color: #5eae72;
  1076. }
  1077. .generate-posters .item .iconfont.icon-haibao {
  1078. color: #5391f1;
  1079. }
  1080. .bargain .bargainGang {
  1081. background-color: #fff;
  1082. .list {
  1083. padding: 50rpx 30rpx 0 30rpx;
  1084. }
  1085. .open {
  1086. font-size: 24rpx;
  1087. color: #999;
  1088. margin-top: 30rpx;
  1089. }
  1090. .helpNo {
  1091. text-align: center;
  1092. font-size: 26rpx;
  1093. color: #AAAAAA;
  1094. }
  1095. }
  1096. .bargain .bargainGang .open .iconfont {
  1097. font-size: 25rpx;
  1098. margin: 5rpx 0 0 10rpx;
  1099. }
  1100. .bargain .icon-xiangzuo {
  1101. font-size: 24rpx;
  1102. margin-right: 6px;
  1103. }
  1104. .bargain .header {
  1105. // @include bargain-header-bg(theme);
  1106. background-repeat: no-repeat;
  1107. background-size: 100% 100%;
  1108. width: 100%;
  1109. height: 340rpx;
  1110. margin: 0 auto;
  1111. padding-top: 20rpx;
  1112. .back {
  1113. width: 235rpx;
  1114. height: 54rpx;
  1115. @include second-gradient(theme);
  1116. opacity: 1;
  1117. border-radius: 0px 27rpx 27rpx 0px;
  1118. line-height: 54rpx;
  1119. text-align: center;
  1120. color: #6E3F00;
  1121. font-size: 28rpx;
  1122. }
  1123. }
  1124. .bargain .header .pictxt {
  1125. margin: 330rpx auto 0 auto;
  1126. font-size: 26rpx;
  1127. color: #fff;
  1128. }
  1129. .bargain .header .pictxt .pictrue {
  1130. width: 56rpx;
  1131. height: 56rpx;
  1132. margin-right: 30rpx;
  1133. }
  1134. .bargain .header .pictxt .pictrue image {
  1135. width: 100%;
  1136. height: 100%;
  1137. border-radius: 50%;
  1138. border: 2rpx solid #fff;
  1139. }
  1140. .bargain .header .pictxt .text {
  1141. margin-left: 20rpx;
  1142. }
  1143. .bargain .header .pictxt .text text {
  1144. margin-left: 20rpx;
  1145. }
  1146. .bargain .header .time {
  1147. background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAbgAAACmCAMAAACfv2reAAAAk1BMVEUAAAD/nSL/oCj/oCj/nSH/nSH/oCj/mhr/mhr/oCj/oCj/oCj/nSH/niT/mhr/mhr/oCj/mhr/oCj/oCj/mhr/niP/oCj/oCj/mhr/////oCj/mhr/nyT/w3f/rkf/rEL/pjT/tlr/xXv/uF3//vz/vmv/wXP/vWr/79r/1aD/05r/wXL/nB//5MH/+/X/t1r/5MP28hXaAAAAGXRSTlMABvndiVtUVPjkOC8Dk+DarKyQC+QH86amYv5b+wAAA6JJREFUeNrs3Nlu4kAQheEyGOywBkImcR8Sh7Avycz7P920G8l3MYtccko63wXc969GXuiS20XJ6ygF1SQdvyaRiL5kDKrZOBFtgxjID7tVRjVZ7Q45EA9EV4z5ntVqttqfEIuqBKevjGr3dUIiiqIZ9hkp2GMWiZ4Ocv5Oqljl6IieCQ4ZqThgInpG2GWkYoeR6EnBX0olK6SiB8hICSAlhjOE4YxiOKMYziiGM4rhjGI4o5TCIWA4PQhqzzcPGE4PMA9q3m0fAcPpKdfYk3o47z1gOD3Ae+A8qUfuLby/C4bTA5zXOPekHktvu11v12uG0wOc13jpybWi7ku75X6yOR43bwHD6QHegmK13U/+tF+6kZS6bVfls8RweoDPkqvS7pZ/lXTVNpvNkTtOW7nj/Gq7avFACrG7YOlt196W4fQA5zVeeu6CWLyu81rT3lP1VWWBV5WKgEVQeVX51Bu2nNcViR7890Of93EKVO7j+iFYJJ1iv/XlEj450QZ8BHJJv9hzHXn0n1M+q2ze9c8qpz7Zo7T9Z4+vdZoHyJV6Pllbin0XMVzzrg/37JO1xHl8kfoLAHIt5zHcb8FwRjGcUQxnFMMZdU84HrNq3jdSxXBjHmzUssPo9nA8Sty8Aya3h+Ph/caFw/s3h+O4jMbtMXtWDCcJTv8yqqQ/oKYMx5FQDSpHQumGGww5hK1e32EI23BwTziOPWzYOBFRDydRZ8JBo/VJR5NOJHeGI1MYziiGM4rhjGI4oxjOKIYziuGMYjijGM4ohjOK4YxiOKMYziiGM4rhjGI4oxjOKIYziuH+s0cHJAAAAACC/r9uR6AXnBI3JW5K3JS4KXFT4qbETYmbEjclbkrclLgpcVPipsRNiZsSNyVuStyUuClxU+KmxE2JmxI3JW5K3JS4KXFT4qbETYmbEjclbkrclLgpcVPipsRNiZsSNyVuStyUuClxU+KmxE2JmxI3JW5K3JS4KXFT4qbETYmbEjclbkrclLgpcVPipsRNiZsSNyVuStyUuClxtUdHJwzDUAxFZTs2xInBxLQf2n/QvrTQGSLQ+ZAGuKIcTpTDiXI4UQ4nyuFEOZwohxPlcKIcTpTDiXI4UQ4nyuFEOZwohxPlcKIcThQD3jEJJmSRzCixHSakkyyYsRdMyCA5UWPzAZNxZJIVaY/bXU7G8Q32AhpDvvqCPd7qIzM0hI0mZsPtHDQp48RPKzQZpeEv1Vky7fFymTXh9gGY1gZJcqJI8QAAAABJRU5ErkJggg==');
  1148. background-repeat: no-repeat;
  1149. background-size: 100% 100%;
  1150. width: 440rpx;
  1151. height: 166rpx;
  1152. margin: 0 auto;
  1153. font-size: 22rpx;
  1154. text-align: center;
  1155. padding-top: 11rpx;
  1156. box-sizing: border-box;
  1157. }
  1158. .bargain .header .time .red {
  1159. color: #fc4141;
  1160. }
  1161. .bargain .header .people {
  1162. text-align: center;
  1163. color: #fff;
  1164. font-size: 20rpx;
  1165. position: absolute;
  1166. width: 85%;
  1167. /* #ifdef MP || APP-PLUS */
  1168. height: 44px;
  1169. line-height: 44px;
  1170. top: 40rpx;
  1171. /* #endif */
  1172. /* #ifdef H5 */
  1173. top: 58rpx;
  1174. /* #endif */
  1175. }
  1176. .bargain .header .time text {
  1177. color: #333;
  1178. }
  1179. .bargain {
  1180. .wrapper {
  1181. margin-top: -100rpx;
  1182. .pictxt {
  1183. width: 100%;
  1184. height: 260rpx;
  1185. background-color: #FFF5E6;
  1186. padding: 20rpx;
  1187. border-radius: 14rpx;
  1188. }
  1189. .surplus {
  1190. color: #999999;
  1191. font-size: 22rpx;
  1192. }
  1193. }
  1194. .content {
  1195. width: 100%;
  1196. height: auto;
  1197. // background-image: url('../static/zhuangshi.png');
  1198. background-size: 100% 100%;
  1199. background-color: #fff;
  1200. border-bottom-left-radius: 14rpx;
  1201. border-bottom-right-radius: 14rpx;
  1202. padding: 40rpx 0 70rpx 0;
  1203. .money {
  1204. color: #333333;
  1205. font-size: 36rpx;
  1206. .price {}
  1207. }
  1208. }
  1209. }
  1210. .bargain .wrapper,
  1211. {
  1212. // background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAArIAAAF8CAYAAAAzc1jZAAAco0lEQVR4Xu3dW4zc513H4feddWynQU1FY69zKvZuysENPqx7SFFRU4JEi+ACCVUUiQsuqYQ4VIWCchEuoAIFqRdI5QrlgkNLqQpSJA5VSWkKqKK7DkKuqIQ3RnUTe40CJRSSNDt/ZEeF1LGTmdnffuP1PLntzPf3n2fm4tMoTnrzFwECBAgQIECAAIEdKNB34DN7ZAIECBAgQIAAAQJNyPoRECBAgAABAgQI7EgBIbsjvzYPTYAAAQIECBAgIGT9BggQIECAAAECBHakgJDdkV+bhyZAgAABAgQIEBCyfgMECBAgQIAAAQI7TuD8iaX3C9kd97V5YAIECBAgQIDA/AoMrfWNlUO/2frog0J2fn8HPjkBAgQIECBAYEcJDHfdtWfj5vHvt9Z//OKDC9kd9fV5WAIECBAgQIDAfApsHN73bW3vax8eenvnNwWE7Hz+FnxqAgQIECBAgMCOETj73be/ftdr9vx57/0tL35oIbtjvkIPSoAAAQIECBCYP4GzR26/Y/euvX819PY9l396ITt/vwefmAABAgQIECCwIwS+evdtd+7ac+MjrbXlKz2wkN0RX6OHJECAAAECBAjMl8CTxw4eHC0sfKa1tnS1Ty5k5+s34dMSIECAAAECBK55gSdOLL1h1Prne2t3vtzDCtlr/qv0gAQIECBAgACB+RG4+Ae7dr9m76NX+mdiL1cQsvPzu/BJCRAgQIAAAQLXtMC5I4s39Rtu+uvW+lsneVAhO4mS1xAgQIAAAQIECGyrwNDaro2V5Ydbbz806SEhO6mU1xEgQIAAAQIECGybwMbK0u8Nvf/0NAeE7DRaXkuAAAECBAgQIFAusHFi6UND6x+edljITivm9QQIECBAgAABAmUCF1aWfmTc2p+13kfTjgrZacW8ngABAgQIECBAoERg49jSG4eF/sXW2mtnGRSys6h5DwECBAgQIECAwJYETh1uu/fduPz3Q2srsw4J2VnlvI8AAQIECBAgQGBmgfPHlx9so/aBmQdaa0J2K3reS4AAAQIECBAgMLXAuZWD9/Q++nxrfWHqN7/oDUJ2K3reS4AAAQIECBAgMJXA0FrfWFn+Yuuz/yMF3zwoZKei92ICBAgQIECAAIGtCFw4tvST44X+B1vZELIVejYIECBAgAABAgSmEji/svx3rbe3T/Wmq7zY35GtULRBgAABAgQIECAwscCFo0vfubkwvre30duH3t7cW7974je/6IVCdhY17yFAgAABAgQIECgTePL4gX297b2v99G9rbd7W+vfNcm4kJ1EyWsIECBAgAABAgRiAufvPrTYb2jfP4zakdZGR/owvHPo/XWXP4CQjX0lDhEgQIAAAQIECMwiMLQ2unD0O44Ou0b39WF039CHt7bWv13IzqLpPQQIECBAgAABAq+qwLkTB98mZF/Vr8BxAgQIECBAgACBWQX6V+6448Y7z579n1kHvI8AAQIECBAgQIDAqyHQz60sf3bh61/70X1f/renX40HcJMAAQIECBAgQIDALAL9/InloQ3DF/ozT//g/i9d+K9ZRryHAAECBAgQIECAQFrghZC9+NcwPNqfefqHxWz6K3CPAAECBAgQIEBgFoH/D9kXavbT+1fX39Nb25xlzHsIECBAgAABAgQIpAQuC9mLf2N2+MiBtfVfSD2AOwQIECBAgAABAgRmEXhJyF4cGY0337fv5JmPzTLoPQQIECBAgAABAgQSAlcM2TYMX1/4xvjNt/zTmX9OPIQbBAgQIECAAAECBKYVuHLIttb6MPzDqbX173tXa89PO+r1BAgQIECAAAECBLZb4Kohe/HwMLRfP7B2+v7tfgj7BAgQIECAAAECBKYVeNmQbW3Y3BwPP3Dbycc/N+2w1xMgQIAAAQIECBDYToFXCNlLf1/2y//5tfWjb/yX9ux2PohtAgQIECBAgAABAtMITBCyl/4ZgwcW19Z/bZphryVAgAABAgQIECCwnQKThWxr3xi15+/Zt/qva9v5MLYJECBAgAABAgQITCowache/INfq59bO/229/qvfk1q63UECBAgQIAAAQLbKDBxyF56hvHw/sWT6x/dxucxTYAAAQIECBAgQGAigelCdhj+/blnn7vrzlNnn5po3YsIECBAgAABAgQIbJPAdCH7wr9b9ncOrJ3+2W16HrMECBAgQIAAAQIEJhKYOmR7a8+P2ub33rLqP187kbAXESBAgAABAgQIbIvADCE7fGW82T504LH1P9yWJzJKgAABAgQIECBAYAKBiUK2D+2r42H8yfG4f+LWf1z/297aMMG2lxAgQIAAAQIECBDYNoGXCdnhfBvaJ/swfHzfyccfFa/b9h0YJkCAAAECBAgQmEHgW0N2aBeGNv5UH/on/ubk+iP+nbEziHoLAQIECBAgQIBARKCfX1l6amjtU70PH9+/+vhnuv/gQQTeEQIECBAgQIAAga0J9FOH2+43fak9t7UZ7yZAgAABAgQIECCQFejZc64RIECAAAECBAgQqBEQsjWOVggQIECAAAECBMICQjYM7hwBAgQIECBAgECNgJCtcbRCgAABAgQIECAQFhCyYXDnCBAgQIAAAQIEagSEbI2jFQIECBAgQIAAgbCAkA2DO0eAAAECBAgQIFAjIGRrHK0QIECAAAECBAiEBYRsGNw5AgQIECBAgACBGgEhW+NohQABAgQIECBAICwgZMPgzhEgQIAAAQIECNQICNkaRysECBAgQIAAAQJhASEbBneOAAECBAgQIECgRkDI1jhaIUCAAAECBAgQCAsI2TC4cwQIECBAgAABAjUCQrbG0QoBAgQIECBAgEBYQMiGwZ0jQIAAAQIECBCoERCyNY5WCBAgQIAAAQIEwgJCNgzuHAECBAgQIECAQI2AkK1xtEKAAAECBAgQIBAWELJhcOcIECBAgAABAgRqBIRsjaMVAgQIECBAgACBsICQDYM7R4AAAQIECBAgUCMgZGscrRAgQIAAAQIECIQFhGwY3DkCBAgQIECAAIEaASFb42iFAAECBAgQIEAgLCBkw+DOESBAgAABAgQI1AgI2RpHKwQIECBAgAABAmEBIRsGd44AAQIECBAgQKBGQMjWOFohQIAAAQIECBAICwjZMLhzBAgQIECAAAECNQJCtsbRCgECBAgQIECAQFhAyIbBnSNAgAABAgQIEKgRELI1jlYIECBAgAABAgTCAkI2DO4cAQIECBAgQIBAjYCQrXG0QoAAAQIECBAgEBYQsmFw5wgQIECAAAECBGoEhGyNoxUCBAgQIECAAIGwgJANgztHgAABAgQIECBQIyBkaxytECBAgAABAgQIhAWEbBjcOQIECBAgQIAAgRoBIVvjaIUAAQIECBAgQCAsIGTD4M4RIECAAAECBAjUCAjZGkcrBAgQIECAAAECYQEhGwZ3jgABAgQIECBAoEZAyNY4WiFAgAABAgQIEAgLCNkwuHMECBAgQIAAAQI1AkK2xtEKAQIECBAgQIBAWEDIhsGdI0CAAAECBAgQqBEQsjWOVggQIECAAAECBMICQjYM7hwBAgQIECBAgECNgJCtcbRCgAABAgQIECAQFhCyYXDnCBAgQIAAAQIEagSEbI2jFQIECBAgQIAAgbCAkA2DO0eAAAECBAgQIFAjIGRrHK0QIECAAAECBAiEBYRsGNw5AgQIECBAgACBGgEhW+NohQABAgQIECBAICwgZMPgzhEgQIAAAQIECNQICNkaRysECBAgQIAAAQJhASEbBneOAAECBAgQIECgRkDI1jhaIUCAAAECBAgQCAsI2TC4cwQIECBAgAABAjUCQrbG0QoBAgQIECBAgEBYQMiGwZ0jQIAAAQIECBCoERCyNY5WCBAgQIAAAQIEwgJCNgzuHAECBAgQIECAQI2AkK1xtEKAAAECBAgQIBAWELJhcOcIECBAgAABAgRqBIRsjaMVAgQIECBAgACBsICQDYM7R4AAAQIECBAgUCMgZGscrRAgQIAAAQIECIQFhGwY3
  1213. // babackground-repeat: no-repeat;
  1214. // background-size: 100% 100%;
  1215. width: 100%;
  1216. background-color: #fff;
  1217. padding: 0 24rpx 10rpx 24rpx;
  1218. box-sizing: border-box;
  1219. }
  1220. .bargain .pictxt .pictrue {
  1221. width: 220rpx;
  1222. height: 220rpx;
  1223. position: relative;
  1224. }
  1225. .bargain .pictxt .pictrue image {
  1226. width: 100%;
  1227. height: 100%;
  1228. border-radius: 6rpx;
  1229. }
  1230. .bargain .pictxt .text {
  1231. font-size: 30rpx;
  1232. color: #333333;
  1233. .line1 {
  1234. width: 324rpx;
  1235. }
  1236. }
  1237. .bargain .pictxt .text .money {
  1238. font-weight: bold;
  1239. font-size: 24rpx;
  1240. }
  1241. .bargain .pictxt .text .money .num {
  1242. font-size: 36rpx;
  1243. }
  1244. .bargain .pictxt .text .successNum {
  1245. font-size: 22rpx;
  1246. color: #999;
  1247. }
  1248. .bargain .cu-progress {
  1249. overflow: hidden;
  1250. height: 12rpx;
  1251. background-color: #eee;
  1252. width: 560rpx;
  1253. height: 20rpx;
  1254. border-radius: 20rpx;
  1255. margin: 20rpx auto;
  1256. }
  1257. .bargain .cu-progress .bg-red {
  1258. width: 0;
  1259. height: 100%;
  1260. transition: width 0.6s ease;
  1261. border-radius: 20rpx;
  1262. @include linear-gradient(theme);
  1263. }
  1264. .bargain .money {
  1265. // font-size: 22rpx;
  1266. // color: #999;
  1267. // margin-top: 40rpx;
  1268. }
  1269. .bargain .bargainSuccess {
  1270. font-size: 26rpx;
  1271. color: #333333;
  1272. text-align: center;
  1273. display: flex;
  1274. justify-content: center;
  1275. align-items: center;
  1276. margin-bottom: 40rpx;
  1277. image {
  1278. width: 48rpx;
  1279. height: 62rpx;
  1280. margin-right: 18rpx;
  1281. }
  1282. }
  1283. .bargain .bargainSuccess .iconfont {
  1284. font-size: 45rpx;
  1285. color: #54c762;
  1286. padding-right: 18rpx;
  1287. vertical-align: -5rpx;
  1288. }
  1289. .bargain .bargainBnt {
  1290. font-size: 30rpx;
  1291. font-weight: bold;
  1292. color: #fff;
  1293. width: 630rpx;
  1294. height: 80rpx;
  1295. // background-image: url('../static/btn.png');
  1296. background-size: 100% 100%;
  1297. border-radius: 40rpx;
  1298. @include bargain-btn(theme);
  1299. text-align: center;
  1300. line-height: 80rpx;
  1301. margin: 0 auto;
  1302. }
  1303. .pb-25{
  1304. padding-bottom: 25rpx;
  1305. }
  1306. .bargain .bargainBnt.on {
  1307. border: 2rpx solid $theme-color;
  1308. color: $theme-color;
  1309. background-image: linear-gradient(to right, #fff 0%, #fff 100%);
  1310. width: 596rpx;
  1311. height: 76rpx;
  1312. }
  1313. .bargain .bargainBnt.grey {
  1314. color: #fff;
  1315. background-image: linear-gradient(to right, #bbbbbb 0%, #bbbbbb 100%);
  1316. }
  1317. .bargain .tip {
  1318. font-size: 22rpx;
  1319. color: #999;
  1320. text-align: center;
  1321. margin-top: 20rpx;
  1322. margin-bottom: 50rpx;
  1323. }
  1324. .bargain .lock,
  1325. .bargain .bargainGang .lock,
  1326. .bargain .goodsDetails .lock {
  1327. background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAiQAAABCCAYAAABnwc0eAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo4YmQzMTQ1Ny01MGY2LWFmNDMtYmY4Yi1kNWRjZTMxZDg5MTUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6M0RCMkU3QUEzQzBCMTFFOUI2N0VEOEJBMDUwMTU2ODMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6M0RCMkU3QTkzQzBCMTFFOUI2N0VEOEJBMDUwMTU2ODMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NDRmMWQxNmItZTIxMC1lYzQwLWJmODYtYzE4OWRiYzNmOGYyIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjhiZDMxNDU3LTUwZjYtYWY0My1iZjhiLWQ1ZGNlMzFkODkxNSIv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
  1328. background-repeat: no-repeat;
  1329. background-size: 100% 100%;
  1330. width: 548rpx;
  1331. height: 66rpx;
  1332. position: absolute;
  1333. left: 50%;
  1334. transform: translateX(-50%);
  1335. bottom: -43rpx;
  1336. z-index: 5;
  1337. }
  1338. .bargain .title {
  1339. font-size: 40rpx;
  1340. font-weight: 600;
  1341. // height: 80rpx;
  1342. // margin-top: 30rpx;
  1343. }
  1344. .bargain .title .pictrue {
  1345. width: 60rpx;
  1346. height: 60rpx;
  1347. }
  1348. .bargain .title .pictrue.on,
  1349. .bargain .title .pictrue.on {
  1350. transform: rotate(180deg);
  1351. }
  1352. .bargain .title .pictrue image,
  1353. .bargain .title .pictrue image {
  1354. width: 100%;
  1355. height: 100%;
  1356. display: block;
  1357. }
  1358. .bargain .title .tits {
  1359. margin: 50rpx 15rpx 40rpx 15rpx;
  1360. }
  1361. .bargain .title .titleCon {
  1362. margin: 0 10rpx -14rpx 10rpx;
  1363. color: #fff;
  1364. border: 16rpx solid linear-gradient(0deg, #FFD136 0%, rgba(255, 213, 72, 0.12) 100%);
  1365. ;
  1366. }
  1367. .bargain .title .line {
  1368. // width: 216rpx;
  1369. height: 16rpx;
  1370. background: linear-gradient(0deg, #FFD136 0%, rgba(255, 213, 72, 0.12) 100%);
  1371. opacity: 0.6;
  1372. }
  1373. .bargain .bargainGang .list .item {
  1374. padding-bottom: 50rpx;
  1375. }
  1376. .bargain .bargainGang .list .item .pictxt {
  1377. // width: 310rpx;
  1378. .num {
  1379. width: 28rpx;
  1380. height: 36rpx;
  1381. // image{
  1382. // width: 100%;
  1383. // height: 100%;
  1384. // }
  1385. }
  1386. .num1 {
  1387. background-image: url('../images/n1.png');
  1388. background-repeat: no-repeat;
  1389. background-size: 100% 100%;
  1390. }
  1391. .num2 {
  1392. background-image: url('../images/n2.png');
  1393. background-repeat: no-repeat;
  1394. background-size: 100% 100%;
  1395. }
  1396. .num3 {
  1397. background-image: url('../images/n3.png');
  1398. background-repeat: no-repeat;
  1399. background-size: 100% 100%;
  1400. }
  1401. }
  1402. .bargain .bargainGang .list .item .pictxt .pictrue {
  1403. width: 70rpx;
  1404. height: 70rpx;
  1405. margin-right: 14rpx;
  1406. }
  1407. .bargain .bargainGang .list .item .pictxt .pictrue image {
  1408. width: 100%;
  1409. height: 100%;
  1410. border-radius: 50%;
  1411. }
  1412. .bargain .bargainGang .list .item .pictxt .text {
  1413. width: 225rpx;
  1414. font-size: 20rpx;
  1415. color: #999;
  1416. }
  1417. .bargain .bargainGang .list .item .pictxt .text .name {
  1418. font-size: 25rpx;
  1419. color: #333333;
  1420. margin-bottom: 7rpx;
  1421. }
  1422. .bargain .bargainGang .list .item .money {
  1423. font-size: 25rpx;
  1424. color: #999999;
  1425. }
  1426. .bargain .bargainGang .list .item .money .iconfont {
  1427. font-size: 35rpx;
  1428. vertical-align: middle;
  1429. margin-right: 10rpx;
  1430. }
  1431. .bargain .bargainGang .load {
  1432. font-size: 24rpx;
  1433. text-align: center;
  1434. line-height: 80rpx;
  1435. height: 80rpx;
  1436. }
  1437. .bargain .goodsDetails {
  1438. width: 100%;
  1439. background-color: #fff;
  1440. //margin: 13rpx auto 0 auto;
  1441. }
  1442. .bargain .goodsDetails~.goodsDetails {
  1443. margin-bottom: 50rpx;
  1444. }
  1445. .bargain .goodsDetails .conter {
  1446. // margin-top: 20rpx;
  1447. overflow: hidden;
  1448. }
  1449. .bargain .goodsDetails .conter image {
  1450. width: 100% !important;
  1451. display: block !important;
  1452. height: unset !important;
  1453. }
  1454. .bargain .bargainTip {
  1455. position: fixed;
  1456. top: 50%;
  1457. left: 50%;
  1458. width: 500rpx;
  1459. height: 469rpx;
  1460. margin-left: -246rpx;
  1461. z-index: 111;
  1462. border-radius: 14rpx;
  1463. background-color: #fff;
  1464. transition: all 0.3s ease-in-out 0s;
  1465. opacity: 0;
  1466. transform: scale(0);
  1467. padding-bottom: 60rpx;
  1468. margin-top: -330rpx;
  1469. background: linear-gradient(180deg, #FFFFFF 0%, #FFEEEB 100%);
  1470. .cu-progress {
  1471. width: 410rpx;
  1472. margin: 0 auto;
  1473. }
  1474. .t1 {
  1475. text-align: center;
  1476. color: #666666;
  1477. font-size: 24rpx;
  1478. margin: 20rpx 0 54rpx 0;
  1479. }
  1480. .bubbleBox {
  1481. width: 410rpx;
  1482. margin: 16rpx auto;
  1483. .bubble {
  1484. position: relative;
  1485. display: inline-block;
  1486. text {
  1487. display: inline-block;
  1488. font-size: 22rpx;
  1489. padding: 2rpx 8rpx;
  1490. border-radius: 30rpx;
  1491. @include main_bg_color(theme);
  1492. color: #fff;
  1493. }
  1494. text::before {
  1495. content: '';
  1496. width: 0;
  1497. height: 32rpx;
  1498. border: 14rpx solid;
  1499. position: absolute;
  1500. bottom: -54rpx;
  1501. left: 14rpx;
  1502. @include bragin-border-rate(theme);
  1503. }
  1504. }
  1505. }
  1506. }
  1507. .pictrue{
  1508. // @include bargain-tip-header(theme);
  1509. background-size: 100%;
  1510. }
  1511. .bargain .bargainTip.on {
  1512. opacity: 1;
  1513. transform: scale(1);
  1514. }
  1515. .bargain .bargainTip .pictrue {
  1516. width: 500rpx;
  1517. height: 200rpx;
  1518. margin-top: -118rpx;
  1519. }
  1520. .bargain .bargainTip .pictrue image {
  1521. width: 100%;
  1522. height: 100%;
  1523. }
  1524. .bargain .bargainTip .cutOff {
  1525. font-size: 32rpx;
  1526. color: #333;
  1527. text-align: center;
  1528. margin: 12rpx 0 0rpx 0;
  1529. font-weight: 600;
  1530. text {
  1531. font-weight: 600;
  1532. font-size: 44rpx;
  1533. }
  1534. }
  1535. .font_color{
  1536. @include price_color(theme);
  1537. }
  1538. .bargain .bargainTip .cutOff.on {
  1539. margin-top: 26rpx;
  1540. }
  1541. .bargain .bargainTip .help {
  1542. font-size: 32rpx;
  1543. font-weight: bold;
  1544. text-align: center;
  1545. margin-top: 40rpx;
  1546. }
  1547. .bargain .bargainTip .tipBnt {
  1548. font-size: 32rpx;
  1549. color: #fff;
  1550. width: 360rpx;
  1551. height: 82rpx;
  1552. border-radius: 41rpx;
  1553. // background-image: linear-gradient(to right, #f67a38 0%, #f11b09 100%);
  1554. @include linear-gradient(theme);
  1555. text-align: center;
  1556. line-height: 82rpx;
  1557. margin: 0 auto;
  1558. }
  1559. .bargain_view {
  1560. width: 180rpx;
  1561. height: 48rpx;
  1562. background: rgba(0, 0, 0, 0.5);
  1563. opacity: 1;
  1564. border-radius: 0 0 6rpx 6rpx;
  1565. position: absolute;
  1566. bottom: 0;
  1567. font-size: 22rpx;
  1568. color: #fff;
  1569. text-align: center;
  1570. line-height: 48rpx;
  1571. }
  1572. .iconfonts {
  1573. font-size: 22rpx !important;
  1574. line-height: 220rpx;
  1575. }
  1576. .wxParse-div {
  1577. width: auto !important;
  1578. height: auto !important;
  1579. }
  1580. .bargain .mask {
  1581. z-index: 100;
  1582. }
  1583. .share-box {
  1584. z-index: 1000;
  1585. position: fixed;
  1586. left: 0;
  1587. top: 0;
  1588. width: 100%;
  1589. height: 100%;
  1590. image {
  1591. width: 100%;
  1592. height: 100%;
  1593. }
  1594. }
  1595. </style>