payrecord.vue 26 KB

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