collectLook.vue 20 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004
  1. <template>
  2. <view class="center">
  3. <view class="c-list">
  4. <view class="xinxiup">
  5. <view class="c-row b-b">
  6. <text class="tit">合同编号:</text>
  7. <view class="con-list">
  8. <text>{{goods.contractNo}}({{goods.goodsName}})</text>
  9. </view>
  10. </view>
  11. <view class="c-row b-b">
  12. <text class="tit">卖方名称:</text>
  13. <view class="con-list">
  14. <text>{{goods.customer}}</text>
  15. </view>
  16. </view>
  17. <view class="c-row">
  18. <text class="tit">累计收发:</text>
  19. <view class="con-list">
  20. <text style="font-size: 18px">{{sendout}}<text class="hair">发</text>{{collect}}<text
  21. class="collect">收</text></text>
  22. <!-- <text>{{goods.level}}收</text> -->
  23. </view>
  24. </view>
  25. </view>
  26. <view v-for="(item , index) in carlist" :Key="index" class="forxinxi">
  27. <view class="c-row carNos">
  28. <text>{{item.carNo}}</text>
  29. <view class="con-list">
  30. <text>{{item.sendDateStart}}<text class="hair">发</text></text>
  31. </view>
  32. </view>
  33. <view class="c-row b-b">
  34. <text class="tit">结算价(元/吨)</text>
  35. <view class="con-list">
  36. <text>{{item.settlementPrice}}</text>
  37. </view>
  38. </view>
  39. <view class="c-row b-b">
  40. <text class="tit">净重(吨)</text>
  41. <view class="con-list">
  42. <text style="font-size: 18px;">{{item.loadNetWeight}}<text
  43. class="hair">发</text>{{item.unloadNetWeight}}<text class="collect">收</text></text>
  44. </view>
  45. </view>
  46. <view class="c-row ">
  47. <button v-if='item.loadPoundImg' class="cu-btn commit margin-tb-sm lg"
  48. style="background-color: #4CD964; width: 210rpx;height: 30px; "
  49. @click="shipments(item)">发货磅单</button>
  50. <button v-if='item.unloadPoundImg' class="cu-btn commit margin-tb-sm lg"
  51. style="background-color: #1CBBB4; margin-left: 15px; width: 210rpx;height: 30px;"
  52. @click="unload(item)">收货磅单</button>
  53. </view>
  54. </view>
  55. </view>
  56. <view class="c-list">
  57. <button class=" btn btns" style="background-color: #22C572; color: #FFFFFF ; "
  58. @click="confirmunload(item)">确认收货</button>
  59. </view>
  60. <view v-if='imgstatus' class='shade'>
  61. <view class='shade-content'>
  62. <image v-if='img' style='width:100px;height:100px;' :src='img'></image>
  63. <button style='' @click='imgstatus=false'>取消</button>
  64. </view>
  65. </view>
  66. </view>
  67. </template>
  68. <script>
  69. import uniNumberBox from '@/components/uni-number-box.vue';
  70. import {
  71. mapState
  72. } from 'vuex';
  73. export default {
  74. components: {
  75. uniNumberBox
  76. },
  77. data() {
  78. return {
  79. carlist: [],
  80. swiperCurrent: 0,
  81. titleNViewBackground: '',
  82. swiperLength: 0,
  83. id: '',
  84. goods: {
  85. // id:"",
  86. // contractNo:'',
  87. // contractNo:'',
  88. // unloadPoundImg:'',
  89. // loadPoundImg:'',
  90. // carNo:'',
  91. // sendDateStart:'',
  92. // settlementPrice:'',
  93. // deductionAmount:'',
  94. // deductionItems:'',
  95. },
  96. gooods1: {
  97. contractNo: '',
  98. },
  99. img: '',
  100. share: {
  101. title: '',
  102. imageUrl: 'https://taohaoliang.oss-cn-beijing.aliyuncs.com/shareLogo.png',
  103. },
  104. imgstatus: false,
  105. reason: "",
  106. price: undefined,
  107. imgstatus: false,
  108. reason: "",
  109. price: undefined,
  110. planId: '',
  111. };
  112. },
  113. onShow() {
  114. this.loaddata()
  115. },
  116. onLoad(option) {
  117. this.goods.goodsName = option.goodsName
  118. this.goods.customer = option.customer
  119. this.id = option.id
  120. this.planId = option.planId
  121. this.goods.contractNo = option.contractNo
  122. },
  123. computed: {
  124. ...mapState(['hasLogin', 'userInfo']),
  125. sendout() {
  126. var num = 0
  127. for (var i = 0; i < this.carlist.length; i++) {
  128. num += this.carlist[i].loadNetWeight
  129. }
  130. return num
  131. },
  132. collect() {
  133. var num = 0
  134. for (var i = 0; i < this.carlist.length; i++) {
  135. num += this.carlist[i].unloadNetWeight
  136. }
  137. return num
  138. }
  139. },
  140. methods: {
  141. unload(item) {
  142. this.img = item.unloadPoundImg
  143. this.imgstatus = true
  144. },
  145. shipments(item) {
  146. this.img = item.loadPoundImg
  147. this.imgstatus = true
  148. },
  149. commit1() {
  150. var tranCarNo = ''
  151. if (this.carlist.length <= 9) {
  152. tranCarNo = 'C00' + (this.carlist.length + 1)
  153. } else if (this.carlist.length < 100 && this.carlist.length > 9) {
  154. tranCarNo = 'C0' + (this.carlist.length + 1)
  155. } else if (this.carlist.length < 1000 && this.carlist.length > 99) {
  156. tranCarNo = 'C' + (this.carlist.length + 1)
  157. }
  158. uni.navigateTo({
  159. url: `/pageB/contract/contract_detail?contractNo=` + this.goods.contractNo + '&goodsName=' +
  160. this.goods.goodsName + '&tranCarNo=' + tranCarNo,
  161. url: `/pageB/contract/contract_detail?contractNo=` + this.goods.contractNo + '&goodsName=' +
  162. this.goods.goodsName + '&tranCarNo=' + tranCarNo + '&palnId=' + this.planId
  163. })
  164. },
  165. confirmunload(item) {
  166. this.$api.doRequest('post', '/tranCarInfo/api/confirmUnloading', {
  167. id: item.id
  168. }).then(res => {
  169. if (res.data.code == 200) {
  170. item.confirmFlag = 3
  171. }
  172. })
  173. .catch(res => {
  174. uni.showToast({
  175. title: res.errmsg,
  176. icon: 'none',
  177. duration: 2000
  178. })
  179. });
  180. },
  181. loaddata() {
  182. this.$api.doRequest('get', '/tranCarInfo/api/selectTranCarInfoNum', {
  183. contractNo: this.goods.contractNo
  184. }, 'application/json;charset=UTF-8').then(res => {
  185. if (res.data.code == 200) {
  186. this.carlist = res.data.data
  187. }
  188. })
  189. .catch(res => {
  190. uni.showToast({
  191. title: res.errmsg,
  192. icon: 'none',
  193. duration: 2000
  194. })
  195. });
  196. },
  197. ViewImage(e) {
  198. var img = [];
  199. img.push(e)
  200. uni.previewImage({
  201. current: 0,
  202. urls: img
  203. });
  204. },
  205. priceInput(e) {
  206. this.price = e.detail.value
  207. },
  208. reasonInput(e) {
  209. this.reason = e.detail.value
  210. },
  211. // navToDetailPage() {
  212. // const that = this
  213. // uni.navigateTo({
  214. // url: `/pageA/product/detail_upload?id=${that.goods.id}`
  215. // })
  216. // },
  217. endSale() {
  218. const that = this
  219. uni.showLoading({
  220. title: '正在加载',
  221. mask: true
  222. })
  223. that.$api.request('sale', 'endSale', {
  224. id: that.goods.id,
  225. reason: that.reason
  226. }, failres => {
  227. that.$api.msg(failres.errmsg)
  228. uni.hideLoading()
  229. }).then(res => {
  230. that.$api.msg('终止成功')
  231. uni.hideLoading()
  232. setTimeout(() => {
  233. uni.navigateBack()
  234. }, 1000);
  235. })
  236. },
  237. tradeNow() {
  238. if (!this.hasLogin) {
  239. uni.showModal({
  240. title: '登录提示',
  241. content: '您尚未登录,是否立即登录?',
  242. showCancel: true,
  243. confirmText: '登录',
  244. success: (e) => {
  245. if (e.confirm) {
  246. uni.navigateTo({
  247. url: '/pages/public/login'
  248. })
  249. }
  250. },
  251. fail: () => {},
  252. complete: () => {}
  253. })
  254. } else {
  255. const that = this
  256. uni.navigateTo({
  257. url: `/pageA/product/trade?id=${that.goods.id}&packing=${that.goods.packing}}&province=${that.goods.province}
  258. &city=${that.goods.city}&area=${that.goods.area}&storeName=${that.goods.storeName}&seller=${that.goods.seller}
  259. &companyId=${that.goods.companyId}&sellerPhone=${that.goods.sellerPhone}&minSale=${that.goods.minSale}
  260. &exsitCount=${that.goods.total}&isFutures=${that.goods.isFutures}
  261. &basis=${that.goods.basis}&basisSmall=${that.goods.basisSmall}&basisBig=${that.goods.basisBig}
  262. &unloadingFee=${that.goods.unloadingFee}`
  263. })
  264. }
  265. }
  266. },
  267. }
  268. </script>
  269. <style lang='scss' scoped>
  270. .center {
  271. padding: 10px 20px;
  272. background-color: #F5F6FA;
  273. }
  274. page {
  275. background: $page-color-base;
  276. /* padding-bottom: 160upx; */
  277. }
  278. .container {
  279. padding: 10px 20px;
  280. background-color: #F5F6FA;
  281. }
  282. .icon-you {
  283. font-size: $font-base + 2upx;
  284. color: #888;
  285. }
  286. .carousel {
  287. width: 100%;
  288. height: 350upx;
  289. .carousel-item {
  290. width: 100%;
  291. height: 100%;
  292. padding: 0 28upx;
  293. overflow: hidden;
  294. }
  295. image {
  296. width: 100%;
  297. height: 100%;
  298. border-radius: 10upx;
  299. }
  300. }
  301. .carousel-section {
  302. padding: 0;
  303. .titleNview-placing {
  304. padding-top: 0;
  305. height: 0;
  306. }
  307. .carousel {
  308. .carousel-item {
  309. padding: 0;
  310. }
  311. }
  312. .swiper-dots {
  313. left: 45upx;
  314. bottom: 40upx;
  315. }
  316. }
  317. /* 分享 */
  318. .share-section {
  319. display: flex;
  320. align-items: center;
  321. color: $font-color-base;
  322. background: linear-gradient(left, #fdf5f6, #fbebf6);
  323. padding: 12upx 30upx;
  324. .share-icon {
  325. display: flex;
  326. align-items: center;
  327. width: 70upx;
  328. height: 30upx;
  329. line-height: 1;
  330. border: 1px solid $uni-color-primary;
  331. border-radius: 4upx;
  332. position: relative;
  333. overflow: hidden;
  334. font-size: 22upx;
  335. color: $uni-color-primary;
  336. &:after {
  337. content: '';
  338. width: 50upx;
  339. height: 50upx;
  340. border-radius: 50%;
  341. left: -20upx;
  342. top: -12upx;
  343. position: absolute;
  344. background: $uni-color-primary;
  345. }
  346. }
  347. .icon-xingxing {
  348. position: relative;
  349. z-index: 1;
  350. font-size: 24upx;
  351. margin-left: 2upx;
  352. margin-right: 10upx;
  353. color: #fff;
  354. line-height: 1;
  355. }
  356. .tit {
  357. font-size: $font-base;
  358. margin-left: 10upx;
  359. }
  360. .icon-bangzhu1 {
  361. padding: 10upx;
  362. font-size: 30upx;
  363. line-height: 1;
  364. }
  365. .share-btn {
  366. flex: 1;
  367. text-align: right;
  368. font-size: $font-sm;
  369. color: $uni-color-primary;
  370. }
  371. .icon-you {
  372. font-size: $font-sm;
  373. margin-left: 4upx;
  374. color: $uni-color-primary;
  375. }
  376. }
  377. /* .c-list {
  378. font-size: $font-sm + 2upx;
  379. color: $font-color-base;
  380. background: #fff;
  381. .c-row {
  382. display: flex;
  383. align-items: center;
  384. padding: 20upx 30upx;
  385. position: relative;
  386. }
  387. .tit {
  388. width: 220upx;
  389. }
  390. .con {
  391. flex: 1;
  392. color: $font-color-dark;
  393. .selected-text {
  394. margin-right: 10upx;
  395. }
  396. }
  397. .bz-list {
  398. height: 40upx;
  399. font-size: $font-sm+2upx;
  400. color: $font-color-dark;
  401. text {
  402. display: inline-block;
  403. margin-right: 30upx;
  404. }
  405. }
  406. .con-list {
  407. flex: 1;
  408. display: flex;
  409. flex-direction: column;
  410. color: $font-color-dark;
  411. line-height: 40upx;
  412. text-align: right;
  413. padding-right: 20upx;
  414. }
  415. .red {
  416. color: $uni-color-primary;
  417. }
  418. } */
  419. /* 评价 */
  420. .eva-section {
  421. display: flex;
  422. flex-direction: column;
  423. padding: 20upx 30upx;
  424. background: #fff;
  425. margin-top: 16upx;
  426. .e-header {
  427. display: flex;
  428. align-items: center;
  429. height: 70upx;
  430. font-size: $font-sm + 2upx;
  431. color: $font-color-light;
  432. .tit {
  433. font-size: $font-base + 2upx;
  434. color: $font-color-dark;
  435. margin-right: 4upx;
  436. }
  437. .tip {
  438. flex: 1;
  439. text-align: right;
  440. }
  441. .icon-you {
  442. margin-left: 10upx;
  443. }
  444. }
  445. }
  446. .eva-box {
  447. display: flex;
  448. padding: 20upx 0;
  449. .portrait {
  450. flex-shrink: 0;
  451. width: 80upx;
  452. height: 80upx;
  453. border-radius: 100px;
  454. }
  455. .right {
  456. flex: 1;
  457. display: flex;
  458. flex-direction: column;
  459. font-size: $font-base;
  460. color: $font-color-base;
  461. padding-left: 26upx;
  462. .con {
  463. font-size: $font-base;
  464. color: $font-color-dark;
  465. padding: 20upx 0;
  466. }
  467. .bot {
  468. display: flex;
  469. justify-content: space-between;
  470. font-size: $font-sm;
  471. color: $font-color-light;
  472. }
  473. }
  474. }
  475. /* 详情 */
  476. .detail-desc {
  477. background: #fff;
  478. margin-top: 16upx;
  479. width: 750upx;
  480. .d-header {
  481. display: flex;
  482. justify-content: center;
  483. align-items: center;
  484. height: 80upx;
  485. font-size: $font-base + 2upx;
  486. color: $font-color-dark;
  487. position: relative;
  488. text {
  489. padding: 0 20upx;
  490. background: #fff;
  491. position: relative;
  492. z-index: 1;
  493. }
  494. &:after {
  495. position: absolute;
  496. left: 50%;
  497. top: 50%;
  498. transform: translateX(-50%);
  499. width: 300upx;
  500. height: 0;
  501. content: '';
  502. border-bottom: 1px solid #ccc;
  503. }
  504. }
  505. }
  506. /* 规格选择弹窗 */
  507. .attr-content {
  508. padding: 10upx 30upx;
  509. .a-t {
  510. display: flex;
  511. image {
  512. width: 170upx;
  513. height: 170upx;
  514. flex-shrink: 0;
  515. margin-top: -40upx;
  516. border-radius: 8upx;
  517. ;
  518. }
  519. .right {
  520. display: flex;
  521. flex-direction: column;
  522. padding-left: 24upx;
  523. font-size: $font-sm + 2upx;
  524. color: $font-color-base;
  525. line-height: 42upx;
  526. .price {
  527. font-size: $font-lg;
  528. color: $uni-color-primary;
  529. margin-bottom: 10upx;
  530. }
  531. .selected-text {
  532. margin-right: 10upx;
  533. }
  534. }
  535. }
  536. .attr-list {
  537. display: flex;
  538. flex-direction: column;
  539. font-size: $font-base + 2upx;
  540. color: $font-color-base;
  541. padding-top: 30upx;
  542. padding-left: 10upx;
  543. }
  544. .item-list {
  545. padding: 30upx 0 0;
  546. display: flex;
  547. flex-wrap: wrap;
  548. text {
  549. display: flex;
  550. align-items: center;
  551. justify-content: center;
  552. background: #eee;
  553. margin-right: 20upx;
  554. margin-bottom: 20upx;
  555. border-radius: 100upx;
  556. min-width: 60upx;
  557. height: 60upx;
  558. padding: 0 20upx;
  559. font-size: $font-base;
  560. color: $font-color-dark;
  561. }
  562. .selected {
  563. background: #fbebee;
  564. color: $uni-color-primary;
  565. }
  566. }
  567. }
  568. /* 弹出层 */
  569. .popup {
  570. position: fixed;
  571. left: 0;
  572. top: 0;
  573. right: 0;
  574. bottom: 0;
  575. z-index: 99;
  576. &.show {
  577. display: block;
  578. .mask {
  579. animation: showPopup 0.2s linear both;
  580. }
  581. .layer {
  582. animation: showLayer 0.2s linear both;
  583. }
  584. }
  585. &.hide {
  586. .mask {
  587. animation: hidePopup 0.2s linear both;
  588. }
  589. .layer {
  590. animation: hideLayer 0.2s linear both;
  591. }
  592. }
  593. &.none {
  594. display: none;
  595. }
  596. .mask {
  597. position: fixed;
  598. top: 0;
  599. width: 100%;
  600. height: 100%;
  601. z-index: 1;
  602. background-color: rgba(0, 0, 0, 0.4);
  603. }
  604. .layer {
  605. position: fixed;
  606. z-index: 99;
  607. bottom: 0;
  608. width: 100%;
  609. min-height: 40vh;
  610. border-radius: 10upx 10upx 0 0;
  611. background-color: #fff;
  612. .btn {
  613. height: 66upx;
  614. line-height: 66upx;
  615. border-radius: 100upx;
  616. background: $uni-color-primary;
  617. font-size: $font-base + 2upx;
  618. color: #fff;
  619. margin: 30upx auto 20upx;
  620. }
  621. }
  622. @keyframes showPopup {
  623. 0% {
  624. opacity: 0;
  625. }
  626. 100% {
  627. opacity: 1;
  628. }
  629. }
  630. @keyframes hidePopup {
  631. 0% {
  632. opacity: 1;
  633. }
  634. 100% {
  635. opacity: 0;
  636. }
  637. }
  638. @keyframes showLayer {
  639. 0% {
  640. transform: translateY(120%);
  641. }
  642. 100% {
  643. transform: translateY(0%);
  644. }
  645. }
  646. @keyframes hideLayer {
  647. 0% {
  648. transform: translateY(0);
  649. }
  650. 100% {
  651. transform: translateY(120%);
  652. }
  653. }
  654. }
  655. .swiper-dots {
  656. display: flex;
  657. position: absolute;
  658. left: 60upx;
  659. bottom: 15upx;
  660. width: 72upx;
  661. height: 36upx;
  662. background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAYAAADDhn8LAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTMyIDc5LjE1OTI4NCwgMjAxNi8wNC8xOS0xMzoxMzo0MCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OTk4MzlBNjE0NjU1MTFFOUExNjRFQ0I3RTQ0NEExQjMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OTk4MzlBNjA0NjU1MTFFOUExNjRFQ0I3RTQ0NEExQjMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6Q0E3RUNERkE0NjExMTFFOTg5NzI4MTM2Rjg0OUQwOEUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6Q0E3RUNERkI0NjExMTFFOTg5NzI4MTM2Rjg0OUQwOEUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4Gh5BPAAACTUlEQVR42uzcQW7jQAwFUdN306l1uWwNww5kqdsmm6/2MwtVCp8CosQtP9vg/2+/gY+DRAMBgqnjIp2PaCxCLLldpPARRIiFj1yBbMV+cHZh9PURRLQNhY8kgWyL/WDtwujjI8hoE8rKLqb5CDJaRMJHokC6yKgSCR9JAukmokIknCQJpLOIrJFwMsBJELFcKHwM9BFkLBMKFxNcBCHlQ+FhoocgpVwwnv0Xn30QBJGMC0QcaBVJiAMiec/dcwKuL4j1QMsVCXFAJE4s4NQA3K/8Y6DzO4g40P7UcmIBJxbEesCKWBDg8wWxHrAiFgT4fEGsB/CwIhYE+AeBAAdPLOcV8HRmWRDAiQVcO7GcV8CLM8uCAE4sQCDAlHcQ7x+ABQEEAggEEAggEEAggEAAgQACASAQQCCAQACBAAIBBAIIBBAIIBBAIABe4e9iAe/xd7EAJxYgEGDeO4j3EODp/cOCAE4sYMyJ5cwCHs4rCwI4sYBxJ5YzC84rCwKcXxArAuthQYDzC2JF0H49LAhwYUGsCFqvx5EF2T07dMaJBetx4cRyaqFtHJ8EIhK0i8OJBQxcECuCVutxJhCRoE0cZwMRyRcFefa/ffZBVPogePihhyCnbBhcfMFFEFM+DD4m+ghSlgmDkwlOgpAl4+BkkJMgZdk4+EgaSCcpVX7bmY9kgXQQU+1TgE0c+QJZUUz1b2T4SBbIKmJW+3iMj2SBVBWz+leVfCQLpIqYbp8b85EskIxyfIOfK5Sf+wiCRJEsllQ+oqEkQfBxmD8BBgA5hVjXyrBNUQAAAABJRU5ErkJggg==);
  663. background-size: 100% 100%;
  664. .num {
  665. width: 36upx;
  666. height: 36upx;
  667. border-radius: 50px;
  668. font-size: 24upx;
  669. color: #fff;
  670. text-align: center;
  671. line-height: 36upx;
  672. }
  673. .sign {
  674. position: absolute;
  675. top: 0;
  676. left: 50%;
  677. line-height: 36upx;
  678. font-size: 12upx;
  679. color: #fff;
  680. transform: translateX(-50%);
  681. }
  682. }
  683. /* 底部操作菜单 */
  684. .page-bottom {
  685. position: fixed;
  686. left: 30upx;
  687. bottom: 30upx;
  688. z-index: 95;
  689. display: flex;
  690. justify-content: center;
  691. align-items: center;
  692. width: 690upx;
  693. height: 100upx;
  694. background: rgba(255, 255, 255, .9);
  695. box-shadow: 0 0 20upx 0 rgba(0, 0, 0, .5);
  696. border-radius: 16upx;
  697. .p-b-btn {
  698. display: flex;
  699. flex-direction: column;
  700. align-items: center;
  701. justify-content: center;
  702. font-size: $font-sm;
  703. color: $font-color-base;
  704. width: 96upx;
  705. height: 80upx;
  706. .yticon {
  707. font-size: 40upx;
  708. line-height: 48upx;
  709. color: $font-color-light;
  710. }
  711. &.active,
  712. &.active .yticon {
  713. color: $uni-color-primary;
  714. }
  715. .icon-fenxiang2 {
  716. font-size: 42upx;
  717. transform: translateY(-2upx);
  718. }
  719. .icon-shoucang {
  720. font-size: 46upx;
  721. }
  722. }
  723. }
  724. .rich-img {
  725. width: 100%;
  726. height: auto;
  727. margin: 0;
  728. padding: 0;
  729. line-height: 0px;
  730. }
  731. button::after {
  732. border: none;
  733. }
  734. /* 销售信息 */
  735. .introduce-section {
  736. background: #fff;
  737. padding: 20upx 30upx;
  738. padding-bottom: 100upx;
  739. .guess-item {
  740. padding-bottom: 20upx;
  741. border-bottom: 1px solid #ccc;
  742. }
  743. .title {
  744. font-size: 28upx;
  745. color: $font-color-dark;
  746. font-weight: bold;
  747. height: 50upx;
  748. line-height: 50upx;
  749. flex: 2.5;
  750. }
  751. .title-tip {
  752. flex: 1.5;
  753. }
  754. .price-box {
  755. display: flex;
  756. align-items: baseline;
  757. height: 120rpx;
  758. padding: 10upx 0;
  759. font-size: 26upx;
  760. color: $uni-color-primary;
  761. }
  762. .price {
  763. font-size: $font-lg + 2upx;
  764. }
  765. .m-price {
  766. margin: 0 12upx;
  767. color: $font-color-light;
  768. text-decoration: line-through;
  769. }
  770. .coupon-tip {
  771. align-items: center;
  772. padding: 4upx 10upx;
  773. background: $uni-color-primary;
  774. font-size: $font-sm;
  775. color: #fff;
  776. border-radius: 6upx;
  777. line-height: 1;
  778. transform: translateY(-4upx);
  779. }
  780. .bot-row {
  781. display: flex;
  782. align-items: center;
  783. height: 50upx;
  784. font-size: $font-sm;
  785. color: $font-color-light;
  786. view {
  787. flex: 1;
  788. }
  789. }
  790. }
  791. .shade {
  792. position: fixed;
  793. top: 0;
  794. left: 0;
  795. width: 100%;
  796. background: rgba(0, 0, 0, 0.5);
  797. height: 100%;
  798. z-index: 999999;
  799. }
  800. .shade-content {
  801. background: #fff;
  802. position: absolute;
  803. top: 50%;
  804. left: 50%;
  805. transform: translateX(-50%) translateY(-50%);
  806. z-index: 999999;
  807. text-align: center;
  808. width: 325px;
  809. padding: 10px;
  810. }
  811. .c-row {
  812. display: -webkit-box;
  813. display: -webkit-flex;
  814. display: flex;
  815. -webkit-box-align: center;
  816. -webkit-align-items: center;
  817. align-items: center;
  818. padding: 20rpx 30rpx;
  819. position: relative;
  820. }
  821. .con-list {
  822. -webkit-box-flex: 1;
  823. -webkit-flex: 1;
  824. flex: 1;
  825. display: -webkit-box;
  826. display: -webkit-flex;
  827. display: flex;
  828. -webkit-box-orient: vertical;
  829. -webkit-box-direction: normal;
  830. -webkit-flex-direction: column;
  831. flex-direction: column;
  832. color: #303133;
  833. line-height: 40rpx;
  834. text-align: right;
  835. padding-right: 20rpx;
  836. font-size: 14px;
  837. }
  838. .xinxiup {
  839. background-color: #FFFFFF;
  840. border-radius: 20px;
  841. padding: 5px 10px;
  842. }
  843. .forxinxi {
  844. background-color: #FFFFFF;
  845. margin-top: 20px;
  846. border-radius: 20px;
  847. /* padding: 5px 10px; */
  848. }
  849. .carNos {
  850. background-color: #EEEFF4;
  851. border-top-left-radius: 20px;
  852. border-top-right-radius: 20px;
  853. height: 60px;
  854. font-size: 18px;
  855. font-weight: 600;
  856. }
  857. .hair {
  858. width: 24px;
  859. height: 24px;
  860. border-radius: 10px;
  861. font-size: 10px;
  862. color: #22C572;
  863. background-color: #E9F8F0;
  864. }
  865. .collect {
  866. width: 24px;
  867. height: 24px;
  868. border-radius: 10px;
  869. font-size: 10px;
  870. color: #FE6430;
  871. background-color: #FEECE6;
  872. }
  873. .btn {
  874. margin-top: 10px;
  875. background-color: #FFFFFF;
  876. border-radius: 25px;
  877. border: none;
  878. }
  879. .btns {
  880. background-color: #22C572;
  881. }
  882. </style>