submitOrder.vue 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464
  1. <template>
  2. <view class="container">
  3. <form>
  4. <view class="tui-box">
  5. <view v-if="deliverymodearray[0]" class="acea-row">
  6. <radio-group @change="radioChange">
  7. <label v-if="ptype==2">服务方式: </label>
  8. <label v-for="(ditem,index) in deliverymodearray" :key="index">
  9. <radio :value="ditem.val" :checked="deliverymode == ditem.val" /><text>{{ditem.key}}</text>
  10. </label>
  11. </radio-group>
  12. </view>
  13. <tui-list-cell v-if="deliverymode==1 || deliverymode==3" :arrow="true" unlined :radius="true"
  14. @click="chooseAddr">
  15. <view class="tui-bg-img"></view>
  16. <view class="tui-address">
  17. <view v-if="curAddressData.address">
  18. <view class="tui-userinfo">
  19. <text class="tui-name">{{curAddressData.name}}</text>{{curAddressData.telephone}}
  20. </view>
  21. <view class="tui-addr">
  22. <text>{{curAddressData.address_default}}{{curAddressData.address}}</text>
  23. </view>
  24. </view>
  25. <view class="tui-none-addr" v-else>
  26. <image src="/static/images/location_fill.png" class="tui-addr-img" mode="widthFix"></image>
  27. <text>请选择地址</text>
  28. </view>
  29. </view>
  30. </tui-list-cell>
  31. <tui-list-cell v-if="deliverymode==2" :arrow="!sid" unlined :radius="true" @click="chooseStore">
  32. <view class="tui-bg-img"></view>
  33. <view class="tui-address">
  34. <view v-if="storeaddrData.title">
  35. <view class="tui-userinfo">
  36. <text class="tui-name">{{storeaddrData.title}}</text>
  37. </view>
  38. <view class="tui-addr">
  39. <text>{{storeaddrData.province_name}}{{storeaddrData.city_name}}{{storeaddrData.district_name}}{{storeaddrData.region_name}}</text>
  40. </view>
  41. </view>
  42. <view class="tui-none-addr" v-else>
  43. <image src="/static/images/location_fill.png" class="tui-addr-img" mode="widthFix"></image>
  44. <text>请选择门店</text>
  45. </view>
  46. </view>
  47. </tui-list-cell>
  48. <tui-list-cell v-if="deliverymode==5" :arrow="true" unlined :radius="true" @click="chooseTuanzhang">
  49. <view class="tui-bg-img"></view>
  50. <view class="tui-address">
  51. <view v-if="TuanzhangaddrData.title">
  52. <view class="tui-userinfo">
  53. <text class="tui-name">{{TuanzhangaddrData.title}}</text>
  54. </view>
  55. <view class="tui-addr">
  56. <text>{{TuanzhangaddrData.province_name}}{{TuanzhangaddrData.city_name}}{{TuanzhangaddrData.district_name}}{{TuanzhangaddrData.address}}</text>
  57. </view>
  58. </view>
  59. <view class="tui-none-addr" v-else>
  60. <image src="/static/images/location_fill.png" class="tui-addr-img" mode="widthFix"></image>
  61. <text>请选择社区自提点</text>
  62. </view>
  63. </view>
  64. </tui-list-cell>
  65. <tui-list-cell v-if="(deliverymode==1 || deliverymode==2 || deliverymode==4) && is_times==0"
  66. :arrow="true" unlined :radius="true" @click="chooseTime">
  67. <view class="tui-address">
  68. <view v-if="servicetime">
  69. <view class="tui-addr">
  70. <text>预约时间:{{servicetime}}</text>
  71. </view>
  72. </view>
  73. <view class="tui-none-addr" v-else>
  74. <text>请选择预约时间</text>
  75. </view>
  76. </view>
  77. </tui-list-cell>
  78. <view class="tui-top tui-goods-info">
  79. <block v-for="(item,index) in goodsList" :key="index">
  80. <tui-list-cell :hover="false" padding="0">
  81. <view class="tui-goods-item">
  82. <image :src="item.pic" class="tui-goods-img"></image>
  83. <view class="tui-goods-center">
  84. <view class="tui-goods-name">{{item.name}}</view>
  85. <view class="tui-goods-attr">{{item.label || ''}}</view>
  86. </view>
  87. <view class="tui-price-right">
  88. <view>¥{{item.price}}</view>
  89. <view>x{{item.skumorequantity || item.number}}</view>
  90. </view>
  91. </view>
  92. </tui-list-cell>
  93. </block>
  94. <tui-list-cell :hover="false">
  95. <view class="tui-padding tui-flex">
  96. <view>总额</view>
  97. <view>¥{{allGoodsPrice}}</view>
  98. </view>
  99. </tui-list-cell>
  100. <tui-list-cell v-if="!hasNoCoupons" :arrow="hasCoupon" :hover="hasCoupon" @click="couponShow=true">
  101. <view class="tui-padding tui-flex">
  102. <view>优惠券</view>
  103. <view :class="{'tui-color-red':hasCoupon}">{{curCouponname||"选择优惠券"}}</view>
  104. </view>
  105. </tui-list-cell>
  106. <tui-list-cell v-if="!hasNogoodsgiftcard" :arrow="hasgoodsgiftcard" :hover="hasgoodsgiftcard"
  107. @click="goodsgiftcardShow=true">
  108. <view class="tui-padding tui-flex">
  109. <view>使用购物卡抵扣</view>
  110. <view :class="{'tui-color-red':hasgoodsgiftcard}">{{curGoodsgiftcardname||"选择购物卡"}}</view>
  111. </view>
  112. </tui-list-cell>
  113. <tui-list-cell v-if="totalPayPoints>0" @tap="PayPoints">
  114. <view class="tui-item-box">
  115. <view class="tui-icon-box">
  116. <tui-icon :name="is_PayPoints==1?'square-fill':'square'" :size="26" color="#999999">
  117. </tui-icon>
  118. </view>
  119. <view class="tui-list-cell_name">可以用{{totalPayPoints}}{{lang.points}}抵扣{{totalPointsPrice}}元
  120. </view>
  121. </view>
  122. </tui-list-cell>
  123. <!--
  124. <tui-list-cell :hover="true" :arrow="true" @click="invoice">
  125. <view class="tui-padding tui-flex">
  126. <view>发票</view>
  127. <view class="tui-invoice-text">不开发票</view>
  128. </view>
  129. </tui-list-cell>
  130. -->
  131. <tui-list-cell v-if="deliverymode==3" :hover="false">
  132. <view class="tui-padding tui-flex">
  133. <view>配送费</view>
  134. <view>¥{{yunPrice}}</view>
  135. </view>
  136. </tui-list-cell>
  137. <tui-list-cell v-if="thefare" :hover="false">
  138. <view class="tui-padding tui-flex">
  139. <view>路费(距离:{{distance}}km)</view>
  140. <view> ¥{{thefare}}</view>
  141. </view>
  142. </tui-list-cell>
  143. <tui-list-cell :hover="false" :lineLeft="false" padding="0">
  144. <view class="tui-remark-box tui-padding tui-flex">
  145. <view>订单备注</view>
  146. <input type="text" @input="remarkInput" name="remark" class="tui-remark"
  147. placeholder="请输入您的要求" placeholder-class="tui-phcolor"></input>
  148. </view>
  149. </tui-list-cell>
  150. <tui-list-cell :hover="false">
  151. <view class="tui-img__title">添加图片</view>
  152. <view>
  153. <tui-upload :value="imgvalue" :limit="5" @complete="uploadresult" @remove="remove">
  154. </tui-upload>
  155. </view>
  156. </tui-list-cell>
  157. <tui-list-cell :hover="false" unlined>
  158. <view class="tui-padding tui-flex tui-total-flex">
  159. <view class="tui-flex-end tui-color-red">
  160. <view class="tui-black">合计: </view>
  161. <view class="tui-size-26">¥</view>
  162. <view class="tui-price-large">{{setyouhuijine(allGoodsAndYunPrice)}}</view>
  163. <!--<view class="tui-size-26"></view>-->
  164. </view>
  165. </view>
  166. </tui-list-cell>
  167. </view>
  168. <!--<view class="tui-top">
  169. <tui-list-cell unlined :hover="insufficient" :radius="true" :arrow="insufficient">
  170. <view class="tui-flex">
  171. <view class="tui-balance">余额支付<text class="tui-gray">(¥2020.00)</text></view>
  172. <switch color="#19be6b" class="tui-scale-small" v-show="!insufficient" />
  173. <view class="tui-pr-30 tui-light-dark" v-show="insufficient">余额不足, 去充值</view>
  174. </view>
  175. </tui-list-cell>
  176. </view>-->
  177. </view>
  178. <view class="tui-safe-area"></view>
  179. <view class="tui-tabbar">
  180. <view class="totalPrice tui-pr-20">
  181. <view class="tui-price-large tui-color-red">
  182. <text class="pricetitle">实付金额:</text>
  183. <text>¥{{setyouhuijine(setPayPoints(allGoodsAndYunPrice))}}</text>
  184. </view>
  185. <view v-if="agreement.status==1" class="agreement">
  186. <radio style="transform:scale(0.7)" @click="setagreementagree" :checked="agreementagree == 1" />
  187. <label @click="showagreementAlert">已阅并同意购买协议</label>
  188. <tui-modal :show="showagreement" custom>
  189. <view class="tui-modal-custom">
  190. <scroll-view :style="'height:'+(height-160)+'px'" scroll-y="true">
  191. <view class="tui-modal-custom-text">
  192. <text>{{agreement.content}}</text>
  193. </view>
  194. </scroll-view>
  195. <tui-button height="72rpx" :size="28" type="danger" shape="circle"
  196. @click="hideagreementAlert">同意</tui-button>
  197. </view>
  198. </tui-modal>
  199. </view>
  200. </view>
  201. <view class="paybuttbox tui-pr25 tui-flex-end">
  202. <button class="paybutt" @click="btnPay"
  203. :style="'background:'+ pagestyleconfig.appstylecolor">确认下单</button>
  204. </view>
  205. </view>
  206. <t-pay-way :show="show" :stylecolor="pagestyleconfig.appstylecolor"
  207. :amuont="setyouhuijine(setPayPoints(allGoodsAndYunPrice)) || ''" @goPay="goPay" :paymethod="paymethod"
  208. @close="popupClose"></t-pay-way>
  209. <t-select-coupons :couponList="coupons" :show="couponShow" @ChangeCoupon="ChangeCoupon"
  210. @close="couponsClose"></t-select-coupons>
  211. <t-select-goodsgiftcard :dataList="goodsgiftcard" :show="goodsgiftcardShow"
  212. @ChangeGoodsgiftcard="ChangeGoodsgiftcard" @close="goodsgiftcardShowClose"></t-select-goodsgiftcard>
  213. </form>
  214. </view>
  215. </template>
  216. <script>
  217. import tPayWay from "@/components/views/t-pay-way/t-pay-way"
  218. import tSelectCoupons from "@/components/views/t-select-coupons/t-select-coupons"
  219. import tSelectGoodsgiftcard from "@/components/views/t-select-goodsgiftcard/t-select-goodsgiftcard"
  220. import pay from '@/common/pay.js'
  221. export default {
  222. components: {
  223. tPayWay,
  224. tSelectCoupons,
  225. tSelectGoodsgiftcard
  226. },
  227. data() {
  228. return {
  229. lang: {},
  230. technicalId: '',
  231. sid: '',
  232. hasCoupon: true,
  233. hasgoodsgiftcard: true,
  234. insufficient: false,
  235. pagestyleconfig: [],
  236. show: false,
  237. couponShow: false,
  238. goodsgiftcardShow: false,
  239. islogin: 1, //是否要需要登录,需要在onLoad加截 app.page.onLoad(this,e);
  240. totalPayPoints: 0,
  241. distance: 0,
  242. thefare: 0,
  243. totalPointsPrice: 0,
  244. servicetime: '',
  245. goodsList: [],
  246. combination: [],
  247. curAddressData: [],
  248. storeaddrData: [],
  249. TuanzhangaddrData: [],
  250. allGoodsPrice: 0,
  251. yunPrice: 0,
  252. allGoodsAndYunPrice: 0,
  253. remark: "",
  254. cartid: "",
  255. buynowinfoid: '',
  256. buyNowgoods: [],
  257. orderType: "", //订单类型,购物车下单或立即支付下单,默认是购物车,
  258. hasNoCoupons: true,
  259. hasNogoodsgiftcard: true,
  260. coupons: [],
  261. goodsgiftcard: [],
  262. selIndex: 0,
  263. coupon_type: 0, //优惠券类型
  264. discount: 0, //优惠券折扣
  265. youhuijine: 0, //优惠券金额
  266. curCoupon: null, // 当前选择使用的优惠券
  267. curCouponname: null, // 当前选择使用的优惠券
  268. curGoodsgiftcard: null,
  269. curGoodsgiftcardname: null,
  270. allowSelfCollection: '0', // 是否允许到店自提
  271. payment: '0', //是否支持货到付款
  272. paymentType: "",
  273. deliverymode: '',
  274. deliverymodearray: {},
  275. is_times: 0,
  276. is_timing: 0,
  277. ptype: 1,
  278. paymethod: [],
  279. is_PayPoints: 0,
  280. memberPoints: 0,
  281. currency: uni.getStorageSync('currency'),
  282. tmplIds: [],
  283. showagreement: false,
  284. width: 0,
  285. height: 0,
  286. agreement: {},
  287. agreementagree: 0,
  288. orderimage: [],
  289. imgvalue: [] //初始化图片
  290. }
  291. },
  292. onLoad: function(e) {
  293. let _this = this
  294. if (e.buynowinfoid) {
  295. _this.buynowinfoid = e.buynowinfoid;
  296. }
  297. if (e.orderType) {
  298. _this.orderType = e.orderType;
  299. }
  300. _this.$request.get('Lang.getlang').then(res => {
  301. if (res.errno == 0) {
  302. _this.lang = res.data;
  303. }
  304. });
  305. _this.$request.post('config', {
  306. mo: 'pagestyle'
  307. }).then(res => {
  308. if (res.errno == 0) {
  309. _this.pagestyleconfig = res.data
  310. }
  311. });
  312. _this.$request.get('Paymethod.list').then(res => {
  313. if (res.errno == 0) {
  314. _this.paymethod = res.data;
  315. _this.paymentType = res.data[0].default;
  316. //console.log(_this.paymentType);
  317. }
  318. });
  319. _this.$request.post('Agreement.index', {
  320. code: 'userstobuy'
  321. }).then(res => {
  322. if (res.errno == 0) {
  323. _this.agreement = res.data;
  324. }
  325. });
  326. uni.getSystemInfo({
  327. success: res => {
  328. this.width = res.windowWidth;
  329. this.height = res.windowHeight;
  330. }
  331. });
  332. },
  333. onShow: function() {
  334. let _this = this
  335. _this.servicetime = uni.getStorageSync('servicetime');
  336. _this.orderinit();
  337. },
  338. methods: {
  339. orderinit() {
  340. const _this = this;
  341. let shopList = [];
  342. //立即购买下单
  343. if ("buyNow" == _this.orderType) {
  344. if (_this.buynowinfoid) {
  345. _this.$request.post('goodsbuynowinfo.getbuynowinfo', {
  346. buynowinfoid: _this.buynowinfoid
  347. }).then(res => {
  348. if (res.errno == 0) {
  349. var buyNowInfoMem = res.data;
  350. //console.log(buyNowInfoMem);
  351. _this.kjId = buyNowInfoMem.kjId;
  352. _this.technicalId = buyNowInfoMem.technicalId;
  353. _this.sid = buyNowInfoMem.sid;
  354. if (!_this.deliverymode) {
  355. _this.deliverymode = buyNowInfoMem.deliverymode;
  356. }
  357. _this.deliverymodearray = buyNowInfoMem.deliverymodearray;
  358. _this.is_times = buyNowInfoMem.is_times;
  359. _this.is_timing = buyNowInfoMem.is_timing;
  360. _this.ptype = buyNowInfoMem.ptype;
  361. if (buyNowInfoMem && buyNowInfoMem.shopList) {
  362. //console.log(buyNowInfoMem.shopList.length);
  363. //console.log(buyNowInfoMem.shopList.combination);
  364. if (buyNowInfoMem.shopList.length > 1)
  365. if (buyNowInfoMem.shopList.combination) {
  366. shopList = buyNowInfoMem.shopList.combination;
  367. } else {
  368. if (buyNowInfoMem.shopList[0]) {
  369. shopList = buyNowInfoMem.shopList;
  370. } else {
  371. shopList[0] = buyNowInfoMem.shopList;
  372. }
  373. console.log(buyNowInfoMem.shopList.length);
  374. }
  375. else
  376. shopList[0] = buyNowInfoMem.shopList;
  377. }
  378. }
  379. _this.goodsList = shopList;
  380. _this.$config.init(function() {
  381. _this.payment = _this.$config.getConf("payment");
  382. });
  383. if (_this.deliverymode == 2) {
  384. _this.initstoreaddr();
  385. } else if (_this.deliverymode == 5) {
  386. } else {
  387. _this.initShippingAddress();
  388. }
  389. _this.initTuanzhangaddr();
  390. });
  391. }
  392. } else {
  393. //购物车下单
  394. var shopCarInfoMem = uni.getStorageSync('shopCarInfo');
  395. _this.kjId = shopCarInfoMem.kjId;
  396. if (shopCarInfoMem && shopCarInfoMem.shopList) {
  397. // shopList = shopCarInfoMem.shopList
  398. shopList = shopCarInfoMem.shopList.filter(entity => {
  399. return entity.active;
  400. });
  401. _this.deliverymode = shopList[0].deliverymode;
  402. _this.deliverymodearray = shopList[0].deliverymodearray;
  403. //console.log(shopList);
  404. }
  405. _this.goodsList = shopList;
  406. _this.$config.init(function() {
  407. _this.payment = _this.$config.getConf("payment");
  408. });
  409. if (_this.deliverymode == 2) {
  410. _this.initstoreaddr();
  411. } else if (_this.deliverymode == 5) {
  412. } else {
  413. _this.initShippingAddress();
  414. }
  415. _this.initTuanzhangaddr();
  416. }
  417. console.log(shopList);
  418. },
  419. getAuthMsg() {
  420. return new Promise(resolve => {
  421. if (this.tmplIds.length > 0) {
  422. uni.requestSubscribeMessage({
  423. tmplIds: this.tmplIds,
  424. fail(res) {
  425. console.log(res);
  426. },
  427. complete() {
  428. resolve();
  429. }
  430. });
  431. } else {
  432. resolve();
  433. }
  434. });
  435. },
  436. chooseAddr() {
  437. uni.navigateTo({
  438. url: "/pagesA/my/address/address"
  439. })
  440. },
  441. chooseStore() {
  442. if (!this.sid) {
  443. uni.navigateTo({
  444. url: "/pagesA/my/storeaddr/storeaddr"
  445. })
  446. }
  447. },
  448. chooseTuanzhang() {
  449. uni.navigateTo({
  450. url: "/pages/tuanzhang/list"
  451. })
  452. },
  453. chooseTime() {
  454. uni.navigateTo({
  455. url: "/pagesA/submitOrder/timelist?technicalId=" + this.technicalId + "&buynowinfoid=" + this
  456. .buynowinfoid,
  457. })
  458. },
  459. btnPay() {
  460. if (this.agreementagree != 1 && this.agreement.status == 1) {
  461. this.tui.toast("请仔细阅读并勾选购买协议");
  462. return;
  463. }
  464. // #ifdef MP-WEIXIN
  465. this.getAuthMsg()
  466. //#endif
  467. if (this.allGoodsAndYunPrice == 0) {
  468. this.createOrder();
  469. } else if (this.setyouhuijine(this.setPayPoints(this.allGoodsAndYunPrice)) == 0) {
  470. this.createOrder();
  471. } else if (this.curGoodsgiftcard) {
  472. if (this.curGoodsgiftcard.id) {
  473. this.createOrder();
  474. } else {
  475. this.show = true
  476. }
  477. } else {
  478. this.show = true
  479. }
  480. },
  481. popupClose() {
  482. this.show = false
  483. },
  484. couponsClose() {
  485. this.couponShow = false
  486. },
  487. goodsgiftcardShowClose() {
  488. this.goodsgiftcardShow = false
  489. },
  490. invoice() {
  491. this.tui.href('/pagesA/submitOrder/invoice')
  492. },
  493. goPay(e) {
  494. if (e.paymentType) {
  495. this.paymentType = e.paymentType;
  496. }
  497. this.createOrder();
  498. },
  499. getOrdertotal: function() {
  500. var _this = this;
  501. let postData = {
  502. ptype: _this.ptype,
  503. technicalId: _this.technicalId,
  504. sid: _this.sid,
  505. cartid: _this.cartid,
  506. paymentType: _this.paymentType,
  507. };
  508. if (_this.deliverymode == 3) {
  509. postData.shipping = '1';
  510. }
  511. if (_this.curAddressData != undefined) {
  512. postData.address_id = _this.curAddressData.id;
  513. }
  514. if (_this.buyNowgoods != undefined) {
  515. if (_this.buyNowgoods.goods_id) {
  516. postData.goodsId = _this.buyNowgoods.goods_id;
  517. }
  518. if (_this.buyNowgoods.sku) {
  519. postData.sku = _this.buyNowgoods.sku;
  520. }
  521. if (_this.buyNowgoods.msid) {
  522. postData.msid = _this.buyNowgoods.msid;
  523. }
  524. if (_this.buyNowgoods.tuanid) {
  525. postData.tuanid = _this.buyNowgoods.tuanid;
  526. }
  527. if (_this.buyNowgoods.number) {
  528. postData.number = _this.buyNowgoods.number;
  529. }
  530. if (_this.buyNowgoods.is_skumore) {
  531. postData.is_skumore = _this.buyNowgoods.is_skumore;
  532. }
  533. if (_this.buyNowgoods.skumore) {
  534. postData.skumore = JSON.stringify(_this.buyNowgoods.skumore);
  535. }
  536. }
  537. if (_this.kjId) {
  538. postData.kjid = _this.kjId
  539. }
  540. if (_this.curCoupon) {
  541. postData.couponId = _this.curCoupon.id;
  542. }
  543. postData.calculate = "true";
  544. _this.$request.post('order.total', postData).then(res => {
  545. if (res.errno != 0) {
  546. uni.showModal({
  547. title: '错误',
  548. content: res.msg,
  549. showCancel: false
  550. })
  551. return;
  552. }
  553. _this.tmplIds = res.data.tmplIds;
  554. _this.totalPayPoints = res.data.totalPayPoints;
  555. _this.memberPoints = res.data.memberPoints;
  556. _this.totalPointsPrice = res.data.totalPointsPrice;
  557. _this.allGoodsPrice = res.data.amountTotle;
  558. _this.allGoodsAndYunPrice = (res.data.amountLogistics + res.data.amountTotle + res.data
  559. .thefare).toFixed(2);
  560. _this.yunPrice = res.data.amountLogistics;
  561. _this.distance = res.data.distance;
  562. _this.thefare = res.data.thefare;
  563. if (_this.allGoodsAndYunPrice == 0 && _this.totalPointsPrice == 0 && _this.totalPayPoints >
  564. 0) {
  565. if (_this.memberPoints >= _this.totalPayPoints) {
  566. _this.is_PayPoints = 1;
  567. } else {
  568. uni.showModal({
  569. title: '提示',
  570. content: '您的' + _this.lang.points + '不够!',
  571. showCancel: false
  572. })
  573. _this.is_PayPoints = 0;
  574. }
  575. }
  576. _this.getMyCoupons();
  577. _this.getMygoodsgiftcard();
  578. return;
  579. })
  580. },
  581. createOrder: function() {
  582. var _this = this;
  583. if (_this.remark == undefined) {
  584. _this.remark = '';
  585. }
  586. let postData = {
  587. technicalId: _this.technicalId,
  588. sid: _this.sid,
  589. cartid: _this.cartid,
  590. remark: _this.remark,
  591. paymentType: _this.paymentType,
  592. orderimage: _this.orderimage
  593. };
  594. if (_this.buyNowgoods != undefined) {
  595. if (_this.buyNowgoods.goods_id) {
  596. postData.goodsId = _this.buyNowgoods.goods_id;
  597. }
  598. if (_this.buyNowgoods.combination_ids) {
  599. postData.combination_ids = _this.buyNowgoods.combination_ids;
  600. }
  601. if (_this.buyNowgoods.msid) {
  602. postData.msid = _this.buyNowgoods.msid;
  603. }
  604. if (_this.buyNowgoods.tuanid) {
  605. postData.tuanid = _this.buyNowgoods.tuanid;
  606. }
  607. if (_this.buyNowgoods.jointuanid) {
  608. postData.jointuanid = _this.buyNowgoods.jointuanid;
  609. }
  610. if (_this.buyNowgoods.sku) {
  611. postData.sku = _this.buyNowgoods.sku;
  612. }
  613. if (_this.buyNowgoods.number) {
  614. postData.number = _this.buyNowgoods.number;
  615. }
  616. if (_this.buyNowgoods.is_skumore) {
  617. postData.is_skumore = _this.buyNowgoods.is_skumore;
  618. }
  619. if (_this.buyNowgoods.skumore) {
  620. postData.skumore = JSON.stringify(_this.buyNowgoods.skumore);
  621. }
  622. }
  623. if (_this.kjId) {
  624. postData.kjid = _this.kjId
  625. }
  626. if (_this.paymentType == 0) {
  627. uni.hideLoading();
  628. uni.showModal({
  629. title: '错误',
  630. content: '请选择支付方式!',
  631. showCancel: false
  632. })
  633. return;
  634. }
  635. postData.payment = postData.paymentType;
  636. postData.is_times = _this.is_times;
  637. postData.is_timing = _this.is_timing;
  638. if (_this.deliverymode == 1) {
  639. if (_this.is_times == 0) {
  640. if (!_this.servicetime) {
  641. uni.hideLoading();
  642. uni.showModal({
  643. title: '错误',
  644. content: '请选择预约时间!',
  645. showCancel: false
  646. })
  647. return;
  648. }
  649. postData.servicetime = _this.servicetime;
  650. }
  651. postData.address_id = _this.curAddressData.id;
  652. _this.ptype = 2;
  653. }
  654. if (_this.deliverymode == 2) {
  655. if (_this.is_times == 0) {
  656. if (!_this.servicetime) {
  657. uni.hideLoading();
  658. uni.showModal({
  659. title: '错误',
  660. content: '请选择预约时间!',
  661. showCancel: false
  662. })
  663. return;
  664. }
  665. postData.servicetime = _this.servicetime;
  666. }
  667. if (!_this.storeaddrData.id) {
  668. uni.hideLoading();
  669. uni.showModal({
  670. title: '错误',
  671. content: '请选择门店!',
  672. showCancel: false
  673. })
  674. return;
  675. }
  676. if (!_this.sid) {
  677. postData.sid = _this.storeaddrData.id;
  678. }
  679. }
  680. if (_this.deliverymode == 3) {
  681. if (!_this.curAddressData.address_default) {
  682. uni.hideLoading();
  683. uni.showModal({
  684. title: '错误',
  685. content: '请先设置您的地址!',
  686. showCancel: false
  687. })
  688. return;
  689. }
  690. postData.shipping = '1';
  691. postData.address_id = _this.curAddressData.id;
  692. }
  693. if (_this.deliverymode == 5) {
  694. if (!_this.TuanzhangaddrData.id) {
  695. uni.hideLoading();
  696. uni.showModal({
  697. title: '错误',
  698. content: '请选择自提点!',
  699. showCancel: false
  700. })
  701. return;
  702. }
  703. }
  704. postData.tz_uuid = _this.TuanzhangaddrData.uuid;
  705. postData.tz_id = _this.TuanzhangaddrData.id;
  706. if (_this.curCoupon) {
  707. postData.couponId = _this.curCoupon.id;
  708. }
  709. if (_this.curGoodsgiftcard) {
  710. postData.goodsgiftcardId = _this.curGoodsgiftcard.id;
  711. }
  712. postData.is_PayPoints = _this.is_PayPoints;
  713. postData.deliverymode = _this.deliverymode;
  714. //console.log(postData);
  715. _this.$request.post('order.create', postData).then(res => {
  716. if (res.errno != 0) {
  717. uni.showModal({
  718. title: '错误',
  719. content: res.msg,
  720. showCancel: false
  721. })
  722. return;
  723. }
  724. if ("buyNow" != _this.orderType) {
  725. // 清空购物车数据
  726. uni.removeStorageSync('shopCarInfo');
  727. }
  728. const orderid = res.data.id;
  729. const redirectUrl = "/pagesA/submitOrder/success?ptype=" + _this.ptype;
  730. if (res.data.payment_code == 'wx_pay') {
  731. console.log(res.data);
  732. pay.wxpay('order', res.data.pay_total, res.data.id, redirectUrl);
  733. } else if (res.data.payment_code == 'balance_pay') {
  734. _this.$request.post('order.pay', {
  735. orderid: orderid
  736. }).then(res => {
  737. if (res.errno == 0) {
  738. wx.showModal({
  739. title: '成功',
  740. content: '使用余额支付成功',
  741. showCancel: false,
  742. success: function(res) {
  743. wx.redirectTo({
  744. url: redirectUrl
  745. });
  746. }
  747. })
  748. _this.$request.post('message.payorder', {
  749. orderid: orderid
  750. }).then(res => {
  751. })
  752. } else {
  753. wx.showModal({
  754. title: '失败',
  755. content: res.msg,
  756. showCancel: false
  757. })
  758. }
  759. })
  760. } else if (res.data.payment_code == 'goodsgiftcard_pay') {
  761. _this.$request.post('order.goodsgiftcardpay', {
  762. orderid: orderid
  763. }).then(res => {
  764. if (res.errno == 0) {
  765. wx.showModal({
  766. title: '成功',
  767. content: '使用购物卡抵扣成功',
  768. showCancel: false,
  769. success: function(res) {
  770. wx.redirectTo({
  771. url: redirectUrl
  772. });
  773. }
  774. })
  775. _this.$request.post('message.payorder', {
  776. orderid: orderid
  777. }).then(res => {
  778. })
  779. } else {
  780. wx.showModal({
  781. title: '失败',
  782. content: res.msg,
  783. showCancel: false
  784. })
  785. }
  786. })
  787. } else if (res.data.payment_code == 'offline_pay') {
  788. _this.sam.navigateTo('/pagesA/submitOrder/offlinepayment?id=' + res.data.id);
  789. } else if (res.data.payment_code == 'delivery_pay') {
  790. _this.sam.navigateTo(redirectUrl);
  791. } else {
  792. _this.sam.navigateTo(redirectUrl);
  793. }
  794. })
  795. },
  796. initstoreaddr: function() {
  797. var _this = this;
  798. var sid = _this.sid;
  799. if (!sid && uni.getStorageSync('order_sid')) {
  800. sid = uni.getStorageSync('order_sid');
  801. }
  802. if (sid) {
  803. _this.$request.get('store.detail', {
  804. id: sid,
  805. samkey: (new Date()).valueOf()
  806. }).then(res => {
  807. if (res.errno == 0) {
  808. _this.storeaddrData = res.data;
  809. } else {
  810. _this.storeaddrData = null;
  811. }
  812. })
  813. }
  814. _this.processYunfei();
  815. },
  816. initTuanzhangaddr: function() {
  817. var _this = this;
  818. _this.sam.getCityPosition().then(res => {
  819. if (res.tz_id) {
  820. _this.$request.get('tuanzhang.detail', {
  821. id: res.tz_id,
  822. samkey: (new Date()).valueOf()
  823. }).then(res => {
  824. if (res.errno == 0) {
  825. _this.TuanzhangaddrData = res.data;
  826. } else {
  827. _this.TuanzhangaddrData = null;
  828. }
  829. })
  830. }
  831. _this.processYunfei();
  832. });
  833. },
  834. initShippingAddress: function() {
  835. var _this = this;
  836. _this.$request.get('address.default', {
  837. samkey: (new Date()).valueOf()
  838. }).then(res => {
  839. if (res.errno == 0) {
  840. _this.curAddressData = res.data;
  841. } else {
  842. _this.curAddressData = null;
  843. }
  844. _this.processYunfei();
  845. })
  846. },
  847. processYunfei: function() {
  848. var _this = this;
  849. var goodsList = this.goodsList;
  850. var cartid = "";
  851. var allGoodsPrice = 0;
  852. //推荐人id
  853. let reid = 0;
  854. let referrer_storge = uni.getStorageSync('reid');
  855. if (referrer_storge) {
  856. reid = referrer_storge;
  857. }
  858. if ("buyNow" == _this.orderType) {
  859. var buyNowgoods = goodsList[0];
  860. _this.buyNowgoods = buyNowgoods;
  861. } else {
  862. for (let i = 0; i < goodsList.length; i++) {
  863. let carShopBean = goodsList[i];
  864. allGoodsPrice += carShopBean.price * carShopBean.number;
  865. var cartidTmp = '';
  866. if (i > 0) {
  867. cartidTmp = ",";
  868. }
  869. cartidTmp += carShopBean.cart_id;
  870. cartid += cartidTmp;
  871. }
  872. }
  873. _this.cartid = cartid;
  874. _this.getOrdertotal();
  875. },
  876. getMyCoupons: function() {
  877. var _this = this;
  878. _this.$request.get('Couponreceive.submitorder', {
  879. price: _this.allGoodsAndYunPrice,
  880. goodsId: _this.buyNowgoods.goods_id,
  881. sid: _this.sid,
  882. samkey: (new Date()).valueOf()
  883. }).then(res => {
  884. if (res.errno == 0) {
  885. var coupons = res.data;
  886. if (coupons.length > 0) {
  887. _this.hasNoCoupons = false;
  888. _this.coupons = coupons;
  889. }
  890. }
  891. })
  892. },
  893. getMygoodsgiftcard: function() {
  894. var _this = this;
  895. _this.$request.get('Ordercard.goodsgiftcard', {
  896. price: _this.allGoodsAndYunPrice,
  897. goodsId: _this.buyNowgoods.goods_id,
  898. sid: _this.sid,
  899. samkey: (new Date()).valueOf()
  900. }).then(res => {
  901. if (res.errno == 0) {
  902. var goodsgiftcard = res.data;
  903. if (goodsgiftcard.length > 0) {
  904. _this.hasNogoodsgiftcard = false;
  905. _this.goodsgiftcard = goodsgiftcard;
  906. }
  907. }
  908. })
  909. },
  910. setyouhuijine: function(amount) {
  911. if (this.coupon_type == 10) {
  912. return (amount - this.youhuijine).toFixed(2);
  913. } else {
  914. if (this.coupon_type == 20 && this.discount) {
  915. return ((amount * this.discount) / 10).toFixed(2);
  916. }
  917. }
  918. return amount;
  919. },
  920. setPayPoints: function(amount) {
  921. if (this.is_PayPoints == 1) {
  922. return (amount - this.totalPointsPrice).toFixed(2);
  923. } else {
  924. return amount;
  925. }
  926. },
  927. PayPoints: function() {
  928. var _this = this;
  929. if (_this.is_PayPoints == 1) {
  930. _this.is_PayPoints = 0;
  931. } else {
  932. if (_this.memberPoints >= _this.totalPayPoints) {
  933. _this.is_PayPoints = 1;
  934. } else {
  935. uni.showModal({
  936. title: '提示',
  937. content: '您的' + _this.lang.points + '不够!',
  938. showCancel: false
  939. })
  940. _this.is_PayPoints = 0;
  941. }
  942. }
  943. },
  944. radioChange: function(e) {
  945. this.deliverymode = e.detail.value;
  946. console.log(this.deliverymode);
  947. this.orderinit();
  948. },
  949. ChangeCoupon: function(e) {
  950. this.couponShow = false
  951. const selIndex = e.selIndex;
  952. if (selIndex == -1) {
  953. this.youhuijine = 0;
  954. this.discount = 0;
  955. this.curCoupon = null;
  956. this.curCouponname = null;
  957. return;
  958. }
  959. this.selIndex = selIndex;
  960. this.coupon_type = this.coupons[selIndex].coupon_type;
  961. this.discount = this.coupons[selIndex].discount;
  962. this.youhuijine = this.coupons[selIndex].reduce_price;
  963. //console.log(this.coupons[selIndex]);
  964. this.curCoupon = this.coupons[selIndex];
  965. this.curCouponname = this.coupons[selIndex].name;
  966. },
  967. ChangeGoodsgiftcard: function(e) {
  968. this.goodsgiftcardShow = false
  969. const selIndex = e.selIndex;
  970. if (selIndex == -1) {
  971. this.curGoodsgiftcard = null;
  972. this.curGoodsgiftcardname = null;
  973. return;
  974. }
  975. if (parseFloat(this.goodsgiftcard[selIndex].balance) < parseFloat(this.allGoodsAndYunPrice)) {
  976. this.curGoodsgiftcard = null;
  977. this.curGoodsgiftcardname = null;
  978. uni.showModal({
  979. title: '提示',
  980. content: '这张购物卡余额不足!',
  981. showCancel: false
  982. })
  983. return;
  984. }
  985. this.curGoodsgiftcard = this.goodsgiftcard[selIndex];
  986. this.curGoodsgiftcardname = this.goodsgiftcard[selIndex].name;
  987. },
  988. remarkInput: function(e) {
  989. this.remark = e.target.value;
  990. },
  991. paymentradioChange(e) {
  992. this.paymentType = e;
  993. },
  994. showagreementAlert() {
  995. this.showagreement = true;
  996. },
  997. hideagreementAlert() {
  998. this.showagreement = false;
  999. this.setagreementagree();
  1000. },
  1001. setagreementagree() {
  1002. this.agreementagree = 1;
  1003. },
  1004. uploadresult: function(e) {
  1005. console.log(e)
  1006. this.orderimage = e.imgArr;
  1007. },
  1008. remove: function(e) {
  1009. //移除图片
  1010. //console.log(e)
  1011. let index = e.index
  1012. }
  1013. },
  1014. /**
  1015. * 页面相关事件处理函数--监听用户下拉动作
  1016. */
  1017. onPullDownRefresh: function() {
  1018. setTimeout(() => {
  1019. uni.stopPullDownRefresh()
  1020. }, 200);
  1021. },
  1022. }
  1023. </script>
  1024. <style>
  1025. .container {
  1026. padding-bottom: 98rpx;
  1027. }
  1028. .tui-box {
  1029. padding: 20rpx 0 118rpx;
  1030. box-sizing: border-box;
  1031. }
  1032. .tui-address {
  1033. min-height: 80rpx;
  1034. padding: 10rpx 0;
  1035. box-sizing: border-box;
  1036. position: relative;
  1037. }
  1038. .tui-userinfo {
  1039. font-size: 30rpx;
  1040. font-weight: 500;
  1041. line-height: 30rpx;
  1042. padding-bottom: 12rpx;
  1043. }
  1044. .tui-name {
  1045. padding-right: 40rpx;
  1046. }
  1047. .tui-addr {
  1048. font-size: 24rpx;
  1049. word-break: break-all;
  1050. padding-right: 25rpx;
  1051. }
  1052. .tui-addr-tag {
  1053. padding: 5rpx 8rpx;
  1054. flex-shrink: 0;
  1055. background: #EB0909;
  1056. color: #fff;
  1057. display: inline-flex;
  1058. align-items: center;
  1059. justify-content: center;
  1060. font-size: 25rpx;
  1061. line-height: 25rpx;
  1062. transform: scale(0.8);
  1063. transform-origin: 0 center;
  1064. border-radius: 6rpx;
  1065. }
  1066. .tui-bg-img {
  1067. position: absolute;
  1068. width: 100%;
  1069. height: 8rpx;
  1070. left: 0;
  1071. top: 0;
  1072. background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAL0AAAAECAMAAADszM6/AAAAOVBMVEUAAAAVqfH/fp//vWH/vWEVqfH/fp8VqfH/fp//vWEVqfH/fp8VqfH/fp//vWH/vWEVqfH/fp//vWHpE7b6AAAAEHRSTlMA6urqqlVVFRUVq6upqVZUDT4vVAAAAEZJREFUKM/t0CcOACAQRFF6r3v/w6IQJGwyDsPT882IQzQE0E3chToByjG5LwMgLZN3TQATmdypCciBya0cgOT3/h//9PgF49kd+6lTSIIAAAAASUVORK5CYII=") repeat;
  1073. }
  1074. .tui-top {
  1075. margin-top: 20rpx;
  1076. overflow: hidden;
  1077. }
  1078. .tui-goods-title {
  1079. font-size: 28rpx;
  1080. display: flex;
  1081. align-items: center;
  1082. }
  1083. .tui-padding {
  1084. box-sizing: border-box;
  1085. }
  1086. .tui-goods-item {
  1087. width: 100%;
  1088. padding: 20rpx 30rpx;
  1089. box-sizing: border-box;
  1090. display: flex;
  1091. justify-content: space-between;
  1092. }
  1093. .tui-goods-img {
  1094. width: 180rpx;
  1095. height: 180rpx;
  1096. display: block;
  1097. flex-shrink: 0;
  1098. }
  1099. .tui-goods-center {
  1100. flex: 1;
  1101. padding: 20rpx 8rpx;
  1102. box-sizing: border-box;
  1103. }
  1104. .tui-goods-name {
  1105. max-width: 310rpx;
  1106. word-break: break-all;
  1107. overflow: hidden;
  1108. text-overflow: ellipsis;
  1109. display: -webkit-box;
  1110. -webkit-box-orient: vertical;
  1111. -webkit-line-clamp: 2;
  1112. font-size: 32rpx;
  1113. line-height: 32rpx;
  1114. }
  1115. .tui-goods-attr {
  1116. font-size: 22rpx;
  1117. color: #888888;
  1118. line-height: 32rpx;
  1119. padding-top: 20rpx;
  1120. word-break: break-all;
  1121. overflow: hidden;
  1122. text-overflow: ellipsis;
  1123. display: -webkit-box;
  1124. -webkit-box-orient: vertical;
  1125. -webkit-line-clamp: 2;
  1126. }
  1127. .tui-price-right {
  1128. text-align: right;
  1129. font-size: 24rpx;
  1130. color: #888888;
  1131. line-height: 30rpx;
  1132. padding-top: 20rpx;
  1133. }
  1134. .tui-flex {
  1135. width: 100%;
  1136. display: flex;
  1137. align-items: center;
  1138. justify-content: space-between;
  1139. font-size: 26rpx;
  1140. }
  1141. .tui-total-flex {
  1142. justify-content: flex-end;
  1143. }
  1144. .tui-color-red,
  1145. .tui-invoice-text {
  1146. color: #E41F19;
  1147. padding-right: 30rpx;
  1148. }
  1149. .tui-balance {
  1150. font-size: 28rpx;
  1151. font-weight: 500;
  1152. }
  1153. .tui-black {
  1154. color: #222;
  1155. line-height: 30rpx;
  1156. }
  1157. .tui-gray {
  1158. color: #888888;
  1159. font-weight: 400;
  1160. }
  1161. .tui-light-dark {
  1162. color: #666;
  1163. }
  1164. .tui-goods-price {
  1165. display: flex;
  1166. align-items: center;
  1167. padding-top: 20rpx;
  1168. }
  1169. .tui-size-26 {
  1170. font-size: 26rpx;
  1171. line-height: 26rpx;
  1172. }
  1173. .tui-price-large {
  1174. font-size: 34rpx;
  1175. line-height: 34rpx;
  1176. font-weight: 600;
  1177. padding-left: 12rpx;
  1178. }
  1179. .tui-flex-end {
  1180. display: flex;
  1181. align-items: flex-end;
  1182. padding-right: 0;
  1183. }
  1184. .tui-phcolor {
  1185. color: #B3B3B3;
  1186. font-size: 26rpx;
  1187. }
  1188. /* #ifndef H5 */
  1189. .tui-remark-box {
  1190. padding: 22rpx 30rpx;
  1191. }
  1192. /* #endif */
  1193. /* #ifdef H5 */
  1194. .tui-remark-box {
  1195. padding: 26rpx 30rpx;
  1196. }
  1197. /* #endif */
  1198. .tui-remark {
  1199. flex: 1;
  1200. font-size: 26rpx;
  1201. padding-left: 64rpx;
  1202. }
  1203. .tui-scale-small {
  1204. transform: scale(0.8);
  1205. transform-origin: 100% center;
  1206. }
  1207. .tui-scale-small .wx-switch-input {
  1208. margin: 0 !important;
  1209. }
  1210. /* #ifdef H5 */
  1211. >>>uni-switch .uni-switch-input {
  1212. margin-right: 0 !important;
  1213. }
  1214. /* #endif */
  1215. .tui-tabbar {
  1216. width: 100%;
  1217. height: 118rpx;
  1218. background: #fff;
  1219. position: fixed;
  1220. left: 0;
  1221. bottom: 0;
  1222. display: flex;
  1223. align-items: center;
  1224. font-size: 26rpx;
  1225. box-shadow: 0 0 1px rgba(0, 0, 0, .3);
  1226. padding-bottom: env(safe-area-inset-bottom);
  1227. z-index: 996;
  1228. }
  1229. .totalPrice {
  1230. padding-top: 10rpx;
  1231. width: 70%;
  1232. }
  1233. .pricetitle {
  1234. font-size: 30rpx;
  1235. color: #333333;
  1236. }
  1237. .paybuttbox {
  1238. width: 30%;
  1239. }
  1240. .paybutt {
  1241. width: 100%;
  1242. height: 70rpx;
  1243. line-height: 70rpx;
  1244. font-size: 28rpx;
  1245. border-radius: 50rpx;
  1246. color: #ffffff;
  1247. align-items: center;
  1248. }
  1249. .agreement {
  1250. color: #666666;
  1251. padding-top: 6rpx;
  1252. }
  1253. .modal-scroll {
  1254. height: 600rpx;
  1255. }
  1256. .tui-pr-30 {
  1257. padding-right: 30rpx;
  1258. }
  1259. .tui-pr-20 {
  1260. padding-left: 20rpx;
  1261. }
  1262. .tui-none-addr {
  1263. height: 80rpx;
  1264. padding-left: 5rpx;
  1265. display: flex;
  1266. align-items: center;
  1267. }
  1268. .tui-addr-img {
  1269. width: 36rpx;
  1270. height: 46rpx;
  1271. display: block;
  1272. margin-right: 15rpx;
  1273. }
  1274. .tui-pr25 {
  1275. padding-right: 25rpx;
  1276. }
  1277. .tui-safe-area {
  1278. height: 1rpx;
  1279. padding-bottom: env(safe-area-inset-bottom);
  1280. }
  1281. .tui-pay-item__title {
  1282. width: 100%;
  1283. height: 90rpx;
  1284. display: flex;
  1285. align-items: center;
  1286. justify-content: space-between;
  1287. padding: 0 20rpx;
  1288. box-sizing: border-box;
  1289. font-size: 28rpx;
  1290. }
  1291. .tui-pay-amuont {
  1292. color: #eb0909;
  1293. font-weight: 500;
  1294. font-size: 34rpx;
  1295. }
  1296. .tui-pay-item {
  1297. width: 100%;
  1298. height: 80rpx;
  1299. display: flex;
  1300. align-items: center;
  1301. padding: 0 20rpx;
  1302. box-sizing: border-box;
  1303. font-size: 28rpx;
  1304. }
  1305. .tui-pay-logo {
  1306. width: 48rpx;
  1307. height: 48rpx;
  1308. margin-right: 15rpx;
  1309. }
  1310. .tui-radio {
  1311. margin-left: auto;
  1312. transform: scale(0.8);
  1313. transform-origin: 100% center;
  1314. }
  1315. .tui-btn-pay {
  1316. width: 100%;
  1317. padding: 68rpx 60rpx 50rpx;
  1318. box-sizing: border-box;
  1319. }
  1320. .tui-recharge {
  1321. color: #fc872d;
  1322. margin-left: auto;
  1323. padding: 12rpx 0;
  1324. }
  1325. .acea-row {
  1326. font-size: 28rpx;
  1327. padding-top: 30rpx;
  1328. padding-left: 20rpx;
  1329. height: 60rpx;
  1330. background-color: #fff;
  1331. }
  1332. .acea-row label {
  1333. padding: 10rpx;
  1334. }
  1335. .tui-item-box {
  1336. width: 100%;
  1337. display: flex;
  1338. align-items: center;
  1339. }
  1340. .tui-list-cell_name {
  1341. padding-left: 10rpx;
  1342. display: flex;
  1343. align-items: center;
  1344. justify-content: center;
  1345. }
  1346. .tui-img__title {
  1347. padding-bottom: 24rpx;
  1348. }
  1349. </style>