maintain.vue 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697
  1. <template>
  2. <view class="box">
  3. <view class="top" :style="{background:'#'+themeColor}">
  4. <view class="inputBox">
  5. <view class="ibLeft">
  6. <image class="ibCarIcon" src="../../static/timg/nocar.png" mode=""></image>
  7. <view class="ibCarBox">
  8. <view class="ibCar">大众 捷达</view>
  9. <image src="../../static/img2/xia.png" mode="" class="xiaIcon"></image>
  10. </view>
  11. </view>
  12. <view class="ibRight">
  13. <image src="../../static/img2/gl.png" mode="" class="glIcon"></image>
  14. <input type="text" placeholder="暂无填写" class="glInput"/>
  15. <image src="../../static/img2/xia.png" mode="" class="xiaIcon"></image>
  16. </view>
  17. </view>
  18. <view class="msBox">
  19. <view class="msLine">
  20. <image class="msIcon" src="../../static/img2/zp.png" mode=""></image>
  21. <view class="msTxt">正品保障</view>
  22. </view>
  23. <view class="msLine">
  24. <image class="msIcon" src="../../static/img2/jp.png" mode=""></image>
  25. <view class="msTxt">精准适配</view>
  26. </view>
  27. <view class="msLine">
  28. <image class="msIcon" src="../../static/img2/shwy.png" mode=""></image>
  29. <view class="msTxt">售后无忧</view>
  30. </view>
  31. <view class="msLine">
  32. <image class="msIcon" src="../../static/img2/zyfw.png" mode=""></image>
  33. <view class="msTxt">专业服务</view>
  34. </view>
  35. </view>
  36. </view>
  37. <!-- 适配推荐 -->
  38. <view class="spBox">
  39. <view class="spTop">
  40. <view class="spTitle">适配推荐</view>
  41. <view class="spMs">
  42. <span>保养记录</span>
  43. <span> | </span>
  44. <span>保养手册</span>
  45. </view>
  46. </view>
  47. <view class="znBox">
  48. <view class="znCont">
  49. <view class="znCar">智能推荐-大众 捷达</view>
  50. <view>
  51. <image class="hxIcon" src="../../static/img2/hx.png" mode=""></image>
  52. </view>
  53. <view class="znMs">超期不保养,会影响汽车性能!</view>
  54. </view>
  55. </view>
  56. <!-- 套餐-->
  57. <view class="lineBox">
  58. <view class="line" @click="goItem">
  59. <view class="lineTop">
  60. <image class="lineImg" src="../../static/timg/noimg.png" mode=""></image>
  61. <view class="lineNameBox">
  62. <view class="goodsName">全合成机油保养2次</view>
  63. <view class="goodsMs">含:发动机机油、机油滤芯、雾化杀菌等</view>
  64. <view class="goodsKbox">
  65. <view class="goosK1">增效全合成</view>
  66. <view class="goosK2">粘度级别</view>
  67. <!-- <view class="goosK2">0W-20/5W-40/5W-30</view> -->
  68. </view>
  69. <view class="bfb">有91.4%的车主选择本商品</view>
  70. </view>
  71. </view>
  72. <view class="tcBox">
  73. <view class="tcLine">
  74. <view class="tcTitle">
  75. <view class="tcName">单次购买</view>
  76. </view>
  77. <view class="tcprice">
  78. <span class="tcSpan1">¥</span>
  79. <span class="tcSpan2">294</span>
  80. <span class="tcSpan3">/次</span>
  81. </view>
  82. </view>
  83. <view class="tcLine">
  84. <view class="tcTitle">
  85. <view class="tcName">保养超值卡</view>
  86. <view class="tcNameTs">2次更划算</view>
  87. </view>
  88. <view class="tcprice">
  89. <span class="tcSpan1">¥</span>
  90. <span class="tcSpan2">294</span>
  91. <span class="tcSpan3">/次</span>
  92. <span class="tcSpan3" style="padding-left: 10rpx;">2次</span>
  93. <span class="tcSpan1">¥588</span>
  94. </view>
  95. </view>
  96. </view>
  97. </view>
  98. </view>
  99. </view>
  100. <view class="bottom">
  101. <view class="kaBox">
  102. <view class="ka">
  103. <view class="kaLeft">
  104. <image class="vipIcon" src="../../static/img2/vip.png" mode=""></image>
  105. <view class="kaMS">开通权益卡 可享受更多优惠服务</view>
  106. </view>
  107. <view class="kaRight">去开卡></view>
  108. </view>
  109. </view>
  110. <view class="bottomView">
  111. <view class="bLeft">
  112. <view class="bLeftImgBox">
  113. <image class="qingdanIcon" src="../../static/img2/qingdan.png" mode=""></image>
  114. <view class="qdTxt">清单</view>
  115. <view class="qdNum">1</view>
  116. </view>
  117. <view>
  118. <view class="bottomprice">
  119. <span class="bSpan1">¥</span>
  120. <span class="bSpan2">298</span>
  121. </view>
  122. <view class="byh">
  123. <span class="bspan3">已优惠</span>
  124. <span class="bspan4"> ¥0</span>
  125. </view>
  126. </view>
  127. </view>
  128. <view class="bottomBtn">立即购买</view>
  129. </view>
  130. </view>
  131. <!-- 提交订单弹框-->
  132. <view class="tkBox">
  133. <view class="tkCont">
  134. <view class="tkTop">
  135. <image class="tkImg" src="../../static/timg/noimg.png" mode=""></image>
  136. <view class="tkNameBox">
  137. <view class="tkName">【豪华车型】全合成机油保养套餐</view>
  138. <view class="goodsPrice">
  139. <view class="goodsPrice2">¥</view>
  140. <view class="goodsPrice3">294</view>
  141. <view class="goodsPrice4" >原价:¥1998</view>
  142. </view>
  143. </view>
  144. <image class="chahao" src="../../static/img2/chahao.png" mode=""></image>
  145. </view>
  146. <view class="buyLine">
  147. <view class="buyTitle">商品规格</view>
  148. <view class="buyData">
  149. <view class="goodsGuige activeGuige" style="margin-right: 24rpx;">单次购买</view>
  150. <view class="goodsGuige">保养套餐卡</view>
  151. </view>
  152. </view>
  153. <view class="buyLine">
  154. <view class="buyTitle">商品数量</view>
  155. <view class="buyData">
  156. <view class="numJsbox">
  157. <view class="numJj" @click="calculation(1)">-</view>
  158. <view class="goodsnum">
  159. <input type="number" value="" v-model="goodsnum" class="goodsnumInput"/>
  160. </view>
  161. <view class="numJj" @click="calculation(2)">+</view>
  162. </view>
  163. </view>
  164. </view>
  165. <view class="tkBottom">
  166. <view class="tkBottomBtn" @click="goSubmit">立即购买</view>
  167. </view>
  168. </view>
  169. </view>
  170. <!-- 提交订单弹框-->
  171. </view>
  172. </template>
  173. <script>
  174. export default {
  175. components: {
  176. },
  177. data() {
  178. return {
  179. themeColor:'',
  180. ext:'',
  181. goodsnum:1,
  182. }
  183. },
  184. onLoad(opt) {
  185. this.ext = this.$common.getExtStoreId();
  186. this.themeColor = uni.getStorageSync("themeColor");
  187. uni.setNavigationBarColor({
  188. frontColor: "#000000",
  189. backgroundColor: '#' + this.themeColor
  190. })
  191. },
  192. onShow() {
  193. },
  194. methods: {
  195. goItem(){
  196. uni.navigateTo({
  197. url:'maintainItem'
  198. })
  199. },
  200. goSubmit(){
  201. uni.navigateTo({
  202. url:'maintainSubmit'
  203. })
  204. },
  205. getAboutMember(){
  206. uni.showLoading({
  207. title: '加载中'
  208. })
  209. this.$http('miniApp2/sys/getAboutMember', {
  210. unionID:this.unionID
  211. }, 'GET').then(res => {
  212. uni.hideLoading();
  213. })
  214. },
  215. calculation(type){
  216. if(type==1){
  217. if(this.goodsnum>1){
  218. this.goodsnum--
  219. }
  220. }else{
  221. console.log("+++")
  222. this.goodsnum++
  223. }
  224. },
  225. }
  226. }
  227. </script>
  228. <style scoped lang="less">
  229. .box {
  230. width: 100vw;
  231. min-height: 100vh;
  232. background: #F4F4F4;
  233. }
  234. .tkBox{
  235. width: 100vw;height: 100vh;background: rgba(0,0,0,0.5);
  236. position: fixed;left: 0;top: 0;
  237. }
  238. .tkCont{
  239. width: 750rpx;
  240. height: 611rpx;
  241. background: #FFFFFF;
  242. border-radius: 28rpx 28rpx 0rpx 0rpx;
  243. position: absolute;
  244. left: 0;bottom: 0;
  245. padding-bottom: constant(safe-area-inset-bottom);
  246. padding-bottom: env(safe-area-inset-bottom);
  247. }
  248. .top{
  249. height: 170rpx;
  250. padding: 40rpx 24rpx;
  251. }
  252. .inputBox{
  253. background: rgba(255,255,255,0.5);
  254. border-radius: 38rpx;line-height: 42rpx;
  255. border: 2rpx solid #FFFFFF;
  256. padding: 18rpx 30rpx;font-size: 26rpx;color: #222222;
  257. display: flex;justify-content: space-between;
  258. }
  259. .xiaIcon{
  260. width: 12rpx;height: 9rpx;margin-top: 18rpx;
  261. }
  262. .ibCarIcon{
  263. height: 42rpx;width: 42rpx;
  264. }
  265. .glIcon{
  266. width: 34rpx;height: 34rpx;margin-top: 6rpx;
  267. }
  268. .ibLeft{
  269. display: flex;
  270. }
  271. .ibRight{
  272. display: flex;
  273. }
  274. .ibCarBox{
  275. display: flex;
  276. }
  277. .glInput{
  278. width: 160rpx;line-height: 42rpx;height: 42rpx;
  279. padding-left: 10rpx;
  280. }
  281. .msIcon{
  282. width: 20rpx;height: 20rpx;margin-top: 4rpx;
  283. }
  284. .msTxt{
  285. font-weight: 500;margin-left: 12rpx;
  286. font-size: 20rpx;
  287. color: #A77102;
  288. }
  289. .msLine{
  290. display: flex;line-height: 28rpx;
  291. }
  292. .msBox{
  293. display: flex;justify-content: space-between;padding-top: 24rpx;
  294. padding-left: 30rpx;padding-right: 30rpx;
  295. }
  296. .spBox{
  297. background: linear-gradient( 180deg, #FFFFFF 0%, #F4F4F4 100%);
  298. border-radius: 23rpx;
  299. padding: 24rpx 20rpx 0 24rpx;
  300. margin-top: -50rpx;
  301. }
  302. .spTop{
  303. display: flex;justify-content: space-between;line-height: 40rpx;
  304. padding-bottom: 16rpx;
  305. }
  306. .spTitle{
  307. font-weight: 500;
  308. font-size: 28rpx;
  309. color: #222222;
  310. }
  311. .spMs{
  312. font-size: 24rpx;
  313. color: #666666;
  314. }
  315. .znBox{
  316. height: 200rpx;
  317. background: #FDC856;
  318. border-radius: 21rpx;
  319. }
  320. .znCont{
  321. background: url('http://dmsphoto.66km.com.cn/thFiles/A88B34CF-1BEB-4E0F-8C0B-E6FD2C858B73.png') no-repeat;
  322. background-size: 100% 100%;
  323. height: 148rpx;
  324. }
  325. .hxIcon{
  326. height: 4rpx;width: 360rpx;
  327. margin-left: 18rpx;margin-top: 20rpx;
  328. display: block;
  329. }
  330. .znMs{
  331. font-size: 24rpx;
  332. color: #FFFFFF;
  333. line-height: 33rpx;
  334. padding-left: 18rpx;padding-top: 16rpx;
  335. }
  336. .znCar{
  337. font-weight: 500;padding-left: 18rpx;
  338. font-size: 32rpx;padding-top: 24rpx;
  339. color: #8C5E24;
  340. line-height: 45rpx;
  341. }
  342. .line{
  343. background: #FFFFFF;padding: 24rpx;
  344. border-radius: 16rpx;
  345. }
  346. .lineImg{
  347. width: 162rpx;
  348. height: 162rpx;
  349. border-radius: 10rpx;
  350. }
  351. .lineTop{
  352. display: flex;
  353. }
  354. .lineBox{
  355. margin-top: -52rpx;
  356. }
  357. .goodsKbox{
  358. display: flex;flex-wrap: wrap;
  359. }
  360. .goosK1 {
  361. height: 25rpx;line-height: 25rpx;padding: 0 8rpx;
  362. border: 1rpx solid #EC0F0A;font-size: 18rpx;
  363. color: #EC0F0A;margin-right: 10rpx;
  364. }
  365. .goosK2{
  366. height: 25rpx;line-height: 25rpx;padding: 0 8rpx;color: #000000;
  367. border: 1rpx solid #FCD903;font-size: 18rpx;
  368. }
  369. .goodsName{
  370. font-weight: 500;
  371. font-size: 28rpx;
  372. color: #222222;
  373. line-height: 40rpx;
  374. }
  375. .goodsMs{
  376. font-weight: 400;padding-top: 5rpx;
  377. font-size: 20rpx;padding-bottom: 10rpx;
  378. color: #8B8B8B;
  379. line-height: 28rpx;
  380. }
  381. .bfb{
  382. font-size: 20rpx;padding-top: 10rpx;
  383. color: #FFD804;
  384. line-height: 28rpx;
  385. }
  386. .lineNameBox{
  387. padding-left: 20rpx; width: 500rpx;
  388. }
  389. .tcLine{
  390. background: #F5F5F5;
  391. border-radius: 14rpx;
  392. border: 1px solid #E0E0E0;
  393. width: 316rpx;
  394. height: 138rpx;
  395. }
  396. .tcName{
  397. font-weight: 500;
  398. font-size: 28rpx;
  399. color: #435B6E;
  400. line-height: 40rpx;
  401. padding-left: 25rpx;padding-top: 24rpx;
  402. }
  403. .tcTitle{
  404. display: flex;
  405. }
  406. .tcprice{
  407. padding-top: 4rpx;font-size: 20rpx;
  408. color: #666666;padding-left: 25rpx;
  409. }
  410. .tcSpan2{
  411. font-size: 34rpx;
  412. color: #000000;
  413. }
  414. .tcSpan2{
  415. font-size: 20rpx;
  416. color: #000000;
  417. }
  418. .tcNameTs{
  419. width: 99rpx;margin-top: 30rpx;margin-left: 10rpx;
  420. height: 25rpx;
  421. background: #FE0200;
  422. text-align: center;
  423. line-height: 26rpx;
  424. font-size: 18rpx;
  425. color: #FFFFFF;
  426. }
  427. .tcBox{
  428. display: flex;justify-content: space-between;
  429. padding-top: 26rpx;
  430. }
  431. .bottom{
  432. width: 100%;
  433. height: 186rpx;
  434. position: fixed;
  435. bottom: 0rpx;
  436. padding-bottom: constant(safe-area-inset-bottom);
  437. padding-bottom: env(safe-area-inset-bottom);
  438. }
  439. .kaBox{
  440. height: 70rpx;
  441. }
  442. .bottomView{
  443. background: #FFFFFF;
  444. }
  445. .vipIcon{
  446. width: 47rpx;height: 45rpx;
  447. }
  448. .ka{
  449. display: flex;justify-content: space-between;
  450. background: #FEE0B9;
  451. padding: 12rpx 20rpx;
  452. }
  453. .kaLeft{
  454. display: flex;line-height: 45rpx;
  455. }
  456. .kaMS{
  457. font-size: 22rpx;
  458. color: #666666;padding-left: 15rpx;
  459. }
  460. .kaRight{
  461. line-height: 45rpx;font-size: 22rpx;
  462. color: #A26D4F;
  463. }
  464. .bottomBtn{
  465. width: 223rpx;
  466. height: 86rpx;
  467. background: #FCD903;
  468. border-radius: 43rpx;
  469. line-height: 86rpx;
  470. text-align: center;
  471. font-size: 32rpx;
  472. color: #110B01;
  473. }
  474. .bottomView{
  475. display: flex;justify-content: space-between;
  476. padding: 15rpx 30rpx;
  477. }
  478. .qingdanIcon{
  479. width: 40rpx;height: 45rpx;
  480. }
  481. .bLeft{
  482. display: flex;
  483. }
  484. .bLeftImgBox{
  485. position: relative;text-align: center;padding-top: 12rpx;
  486. }
  487. .qdNum{
  488. position: absolute;
  489. width: 22rpx;
  490. height: 22rpx;
  491. background: #EC0F0A;
  492. text-align: center;line-height: 22rpx;
  493. font-size: 16rpx;
  494. color: #FFFFFF;
  495. top: -2rpx;
  496. right: -4rpx;
  497. border-radius: 50%;
  498. }
  499. .qdTxt{
  500. font-size: 20rpx;
  501. color: #666666;
  502. line-height: 28rpx;
  503. }
  504. .bottomprice{
  505. padding-left: 38rpx;
  506. font-weight: 600;
  507. font-size: 20rpx;padding-top: 12rpx;
  508. color: #EC0F0A;line-height: 45rpx;
  509. }
  510. .byh{
  511. padding-left: 38rpx;
  512. font-size: 20rpx;
  513. color: #666666;
  514. line-height: 28rpx;
  515. }
  516. .bspan4{
  517. color: #EC0F0A;
  518. }
  519. .bSpan2{
  520. font-weight: 500;
  521. font-size: 34rpx;
  522. color: #EC0F0A;
  523. line-height: 45rpx;
  524. }
  525. .goodsPrice{
  526. display: flex;
  527. }
  528. .goodsPrice1{
  529. font-size: 24rpx;
  530. font-weight: 400;
  531. color: #FF0000;
  532. padding-top: 14rpx;
  533. padding-right: 14rpx;
  534. }
  535. .goodsPrice2{
  536. font-size: 28rpx;
  537. font-weight: 400;
  538. color: #FF0000;
  539. padding-top: 10rpx;
  540. }
  541. .goodsPrice3{
  542. font-size: 40rpx;
  543. font-weight: 500;
  544. color: #FF0000;
  545. }
  546. .goodsPrice4{
  547. font-size: 24rpx;
  548. font-weight: 400;
  549. color: #999999;
  550. padding-top: 14rpx;
  551. /* text-decoration:line-through; */
  552. padding-left: 10rpx;
  553. }
  554. .tkTop{
  555. display: flex;padding: 40rpx 24rpx;
  556. }
  557. .tkImg{
  558. width: 160rpx;
  559. height: 160rpx;border-radius: 13rpx;
  560. }
  561. .tkName{
  562. font-size: 30rpx;
  563. color: #222222;
  564. line-height: 42rpx;
  565. }
  566. .tkNameBox{
  567. padding-left: 24rpx;width: 500rpx;
  568. }
  569. .chahao{
  570. width: 22rpx;height: 22rpx;padding-top: 10rpx;
  571. }
  572. .buyLine{
  573. display: flex;justify-content: space-between;
  574. padding: 20rpx 24rpx;font-size: 26rpx;
  575. color: #666E80;
  576. }
  577. .buyBOx{
  578. background: #FFFFFF;margin-top: 20rpx;
  579. }
  580. .buyData{
  581. color: #222222;display: flex;
  582. }
  583. .goodsGuige{
  584. width: 150rpx;
  585. height: 50rpx;line-height: 50rpx;
  586. background: #F6F6F6;
  587. border-radius: 5rpx;
  588. font-size: 24rpx;
  589. color: #222222;text-align: center;
  590. }
  591. .activeGuige{
  592. width: 146rpx;
  593. height: 46rpx;line-height: 46rpx;
  594. border: 2rpx solid #FF0035;
  595. border-radius: 5rpx;
  596. font-size: 24rpx;
  597. color: #FF0035;text-align: center;
  598. }
  599. .numJsbox{
  600. display: flex;
  601. }
  602. .buyCont{
  603. position: absolute;
  604. left: 0;
  605. bottom: 0;
  606. width: 750rpx;
  607. height: 688rpx;
  608. background: #FFFFFF;
  609. border-radius: 26rpx 26rpx 0px 0px;
  610. }
  611. .buyNumBox{
  612. padding: 30rpx;
  613. padding-top: 10rpx;
  614. padding-bottom: 70rpx;
  615. }
  616. .buyContCh{
  617. position: absolute;
  618. top: 53rpx;
  619. right: 36rpx;
  620. width: 36rpx;
  621. height: 36rpx;
  622. }
  623. .goodsnum{
  624. width: 88rpx;
  625. height: 44rpx;
  626. background: #F4F5F7;
  627. line-height: 44rpx;
  628. text-align: center;
  629. font-weight: 500;
  630. color: #333333;
  631. font-size: 24rpx;
  632. margin: 0 4rpx;
  633. }
  634. .goodsnumInput{
  635. width: 88rpx;
  636. height: 44rpx;
  637. background: #F4F5F7;
  638. line-height: 44rpx;
  639. text-align: center;
  640. font-weight: 500;
  641. color: #333333;
  642. font-size: 24rpx;
  643. }
  644. .numJj{
  645. width: 44rpx;
  646. height: 44rpx;
  647. background: #F4F5F7;
  648. border-radius: 0px 6rpx 6rpx 0px;
  649. text-align: center;
  650. line-height: 44rpx;
  651. font-size: 32rpx;
  652. color: #999999;
  653. }
  654. .tkBottomBtn{
  655. width: 661rpx;text-align: center;
  656. height: 86rpx;line-height: 86rpx;
  657. background: #FCD903;
  658. border-radius: 43rpx;
  659. font-size: 32rpx;
  660. color: #110B01;
  661. }
  662. .tkBottom{
  663. width: 750rpx;
  664. height: 146rpx;
  665. background: #FFFFFF;
  666. box-shadow: 0rpx -2rpx 16rpx 0rpx rgba(153,153,153,0.2);
  667. padding-bottom: constant(safe-area-inset-bottom);
  668. padding-bottom: env(safe-area-inset-bottom);
  669. display: flex;justify-content: center;align-items: center;
  670. position: absolute;left: 0;bottom: 0;
  671. }
  672. </style>