confirmOrder.vue 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831
  1. <template>
  2. <view class="box">
  3. <view class="topTIs">请支付后,请选择预约时间</view>
  4. <view class="topShop">
  5. <view class="topShopName">{{orderShop.shopName}}</view>
  6. <view class="topShopAdress">
  7. <image src="../../static/img/topshopicon.png" mode="" class="topShopAdressIcon"></image>
  8. <view class="topShopjl" v-if="orderShop.distance">{{orderShop.distance}}km</view>
  9. <view class="topShopAdressTxt" v-if="orderShop.address">{{orderShop.address}}</view>
  10. </view>
  11. </view>
  12. <view class="topBox">
  13. <view class="top">
  14. <view class="topLine borderB" >
  15. <view class="toplineLeft">
  16. <view class="topTitle">车牌号:</view>
  17. <view class="topTxt">{{maintainCarData.plateNumber}}</view>
  18. </view>
  19. </view>
  20. <view class="topLine borderB" v-if="iphoneData">
  21. <view class="toplineLeft">
  22. <view class="topTitle">联系人:</view>
  23. <view class="topTxt">{{iphoneData.name}} {{iphoneData.phone}}</view>
  24. </view>
  25. <view class="topLineRight" @click="gophone">修改></view>
  26. </view>
  27. <view class="topLine borderB" v-if="!iphoneData" @click="gophone">
  28. <view class="toplineLeft">
  29. <view class="topTitle">联系人:</view>
  30. <view style="color: #999999; font-size: 28rpx;" >请选择</view>
  31. </view>
  32. <view style="width: 14rpx; height: 23rpx; color: #999999;">></view>
  33. </view>
  34. </view>
  35. </view>
  36. <!-- 保养信息 -->
  37. <view class="main">
  38. <view class="mainLine" v-for="(item,index) in orderData">
  39. <view class="mainTitle">{{item.name}}</view>
  40. <view class="goodsItem" v-for="(v,i) in item.listGoodsAll">
  41. <view>
  42. <image :src="v.picUrl" mode="" class="goodsImg" v-if="v.picUrl"></image>
  43. <image src="../../static/img/noimg.png" mode="" class="goodsImg" v-else></image>
  44. </view>
  45. <view class="goodsItemRight" >
  46. <view class="goodsItemName">{{v.showName}}</view>
  47. <view class="goodsItemBottom">
  48. <view class="goodssalePrice">¥{{v.salePrice?v.salePrice:'0.00'}}</view>
  49. <view class="goodsNum">x{{v.qty}}</view>
  50. </view>
  51. </view>
  52. </view>
  53. <view class="goodsItem" v-for="(v,i) in item.listItem">
  54. <view>
  55. <image :src="v.picUrl" mode="" class="goodsImg" v-if="v.picUrl"></image>
  56. <image src="../../static/img/icon_xiangmu.png" mode="" class="goodsImg" v-else></image>
  57. </view>
  58. <view class="goodsItemRight" >
  59. <view class="goodsItemName">{{v.itemName}}</view>
  60. <view class="goodsItemBottom">
  61. <view class="goodssalePrice">¥{{v.salePrice?v.salePrice:'0.00'}}</view>
  62. </view>
  63. </view>
  64. </view>
  65. </view>
  66. </view>
  67. <!-- 订单备注-->
  68. <view class="remarksBox">
  69. <view class="remarksLeft">订单备注</view>
  70. <view>
  71. <textarea value="" placeholder="点击添加备注信息" class="textarea" v-model="remark"/>
  72. </view>
  73. </view>
  74. <!-- 支付方式 -->
  75. <view class="payBox">
  76. <view class="payLIne borderB">
  77. <view class="payTitle">支付方式</view>
  78. <view class="payTxt">在线支付</view>
  79. </view>
  80. <view class="payLIne borderB">
  81. <view class="payTitle">商品费</view>
  82. <view class="payTxt">¥{{goodsMoney.toFixed(2)}}</view>
  83. </view>
  84. <view class="payLIne borderB">
  85. <view class="payTitle">工时费</view>
  86. <view class="payTxt">¥{{itemMoney.toFixed(2)}}</view>
  87. </view>
  88. <view class="payLIne" @click="gocoupon">
  89. <view class="payTitle">优惠券</view>
  90. <view class="payTxt2" v-if="!couponMoney">{{yhTotalSize}}张可用></view>
  91. <view class="payTxt2" v-if="couponMoney">-¥{{couponMoney}}</view>
  92. </view>
  93. </view>
  94. <view style="height: 150rpx;"></view>
  95. <!-- 底部 -->
  96. <view class="bottom">
  97. <view class="bottomLeft">
  98. <view>
  99. <view class="heji"> <span class="heji1">合计</span> <span class="hejiNum">¥{{(goodsMoney+itemMoney-couponMoney).toFixed(2)}}</span> </view>
  100. <view class="hejiMs">共{{goodsCount}}件商品,{{itemCount}}项服务</view>
  101. </view>
  102. </view>
  103. <view class="settlement" @click="$noMultipleClicks(settlement)">去支付</view>
  104. </view>
  105. </view>
  106. </template>
  107. <script>
  108. export default {
  109. data() {
  110. return {
  111. remark:'',
  112. iphoneData:'',
  113. orderTime:'',
  114. OrderTimes:'',
  115. orderTimeIndex1:0,
  116. orderTimeIndex2:-1,
  117. timeShow:false,
  118. orderData:'',
  119. itemMoney:0,//项目总价
  120. goodsMoney:0,//商品总价
  121. goodsCount:0,//商品数
  122. itemCount:0,//项目数
  123. packJsonArr:[],
  124. shopData:'',
  125. maintainCarData:'',
  126. currentMileage:'',
  127. payMoney:'',
  128. couponID:'',
  129. couponMoney:'',
  130. yhTotalSize:0,
  131. orderShop:'',
  132. brands:'',
  133. noClick:true,
  134. couponstate:'',
  135. }
  136. },
  137. onLoad(opt) {
  138. /* if(opt.type==2){
  139. this.shopData=uni.getStorageSync("cfshopInfo");
  140. }else{
  141. this.shopData=uni.getStorageSync("shopData");
  142. } */
  143. this.orderShop=uni.getStorageSync("orderShop")
  144. this.maintainCarData=uni.getStorageSync("maintainCarData");
  145. this.getIphoneData(); //获取默认手机号
  146. console.log(opt.orderData)
  147. this.orderData=JSON.parse(opt.orderData);
  148. this.currentMileage=opt.currentMileage;
  149. console.log(this.orderData)
  150. this.orderData.forEach(item=>{
  151. var obj={
  152. 'packageID':item.id,
  153. 'itemJsonArr':[],
  154. 'goodsJsonArr':[],
  155. }
  156. if( item.listGoodsAll.length>0){
  157. item.listGoodsAll.forEach(v=>{
  158. this.goodsMoney+=v.salePrice*v.qty
  159. this.goodsCount+=v.qty
  160. var goodsObj={
  161. 'id':v.goodsID,
  162. //'mItemID':v.mItemID,
  163. 'mGoodsID':v.mGoodsID,
  164. 'salePrice':v.salePrice,
  165. 'saleQty':v.qty,
  166. 'amountMoney':v.salePrice*v.qty,
  167. }
  168. if(v.mItemID){
  169. goodsObj.mItemID=v.mItemID
  170. }
  171. obj.goodsJsonArr.push(goodsObj)
  172. })
  173. }
  174. if(item.listItem.length>0){
  175. item.listItem.forEach(v=>{
  176. this.itemMoney+=v.salePrice
  177. this.itemCount++;
  178. var itemObj={
  179. 'id':v.itemID,
  180. 'mItemID':v.mItemID,
  181. 'salePrice':v.salePrice,
  182. }
  183. obj.itemJsonArr.push(itemObj)
  184. })
  185. }
  186. this.packJsonArr.push(obj)
  187. })
  188. this.myOrderCoupon()// 优惠券
  189. console.log( this.packJsonArr)
  190. },
  191. onShow() {
  192. var iphoneData=uni.getStorageSync("phoneData");
  193. if(iphoneData){
  194. this.iphoneData=iphoneData
  195. }
  196. var couponData=uni.getStorageSync("couponData")
  197. if(couponData){
  198. this.couponID=couponData.ID;
  199. var ActMoney=couponData.ActMoney;
  200. var payMoney=this.goodsMoney+this.itemMoney;
  201. console.log('money',this.goodsMoney, this.itemMoney, payMoney);
  202. if(payMoney<ActMoney){
  203. this.couponMoney=payMoney.toFixed(2)
  204. }else{
  205. this.couponMoney=ActMoney.toFixed(2)
  206. }
  207. }
  208. var cardata = uni.getStorageSync("maintainCarData")
  209. this.maintainCarData=cardata
  210. },
  211. methods: {
  212. myOrderCoupon(){
  213. var payMoney=this.goodsMoney+this.itemMoney;
  214. //payMoney=40
  215. this.$http('worldKeepCar/maintainOrder/myOrderCoupon', {
  216. money:payMoney,
  217. shopId:this.orderShop.shopId,
  218. /* page:1,
  219. limit:2, */
  220. },'GET').then(res => {
  221. this.yhTotalSize=res.data.length
  222. if(this.yhTotalSize>0){
  223. this.$store.commit('mutationscouponstate',false)
  224. }
  225. })
  226. },
  227. gocoupon(){
  228. var payMoney=this.goodsMoney+this.itemMoney;
  229. //payMoney=40
  230. uni.navigateTo({
  231. url:'usableDiscountCard?payMoney='+payMoney+'&shopId='+this.orderShop.shopId
  232. })
  233. },
  234. settlement(){
  235. if(this.iphoneData){
  236. if(this.iphoneData.name==''){
  237. uni.showToast({
  238. title: '请选择联系人',
  239. icon:'none',
  240. duration: 2000
  241. });
  242. return false;
  243. }
  244. }else{
  245. uni.showToast({
  246. title: '请选择联系人',
  247. icon:'none',
  248. duration: 2000
  249. });
  250. return false;
  251. }
  252. var that=this;
  253. this.couponstate=this.$store.state.couponstate;
  254. console.log(this.couponstate)
  255. if(this.yhTotalSize>0){
  256. if(this.couponID==''&&!this.couponstate){
  257. uni.showModal({
  258. title: '提示',
  259. content: '当前有可用优惠券未使用',
  260. cancelText:'放弃使用',
  261. confirmText:'去使用',
  262. success: function (res) {
  263. if (res.confirm) {
  264. //console.log('用户点击确定');
  265. var payMoney=that.goodsMoney+that.itemMoney;
  266. uni.navigateTo({
  267. url:'usableDiscountCard?payMoney='+payMoney+'&shopId='+that.orderShop.shopId
  268. })
  269. } else if (res.cancel) {
  270. that.tosettlement()
  271. }
  272. }
  273. });
  274. }else{
  275. that.tosettlement()
  276. }
  277. }else {
  278. that.tosettlement()
  279. }
  280. },
  281. tosettlement(){
  282. if(this.couponMoney){
  283. this.payMoney=this.goodsMoney+this.itemMoney-this.couponMoney;
  284. }else{
  285. this.payMoney=this.goodsMoney+this.itemMoney;
  286. }
  287. this.payMoney=this.payMoney.toFixed(2)
  288. //this.payMoney=3;
  289. console.log(this.payMoney)
  290. //return false
  291. /* var cardata={
  292. annualmoney: "2017",
  293. brand: "大众",
  294. brandLogo: "http://img.db.66km.cn/carbrandlogo/D - 大众.png",
  295. buyDate: "",
  296. carModel: "2018 双离合变速器(DSG) 7档 前置前驱 CC",
  297. carName: "",
  298. carNumber: "",
  299. createTime: "2021-10-27 09:20:29",
  300. dayMilage: 661,
  301. displacement: "1.4T",
  302. engineCode: "",
  303. engineType: "1111",
  304. id: "07EB4B07-5302-4574-9709-0EC0D1668155",
  305. insuranceCompany: "",
  306. insuranceExpireDate: "1900-01-01 00:00:00",
  307. insuredCity: "",
  308. isDefault: 0,
  309. istransfer: "",
  310. memberID: "E4416E30-C82A-4136-81B7-6B424DDE4847",
  311. milage: 7788,
  312. model: "C-TREK(蔚领)",
  313. nLevelID: "CFV0718D0038",
  314. plateNumber: "鲁A22333",
  315. saleName: "",
  316. series: "C-TREK(蔚领)",
  317. transmissionType: "自动",
  318. traveltime: "",
  319. vIN: "",
  320. currentMileage:'1111',
  321. } */
  322. uni.showLoading({
  323. title: '保存中'
  324. })
  325. this.$http('worldKeepCar/maintainOrder/submitOrder', {
  326. shopName:this.orderShop.shopName,
  327. contactName:this.iphoneData.name,
  328. contactPhone:this.iphoneData.phone,
  329. carID:this.maintainCarData.id,
  330. plateNumber:this.maintainCarData.plateNumber,
  331. carModel:this.maintainCarData.carModel,
  332. currentMileage:this.maintainCarData.milage,//this.currentMileage,
  333. brand:this.maintainCarData.brand,
  334. series:this.maintainCarData.series,
  335. comment:this.remark,
  336. itemMoney:this.itemMoney,
  337. goodsMoney:this.goodsMoney,
  338. goodsCount:this.goodsCount,
  339. itemCount:this.itemCount,
  340. couponMoney:this.couponMoney,
  341. couponID:this.couponID,
  342. payMoney:this.payMoney,
  343. //payMoney:0.01,
  344. packJsonArr:JSON.stringify(this.packJsonArr) ,
  345. shopID:this.orderShop.shopId,
  346. // unionID:this.orderShop.unionId,
  347. },'POST').then(res => {
  348. if(res.code==0){
  349. if(this.payMoney==0){
  350. uni.hideLoading();
  351. /* uni.navigateTo({
  352. url:'../order/orderDetail?id='+res.data.id+'&type=2'
  353. }) */
  354. this.orderPayzero(res.data.id)
  355. }else{
  356. this.orderPay(res.data.id)
  357. }
  358. }else{
  359. uni.hideLoading();
  360. uni.showToast({
  361. title: res.msg,
  362. icon:'none',
  363. duration: 4000
  364. });
  365. }
  366. })
  367. },
  368. orderPayzero(id){
  369. this.$http('worldKeepCar/maintainOrder/orderPay', {
  370. sheetID:id
  371. },'POST').then(res => {
  372. uni.hideLoading();
  373. if(res.code==0){
  374. }else{
  375. uni.hideLoading();
  376. uni.showToast({
  377. title: res.msg,
  378. icon:'none',
  379. duration: 4000
  380. });
  381. }
  382. if(res.isPay==0){
  383. uni.navigateTo({
  384. url:'../order/orderDetail?id='+id+'&type=2'
  385. })
  386. }
  387. })
  388. },
  389. orderPay(id){
  390. //uni.showLoading({ });
  391. this.$http('worldKeepCar/maintainOrder/orderPay', {
  392. sheetID:id
  393. },'POST').then(res => {
  394. uni.hideLoading();
  395. if(res.code==0){
  396. }else{
  397. uni.hideLoading();
  398. uni.showToast({
  399. title: res.msg,
  400. icon:'none',
  401. duration: 4000
  402. });
  403. }
  404. var payInfo=JSON.parse(res.data.payInfo)
  405. //var payInfo={"appId":"wx693850514180f795","timeStamp":"1647595167","nonceStr":"c75cb3e854164716a7fc1f38ea2c2a3b","package":"prepay_id=wx18171927615994f4d93a97bc0762e40000","signType":"RSA","paySign":"hRlskqnkZh1xV+u7/xSVt1ULI51Ggt7/XzNlZUo6rIqwTXnUw6Xm2P/Qe5TikPB4Vp/nM7AWpZgfBVvIZctpYOoGOG2dOLsZ+SITpRIoEPv/WPWMuXOQqugKq/aFpbJbIqdlUwW9cbyvQWewGnXNfJYzjIwSuoZepSqVx0ljzbHvoGeTTf7ADI2K45VOGtBx+yNRwiYrVvC64GsCNJyQaUPCQyYCicUM8X29jj+8jApRF2ha9eQbZVH0ZuxlC+XMtciotkHxnzQGOmaORaXybGm7GoLcDD1MigXN5ZWCr4ZhhwHynp1MVvPcj1sE4Ep54FrXFMV8z5NpOxMANJ/brQ=="}
  406. if(res.isPay==0){
  407. uni.navigateTo({
  408. url:'../order/orderDetail?id='+id+'&type=2'
  409. })
  410. }else{
  411. uni.requestPayment({
  412. provider: 'wxpay',
  413. // timeStamp: String(Date.now()),
  414. timeStamp:payInfo.timeStamp,
  415. nonceStr: payInfo.nonceStr,
  416. package: payInfo.package,
  417. signType: payInfo.signType,
  418. paySign: payInfo.paySign,
  419. success: function (res) {
  420. console.log('success:' + JSON.stringify(res));
  421. uni.showToast({
  422. title: '支付成功',
  423. icon:'none',
  424. duration: 2000
  425. });
  426. /* uni.switchTab({
  427. url:'../index/index'
  428. }) */
  429. uni.navigateTo({
  430. url:'../order/orderDetail?id='+id+'&type=2'
  431. })
  432. },
  433. fail: function (err) {
  434. console.log('取消支付fail:' + JSON.stringify(err));
  435. uni.navigateTo({
  436. url:'../order/orderDetail?id='+id+'&type=2'
  437. })
  438. }
  439. });
  440. }
  441. })
  442. },
  443. getIphoneData(){
  444. uni.showLoading({
  445. title: '加载中'
  446. })
  447. this.$http('worldKeepCar/keepCarMy/queryTMemberContactIsDefault', {
  448. },'GET').then(res => {
  449. uni.hideLoading();
  450. this.iphoneData=res.data;
  451. })
  452. },
  453. gophone(){
  454. uni.removeStorageSync('phoneData');
  455. uni.navigateTo({
  456. url:'../iPhone/phoneList'
  457. })
  458. },
  459. }
  460. }
  461. </script>
  462. <style scoped>
  463. .topTIs{
  464. font-size: 26rpx;
  465. padding-left: 24rpx;
  466. color: #C8841C;
  467. height: 72rpx;
  468. background: #FFF7EB;
  469. line-height: 72rpx;
  470. margin-bottom: 20rpx;
  471. }
  472. .topShopAdressIcon{
  473. width: 22rpx;
  474. height: 29rpx;
  475. }
  476. .topShop{
  477. width: 702rpx;
  478. min-height: 148rpx;
  479. background: #FFFFFF;
  480. border-radius: 10rpx;
  481. margin: 0 auto;
  482. }
  483. .topShopName{
  484. font-size: 28rpx;
  485. padding-top: 30rpx;
  486. padding-left: 20rpx;
  487. color: #3C3C3C;
  488. }
  489. .topShopAdress{
  490. display: flex;
  491. padding: 20rpx;
  492. }
  493. .topShopjl{
  494. font-size: 24rpx;
  495. line-height: 30rpx;
  496. color: #999999;
  497. padding-left: 16rpx;
  498. }
  499. .topShopAdressTxt{
  500. font-size: 24rpx;
  501. line-height: 30rpx;
  502. color: #999999;
  503. padding-left: 16rpx;
  504. }
  505. .box{
  506. min-height: 100vh;
  507. background:#F4F5F7 ;
  508. }
  509. .timeBox{
  510. width: 100vw;
  511. height: 100vh;
  512. background: rgba(0,0,0,0.5);
  513. position: fixed;
  514. top: 0;
  515. left: 0;
  516. z-index: 111;
  517. }
  518. .timeLeftActive{
  519. background: #FFFFFF;
  520. }
  521. .timeMain{
  522. width: 100vw;
  523. height: 70vh;
  524. margin-top: 30vh;
  525. background: #FFFFFF;
  526. border-radius: 24rpx 24rpx 0px 0px;
  527. }
  528. .timesfNo{
  529. background: #F5F5F5;
  530. }
  531. .timesfActive{
  532. background: #FF4F00;
  533. }
  534. .timesfActive .timeSfNum{
  535. color: #FFFFFF;
  536. }
  537. .timesfActive .timeyy{
  538. color: #FFFFFF;
  539. }
  540. .topBox{
  541. padding: 20rpx 24rpx 0;
  542. }
  543. .timeTop{
  544. display: flex;
  545. line-height: 90rpx;
  546. padding-left: 24rpx;
  547. padding-right: 24rpx;
  548. justify-content: space-between;
  549. }
  550. .timeTopTitle{
  551. font-size: 30rpx;
  552. font-family: PingFangSC-Medium, PingFang SC;
  553. font-weight: 600;
  554. color: #3C3C3C;
  555. }
  556. .close{
  557. color: #999999;font-size: 30rpx;
  558. padding-left: 30rpx;
  559. }
  560. .timeCont{
  561. height: calc(70vh - 210rpx);
  562. }
  563. .timeSv{
  564. height: calc(70vh - 210rpx);
  565. }
  566. .timeLeft{
  567. width: 162rpx;
  568. background: #F4F5F7;
  569. border-top: 1px soid #F4F5F7;
  570. border-right:1px soid #F4F5F7 ;
  571. }
  572. .timeRight{
  573. width: 588rpx;
  574. }
  575. .timesf{
  576. width: 165rpx;
  577. height: 98rpx;
  578. border-radius: 7rpx;
  579. border: 2rpx solid #EEEEEE;
  580. text-align: center;
  581. margin-left: 20rpx;
  582. margin-bottom: 24rpx;
  583. }
  584. .timeBottom{
  585. width: 750rpx;
  586. height: 120rpx;
  587. background: #FFFFFF;
  588. box-shadow: 0px -2px 20rpx 0px rgba(153, 153, 153, 0.2);
  589. display: flex;
  590. align-items: center;
  591. }
  592. .timerightBox{
  593. display: flex;
  594. flex-wrap: wrap;
  595. }
  596. .timeCont{
  597. display: flex;
  598. }
  599. .timeSfNum{
  600. color: #666666;
  601. font-size: 28rpx;
  602. padding-top: 15rpx;
  603. }
  604. .timeyy{
  605. font-size: 24rpx;
  606. color: #999999;
  607. }
  608. .timecomplete{
  609. width: 690rpx;
  610. height: 74rpx;
  611. background: linear-gradient(124deg, #FF8700 0%, #FF4F00 100%);
  612. border-radius: 37rpx;
  613. line-height: 74rpx;
  614. text-align: center;
  615. font-size: 30rpx;
  616. color: #FFFFFF;
  617. margin-left: 30rpx;
  618. }
  619. .timeleftLine{
  620. font-size: 30rpx;
  621. color: #999999;
  622. text-align: center;
  623. padding: 28rpx 10rpx;
  624. border-bottom: 1px solid #EEEEEE;
  625. }
  626. .top{
  627. background: #FFFFFF;
  628. border-radius: 10px;
  629. padding: 0 20rpx;
  630. }
  631. .topLine{
  632. display: flex;
  633. justify-content: space-between;
  634. padding: 30rpx 0;
  635. }
  636. .toplineLeft{
  637. display: flex;font-size: 28rpx;
  638. }
  639. .topTitle{
  640. width: 150rpx;font-weight: 400;
  641. color: #3C3C3C;
  642. }
  643. .topLineRight{
  644. font-size: 26rpx;
  645. font-family: PingFangSC-Regular, PingFang SC;
  646. font-weight: 400;
  647. color: #FF4F00;
  648. }
  649. .topTxt{
  650. color: #3C3C3C;
  651. }
  652. .borderB{
  653. border-bottom: 1px solid #EEEEEE;
  654. }
  655. .goodsImg{
  656. width: 120rpx;height: 120rpx;
  657. }
  658. .main{
  659. padding: 0 24rpx;
  660. }
  661. .mainLine{
  662. background: #FFFFFF;
  663. padding: 24rpx 20rpx;
  664. border-radius: 10rpx;
  665. margin-top: 20rpx;
  666. }
  667. .mainTitle{
  668. font-size: 28rpx;
  669. font-weight: 600;
  670. color: #3C3C3C;
  671. }
  672. .goodsItem{
  673. display: flex;
  674. padding: 15rpx 0;
  675. }
  676. .goodsItemRight{
  677. width: 520rpx;
  678. padding-left: 20rpx;
  679. display: flex;
  680. flex-direction:column;
  681. justify-content: space-between;
  682. }
  683. .goodsItemBottom{
  684. display: flex;
  685. justify-content: space-between;
  686. }
  687. .goodsItemName{
  688. font-size: 26rpx;
  689. color: #3C3C3C;
  690. }
  691. .goodssalePrice{
  692. font-size: 32rpx;font-weight: 500;color: #FF4F00;
  693. }
  694. .goodsNum{
  695. font-size: 24rpx;font-weight: 400;color: #999999;
  696. }
  697. .remarksBox{
  698. display: flex;
  699. padding: 24rpx;
  700. border-radius: 16rpx;
  701. background: #FFFFFF;
  702. margin-top: 20rpx;
  703. width: 654rpx;
  704. margin-left: 24rpx;
  705. }
  706. .remarksLeft{
  707. color: #333333;font-size: 28rpx;
  708. width: 160rpx;
  709. }
  710. .textarea{
  711. width: 500rpx;
  712. font-size: 26rpx;
  713. height: 100rpx;
  714. padding: 0;
  715. padding-left: 30rpx;
  716. }
  717. .payBox{
  718. background: #FFFFFF;
  719. margin-top: 20rpx;
  720. margin-left: 24rpx;
  721. width: 702rpx;
  722. border-radius: 16rpx;
  723. }
  724. .payLIne{
  725. display: flex;
  726. justify-content: space-between;
  727. color: #3C3C3C;
  728. font-size: 28rpx;
  729. padding: 29rpx 20rpx;
  730. }
  731. .payTxt2{
  732. color: #FF4F00;
  733. }
  734. .bottom{
  735. position: fixed;
  736. left: 0;
  737. bottom: 0;
  738. width: 100vw;
  739. height: 120rpx;
  740. background: #FFFFFF;
  741. box-shadow: 0px -2px 20px 0px rgba(153, 153, 153, 0.2);
  742. display: flex;
  743. justify-content: space-between;
  744. }
  745. .bottomLeft{
  746. display: flex;
  747. padding-left: 20rpx;
  748. }
  749. .heji1{
  750. font-size: 24rpx;
  751. font-weight: 500;
  752. color: #666666;
  753. }
  754. .hejiNum{
  755. font-size: 32rpx;
  756. font-family: PingFangSC-Medium, PingFang SC;
  757. font-weight: 500;
  758. color: #FF4F00;
  759. }
  760. .hejiMs{
  761. font-size: 24rpx;
  762. padding-top: 5rpx;
  763. color: #999999;
  764. }
  765. .heji{
  766. padding-top: 23rpx;
  767. }
  768. .settlement{
  769. width: 203rpx;
  770. height: 74rpx;
  771. background: #FF4F00;
  772. border-radius: 37rpx;
  773. text-align: center;
  774. line-height: 74rpx;
  775. font-size: 30rpx;
  776. font-family: PingFangSC-Medium, PingFang SC;
  777. font-weight: 500;
  778. color: #FEFFFE;
  779. margin-top: 23rpx;
  780. margin-right: 32rpx;
  781. }
  782. </style>