look.vue 19 KB

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