金诚优选前端代码
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.

725 lines
19 KiB

  1. <template>
  2. <view>
  3. <lf-nav title="商品详情" titleColor="#fff" :spreadOut="false" :showIcon="true" bgColor="transparent"></lf-nav>
  4. <skeleton :loading="skeletonLoading" :row="12" :showAvatar="false" :showTitle="true">
  5. <block>
  6. <!-- 商品图片轮播 -->
  7. <swiper :current="current" :indicator-dots="2 > 1 ? false : true" :circular="true" class="swiper-box" indicator-active-color="#1998FE">
  8. <swiper-item v-for="(item, index) in pictures" :key="index">
  9. <image mode="aspectFill" :src="item" style="width: 100%; height: 100%;" @click="lookImg(index)"></image>
  10. </swiper-item>
  11. </swiper>
  12. <!-- 商品主要信息 -->
  13. <view class="head-info">
  14. <view class="lf-row-between">
  15. <lf-price :iftext="false" :price="111"></lf-price>
  16. <text class="lf-iconfont icon-fenxiang lf-font-40" @click="shareGraphic()"></text>
  17. </view>
  18. <view class="lf-row-between lf-font-24 lf-m-t-20 lf-p-b-20">
  19. <view class="lf-font-bold lf-font-32 lf-color-222">颐莲喷雾 500ml</view>
  20. </view>
  21. <view class="lf-row-between lf-font-24 lf-p-b-30">
  22. <view class="lf-font-28 lf-color-777">门店自提</view>
  23. </view>
  24. </view>
  25. <self-line></self-line>
  26. <view class="bg-white">
  27. <view class="cu-bar padding-lr">
  28. <view class="lf-flex">
  29. <text class="lf-color-777 lf-font-28">优惠</text>
  30. <view v-if="orderDetails.coupon == ''">
  31. <text class="lf-color-price lf-font-28 lf-m-l-10" v-for="(item,index) of orderDetails.coupon">{{item.tag}}</text>
  32. </view>
  33. <view v-else>
  34. <text class="lf-color-222 lf-font-26 lf-m-l-30">化妆品教师节满1200减200</text>
  35. </view>
  36. </view>
  37. <view>
  38. <text class="lf-font-24 lf-color-777 lf-iconfont icon-xiangyou"></text>
  39. </view>
  40. </view>
  41. </view>
  42. <self-line></self-line>
  43. <view class="bg-white">
  44. <view class="cu-bar padding-lr">
  45. <view class="lf-flex">
  46. <text class="lf-color-777 lf-font-28">服务</text>
  47. <view style="width: 600rpx;flex-wrap: wrap;display: flex;margin-top: 32rpx;">
  48. <view class="lf-m-l-30" v-for="i of 5">
  49. <text class="lf-iconfont icon-xuanzhong lf-font-30" style="color: #15716E;"></text>
  50. <text class="lf-m-l-10 lf-font-26 lf-color-black">正品保障</text>
  51. </view>
  52. </view>
  53. </view>
  54. <view>
  55. <text class="lf-font-24 lf-color-777 lf-iconfont icon-xiangyou"></text>
  56. </view>
  57. </view>
  58. </view>
  59. <view class="bg-white">
  60. <view class="cu-bar padding-lr" @click="shoot(2)">
  61. <view class="lf-flex">
  62. <text class="lf-color-777 lf-font-28">已选</text>
  63. <text class="lf-color-222 lf-font-26 lf-m-l-30">已选500ml x1</text>
  64. </view>
  65. <view>
  66. <text class="lf-font-24 lf-color-777 lf-iconfont icon-xiangyou"></text>
  67. </view>
  68. </view>
  69. </view>
  70. <self-line></self-line>
  71. <view>
  72. <view class="user-top">
  73. <view class="lf-row-between lf-w-100">
  74. <view class="lf-flex" @click="$url('/pages/shop/shopdetail')">
  75. <view class="tag-father">
  76. <image src="https://hainan.lanzulive.com/storage/images/v2-deb89623e0ee2a2dad34bcded6dfd1ed_1440w.png" mode="aspectFill" class="head-img"></image>
  77. </view>
  78. <view class="lf-flex-column lf-m-l-20">
  79. <text class="lf-font-28 lf-color-black lf-font-bold">颐莲官方店</text>
  80. <view class="lf-font-24 lf-color-777"><u-icon name="map" class="lf-m-r-10"></u-icon>L2</view>
  81. </view>
  82. </view>
  83. <view>
  84. <button class="head-btn" @click="$url('/pages/user/my/chatonline')">
  85. <u-icon name="chat" class="lf-m-r-10"></u-icon>
  86. <text>客服</text>
  87. </button>
  88. </view>
  89. </view>
  90. </view>
  91. <scroll-view class="scroll-view" :scroll-x="true">
  92. <view class="scroll-content">
  93. <view class="goods-item" v-for="(item, index) in 5" :key="index" @click="$url('/pages/shop/goodsdetail')">
  94. <image class="goods-img"></image>
  95. <view class="goods-info">
  96. <view class="lf-line-1">猪大肠卖咯 5毛钱一斤咯</view>
  97. <view>0.5</view>
  98. </view>
  99. </view>
  100. <view class="goods-item" @click="$url('/pages/shop/shopdetail')">
  101. <view class="more-box">
  102. <text>查看更多</text>
  103. <text class="lf-iconfont icon--2 lf-text-vertical"></text>
  104. </view>
  105. </view>
  106. </view>
  107. </scroll-view>
  108. </view>
  109. <!-- 商品详情 -->
  110. <view class="goods-detail">
  111. <view class="lf-font-32 lf-font-bold lf-m-b-20">商品详情</view>
  112. <rich-text :nodes="formatRichText('商品详情商品详情商品详情商品详情商品详情商品详情商品详情商品详情商品详情商品详情商品详情商品详情')"></rich-text>
  113. <!-- <image class="goods-img" :src="item" v-for="(item, index) in goods_detail.content" :key="index" v-if="goods_detail.content_type == 'img'"></image> -->
  114. </view>
  115. <!-- 修饰专用 -->
  116. <view class="extra"></view>
  117. <!-- 吸底操作按钮 -->
  118. <view class="lf-row-between fixed-bottom">
  119. <view class="lf-flex lf-p-t-10 lf-p-b-10">
  120. <view class="lf-flex-column lf-row-center icon-item" open-type="contact">
  121. <text class="lf-iconfont icon-shoucang icon-img"></text>
  122. <view class="lf-m-t-1">客服</view>
  123. </view>
  124. <view class="lf-flex-column lf-row-center icon-item" @click="switchCollect">
  125. <text class="lf-iconfont icon-shoucang icon-img" v-if="is_collect"></text>
  126. <text class="lf-iconfont icon-shoucang icon-img" v-else></text>
  127. <view class="lf-m-t-1">{{ is_collect ? '已收藏' : '收藏' }}</view>
  128. </view>
  129. <button class="lf-flex-column lf-row-center icon-item">
  130. <text class="lf-iconfont icon-shoucang icon-img"></text>
  131. <view class="lf-m-t-1">购物车</view>
  132. </button>
  133. </view>
  134. <view class="lf-flex">
  135. <button class="btn1" @click="shoot(1)">加入购物车</button>
  136. <button class="btn lf-m-l-15" @click="shoot(2)">立即购买</button>
  137. </view>
  138. </view>
  139. <!-- 加入购物车立即购买模态框选规格 -->
  140. <u-popup v-model="show_popup" mode="bottom">
  141. <view class="popup-content">
  142. <!-- 商品信息及关闭按钮 -->
  143. <view class="popup-head">
  144. <view class="lf-flex">
  145. <image class="goods-img" src="https://picsum.photos/200"></image>
  146. <view class="goods-info">
  147. <view class="price">¥5.8</view>
  148. <view class="goods-name">桃子</view>
  149. </view>
  150. </view>
  151. <view @click="show_popup = false">
  152. <text class="lf-iconfont icon-cuo lf-font-50"></text>
  153. </view>
  154. </view>
  155. <!-- 规格 -->
  156. <view class="spec-title">重量</view>
  157. <view class="lf-flex-wrap">
  158. <view :class="{
  159. 'spec-item': true,
  160. 'spec-active': spec_current == index}"
  161. @click="activeSpec(index)"
  162. v-for="(item, index) in 5"
  163. :key="index">{{ item +'0克' }}
  164. </view>
  165. </view>
  166. <!-- 数量 -->
  167. <view class="lf-row-between lf-m-t-40">
  168. <view class="lf-font-28 lf-color-555">数量</view>
  169. <view class="lf-flex">
  170. <view class="num-btn">
  171. <text class="lf-iconfont icon-xiangyou lf-font-24"></text>
  172. </view>
  173. <view>
  174. <input class="input" value="1" />
  175. </view>
  176. <view class="num-btn lf-text-right">
  177. <text class="lf-iconfont icon-xiangyou lf-font-24"></text>
  178. </view>
  179. </view>
  180. </view>
  181. <!-- 操作按钮 -->
  182. <button class="comfirm-btn" @click="confirm">{{ click_type == 1 ? '加入购物车' : '立即购买' }}</button>
  183. </view>
  184. </u-popup>
  185. <!-- 回到顶部 -->
  186. <u-back-top :scroll-top="pageScrollTop"></u-back-top>
  187. </block>
  188. </skeleton>
  189. </view>
  190. </template>
  191. <script>
  192. export default {
  193. data(){
  194. return {
  195. current: 0, // 轮播下标
  196. goods_id: 0,
  197. goods_detail: {},
  198. is_collect: false, // 1为当前收藏商品了,0为否
  199. skeletonLoading: false,
  200. pictures: [
  201. 'https://hainan.lanzulive.com/storage/images/v2-deb89623e0ee2a2dad34bcded6dfd1ed_1440w.png',
  202. 'https://hainan.lanzulive.com/storage/images/v2-deb89623e0ee2a2dad34bcded6dfd1ed_1440w.png',
  203. 'https://hainan.lanzulive.com/storage/images/v2-deb89623e0ee2a2dad34bcded6dfd1ed_1440w.png'
  204. ],
  205. show_popup: false, // 是否显示选规格模态框
  206. spec_current: null, // 规格下标
  207. click_type: null // 当前点击的是加入购物车[1]还是立即购买[2]
  208. }
  209. },
  210. onLoad(options){
  211. this.goods_id = options.goods_id;
  212. console.log('商品',this.goods_id)
  213. // this.getGoodsDetail();
  214. },
  215. computed: {
  216. isRight() {
  217. return function(val) {
  218. return this.$shared.isRight(val);
  219. }
  220. }
  221. },
  222. methods: {
  223. shoot(type){
  224. // TODO 判断type做不同的逻辑
  225. this.click_type = type;
  226. this.show_popup = true;
  227. },
  228. activeSpec(index){
  229. if(this.spec_current == index){
  230. this.spec_current = null;
  231. }else{
  232. this.spec_current = index;
  233. }
  234. },
  235. confirm(){
  236. if(this.click_type == 2){
  237. this.$url('/pages/order/confirm/confirm');
  238. }
  239. },
  240. shareGraphic(){
  241. this.getCreateShareImg();
  242. },
  243. //请求h5的图片接口
  244. getCreateShareImg(){
  245. wx.showLoading({
  246. title:"生成中",
  247. mask:true
  248. })
  249. let origin = window.location.origin;
  250. let share_url = origin+'/pages/store/detail/detail';
  251. this.$http.get({
  252. api:'api/distribution/createH5ShareImg',
  253. data:{
  254. goods_id:this.id,
  255. share_url:share_url
  256. }
  257. }).then(res=>{
  258. res = res.data;
  259. if(res.status){
  260. this.qr_code_image = res.data.image;
  261. if(this.qr_code_image){
  262. this.share_gaphic =!this.share_gaphic;
  263. this.is_toggle_share = false;
  264. }
  265. } else{
  266. wx.showModal({
  267. content: res.message || '请求失败,请重试',
  268. showCancel: false
  269. });
  270. }
  271. wx.hideLoading()
  272. }).catch(rej=>{
  273. wx.hideLoading()
  274. wx.showModal({
  275. content: rej.message || '内部错误,请重试',
  276. showCancel: false
  277. });
  278. })
  279. },
  280. getGoodsDetail(){
  281. this.$http(this.API.API_ADVICEDETAILS, {id: this.goods_id}).then(res => {
  282. this.skeletonLoading = false;
  283. this.goods_detail = res.data;
  284. this.is_collect = Boolean(res.data.is_collect) || false;
  285. }).catch(err => {
  286. this.skeletonLoading = false;
  287. setTimeout(() => {
  288. this.$toBack();
  289. }, 1000);
  290. })
  291. },
  292. // 切换商品收藏
  293. switchCollect(){
  294. let userInfo = uni.getStorageSync('userinfo') || {};
  295. if(!userInfo.id || !userInfo.nickname || !userInfo.avatar){
  296. this.$url('/pages/login/index?type=userinfo');
  297. return;
  298. }
  299. if(this.is_collect) {
  300. this.$http(this.API.API_DELCOLLECT, {agent_product_id:this.goods_id}).then(res => {
  301. this.$msg('取消收藏成功!')
  302. this.is_collect = false
  303. console.log(res)
  304. })
  305. }else {
  306. this.$http(this.API.API_ADDCOLLECT, {agent_product_id:this.goods_id}).then(res => {
  307. this.$msg('添加收藏成功!')
  308. this.is_collect = true
  309. console.log(res)
  310. })
  311. }
  312. },
  313. // 拨打电话
  314. makePhoneCall(phoneStr){
  315. uni.makePhoneCall({
  316. phoneNumber: String(phoneStr)
  317. })
  318. },
  319. // 打开地图
  320. openMap(){
  321. let { address, lat, lng } = this.goods_detail?.store || {};
  322. uni.openLocation({
  323. longitude: Number(lat),
  324. latitude: Number(lng),
  325. scale: 20,
  326. name: address
  327. });
  328. },
  329. // 跳转到确认下单页面
  330. toAddOrder(){
  331. let goods_id = this.goods_detail.id;
  332. this.$url('/pages/order/confirm_order?goods_id='+ goods_id);
  333. },
  334. // 预览图片
  335. lookImg(index){
  336. this.$u.throttle(() => {
  337. let goods_banner = this.goods_detail.banners || [];
  338. let banners = goods_banner.map(item => item.cover);
  339. uni.previewImage({
  340. urls: banners,
  341. current: index
  342. })
  343. }, 200);
  344. },
  345. // 富文本处理
  346. formatRichText(richText){
  347. if(richText != null){
  348. let newRichText= richText.replace(/<img[^>]*>/gi, function(match, capture){
  349. match = match.replace(/style="[^"]+"/gi, '').replace(/style='[^']+'/gi, '');
  350. match = match.replace(/width="[^"]+"/gi, '').replace(/width='[^']+'/gi, '');
  351. match = match.replace(/height="[^"]+"/gi, '').replace(/height='[^']+'/gi, '');
  352. return match;
  353. });
  354. newRichText = newRichText.replace(/style="[^"]+"/gi,function(match, capture){
  355. match = match.replace(/width:[^;]+;/gi, 'width:100%;').replace(/width:[^;]+;/gi, 'width:100%;');
  356. return match;
  357. });
  358. newRichText = newRichText.replace(/<br[^>]*\/>/gi, '');
  359. newRichText = newRichText.replace(/\<img/gi, '<img style="width:100%;height:auto;display:block;margin:10px 0;"');
  360. return newRichText;
  361. }else{
  362. return null;
  363. }
  364. }
  365. },
  366. onShareAppMessage(){
  367. let goods = this.goods_detail;
  368. let title = goods.name;
  369. let imageUrl = goods.share_cover || goods.cover;
  370. let path = '/pages/route/index?route=goods_detail&id='+ goods.id;
  371. return {
  372. title,
  373. path,
  374. imageUrl
  375. }
  376. }
  377. }
  378. </script>
  379. <style>
  380. page{
  381. background-color: #f5f5f5;
  382. overflow-x: hidden;
  383. }
  384. </style>
  385. <style lang="scss" scoped="scoped">
  386. //商品上去scrollview部分
  387. .scroll-view{
  388. height: 310rpx;
  389. width: 100%;
  390. // margin-top: 20rpx;
  391. padding: 0 30rpx 30rpx 30rpx;
  392. background-color: white;
  393. .scroll-content{
  394. display: flex;
  395. width: 100%;
  396. .goods-item{
  397. margin-right: 15rpx;
  398. width: 180rpx;
  399. }
  400. .goods-img{
  401. width: 180rpx;
  402. height: 180rpx;
  403. background-color: #EEEEEE;
  404. }
  405. .goods-info{
  406. text-align: center;
  407. color: #222222;
  408. &>view:nth-child(1n){
  409. font-size: 24rpx;
  410. }
  411. &>view:nth-child(2n){
  412. font-size: 28rpx;
  413. font-weight: bold;
  414. text-align: left;
  415. color: #F63434;
  416. }
  417. }
  418. .more-box{
  419. width: 180rpx;
  420. height: 180rpx;
  421. background-color: #EEEEEE;
  422. text-align: center;
  423. line-height: 180rpx;
  424. font-size: 24rpx;
  425. }
  426. }
  427. }
  428. //scrollview结束
  429. .tag-father {
  430. position: relative;
  431. }
  432. .head-tag {
  433. color: white;
  434. display: flex;
  435. align-items: center;
  436. justify-content: center;
  437. text-align: center;
  438. font-size: 24rpx;
  439. width: 36rpx;
  440. height: 36rpx;
  441. border-radius: 50%;
  442. background-color: #15716E;
  443. border: 1rpx solid #FFFFFF;
  444. position: absolute;
  445. left: 76rpx;
  446. top: 86rpx;
  447. z-index: 99;
  448. }
  449. .qzone-img {
  450. width: 220rpx;
  451. height: 220rpx;
  452. border-radius: 10rpx;
  453. margin-right: 12rpx;
  454. &:nth-child(3n) {
  455. margin-right: 0;
  456. }
  457. &:nth-child(n + 4) {
  458. margin-top: 12rpx;
  459. }
  460. }
  461. .user-top {
  462. background-color: #F3F8F8;
  463. padding: 30rpx;
  464. display: flex;
  465. align-items: center;
  466. background-color: white;
  467. }
  468. .head-img {
  469. width: 80rpx;
  470. height: 80rpx;
  471. border-radius: 50%;
  472. }
  473. .head-btn {
  474. display: flex;
  475. width: max-content;
  476. height: 45rpx;
  477. background: white;
  478. border: 2rpx solid #15716E;
  479. align-items: center;
  480. font-size: 22rpx;
  481. color: #15716E;
  482. justify-content: space-between;
  483. border-radius: 35rpx;
  484. padding: 10rpx!important;
  485. }
  486. .swiper-box{
  487. width: 750rpx;
  488. height: 750rpx;
  489. background-color: #FFFFFF;
  490. }
  491. .head-info{
  492. width: 750rpx;
  493. height: auto;
  494. box-sizing: border-box;
  495. padding: 0 32rpx;
  496. padding-top: 20rpx;
  497. background-color: #FFFFFF;
  498. // .price>view:nth-of-type(1){
  499. // color: #FF0000;
  500. // margin-right: 22rpx;
  501. // font-weight: bold;
  502. // }
  503. .price>view:nth-of-type(1){
  504. text-decoration: line-through;
  505. color: #777777;
  506. margin-right: 22rpx;
  507. }
  508. .price>view:nth-of-type(2){
  509. width: max-content;
  510. padding: 0 18rpx;
  511. height: 46rpx;
  512. background-color: #1998FE;
  513. border-radius: 10rpx;
  514. display: flex;
  515. justify-content: center;
  516. align-items: center;
  517. color: #FFFFFF;
  518. }
  519. .label-box{
  520. min-height: 130rpx;
  521. width: 100%;
  522. border-top: 1rpx solid #E5E5E5;
  523. display: flex;
  524. flex-wrap: wrap;
  525. padding: 30rpx 0 10rpx 0;
  526. .label-item{
  527. width: max-content;
  528. padding: 20rpx;
  529. height: 70rpx;
  530. border-radius: 10rpx;
  531. border: 2rpx solid #1998FE;
  532. display: flex;
  533. justify-content: center;
  534. align-items: center;
  535. font-size: 28rpx;
  536. color: #1998FE;
  537. margin-right: 20rpx;
  538. margin-bottom: 20rpx;
  539. }
  540. }
  541. }
  542. .address-box{
  543. width: 750rpx;
  544. height: auto;
  545. box-sizing: border-box;
  546. background-color: #FFFFFF;
  547. padding: 32rpx;
  548. margin-top: 20rpx;
  549. .shop-img{
  550. width: 60rpx;
  551. height: 60rpx;
  552. border-radius: 50%;
  553. }
  554. }
  555. .goods-detail{
  556. width: 750rpx;
  557. height: auto;
  558. background-color: #FFFFFF;
  559. padding: 32rpx;
  560. box-sizing: border-box;
  561. margin-top: 20rpx;
  562. .goods-img{
  563. width: 100%;
  564. }
  565. }
  566. .extra{
  567. width: 100%;
  568. height: 110rpx;
  569. padding-bottom: constant(safe-area-inset-bottom);
  570. padding-bottom: env(safe-area-inset-bottom);
  571. box-sizing: content-box;
  572. }
  573. .fixed-bottom{
  574. position: fixed;
  575. bottom: 0;
  576. left: 0;
  577. background-color: #FFFFFF;
  578. width: 100%;
  579. height: auto;
  580. padding: 0 32rpx;
  581. border-top: 1rpx solid #e5e5e5;
  582. padding-bottom: constant(safe-area-inset-bottom);
  583. padding-bottom: env(safe-area-inset-bottom);
  584. .icon-item{
  585. text-align: center;
  586. margin-right: 16rpx;
  587. background-color: transparent;
  588. margin: 0;
  589. line-height: initial;
  590. font-size: 28rpx;
  591. font-weight: inherit;
  592. margin-right: 10rpx;
  593. padding: 0;
  594. width: 88rpx;
  595. position: relative;
  596. &:first-child{
  597. padding-left: 0;
  598. }
  599. .icon-img{
  600. height: 50rpx;
  601. width: 50rpx;
  602. }
  603. }
  604. .btn1{
  605. margin: 0;
  606. width: max-content;
  607. height: 80rpx;
  608. background-color: rgba(21, 113, 110, 0.1);
  609. color: #15716E;
  610. line-height: 80rpx;
  611. font-size: 32rpx;
  612. padding: 0 20rpx;
  613. border-radius: 42rpx;
  614. font-size: 26rpx;
  615. border: 2rpx solid #15716E;
  616. }
  617. .btn{
  618. margin: 0;
  619. padding: 0 20rpx;
  620. width: max-content;
  621. height: 80rpx;
  622. background-color: #15716E;
  623. color: #FFFFFF;
  624. line-height: 80rpx;
  625. font-size: 26rpx;
  626. border-radius: 42rpx;
  627. }
  628. }
  629. .popup-content{
  630. height: max-content;
  631. width: 750rpx;
  632. background: #FFFFFF;
  633. border-radius: 20rpx 20rpx 0rpx 0rpx !important;
  634. padding: 40rpx 32rpx;
  635. .popup-head{
  636. display: flex;
  637. justify-content: space-between;
  638. .goods-img{
  639. width: 150rpx;
  640. height: 150rpx;
  641. border-radius: 2rpx;
  642. margin-right: 20rpx;
  643. }
  644. .goods-info{
  645. width: 400rpx;
  646. height: 150rpx;
  647. display: flex;
  648. flex-direction: column;
  649. justify-content: space-around;
  650. .price{
  651. font-size: 48rpx;
  652. font-weight: bold;
  653. color: #F63434;
  654. line-height: 1;
  655. }
  656. .goods-name{
  657. font-size: 32rpx;
  658. color: #222222;
  659. line-height: 1.4;
  660. }
  661. }
  662. }
  663. .spec-title{
  664. font-size: 28rpx;
  665. color: #555555;
  666. margin-top: 40rpx;
  667. margin-bottom: 20rpx;
  668. }
  669. .spec-item{
  670. width: 142rpx;
  671. height: 64rpx;
  672. border-radius: 33rpx;
  673. border: 2rpx solid #555555;
  674. font-size: 28rpx;
  675. color: #555555;
  676. display: flex;
  677. justify-content: center;
  678. align-items: center;
  679. margin-right: 20rpx;
  680. &:nth-child(4n){
  681. margin-right: 0rpx;
  682. }
  683. &:nth-child(n+5){
  684. margin-top: 20rpx;
  685. }
  686. }
  687. .spec-active{
  688. border: none;
  689. background-color: #15716E;
  690. color: #FFFFFF;
  691. }
  692. .input{
  693. width: 40rpx;
  694. height: 45rpx;
  695. border-radius: 2rpx;
  696. background-color: #F3F8F7;
  697. text-align: center;
  698. }
  699. .num-btn{
  700. width: 36rpx;
  701. }
  702. .comfirm-btn{
  703. width: 550rpx;
  704. height: 100rpx;
  705. background: #15716E;
  706. border-radius: 50rpx;
  707. color: #FFFFFF;
  708. line-height: 100rpx;
  709. margin-top: 62rpx;
  710. }
  711. }
  712. </style>