index.vue 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828
  1. <template>
  2. <view class="container">
  3. <view class="no_data" v-if="dataError">
  4. <image src="/static/no_data.png" class="image" mode="widthFix" />
  5. <view>没有找到该订单呢……</view>
  6. </view>
  7. <view class="orderDetail_box" v-else>
  8. <view class="sec-wrap">
  9. <view class="order-status">
  10. <view class="icon-box">
  11. <image v-if="orderInfo.order_status === 0" class="icon" src="@/static/order/icon-ddfk.png"></image>
  12. <image v-else-if="orderInfo.order_status == 1" class="icon" src="@/static/order/icon-ddfh.png"></image>
  13. <image v-else-if="orderInfo.order_status == 2" class="icon" src="@/static/order/icon-ddsh.png"></image>
  14. <image v-else class="icon" src="@/static/order/icon-ddgb.png"></image>
  15. </view>
  16. <view class="right-text">
  17. <view class="status">{{ tidyStatus([orderInfo.pay_status, orderInfo.order_status]) }}</view>
  18. </view>
  19. </view>
  20. </view>
  21. <!-- 配送 -->
  22. <view class="address-box" v-if="orderInfo.prom_type != 1">
  23. <view class="show-address" >
  24. <view class="name-tel">{{ orderInfo.consignee }} {{ orderInfo.mobile }}</view>
  25. <view class="addr-text">{{ orderInfo.address }}</view>
  26. </view>
  27. </view>
  28. <view class="logistics_btn" v-if="[1].includes(orderInfo.order_status)" @tap="goLogistics">
  29. <view class="l_box">已发货:{{ orderInfo.shipping_name }},快递单号:{{ orderInfo.shipping_code }}</view>
  30. </view>
  31. <view class="goods-list">
  32. <view class="goods-info_box">
  33. <scroll-view class="goods-img-container">
  34. <view class="img-box">
  35. <image :src="orderInfo.goods.original_img" mode="" class="goods-img"></image>
  36. </view>
  37. <view class="goodsDetail_info">
  38. <view class="goods_name">{{ orderInfo.goods.goods_name }}
  39. <view class="goods_num">×{{ orderInfo.goods_num }}</view>
  40. </view>
  41. <view class="goods_spec">
  42. <text class="goods_spec_text" v-if="orderInfo.goodsAttr">{{ orderInfo.goodsAttr.spec_name }}</text>
  43. <text v-if="orderInfo.goodsAttribute">{{ orderInfo.goodsAttribute.attr_name }}</text>
  44. </view>
  45. <view v-if="orderInfo.type == 1">
  46. <view class="goods_price r_color" style="bottom:26rpx">{{ orderInfo.teac+"TeaC + "+ orderInfo.cha_bao+"贡献值" }}</view>
  47. <view class="good_server">寄卖服务费:¥{{ orderInfo.shipping_price || 0 }}</view>
  48. </view>
  49. <view class="goods_price r_color" v-else>¥{{ orderInfo.total_amount }}</view>
  50. </view>
  51. </scroll-view>
  52. </view>
  53. </view>
  54. <view class="order_info">
  55. <view class="li_box">订单状态:
  56. <view class="info_data">{{ tidyStatus([orderInfo.pay_status, orderInfo.order_status]) }}</view>
  57. </view>
  58. <view class="li_box" v-if="orderInfo.order_sn">订单编号:
  59. <view class="info_data">{{ orderInfo.order_sn }}</view>
  60. </view>
  61. <view class="li_box" v-if="orderInfo.add_time">订单创建:
  62. <view class="info_data">{{ $day(orderInfo.add_time * 1000).format("YYYY-MM-DD HH:mm:ss") }}</view>
  63. </view>
  64. <view class="li_box" v-if="orderInfo.pay_name">支付方式:
  65. <view class="info_data">{{ orderInfo.pay_name }}</view>
  66. </view>
  67. <view class="li_box" v-if="orderInfo.total_amount">商品合计:
  68. <view class="info_data" v-if="orderInfo.type == 1">{{ orderInfo.teac+"TeaC + "+ orderInfo.cha_bao+"贡献值 +"+'¥'+(orderInfo.shipping_price || 0) }}</view>
  69. <view class="info_data" v-else>{{ orderInfo.total_amount }}</view>
  70. </view>
  71. <!-- <view class="li_box" v-if="orderInfo.orderTypes == 2">批发券:
  72. <view class="info_data">{{ orderInfo.totalPfInt }}</view>
  73. </view> -->
  74. <!-- <view class="li_box" v-if="orderInfo.orderTypes == 2">贡献值:
  75. <view class="info_data">{{ orderInfo.totalTeaInt }}</view>
  76. </view> -->
  77. </view>
  78. <view class="detail_btn-row-box">
  79. <view class="detail_btn-row">
  80. <template v-if="orderInfo.order_status != 5">
  81. <view class="btn cancel-btn" @tap="toCancel" v-if="[0,1].includes(orderInfo.order_status)">取消订单</view>
  82. <view class="btn topay-btn" @tap="toPay(orderInfo.order_id)" v-if="[0,2].includes(orderInfo.pay_status)">立即支付</view>
  83. <view class="btn topay-btn" @tap="toTake" v-if="[0,1,7].includes(orderInfo.order_status)&&[1].includes(orderInfo.pay_status)">确认收货</view>
  84. <view class="btn topay-btn" @tap="toCode(orderInfo)" v-if="[8].includes(orderInfo.order_status)">待自提</view>
  85. </template>
  86. <template v-else>
  87. <view class="btn cancel-btn" @tap="removeItem">删除</view>
  88. </template>
  89. <view class="btn cancel-btn" @tap="goBack">返回</view>
  90. </view>
  91. </view>
  92. </view>
  93. </view>
  94. </template>
  95. <script>
  96. var utils = require("@/utils/utils.js");
  97. import { post } from "@/request/api.js";
  98. import { ToPayOpre } from "@/utils/reqTools.js";
  99. let toPayOpre = new ToPayOpre();
  100. export default {
  101. data() {
  102. return {
  103. currentTpye: false,
  104. dataError: false,
  105. orderInfo: {},
  106. isTuanIng: false, // 是否为拼团中订单
  107. isweixin: "",
  108. goodsNum: "",
  109. goodsTotalPrice: "",
  110. pt: "",
  111. order_id: '', //当前订单id
  112. };
  113. },
  114. onLoad: function(e) {
  115. if (!e.id) {
  116. uni.showToast({
  117. title: "参数错误",
  118. image: "/static/static/images/toast_nothing.png",
  119. duration: 1200,
  120. });
  121. setTimeout(() => {
  122. uni.navigateBack({
  123. delta: 1,
  124. });
  125. }, 1200);
  126. return;
  127. }
  128. this.order_id = e.id;
  129. uni.showLoading({
  130. title: "加载中…",
  131. mask: true,
  132. });
  133. this.loadData();
  134. },
  135. methods: {
  136. loadData() {
  137. post("v1/my/orderDetail", {
  138. order_id: this.order_id,
  139. }).then(res => {
  140. uni.hideLoading();
  141. if (res.code === 0) {
  142. this.orderInfo = res.data.data;
  143. }
  144. });
  145. },
  146. // 取消订单
  147. toCancel() {
  148. let that = this;
  149. uni.showModal({
  150. title: "温馨提示",
  151. content: "发起拼单24小时后,若未拼单成功将自动取消订单并退款哦~",
  152. showCancel: false,
  153. confirmText: "知道了",
  154. confirmColor: "#f02f2f",
  155. success(res) {
  156. if (res.confirm) {
  157. post("v1/my/orderCancel",{
  158. order_id: that.order_id
  159. }).then(res => {
  160. if(res.code === 0){
  161. that.$toast(res.msg);
  162. that.loadData();
  163. }
  164. })
  165. }
  166. },
  167. });
  168. },
  169. // 立即支付
  170. toPay(id) {
  171. let type = "jsapi";
  172. // #ifdef  H5
  173. type = "H5";
  174. // #endif
  175. // #ifdef  APP
  176. type = "app";
  177. // #endif
  178. // #ifdef  MP-WEIXIN
  179. type = "jsapi";
  180. // #endif
  181. post("v1/goods/payOrder", {
  182. id, trade_type: type,
  183. }).then((res) => {
  184. if(res.data && res.data != 200){
  185. let data = JSON.parse(res.data)
  186. data.prepayid = data.package?data.package.split('prepay_id=')[1]:''
  187. if (res.code === 0 && data.prepayid) {
  188. toPayOpre.toPay(data, (da) => {
  189. if (!da) {
  190. // 支付成功
  191. this.$toast("支付成功");
  192. } else {
  193. // 支付失败
  194. this.$toast("支付已取消");
  195. }
  196. // this.$toast('支付成功');
  197. this.loadData();
  198. });
  199. }
  200. }
  201. });
  202. },
  203. toCode(e){
  204. this.goto("/pagesB/order/verificationCode", { id: e.order_id });
  205. },
  206. // 确认收货
  207. toTake() {
  208. let that = this;
  209. uni.showModal({
  210. content: "亲,“确定收货”代表着本订单的交付流程已经完成,不再支持任何形式的退换货。",
  211. confirmText: "确认收货",
  212. confirmColor: "#fa2f2e",
  213. cancelText: "取消",
  214. cancelColor: "#bbb",
  215. success(res) {
  216. if (res.confirm) {
  217. post("v1/goods/confirmOrder",{
  218. order_id: that.order_id
  219. }).then(res => {
  220. if(res.code === 0){
  221. that.$toast(res.msg);
  222. that.loadData();
  223. }
  224. })
  225. }
  226. },
  227. });
  228. },
  229. //计时
  230. timeChange: function(statusType, finsTime) {
  231. var nowTime = utils.unxiNum();
  232. finsTime = utils.unxiNum(finsTime);
  233. var timeDiffNum = finsTime - nowTime;
  234. var that = this,
  235. text = "";
  236. if (timeDiffNum > 0) {
  237. var timer = setInterval(function() {
  238. --timeDiffNum;
  239. var back_text = utils.changeTimeStamp(timeDiffNum);
  240. if (timeDiffNum <= 0 || !back_text) {
  241. clearInterval(timer);
  242. if (statusType == 0) {
  243. text = "订单未在规定时间内付款已自动关闭";
  244. that.currentTpye = 7;
  245. that.onShow();
  246. }
  247. } else {
  248. if (statusType == 0) {
  249. text = "请于" + back_text + "内付款,超时订单将自动关闭";
  250. }
  251. }
  252. that.timeOver = false; //时间是否已结束
  253. that.changeTimeTexttext;
  254. }, 1000);
  255. } else {
  256. if (statusType == 0) {
  257. text = "订单未在规定时间内付款已自动关闭";
  258. }
  259. that.timeOver = true; //时间是否已结束
  260. that.changeTimeText = text;
  261. }
  262. },
  263. goBack: function() {
  264. uni.navigateBack();
  265. },
  266. // 跳转商品详情
  267. toGoodsDetails(e) {
  268. },
  269. // 跳转物流详情
  270. goLogistics() {},
  271. removeItem(){
  272. let that = this;
  273. uni.showModal({
  274. content: "亲,确认删除本订单吗?",
  275. confirmText: "确认删除",
  276. confirmColor: "#fa2f2e",
  277. cancelText: "取消",
  278. cancelColor: "#bbb",
  279. success(res) {
  280. if (res.confirm) {
  281. post("v1/my/orderDel", {
  282. order_id: that.order_id,
  283. }).then(res => {
  284. if (res.code === 0) {
  285. that.$toast(res.msg);
  286. that.goBack();
  287. }
  288. });
  289. }
  290. },
  291. });
  292. }
  293. },
  294. computed: {
  295. tidyStatus() {
  296. return (da) => {
  297. let str;
  298. if (da[1] === 0) str = "待发货";
  299. if (da[1] === 1) str = "已发货";
  300. if (da[1] === 2) str = "已完成";
  301. if (da[1] === 3) str = "申请退货";
  302. if (da[1] === 4) str = "确认退货";
  303. if (da[1] === 5) str = "已作废";
  304. if (da[1] === 6) str = "转邮寄";
  305. if (da[1] === 7) str = "待收货";
  306. if (da[1] === 8) str = "待自提";
  307. if ([0,2].includes(da[0]) && da[1] != 5) str = "待支付";
  308. return str
  309. };
  310. },
  311. },
  312. };
  313. </script>
  314. <style lang="scss" scoped>
  315. page {
  316. background-color: #f3f5f7;
  317. }
  318. .r_color {
  319. color: #fa2f2e;
  320. }
  321. .sec-wrap {
  322. background-color: #21c792;
  323. margin: 2rpx 0 20rpx;
  324. }
  325. .bottom-fiexd {
  326. position: fixed;
  327. bottom: 0;
  328. left: 0;
  329. }
  330. .flex_hvcc {
  331. display: flex;
  332. display: -webkit-flex;
  333. align-items: center;
  334. justify-content: center;
  335. }
  336. .address-box {
  337. width: 100%;
  338. margin: -20rpx 0 20rpx;
  339. background: #fff url(http://xcx.soowin.com/images/addr-line.png) no-repeat center top;
  340. background-size: 100% 4rpx;
  341. overflow: hidden;
  342. }
  343. .show-address {
  344. width: 100%;
  345. box-sizing: border-box;
  346. padding: 0 30rpx 0 80rpx;
  347. background: url(http://xcx.soowin.com/images/ico-addr.png) no-repeat 25rpx 30rpx;
  348. background-size: 40rpx auto;
  349. }
  350. .show-address .name-tel {
  351. font-size: 28rpx;
  352. color: #000;
  353. padding: 30rpx 0 20rpx 0;
  354. }
  355. .show-address .name-tel-phone {
  356. padding: 30rpx 0;
  357. }
  358. .show-address .addr-text {
  359. font-size: 24rpx;
  360. color: #888;
  361. padding-bottom: 34rpx;
  362. line-height: 36rpx;
  363. }
  364. .show-address .addr-text_lit {
  365. padding-bottom: 10rpx;
  366. }
  367. .sec-wrap .order-status {
  368. width: 100%;
  369. box-sizing: border-box;
  370. padding: 0 30rpx;
  371. height: 160rpx;
  372. display: flex;
  373. align-items: center;
  374. }
  375. .order-status .icon-box {
  376. width: 80rpx;
  377. height: 80rpx;
  378. overflow: hidden;
  379. margin-right: 26rpx;
  380. }
  381. .order-status .icon-box .icon {
  382. width: 100%;
  383. height: 100%;
  384. }
  385. .order-status .right-text {
  386. width: calc(100% - 116rpx);
  387. overflow: hidden;
  388. }
  389. .order-status .right-text .status {
  390. font-size: 36rpx;
  391. color: #fff;
  392. padding: 2rpx 0 4rpx;
  393. font-weight: 500;
  394. }
  395. .order-status .right-text .red {
  396. color: #fa2f2e;
  397. }
  398. .order-status .right-text .des {
  399. font-size: 24rpx;
  400. color: #fff;
  401. padding: 4rpx 0;
  402. }
  403. .address-sec {
  404. width: 720rpx;
  405. margin-left: 30rpx;
  406. display: flex;
  407. align-items: center;
  408. padding: 30rpx 0;
  409. }
  410. .address-sec .icon-box {
  411. width: 30rpx;
  412. align-self: flex-start;
  413. overflow: hidden;
  414. margin-right: 35rpx;
  415. }
  416. .address-sec .icon-box .icon {
  417. width: 30rpx;
  418. height: 30rpx;
  419. }
  420. .address-sec .right-box {
  421. width: 620rpx;
  422. }
  423. .address-sec .right-box .name-tel {
  424. font-size: 28rpx;
  425. color: #000;
  426. margin-bottom: 20rpx;
  427. }
  428. .address-sec .right-box .text {
  429. font-size: 24rpx;
  430. color: #888;
  431. line-height: 36rpx;
  432. height: 72rpx;
  433. overflow: hidden;
  434. }
  435. .wuliu-box {
  436. width: 720rpx;
  437. margin-left: 30rpx;
  438. border-bottom: 1rpx solid #eee;
  439. display: flex;
  440. align-items: center;
  441. padding: 30rpx 0;
  442. }
  443. .wuliu-box .icon-box {
  444. width: 40rpx;
  445. height: 40rpx;
  446. overflow: hidden;
  447. margin-right: 31rpx;
  448. align-self: flex-start;
  449. }
  450. .wuliu-box .icon-box .icon {
  451. width: 40rpx;
  452. height: 40rpx;
  453. }
  454. .wuliu-box .arrow-right {
  455. width: 15rpx;
  456. height: 24rpx;
  457. }
  458. .wuliu-box .arrow-right .arrow {
  459. width: 15rpx;
  460. height: 24rpx;
  461. }
  462. .wuliu-box .right-text {
  463. width: 575rpx;
  464. margin-right: 30rpx;
  465. }
  466. .wuliu-box .right-text .order-number {
  467. font-size: 28rpx;
  468. color: #000;
  469. margin-bottom: 14rpx;
  470. }
  471. .wuliu-box .right-text .wuliu-text,
  472. .wuliu-box .right-text .wuliu-date {
  473. font-size: 24rpx;
  474. color: #888;
  475. line-height: 36rpx;
  476. }
  477. .goods-list {
  478. width: 100%;
  479. background-color: #fff;
  480. margin-bottom: 24rpx;
  481. }
  482. .goods-list .list-title {
  483. font-size: 28rpx;
  484. color: #000;
  485. padding: 16rpx 24rpx;
  486. }
  487. .avaImgs {
  488. width: 50rpx;
  489. height: 50rpx;
  490. overflow: hidden;
  491. border-radius: 50%;
  492. background-color: #f3f5f7;
  493. margin-right: 20rpx;
  494. }
  495. .goods-info_box {
  496. width: 100%;
  497. overflow: hidden;
  498. border-top: 2rpx solid #eee;
  499. }
  500. .goods-img-container {
  501. overflow: hidden;
  502. padding: 30rpx;
  503. margin-bottom: 2rpx;
  504. box-sizing: border-box;
  505. }
  506. .goods-info .goods-des {
  507. width: 540rpx;
  508. height: 78rpx;
  509. line-height: 39rpx;
  510. font-size: 26rpx;
  511. color: #000;
  512. overflow: hidden;
  513. }
  514. .goods-img-container .img-box {
  515. width: 170rpx;
  516. height: 183.6rpx;
  517. background-color: #f7f7f7;
  518. overflow: hidden;
  519. float: left;
  520. display: -webkit-box;
  521. -webkit-box-align: center;
  522. -webkit-box-pack: center;
  523. }
  524. .goodsDetail_info {
  525. overflow: hidden;
  526. float: right;
  527. width: calc(100% - 194rpx);
  528. line-height: 1.5;
  529. position: relative;
  530. height:190rpx;
  531. }
  532. .goodsDetail_info .goods_name {
  533. padding-right: 66rpx;
  534. position: relative;
  535. font-size: 26rpx;
  536. margin-bottom: 6rpx;
  537. overflow: hidden;
  538. display: -webkit-box;
  539. -webkit-box-orient: vertical;
  540. -webkit-line-clamp: 2;
  541. }
  542. .goodsDetail_info .goods_name .goods_num {
  543. font-size: 24rpx;
  544. color: #666;
  545. position: absolute;
  546. top: 0;
  547. right: 0;
  548. }
  549. .goodsDetail_info .unimport {
  550. font-size: 24rpx;
  551. color: #999;
  552. }
  553. .goodsDetail_info .goods_price {
  554. position: absolute;
  555. left: 0;
  556. bottom: 0;
  557. font-size: 28rpx;
  558. line-height: 1.2;
  559. font-weight: 600;
  560. }
  561. .goodsDetail_info .good_server{
  562. font-size: 20rpx;
  563. color: rgb(245, 8, 8);
  564. position: absolute;
  565. bottom: 0rpx;
  566. left: 0;
  567. }
  568. .goods-img-container .img-box .goods-img {
  569. width: 100%;
  570. display: block;
  571. height: 100%;
  572. }
  573. .peisong-way {
  574. width: 100%;
  575. background-color: #fff;
  576. margin-bottom: 20rpx;
  577. }
  578. .peisong-way .row-box {
  579. width: 100%;
  580. display: flex;
  581. justify-content: space-between;
  582. align-items: center;
  583. box-sizing: border-box;
  584. padding: 24rpx 30rpx;
  585. font-size: 26rpx;
  586. line-height: 1.6;
  587. }
  588. .goods-info {
  589. width: 100%;
  590. background-color: #fff;
  591. margin-bottom: 20rpx;
  592. }
  593. .goods-info .row-box {
  594. width: calc(100% - 30rpx);
  595. display: flex;
  596. justify-content: space-between;
  597. /* align-items: center; */
  598. box-sizing: border-box;
  599. padding: 30rpx 30rpx 30rpx 0;
  600. margin-left: 30rpx;
  601. border-bottom: 1px solid #f5f5f5;
  602. font-size: 26rpx;
  603. color: #000;
  604. }
  605. .goods-info .row-box .row-label {
  606. width: calc(100% - 140rpx);
  607. }
  608. .goods-info .row-box .right-text {
  609. text-align: right;
  610. }
  611. .goods-info .row-box .right-text.r_color {
  612. font-weight: 600;
  613. }
  614. .order_info {
  615. width: 100%;
  616. background-color: #fff;
  617. box-sizing: border-box;
  618. padding: 16rpx 30rpx;
  619. margin-bottom: 20rpx;
  620. }
  621. .order_info .li_box {
  622. line-height: 1.6;
  623. padding: 10rpx 0;
  624. font-size: 26rpx;
  625. color: #999;
  626. }
  627. .order_info .li_box .info_data {
  628. display: inline-block;
  629. color: #000;
  630. }
  631. .jiesuan-box {
  632. display: flex;
  633. justify-content: space-between;
  634. width: 100%;
  635. height: 100rpx;
  636. position: fixed;
  637. bottom: 0;
  638. left: 0;
  639. border-top: 1px solid #eee;
  640. background-color: #fff;
  641. }
  642. .jiesuan-box .to-pay-btn {
  643. width: 250rpx;
  644. text-align: center;
  645. height: 100%;
  646. line-height: 100rpx;
  647. background-color: #fa2f2e;
  648. font-size: 32rpx;
  649. color: #fff;
  650. border-radius: 0;
  651. }
  652. .jiesuan-box .left-price {
  653. display: flex;
  654. width: 500rpx;
  655. justify-content: flex-start;
  656. line-height: 100rpx;
  657. padding: 0 30rpx;
  658. font-size: 28rpx;
  659. box-sizing: border-box;
  660. }
  661. .jiesuan-box .total {
  662. text-align: right;
  663. }
  664. .jiesuan-box .total .total_price {
  665. color: #fa2f2e;
  666. font-weight: 600;
  667. display: inline-flex;
  668. }
  669. .logistics_btn {
  670. padding: 24rpx 24rpx 24rpx 30rpx;
  671. width: 100%;
  672. overflow: hidden;
  673. box-sizing: border-box;
  674. font-size: 26rpx;
  675. line-height: 1.6;
  676. background-color: #fff;
  677. margin-bottom: 20rpx;
  678. }
  679. .l_box {
  680. width: 100%;
  681. box-sizing: border-box;
  682. overflow: hidden;
  683. padding: 0 28rpx 0 64rpx;
  684. white-space: nowrap;
  685. text-overflow: ellipsis;
  686. /* background: url(http://xcx.soowin.com/images/logis_icon.png) no-repeat left top, url(http://xcx.soowin.com/images/arrow-right.png) no-repeat right center;
  687. background-size: 46rpx auto, 16rpx auto; */
  688. background: url(http://xcx.soowin.com/images/logis_icon.png) no-repeat left top;
  689. background-size: 46rpx auto;
  690. }
  691. .detail_btn-row-box {
  692. height: 104rpx;
  693. }
  694. .detail_btn-row {
  695. width: 100%;
  696. height: 104rpx;
  697. padding: 18rpx 30rpx;
  698. box-sizing: border-box;
  699. overflow: hidden;
  700. position: fixed;
  701. left: 0;
  702. bottom: 0;
  703. background: #fff;
  704. display: flex;
  705. justify-content: flex-end;
  706. font-size: 26rpx;
  707. align-items: center;
  708. box-shadow: 0rpx -2rpx 16rpx rgba(0, 0, 0, 0.04);
  709. }
  710. .detail_btn-row .btn {
  711. box-sizing: border-box;
  712. text-align: center;
  713. border-radius: 6rpx;
  714. margin-left: 20rpx;
  715. border: 1rpx solid #ccc;
  716. padding: 16rpx 24rpx;
  717. }
  718. .detail_btn-row .topay-btn {
  719. border-color: #e05f0b;
  720. background-color: #e05f0b;
  721. color: #fff;
  722. }
  723. .footerMargin {
  724. margin-bottom: 104rpx;
  725. }
  726. // 备注
  727. .remark {
  728. width: 100%;
  729. overflow: hidden;
  730. background: #fff;
  731. padding: 30rpx;
  732. box-sizing: border-box;
  733. margin-top: 3rpx;
  734. }
  735. // 备注-end
  736. // 商品规格-start
  737. .goods_spec{
  738. font-size: 24rpx;
  739. color: #868686;
  740. padding-top: 20rpx;
  741. text{
  742. padding: 10rpx 20rpx;
  743. border-radius: 10rpx;
  744. margin-right: 12rpx;
  745. background-color: #f5f5f5;
  746. }
  747. &_text{
  748. padding-right: 8rpx;
  749. }
  750. }
  751. // 商品规格-end
  752. </style>