payrecord.vue 24 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103
  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="item.status=='待结算'">扣货款</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,0)">
  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="item.status=='待结算'">付货款</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="confirmeductPayment(item,1)">
  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="item.status!='待结算'">确认收货</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: true
  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)+'&id='+this.id
  341. })
  342. },
  343. commit() {
  344. uni.navigateTo({
  345. url: '/pageA/freightTransport/addpaygoods?id=' + this.id
  346. })
  347. },
  348. // 清空输入子对象数据
  349. cleanVal(val, val1) {
  350. for (let key in val) {
  351. console.log(key + '---' + val[key])
  352. if (val[key] == val1) {
  353. val[key] == ""
  354. }
  355. }
  356. },
  357. confirmFreight(flag, val) {
  358. if (flag == 1) {
  359. val.money = parseInt(this.money);
  360. }
  361. val.freightDeductionAmount = this.freightDeductionAmount
  362. val.freightIngPayable = parseInt(val.freightIngPayable);
  363. val.flag = flag
  364. this.$api.doRequest('post', 'freightReceivingDispatching/api/paymentAndDeductionfreight', val).then(
  365. res => {
  366. if (res.data.code == 200) {
  367. location.reload()
  368. }
  369. }).catch(res => {
  370. })
  371. },
  372. inputWatch(e) {
  373. let _val = this.checkVal(e, "freight");
  374. if (_val) {
  375. this.isShowFreightTip = true
  376. } else {
  377. this.isShowFreightTip = false
  378. }
  379. },
  380. paidInputWatch(e) {
  381. let _val = this.checkVal(e, "paid");
  382. if (_val) {
  383. this.isShowPaidTip = true
  384. } else {
  385. this.isShowPaidTip = false
  386. }
  387. },
  388. payInputWatch(e, item) {
  389. let _val = this.checkVal(e, "pay", item);
  390. if (_val) {
  391. this.isShowPayTip = true
  392. this.isShowPaymenMoneyTip = true
  393. } else {
  394. this.isShowPayTip = false
  395. this.isShowPaymenMoneyTip = false
  396. }
  397. },
  398. //扣货款输入监听
  399. deductPaymentInputWatch(e, item) {
  400. let _val = this.checkVal(e, "deductPayment", item);
  401. if (_val) {
  402. this.isShowFreightTip = true
  403. } else {
  404. this.isShowFreightTip = false
  405. }
  406. },
  407. // 扣运费
  408. freightDeduction(item) {
  409. this.freightAlert = true;
  410. this.freightDeductionAmount = 0
  411. // this.cleanVal(item,"freightDeductionAmount")
  412. console.log("扣运费")
  413. },
  414. // 付运费
  415. payDeduction() {
  416. console.log("付运费")
  417. this.payAlert = true
  418. },
  419. deductPayment() {
  420. console.log("扣货款")
  421. this.deductPaymentAlert = true
  422. },
  423. Payment() {
  424. console.log("付货款")
  425. this.paymentAlert = true
  426. },
  427. //判断输入值
  428. checkVal(e, state, item) {
  429. console.log(e)
  430. let _val;
  431. let _val1 = this.utils.isEmpty(e)
  432. let _val2 = this.utils.isTwoPoint(e)
  433. let _val3 = !this.utils.isNumber(e)
  434. _val = _val1 || _val2 || _val3
  435. switch (state) {
  436. //扣运费
  437. case "freight":
  438. break;
  439. // 应付
  440. case "paid":
  441. break;
  442. case "deductPayment":
  443. break;
  444. // 付款金额
  445. case "pay":
  446. if (parseInt(e) > item.freightIngPayable - item.freightEdPayable) {
  447. _val = true
  448. }
  449. break;
  450. }
  451. return _val
  452. },
  453. closeModel() {
  454. this.freightAlert = false;
  455. this.payAlert = false;
  456. this.deductPaymentAlert = false;
  457. this.paymentAlert = false;
  458. },
  459. confirmPayPayment() {
  460. console.log("付货款提交")
  461. },
  462. confirmeductPayment(val,type) {
  463. console.log(val)
  464. let _title = ''
  465. let _title1 = ''
  466. if(type==0){
  467. _title = "扣款成功!"
  468. _title1 = "扣款失败!"
  469. }else{
  470. _title = "付款成功!"
  471. _title1 = "扣款失败!"
  472. }
  473. let that = this;
  474. val.goodsDeductionAmount = parseInt(that.ductPayment);
  475. val.money = 0
  476. val.goodsEdPayable = parseInt(that.paymenMoney);
  477. that.$api.doRequest('post', 'freightReceivingDispatching/api/PaymentDeduction', val).then(
  478. res => {
  479. if (res.data.code == 200) {
  480. uni.showToast({
  481. title:_title,
  482. icon: 'none',
  483. duration: 2000,
  484. success() {
  485. getDetail(that.id, that)
  486. }
  487. })
  488. } else {
  489. uni.showToast({
  490. title:_title1,
  491. icon: 'none',
  492. duration: 2000
  493. })
  494. that.ductPayment = 0
  495. that.goodsEdPayable = 0
  496. }
  497. }).catch(res => {
  498. })
  499. }
  500. }
  501. }
  502. </script>
  503. <style lang='scss'>
  504. page,
  505. .content {
  506. background: #F5F6FA;
  507. }
  508. .c-row {
  509. display: -webkit-box;
  510. display: -webkit-flex;
  511. display: flex;
  512. -webkit-box-align: center;
  513. -webkit-align-items: center;
  514. align-items: center;
  515. padding: 10rpx 30rpx;
  516. position: relative;
  517. .title {
  518. color: #9698A2;
  519. }
  520. .title-black {
  521. color: #333;
  522. }
  523. }
  524. .con-list {
  525. -webkit-box-flex: 1;
  526. -webkit-flex: 1;
  527. flex: 1;
  528. display: -webkit-box;
  529. display: -webkit-flex;
  530. display: flex;
  531. -webkit-box-orient: vertical;
  532. -webkit-box-direction: normal;
  533. -webkit-flex-direction: column;
  534. flex-direction: column;
  535. color: #303133;
  536. line-height: 40rpx;
  537. text-align: right;
  538. padding-right: 20rpx;
  539. font-size: 12px;
  540. }
  541. .transaction {
  542. background-color: #FFFFFF;
  543. margin: 10px;
  544. padding-bottom: 10px;
  545. border-radius: 20px;
  546. .type {
  547. display: inline-block;
  548. font-size: 10px;
  549. padding: 1px 3px;
  550. border-radius: 50%;
  551. width: 19px;
  552. height: 19px;
  553. line-height: 19px;
  554. }
  555. .type.send {
  556. color: #22C572;
  557. background: #E9F8F0;
  558. }
  559. .type.put {
  560. color: #22C572;
  561. background: #E9F8F0;
  562. }
  563. .weightnotes {
  564. display: inline-block;
  565. border: 1px solid #CDCDCD;
  566. padding: 5px;
  567. font-size: 10px;
  568. margin-left: 3px;
  569. }
  570. .deductfreight,
  571. .payfreight {
  572. width: 75px;
  573. height: 33px;
  574. line-height: 33px;
  575. font-size: 14px;
  576. background: #fff;
  577. border: 1px solid #CDCDCD;
  578. border-radius: 30px;
  579. text-align: center;
  580. margin: 0 5px;
  581. }
  582. .payfreight {
  583. margin-right: 0;
  584. }
  585. }
  586. .line {
  587. display: inline-block;
  588. padding: 5px;
  589. position: relative;
  590. font-size: 17px;
  591. }
  592. .line.active {
  593. font-size: 19px;
  594. font-weight: 900;
  595. }
  596. .line.active:after {
  597. content: '';
  598. display: block;
  599. position: absolute;
  600. width: 38px;
  601. left: 50%;
  602. transform: translateX(-50%);
  603. bottom: 0;
  604. border-bottom: 1px solid #22C572;
  605. }
  606. .cu-tag.badge {
  607. right: 26rpx;
  608. }
  609. .cu-item {
  610. height: 80rpx;
  611. display: inline-block;
  612. line-height: 80rpx;
  613. }
  614. .search-form {
  615. background: #F5F6F9;
  616. padding-left: 20rpx;
  617. }
  618. .title-tip {
  619. color: #E63113;
  620. text-align: right;
  621. }
  622. .tag1 {
  623. background: #F5F6F9;
  624. padding: 5px;
  625. color: #333333;
  626. display: inline-flex;
  627. font-size: 22rpx;
  628. border-radius: 3px;
  629. margin: 3px;
  630. }
  631. .tag {
  632. background: #F5F6F9;
  633. padding: 7px 12px;
  634. color: #333333;
  635. display: inline-flex;
  636. font-size: 22rpx;
  637. border-radius: 15px;
  638. margin: 3px;
  639. }
  640. .tag-bule {
  641. background: #EBEEFA;
  642. color: #5C76DF;
  643. }
  644. .tag-green {
  645. background: #C6F7BC;
  646. color: #065112;
  647. }
  648. .tag-yellow {
  649. background: #F9F2EA;
  650. color: #BE9C69;
  651. }
  652. .tag-red {
  653. background: #FEECE6;
  654. color: #FE6430;
  655. }
  656. .text-white {
  657. color: #fff;
  658. }
  659. .text-white text {
  660. position: relative;
  661. z-index: 2;
  662. background: linear-gradient(45deg, #3DC146, #B2D612);
  663. padding: 5px 10px;
  664. border-radius: 38rpx;
  665. }
  666. .center {
  667. margin-bottom: 100px;
  668. }
  669. .guess-section {
  670. padding-bottom: 100upx;
  671. display: flex;
  672. flex-wrap: wrap;
  673. padding: 30upx;
  674. background: #fff;
  675. margin: 10px;
  676. border-radius: 6px;
  677. .type {
  678. border-radius: 10px;
  679. padding: 5px;
  680. wdith: 22px;
  681. height: 22px;
  682. line-height: 14px;
  683. font-size: 12px;
  684. }
  685. .type.send {
  686. background: #22C572;
  687. color: #fff;
  688. }
  689. .type.put {
  690. background: #FD714F;
  691. color: #fff;
  692. }
  693. .businessnumber {
  694. font-size: 16px;
  695. font-weight: 600;
  696. }
  697. .consigner {
  698. font-size: 12px;
  699. }
  700. .time {
  701. color: #878C9C;
  702. }
  703. .goods {
  704. font-size: 12px;
  705. }
  706. .goodsstatus {
  707. background: #F9F9FA;
  708. color: #9698A2;
  709. padding: 10px 0;
  710. padding-left: 47px;
  711. margin: 10px 0;
  712. }
  713. .del {
  714. width: 60px;
  715. height: 33px;
  716. line-height: 33px;
  717. font-size: 14px;
  718. background: #fff;
  719. border: 1px solid #CDCDCD;
  720. border-radius: 30px;
  721. text-align: center;
  722. }
  723. }
  724. .navbar {
  725. position: fixed;
  726. left: 0;
  727. top: var(--window-top);
  728. display: flex;
  729. width: 100%;
  730. height: 80upx;
  731. background: #fff;
  732. box-shadow: 0 2upx 10upx rgba(0, 0, 0, .06);
  733. z-index: 10;
  734. .nav-item {
  735. flex: 1;
  736. display: flex;
  737. justify-content: center;
  738. align-items: center;
  739. height: 100%;
  740. font-size: 30upx;
  741. color: $font-color-dark;
  742. position: relative;
  743. &.current {
  744. color: $base-color;
  745. &:after {
  746. content: '';
  747. position: absolute;
  748. left: 50%;
  749. bottom: 0;
  750. transform: translateX(-50%);
  751. width: 120upx;
  752. height: 0;
  753. border-bottom: 4upx solid $base-color;
  754. }
  755. }
  756. }
  757. .p-box {
  758. display: flex;
  759. flex-direction: column;
  760. .yticon {
  761. display: flex;
  762. align-items: center;
  763. justify-content: center;
  764. width: 30upx;
  765. height: 14upx;
  766. line-height: 1;
  767. margin-left: 4upx;
  768. font-size: 26upx;
  769. color: #888;
  770. &.active {
  771. color: $base-color;
  772. }
  773. }
  774. .xia {
  775. transform: scaleY(-1);
  776. }
  777. }
  778. .cate-item {
  779. display: flex;
  780. justify-content: center;
  781. align-items: center;
  782. height: 100%;
  783. width: 80upx;
  784. position: relative;
  785. font-size: 44upx;
  786. &:after {
  787. content: '';
  788. position: absolute;
  789. left: 0;
  790. top: 50%;
  791. transform: translateY(-50%);
  792. border-left: 1px solid #ddd;
  793. width: 0;
  794. height: 36upx;
  795. }
  796. }
  797. }
  798. /* 分类 */
  799. .cate-mask {
  800. position: fixed;
  801. left: 0;
  802. top: var(--window-top);
  803. bottom: 0;
  804. width: 100%;
  805. background: rgba(0, 0, 0, 0);
  806. z-index: 95;
  807. transition: .3s;
  808. .cate-content {
  809. width: 630upx;
  810. height: 100%;
  811. background: #fff;
  812. float: right;
  813. transform: translateX(100%);
  814. transition: .3s;
  815. }
  816. &.none {
  817. display: none;
  818. }
  819. &.show {
  820. background: rgba(0, 0, 0, .4);
  821. .cate-content {
  822. transform: translateX(0);
  823. }
  824. }
  825. }
  826. .cate-list {
  827. display: flex;
  828. flex-direction: column;
  829. height: 100%;
  830. .cate-item {
  831. display: flex;
  832. align-items: center;
  833. height: 90upx;
  834. padding-left: 30upx;
  835. font-size: 28upx;
  836. color: #555;
  837. position: relative;
  838. }
  839. .two {
  840. height: 64upx;
  841. color: #303133;
  842. font-size: 30upx;
  843. background: #f8f8f8;
  844. }
  845. .active {
  846. color: $base-color;
  847. }
  848. }
  849. .introduce-section .title {
  850. font-size: 17px;
  851. font-weight: bold;
  852. height: 40px;
  853. line-height: 40px;
  854. flex: 2.5;
  855. border-bottom: 1px solid #EEEEEE;
  856. }
  857. .introduce-section .address {
  858. color: #878C9C;
  859. font-size: 12px;
  860. padding: 10px 0 10px;
  861. }
  862. .introduce-section .price {
  863. padding: 10px 0 10px;
  864. color: #FD714F;
  865. font-size: 19px;
  866. font-weight: 700;
  867. }
  868. .introduce-section .guess-item {
  869. border-radius: 10px;
  870. background: #fff;
  871. padding: 0upx 30upx 20upx;
  872. margin: 8px;
  873. border-bottom: 1px solid #ccc;
  874. }
  875. /* 销售信息 */
  876. .introduce-section {
  877. .title-tip {
  878. flex: 1;
  879. }
  880. .price-box {
  881. display: flex;
  882. align-items: baseline;
  883. font-size: 26upx;
  884. }
  885. .price {
  886. font-size: $font-lg + 2upx;
  887. }
  888. .m-price {
  889. margin: 0 12upx;
  890. color: $font-color-light;
  891. text-decoration: line-through;
  892. }
  893. .coupon-tip {
  894. align-items: center;
  895. padding: 4upx 10upx;
  896. background: $uni-color-primary;
  897. font-size: $font-sm;
  898. color: #fff;
  899. border-radius: 6upx;
  900. line-height: 1;
  901. transform: translateY(-4upx);
  902. }
  903. .bot-row {
  904. display: flex;
  905. align-items: center;
  906. height: 50upx;
  907. font-size: $font-sm;
  908. color: $font-color-light;
  909. view {
  910. flex: 1;
  911. }
  912. }
  913. }
  914. .footer {
  915. position: fixed;
  916. bottom: 0;
  917. width: 100%;
  918. padding: 20px 0;
  919. }
  920. .btn {
  921. width: 90%;
  922. background: #22C572;
  923. color: #fff;
  924. border-radius: 30px;
  925. }
  926. .btn:after {
  927. border: none;
  928. }
  929. .cumulative-style {
  930. justify-content: flex-end;
  931. align-items: center;
  932. display: flex;
  933. flex-direction: row;
  934. }
  935. .freightAlert-warp {
  936. padding: 0 60rpx 80rpx 60rpx;
  937. font-size: 26rpx;
  938. /* height: 400rpx; */
  939. }
  940. .row {
  941. margin: 26rpx 0;
  942. }
  943. .uview-border {
  944. border-bottom: 1px solid #E8E9ED;
  945. }
  946. .freightAlert-model {
  947. .freightAlert-row {
  948. display: flex;
  949. justify-content: center;
  950. position: relative;
  951. .close {
  952. position: absolute;
  953. right: 20rpx;
  954. top: 0;
  955. bottom: 0;
  956. margin: auto;
  957. }
  958. .title {
  959. font-size: 34rpx;
  960. font-weight: 500;
  961. color: #333333;
  962. line-height: 48px;
  963. }
  964. }
  965. .red-tip {
  966. color: red;
  967. margin-top: 20rpx;
  968. }
  969. .freightAlert-row2,
  970. .freightAlert-row4 {
  971. display: flex;
  972. justify-content: space-between;
  973. .text {
  974. display: flex;
  975. align-items: center;
  976. }
  977. }
  978. }
  979. .payAlert {
  980. /* height: 800rpx; */
  981. }
  982. .unpaid,
  983. .paid {
  984. display: flex;
  985. justify-content: space-between;
  986. margin: 20rpx 0;
  987. }
  988. .cumulative-style {
  989. justify-content: flex-end;
  990. align-items: center;
  991. display: flex;
  992. flex-direction: row;
  993. }
  994. </style>