payrecord.vue 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095
  1. <template>
  2. <view class="center">
  3. <view class="transaction">
  4. <view style='padding-top:10px;' class="c-row">
  5. <view class="title">业务编号</view>
  6. <view class="con-list">
  7. <input v-model='purchaseOrder.businessNumber' placeholder="请输入业务编号"
  8. placeholder-style="font-size: 12px;" disabled name="input"></input>
  9. </view>
  10. </view>
  11. <view class="c-row">
  12. <view class="title">货名</view>
  13. <view class="con-list">
  14. <input v-model='purchaseOrder.goodsName' placeholder="请输入货名,如玉米"
  15. placeholder-style="font-size: 12px;" disabled name="input"></input>
  16. </view>
  17. </view>
  18. <view class="c-row">
  19. <view class="title">收货方</view>
  20. <view class="con-list">
  21. <input v-model='purchaseOrder.consignee' disabled placeholder="请输入收货方名称" placeholder-style="font-size: 12px;"
  22. name="input"></input>
  23. </view>
  24. </view>
  25. <view class="c-row">
  26. <view class="title">货物单价(元/吨)</view>
  27. <view class="con-list">
  28. <input v-model='purchaseOrder.goodsPrice' disabled placeholder="请输入货物单价" placeholder-style="font-size: 12px;"
  29. name="input"></input>
  30. </view>
  31. </view>
  32. <view class="c-row">
  33. <view class="title">运费单价(元/吨)</view>
  34. <view class="con-list">
  35. <input v-model='purchaseOrder.freightUnitPrice' disabled placeholder="请输入运费单价"
  36. placeholder-style="font-size: 12px;" name="input"></input>
  37. </view>
  38. </view>
  39. <view class="c-row">
  40. <view class="title">累计收发</view>
  41. <view class="con-list cumulative-style">
  42. <!-- <input v-model='purchaseOrder.transactionsNumber' disabled name="text"></input> -->
  43. <view>
  44. <text>{{ radTotal.receipt}}</text>
  45. <text class='type send'>发</text>
  46. </view>
  47. <view>
  48. <text>{{ radTotal.delivery}}</text>
  49. <text class='type send'>收</text>
  50. </view>
  51. </view>
  52. </view>
  53. <view class="c-row">
  54. <view class="title">收货地址</view>
  55. <view class="con-list">
  56. <input v-model='purchaseOrder.receivingAddress' disabled placeholder="请输入收货人账号"
  57. placeholder-style="font-size: 12px;" name="input"></input>
  58. </view>
  59. </view>
  60. </view>
  61. <view class="transaction" v-for="(item,index) in purchaseOrder.freightReceivingDispatchingCars">
  62. <view style='padding-top:10px;' class="c-row b-b justify-between">
  63. <view class="title">{{item.carNo}}</view>
  64. <view style='align-items: center;' class="flex">
  65. <text style='color:#878C9C;'>{{item.dispatchingDate}}</text>
  66. <text class='type send' v-if="item.statusFlag==1">发</text>
  67. <text class='type send' v-if="item.statusFlag==2">收</text>
  68. </view>
  69. </view>
  70. <view class="c-row justify-between">
  71. <view style='flex:1;' class="title-black">净重</view>
  72. <view style='align-items: center;flex:2;' class="flex">
  73. <view style='flex:1;text-align:right;'>
  74. <text>{{item.reciveNetWeight}}</text>
  75. <text class='type send'>发</text>
  76. <view class='weightnotes'>查看磅单</view>
  77. </view>
  78. <view style='flex:1;text-align:right;'>
  79. <text>{{item.dispatchNetWeight}}</text>
  80. <text class='type send'>发</text>
  81. <view class='weightnotes'>查看磅单</view>
  82. </view>
  83. </view>
  84. </view>
  85. <view class="c-row">
  86. <view class="title-black">应付贷款</view>
  87. <view class="con-list">
  88. ¥{{item.goodsIngPayable}}
  89. </view>
  90. </view>
  91. <view class="c-row">
  92. <view class="title">已付贷款</view>
  93. <view style='color:#22C572;' class="con-list">
  94. ¥{{item.goodsEdPayable}}
  95. </view>
  96. </view>
  97. <view class="c-row">
  98. <view class="title">贷款扣款</view>
  99. <view class="con-list">
  100. ¥{{item.goodsDeductionAmount}}
  101. </view>
  102. </view>
  103. <view class="c-row">
  104. <view class="title-black">应付运费</view>
  105. <view class="con-list">
  106. ¥{{item.freightIngPayable}}
  107. </view>
  108. </view>
  109. <view class="c-row">
  110. <view class="title">已付运费</view>
  111. <view style='color:#22C572;' class="con-list">
  112. ¥{{item.freightEdPayable}}
  113. </view>
  114. </view>
  115. <view class="c-row">
  116. <view class="title">运费扣款</view>
  117. <view class="con-list">
  118. ¥{{item.freightDeductionAmount}}
  119. </view>
  120. </view>
  121. <view class="c-row flex justify-end">
  122. <view style='flex:1;' class='deductfreight' v-if="!purchaseOrder.freightPayer=='发货方承担'"
  123. @click="freightDeduction(item)">扣运费</view>
  124. <view class="freightAlert-model">
  125. <u-modal v-model="freightAlert" cancel-color="#AFB3BF" confirm-color="#22C572" :show-title="false"
  126. show-cancel-button=true @confirm="confirmFreight(0,item)">
  127. <view class="freightAlert-warp">
  128. <view class="freightAlert-row">
  129. <view class="title">扣运费</view>
  130. <u-icon name="close" class="close" size="20" @click="closeModel"></u-icon>
  131. </view>
  132. <!-- <u-cell-item :arrow="false" title="运输损耗"></u-cell-item> -->
  133. <view class="freightAlert-row2 row">
  134. <view>运输损耗</view>
  135. <view>{{item.reciveNetWeight-item.dispatchNetWeight}}</view>
  136. </view>
  137. <view class="freightAlert-row3 row">
  138. 扣款金额
  139. </view>
  140. <view class="freightAlert-row4">
  141. <u-input v-model="freightDeductionAmount" :type="type" :border="border"
  142. placeholder="请输入扣款金额" class="uview-border" @input="inputWatch" />
  143. <view class="text">
  144. </view>
  145. </view>
  146. <view class="red-tip" v-show="isShowFreightTip">
  147. 扣款金额输入错误/扣款金额不能为空
  148. </view>
  149. </view>
  150. </u-modal>
  151. </view>
  152. <view class='payfreight' style='flex:1;' v-if="!purchaseOrder.freightPayer=='发货方承担'"
  153. @click="payDeduction()">付运费</view>
  154. <view class="freightAlert-model">
  155. <u-modal v-model="payAlert" cancel-color="#AFB3BF" confirm-color="#22C572" :show-title="false"
  156. show-cancel-button=true @confirm="confirmFreight(1,item)">
  157. <view class="freightAlert-warp payAlert">
  158. <view class="freightAlert-row">
  159. <view class="title">付运费</view>
  160. <u-icon name="close" class="close" size="20" @click="closeModel"></u-icon>
  161. </view>
  162. <view class="freightAlert-row3 row">
  163. 应付
  164. </view>
  165. <view class="freightAlert-row4">
  166. <u-input v-model="item.freightIngPayable" :type="type" :border="border"
  167. placeholder="请输入付款金额" class="uview-border" @input="paidInputWatch" />
  168. <view class="text">
  169. </view>
  170. </view>
  171. <view class="red-tip paid-tip" v-show="isShowPaidTip">
  172. 应付金额不能为空/应付运费不能小于已付运费
  173. </view>
  174. <view class="paid">
  175. <view class="">
  176. 已付
  177. </view>
  178. <view>
  179. {{item.freightEdPayable}}元
  180. </view>
  181. </view>
  182. <view class="unpaid">
  183. <view class="">
  184. 未付
  185. </view>
  186. <view>
  187. {{item.freightIngPayable-item.freightEdPayable}}元
  188. </view>
  189. </view>
  190. <view class="freightAlert-row3 row">
  191. 付款金额
  192. </view>
  193. <view class="freightAlert-row4">
  194. <u-input v-model="money" :type="type" :border="border" placeholder="请输入扣款金额"
  195. class="uview-border" @input="payInputWatch($event,item)" />
  196. <view class="text">
  197. </view>
  198. </view>
  199. <view class="red-tip pay-tip" v-show="isShowPayTip">
  200. 付款金额输入错误/付款金额不能超过未付金额/付款金额不能为空
  201. </view>
  202. </view>
  203. </u-modal>
  204. </view>
  205. <view style='flex:1;' class='deductfreight' @click="deductPayment()" v-if="!payfreightCli">扣货款</view>
  206. <view class="freightAlert-model">
  207. <u-modal v-model="deductPaymentAlert" cancel-color="#AFB3BF" confirm-color="#22C572"
  208. :show-title="false" show-cancel-button=true @confirm="confirmeductPayment(item)">
  209. <view class="freightAlert-warp payAlert">
  210. <view class="freightAlert-row">
  211. <view class="title">扣货款</view>
  212. <u-icon name="close" class="close" size="20" @click="closeModel"></u-icon>
  213. </view>
  214. <view class="freightAlert-row3 row">
  215. 扣款金额
  216. </view>
  217. <view class="freightAlert-row4">
  218. <u-input v-model="ductPayment" :type="type" :border="border" placeholder="请输入扣款金额"
  219. class="uview-border" @input="deductPaymentInputWatch($event,item)" />
  220. <view class="text">
  221. </view>
  222. </view>
  223. <view class="red-tip pay-tip" v-show="isShowFreightTip">
  224. 付款金额输入错误/付款金额不能为空
  225. </view>
  226. </view>
  227. </u-modal>
  228. </view>
  229. <view style='flex:1;' class='payfreight' @click="Payment()" v-if="!payfreightCli">付货款</view>
  230. <view class="freightAlert-model">
  231. <u-modal v-model="paymentAlert" cancel-color="#AFB3BF" confirm-color="#22C572" :show-title="false"
  232. show-cancel-button=true @confirm="confirmPayPayment(item)">
  233. <view class="freightAlert-warp payAlert">
  234. <view class="freightAlert-row">
  235. <view class="title">付货款</view>
  236. <u-icon name="close" class="close" size="20" @click="closeModel"></u-icon>
  237. </view>
  238. <view class="freightAlert-row3 row">
  239. 应付
  240. </view>
  241. <view class="freightAlert-row4">
  242. <u-input v-model="item.goodsIngPayable" :type="type" :border="border" disabled
  243. placeholder="请输入付款金额" class="uview-border" @input="paymentInputWatch" />
  244. <view class="text">
  245. </view>
  246. </view>
  247. <view class="red-tip paid-tip" v-show="isShowPaymenMoneyTip">
  248. 应付金额不能为空/应付货款不能小于已付货款
  249. </view>
  250. <view class="paid">
  251. <view class="">
  252. 已付
  253. </view>
  254. <view>
  255. {{item.goodsEdPayable}}元
  256. </view>
  257. </view>
  258. <view class="unpaid">
  259. <view class="">
  260. 未付
  261. </view>
  262. <view>
  263. {{item.goodsIngPayable-item.goodsEdPayable}}元
  264. </view>
  265. </view>
  266. <view class="freightAlert-row3 row">
  267. 付款金额
  268. </view>
  269. <view class="freightAlert-row4">
  270. <u-input v-model="paymenMoney" :type="type" :border="border" placeholder="请输入货款金额"
  271. class="uview-border" @input="payInputWatch($event,item)" />
  272. <view class="text">
  273. </view>
  274. </view>
  275. <view class="red-tip pay-tip" v-show="isShowPayTip">
  276. 付款金额输入错误/付款金额不能超过未付金额/付款金额不能为空
  277. </view>
  278. </view>
  279. </u-modal>
  280. </view>
  281. <view @click='confirmpaygoods(item)' style='flex:2;' class='payfreight' v-if="payfreightCli">确认收货</view>
  282. </view>
  283. </view>
  284. <view class='footer'>
  285. <button class="btn" @click="commit()">添加收货人</button>
  286. </view>
  287. </view>
  288. </template>
  289. <script>
  290. import {
  291. getDetail
  292. } from "./index";
  293. export default {
  294. name: "business",
  295. data() {
  296. return {
  297. freightDeductionAmount: 0,
  298. money: 0,
  299. ductPayment: 0,
  300. paymenMoney: 0,
  301. purchaseOrder: {},
  302. carInfo: [],
  303. radTotal: {
  304. delivery: 0,
  305. receipt: 0
  306. },
  307. type: 'text',
  308. border: false,
  309. payValue: '',
  310. copePayValue: '',
  311. paidValue: '',
  312. freightAlert: false,
  313. payAlert: false,
  314. deductPaymentAlert: false,
  315. paymentAlert: false,
  316. isShowFreightTip: false,
  317. isShowPaidTip: false,
  318. isShowPayTip: false,
  319. isShowPaymenMoneyTip: false,
  320. id: "",
  321. payfreightCli: false
  322. }
  323. },
  324. onShow() {
  325. },
  326. onLoad(options) {
  327. getDetail(options.id, this)
  328. this.id = options.id
  329. this.payfreightCli = this.$store.state.isConfigfreightTransport
  330. },
  331. onPageScroll(e) {
  332. },
  333. //下拉刷新
  334. onPullDownRefresh() {},
  335. onReachBottom() { //上拉触底函数
  336. },
  337. methods: {
  338. confirmpaygoods(item) {
  339. uni.navigateTo({
  340. url: '/pageA/freightTransport/confirmpaygoods?toINfo=' + JSON.stringify(item)
  341. })
  342. },
  343. commit() {
  344. console.log(1111)
  345. uni.navigateTo({
  346. url: '/pageA/freightTransport/addpaygoods?id=' + this.id
  347. })
  348. },
  349. // 清空输入子对象数据
  350. cleanVal(val, val1) {
  351. for (let key in val) {
  352. console.log(key + '---' + val[key])
  353. if (val[key] == val1) {
  354. val[key] == ""
  355. }
  356. }
  357. },
  358. confirmFreight(flag, val) {
  359. debugger
  360. if (flag == 1) {
  361. val.money = parseInt(this.money);
  362. }
  363. val.freightDeductionAmount = this.freightDeductionAmount
  364. val.freightIngPayable = parseInt(val.freightIngPayable);
  365. val.flag = flag
  366. this.$api.doRequest('post', 'freightReceivingDispatching/api/paymentAndDeductionfreight', val).then(
  367. res => {
  368. debugger
  369. if (res.data.code == 200) {
  370. location.reload()
  371. }
  372. }).catch(res => {
  373. })
  374. },
  375. inputWatch(e) {
  376. debugger
  377. let _val = this.checkVal(e, "freight");
  378. if (_val) {
  379. this.isShowFreightTip = true
  380. } else {
  381. this.isShowFreightTip = false
  382. }
  383. },
  384. paidInputWatch(e) {
  385. let _val = this.checkVal(e, "paid");
  386. if (_val) {
  387. this.isShowPaidTip = true
  388. } else {
  389. this.isShowPaidTip = false
  390. }
  391. },
  392. payInputWatch(e, item) {
  393. let _val = this.checkVal(e, "pay", item);
  394. if (_val) {
  395. this.isShowPayTip = true
  396. this.isShowPaymenMoneyTip = true
  397. } else {
  398. this.isShowPayTip = false
  399. this.isShowPaymenMoneyTip = false
  400. }
  401. },
  402. //扣货款输入监听
  403. deductPaymentInputWatch(e, item) {
  404. let _val = this.checkVal(e, "deductPayment", item);
  405. if (_val) {
  406. this.isShowFreightTip = true
  407. } else {
  408. this.isShowFreightTip = false
  409. }
  410. },
  411. // 扣运费
  412. freightDeduction(item) {
  413. debugger
  414. this.freightAlert = true;
  415. this.freightDeductionAmount = 0
  416. // this.cleanVal(item,"freightDeductionAmount")
  417. console.log("扣运费")
  418. },
  419. // 付运费
  420. payDeduction() {
  421. console.log("付运费")
  422. this.payAlert = true
  423. },
  424. deductPayment() {
  425. console.log("扣货款")
  426. this.deductPaymentAlert = true
  427. },
  428. Payment() {
  429. console.log("付货款")
  430. this.paymentAlert = true
  431. },
  432. confirmPayPayment() {
  433. console.log("付货款提交")
  434. },
  435. //判断输入值
  436. checkVal(e, state, item) {
  437. console.log(e)
  438. let _val;
  439. let _val1 = this.utils.isEmpty(e)
  440. let _val2 = this.utils.isTwoPoint(e)
  441. let _val3 = !this.utils.isNumber(e)
  442. _val = _val1 || _val2 || _val3
  443. switch (state) {
  444. //扣运费
  445. case "freight":
  446. break;
  447. // 应付
  448. case "paid":
  449. break;
  450. case "deductPayment":
  451. break;
  452. // 付款金额
  453. case "pay":
  454. if (parseInt(e) > item.freightIngPayable - item.freightEdPayable) {
  455. _val = true
  456. }
  457. break;
  458. }
  459. return _val
  460. },
  461. closeModel() {
  462. this.freightAlert = false;
  463. this.payAlert = false;
  464. this.ductPaymentAlert = false;
  465. this.paymentAlert = false;
  466. },
  467. confirmeductPayment(val) {
  468. debugger
  469. console.log(val)
  470. val.goodsDeductionAmount = parseInt(this.ductPayment);
  471. this.$api.doRequest('post', 'freightReceivingDispatching/api/PaymentDeduction', val).then(
  472. res => {
  473. debugger
  474. if (res.data.code == 200) {
  475. uni.showToast({
  476. title: "扣款成功!",
  477. icon: 'none',
  478. duration: 2000
  479. })
  480. location.reload()
  481. } else {
  482. uni.showToast({
  483. title: "扣款失败!",
  484. icon: 'none',
  485. duration: 2000
  486. })
  487. this.ductPayment = 0
  488. }
  489. }).catch(res => {
  490. })
  491. }
  492. }
  493. }
  494. </script>
  495. <style lang='scss'>
  496. page,
  497. .content {
  498. background: #F5F6FA;
  499. }
  500. .c-row {
  501. display: -webkit-box;
  502. display: -webkit-flex;
  503. display: flex;
  504. -webkit-box-align: center;
  505. -webkit-align-items: center;
  506. align-items: center;
  507. padding: 10rpx 30rpx;
  508. position: relative;
  509. .title {
  510. color: #9698A2;
  511. }
  512. .title-black {
  513. color: #333;
  514. }
  515. }
  516. .con-list {
  517. -webkit-box-flex: 1;
  518. -webkit-flex: 1;
  519. flex: 1;
  520. display: -webkit-box;
  521. display: -webkit-flex;
  522. display: flex;
  523. -webkit-box-orient: vertical;
  524. -webkit-box-direction: normal;
  525. -webkit-flex-direction: column;
  526. flex-direction: column;
  527. color: #303133;
  528. line-height: 40rpx;
  529. text-align: right;
  530. padding-right: 20rpx;
  531. font-size: 12px;
  532. }
  533. .transaction {
  534. background-color: #FFFFFF;
  535. margin: 10px;
  536. padding-bottom: 10px;
  537. border-radius: 20px;
  538. .type {
  539. display: inline-block;
  540. font-size: 10px;
  541. padding: 1px 3px;
  542. border-radius: 50%;
  543. width: 19px;
  544. height: 19px;
  545. line-height: 19px;
  546. }
  547. .type.send {
  548. color: #22C572;
  549. background: #E9F8F0;
  550. }
  551. .type.put {
  552. color: #22C572;
  553. background: #E9F8F0;
  554. }
  555. .weightnotes {
  556. display: inline-block;
  557. border: 1px solid #CDCDCD;
  558. padding: 5px;
  559. font-size: 10px;
  560. margin-left: 3px;
  561. }
  562. .deductfreight,
  563. .payfreight {
  564. width: 75px;
  565. height: 33px;
  566. line-height: 33px;
  567. font-size: 14px;
  568. background: #fff;
  569. border: 1px solid #CDCDCD;
  570. border-radius: 30px;
  571. text-align: center;
  572. margin: 0 5px;
  573. }
  574. .payfreight {
  575. margin-right: 0;
  576. }
  577. }
  578. .line {
  579. display: inline-block;
  580. padding: 5px;
  581. position: relative;
  582. font-size: 17px;
  583. }
  584. .line.active {
  585. font-size: 19px;
  586. font-weight: 900;
  587. }
  588. .line.active:after {
  589. content: '';
  590. display: block;
  591. position: absolute;
  592. width: 38px;
  593. left: 50%;
  594. transform: translateX(-50%);
  595. bottom: 0;
  596. border-bottom: 1px solid #22C572;
  597. }
  598. .cu-tag.badge {
  599. right: 26rpx;
  600. }
  601. .cu-item {
  602. height: 80rpx;
  603. display: inline-block;
  604. line-height: 80rpx;
  605. }
  606. .search-form {
  607. background: #F5F6F9;
  608. padding-left: 20rpx;
  609. }
  610. .title-tip {
  611. color: #E63113;
  612. text-align: right;
  613. }
  614. .tag1 {
  615. background: #F5F6F9;
  616. padding: 5px;
  617. color: #333333;
  618. display: inline-flex;
  619. font-size: 22rpx;
  620. border-radius: 3px;
  621. margin: 3px;
  622. }
  623. .tag {
  624. background: #F5F6F9;
  625. padding: 7px 12px;
  626. color: #333333;
  627. display: inline-flex;
  628. font-size: 22rpx;
  629. border-radius: 15px;
  630. margin: 3px;
  631. }
  632. .tag-bule {
  633. background: #EBEEFA;
  634. color: #5C76DF;
  635. }
  636. .tag-green {
  637. background: #C6F7BC;
  638. color: #065112;
  639. }
  640. .tag-yellow {
  641. background: #F9F2EA;
  642. color: #BE9C69;
  643. }
  644. .tag-red {
  645. background: #FEECE6;
  646. color: #FE6430;
  647. }
  648. .text-white {
  649. color: #fff;
  650. }
  651. .text-white text {
  652. position: relative;
  653. z-index: 2;
  654. background: linear-gradient(45deg, #3DC146, #B2D612);
  655. padding: 5px 10px;
  656. border-radius: 38rpx;
  657. }
  658. .center {
  659. margin-bottom: 100px;
  660. }
  661. .guess-section {
  662. padding-bottom: 100upx;
  663. display: flex;
  664. flex-wrap: wrap;
  665. padding: 30upx;
  666. background: #fff;
  667. margin: 10px;
  668. border-radius: 6px;
  669. .type {
  670. border-radius: 10px;
  671. padding: 5px;
  672. wdith: 22px;
  673. height: 22px;
  674. line-height: 14px;
  675. font-size: 12px;
  676. }
  677. .type.send {
  678. background: #22C572;
  679. color: #fff;
  680. }
  681. .type.put {
  682. background: #FD714F;
  683. color: #fff;
  684. }
  685. .businessnumber {
  686. font-size: 16px;
  687. font-weight: 600;
  688. }
  689. .consigner {
  690. font-size: 12px;
  691. }
  692. .time {
  693. color: #878C9C;
  694. }
  695. .goods {
  696. font-size: 12px;
  697. }
  698. .goodsstatus {
  699. background: #F9F9FA;
  700. color: #9698A2;
  701. padding: 10px 0;
  702. padding-left: 47px;
  703. margin: 10px 0;
  704. }
  705. .del {
  706. width: 60px;
  707. height: 33px;
  708. line-height: 33px;
  709. font-size: 14px;
  710. background: #fff;
  711. border: 1px solid #CDCDCD;
  712. border-radius: 30px;
  713. text-align: center;
  714. }
  715. }
  716. .navbar {
  717. position: fixed;
  718. left: 0;
  719. top: var(--window-top);
  720. display: flex;
  721. width: 100%;
  722. height: 80upx;
  723. background: #fff;
  724. box-shadow: 0 2upx 10upx rgba(0, 0, 0, .06);
  725. z-index: 10;
  726. .nav-item {
  727. flex: 1;
  728. display: flex;
  729. justify-content: center;
  730. align-items: center;
  731. height: 100%;
  732. font-size: 30upx;
  733. color: $font-color-dark;
  734. position: relative;
  735. &.current {
  736. color: $base-color;
  737. &:after {
  738. content: '';
  739. position: absolute;
  740. left: 50%;
  741. bottom: 0;
  742. transform: translateX(-50%);
  743. width: 120upx;
  744. height: 0;
  745. border-bottom: 4upx solid $base-color;
  746. }
  747. }
  748. }
  749. .p-box {
  750. display: flex;
  751. flex-direction: column;
  752. .yticon {
  753. display: flex;
  754. align-items: center;
  755. justify-content: center;
  756. width: 30upx;
  757. height: 14upx;
  758. line-height: 1;
  759. margin-left: 4upx;
  760. font-size: 26upx;
  761. color: #888;
  762. &.active {
  763. color: $base-color;
  764. }
  765. }
  766. .xia {
  767. transform: scaleY(-1);
  768. }
  769. }
  770. .cate-item {
  771. display: flex;
  772. justify-content: center;
  773. align-items: center;
  774. height: 100%;
  775. width: 80upx;
  776. position: relative;
  777. font-size: 44upx;
  778. &:after {
  779. content: '';
  780. position: absolute;
  781. left: 0;
  782. top: 50%;
  783. transform: translateY(-50%);
  784. border-left: 1px solid #ddd;
  785. width: 0;
  786. height: 36upx;
  787. }
  788. }
  789. }
  790. /* 分类 */
  791. .cate-mask {
  792. position: fixed;
  793. left: 0;
  794. top: var(--window-top);
  795. bottom: 0;
  796. width: 100%;
  797. background: rgba(0, 0, 0, 0);
  798. z-index: 95;
  799. transition: .3s;
  800. .cate-content {
  801. width: 630upx;
  802. height: 100%;
  803. background: #fff;
  804. float: right;
  805. transform: translateX(100%);
  806. transition: .3s;
  807. }
  808. &.none {
  809. display: none;
  810. }
  811. &.show {
  812. background: rgba(0, 0, 0, .4);
  813. .cate-content {
  814. transform: translateX(0);
  815. }
  816. }
  817. }
  818. .cate-list {
  819. display: flex;
  820. flex-direction: column;
  821. height: 100%;
  822. .cate-item {
  823. display: flex;
  824. align-items: center;
  825. height: 90upx;
  826. padding-left: 30upx;
  827. font-size: 28upx;
  828. color: #555;
  829. position: relative;
  830. }
  831. .two {
  832. height: 64upx;
  833. color: #303133;
  834. font-size: 30upx;
  835. background: #f8f8f8;
  836. }
  837. .active {
  838. color: $base-color;
  839. }
  840. }
  841. .introduce-section .title {
  842. font-size: 17px;
  843. font-weight: bold;
  844. height: 40px;
  845. line-height: 40px;
  846. flex: 2.5;
  847. border-bottom: 1px solid #EEEEEE;
  848. }
  849. .introduce-section .address {
  850. color: #878C9C;
  851. font-size: 12px;
  852. padding: 10px 0 10px;
  853. }
  854. .introduce-section .price {
  855. padding: 10px 0 10px;
  856. color: #FD714F;
  857. font-size: 19px;
  858. font-weight: 700;
  859. }
  860. .introduce-section .guess-item {
  861. border-radius: 10px;
  862. background: #fff;
  863. padding: 0upx 30upx 20upx;
  864. margin: 8px;
  865. border-bottom: 1px solid #ccc;
  866. }
  867. /* 销售信息 */
  868. .introduce-section {
  869. .title-tip {
  870. flex: 1;
  871. }
  872. .price-box {
  873. display: flex;
  874. align-items: baseline;
  875. font-size: 26upx;
  876. }
  877. .price {
  878. font-size: $font-lg + 2upx;
  879. }
  880. .m-price {
  881. margin: 0 12upx;
  882. color: $font-color-light;
  883. text-decoration: line-through;
  884. }
  885. .coupon-tip {
  886. align-items: center;
  887. padding: 4upx 10upx;
  888. background: $uni-color-primary;
  889. font-size: $font-sm;
  890. color: #fff;
  891. border-radius: 6upx;
  892. line-height: 1;
  893. transform: translateY(-4upx);
  894. }
  895. .bot-row {
  896. display: flex;
  897. align-items: center;
  898. height: 50upx;
  899. font-size: $font-sm;
  900. color: $font-color-light;
  901. view {
  902. flex: 1;
  903. }
  904. }
  905. }
  906. .footer {
  907. position: fixed;
  908. bottom: 0;
  909. width: 100%;
  910. padding: 20px 0;
  911. }
  912. .btn {
  913. width: 90%;
  914. background: #22C572;
  915. color: #fff;
  916. border-radius: 30px;
  917. }
  918. .btn:after {
  919. border: none;
  920. }
  921. .cumulative-style {
  922. justify-content: flex-end;
  923. align-items: center;
  924. display: flex;
  925. flex-direction: row;
  926. }
  927. .freightAlert-warp {
  928. padding: 0 60rpx 80rpx 60rpx;
  929. font-size: 26rpx;
  930. /* height: 400rpx; */
  931. }
  932. .row {
  933. margin: 26rpx 0;
  934. }
  935. .uview-border {
  936. border-bottom: 1px solid #E8E9ED;
  937. }
  938. .freightAlert-model {
  939. .freightAlert-row {
  940. display: flex;
  941. justify-content: center;
  942. position: relative;
  943. .close {
  944. position: absolute;
  945. right: 20rpx;
  946. top: 0;
  947. bottom: 0;
  948. margin: auto;
  949. }
  950. .title {
  951. font-size: 34rpx;
  952. font-weight: 500;
  953. color: #333333;
  954. line-height: 48px;
  955. }
  956. }
  957. .red-tip {
  958. color: red;
  959. margin-top: 20rpx;
  960. }
  961. .freightAlert-row2,
  962. .freightAlert-row4 {
  963. display: flex;
  964. justify-content: space-between;
  965. .text {
  966. display: flex;
  967. align-items: center;
  968. }
  969. }
  970. }
  971. .payAlert {
  972. /* height: 800rpx; */
  973. }
  974. .unpaid,
  975. .paid {
  976. display: flex;
  977. justify-content: space-between;
  978. margin: 20rpx 0;
  979. }
  980. .cumulative-style {
  981. justify-content: flex-end;
  982. align-items: center;
  983. display: flex;
  984. flex-direction: row;
  985. }
  986. </style>