confirmOrder.vue 19 KB

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