adopt.vue 23 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061
  1. <template>
  2. <view :class="[AppTheme]" id="farm">
  3. <view v-if="!ifpeon">
  4. <u-empty margin-top="60" text="您还未进行实名认证" mode="order"></u-empty>
  5. <view class="goreins bg-primary" @click="gopenre()">点击去实名认证</view>
  6. </view>
  7. <view v-if="ifpeon" :class="btnImgOrVideo == 0 ? 'carousel-section bg' : 'carousel-section '">
  8. <view v-show="btnImgOrVideo == 1">
  9. <swiper imgMode class="carousel" circular @change="swiperChange">
  10. <swiper-item v-for="(item, index) in imgArr" :key="index" class="carousel-item">
  11. <image :src="item" style="width: 100%;height: 100%;"></image>
  12. </swiper-item>
  13. </swiper>
  14. <view class="swiper-dots"></view>
  15. </view>
  16. <view v-show="btnImgOrVideo == 0">
  17. <view class="video_blck">
  18. <yfsVideo ref="yvideo" :src="videoUrl" :autoplay="true"></yfsVideo>
  19. </view>
  20. </view>
  21. <scroll-view style="height: 40px;position: absolute;bottom: 20rpx;" scroll-x="true">
  22. <view class="farm_btn">
  23. <view class="border-primary"
  24. :class="btnImgOrVideo == 1 ? 'baner_btn act bg-primary border-primary' : 'baner_btn'"
  25. @click="changeImgOrVideo(1)">图片
  26. </view>
  27. <view class="border-primary" v-show="videoUrl"
  28. :class="btnImgOrVideo == 0 ? 'baner_btn act bg-primary ' : 'baner_btn'"
  29. @click="changeImgOrVideo(0)">视频</view>
  30. </view>
  31. </scroll-view>
  32. </view>
  33. <view v-if="ifpeon" class="info">
  34. <view class="info-b">
  35. <text style="font-size: 29rpx;">¥</text>
  36. <text style="font-weight: bold;">{{ ly_list.copies_price || 0 }}</text>
  37. </view>
  38. <view class="info-t">{{ ly_list.name || 0 }}</view>
  39. </view>
  40. <view v-if="ifpeon" class="param">
  41. <view class="block">
  42. <view class="chansu">
  43. <view class="W25">
  44. <view>
  45. <u-icon name="tags" :color="primary" size="30"></u-icon>
  46. </view>
  47. <view class="mtb20">{{ ly_list.vname || '' }}</view>
  48. <view>认养品种</view>
  49. </view>
  50. <view class="W25">
  51. <view>
  52. <u-icon name="list-dot" :color="primary" size="30"></u-icon>
  53. </view>
  54. <view class="mtb20">{{ ly_list.num || 0 }}{{ ly_list.unit || '' }}</view>
  55. <view>剩余数量</view>
  56. </view>
  57. <view class="W25">
  58. <view>
  59. <u-icon name="clock" :color="primary" size="30"></u-icon>
  60. </view>
  61. <view class="mtb20">{{ ly_list.cycle || 0 }}天</view>
  62. <view>认领周期</view>
  63. </view>
  64. <view class="W25">
  65. <view>
  66. <u-icon name="car" :color="primary" size="30"></u-icon>
  67. </view>
  68. <view class="mtb20">{{ ly_list.bonusway || '' }}</view>
  69. <view>认养收获</view>
  70. </view>
  71. </view>
  72. </view>
  73. </view>
  74. <view v-if="ifpeon" class="time detail">
  75. 商品类型:
  76. <text>&nbsp;{{ ly_list.cate || '' }}</text>
  77. </view>
  78. <view v-if="ifpeon" class="time">
  79. 截止时间:
  80. <text> {{ ly_list.dtime || 0 }}</text>
  81. </view>
  82. <view v-if="ifpeon" class="time row-between">
  83. <text class="_num">购买数量</text>
  84. <view class="ml12">
  85. <u-number-box v-model="num" buttonSize="25" @change="valChange" :max="ly_list.num * 1"></u-number-box>
  86. </view>
  87. </view>
  88. <view v-if="ifpeon" class="sel">
  89. <view>
  90. <u-checkbox-group size='35rpx' active-color="green" @change="checkboxChange(tarp)">
  91. <u-checkbox v-model="tarpty" shape="circle" :checked="isChecked"></u-checkbox>
  92. </u-checkbox-group>
  93. </view>
  94. <!-- <checkbox-group @change="checkboxChange" >
  95. <label>
  96. <checkbox :color="primary" value="cb" :checked="isChecked" style="transform:scale(0.7)" />
  97. </label>
  98. </checkbox-group> -->
  99. <text class="text" @click="goContract(ly_list.party, 2)">
  100. 阅读并同意
  101. <text class="text-primary">《{{ partyinfo != null ? partyinfo.name : '暂无' }}》</text>
  102. </text>
  103. </view>
  104. <view class="farm" v-if="ly_list.farm_id">
  105. <view class="text_area">
  106. <view class="shop_name">
  107. <image :src="farm_info.farm_logo" :lazy-load="true" class="shop_thumbnail"></image>
  108. <view class="right_shop_mess">
  109. <view class="shop_line">
  110. <view class="shop_line_p1">{{farm_info.farm_name}}
  111. </view>
  112. <view class="right_shop_mess_p2" @click="gostoredetail(farm_info.id)">
  113. 进店逛逛
  114. </view>
  115. </view>
  116. <view class="shop_line_fl">
  117. </view>
  118. <view class="shop_line">
  119. <view class="shop_line_p2">
  120. <u-icon name="map" size="20" color="#9C9C9C"></u-icon>
  121. <view class="address">
  122. {{farm_info.farm_address}}
  123. </view>
  124. </view>
  125. </view>
  126. </view>
  127. </view>
  128. </view>
  129. <view class="shop_one">
  130. <view class="shop_one_1">
  131. <view class="view1">{{farm_info.page_view}}</view>
  132. <view class="view2">访客数</view>
  133. </view>
  134. <view>
  135. <u-line color="#999998" direction="col" length='60%'></u-line>
  136. </view>
  137. <view class="shop_one_1">
  138. <view class="view1">{{farm_info.shopnum}}</view>
  139. <view class="view2">全部商品</view>
  140. </view>
  141. <view>
  142. <u-line color="#999998" direction="col" length='60%'></u-line>
  143. </view>
  144. <view class="shop_one_1">
  145. <view class="view1">{{farm_info.shoporder}}</view>
  146. <view class="view2">已售出</view>
  147. </view>
  148. </view>
  149. <!-- <view style="padding: 0 0 20rpx 0;">
  150. <u-album singleSize="75" multipleSize='75' singleMode="aspectFill"
  151. multipleMode="aspectFill" :urls="farm_info.detail_img" maxCount="4" :showMore='true'
  152. rowCount="4"></u-album>
  153. </view> -->
  154. </view>
  155. <view v-if="ifpeon" class="time detail">详细说明</view>
  156. <view style="background-color: #ffffff;">
  157. <u-parse v-if="ifpeon" previewImg :content="content"></u-parse>
  158. </view>
  159. <view v-if="ifpeon" class="nav" style="border-bottom:70rpx solid #ffffff;">
  160. <view class="mt10">
  161. <ul class="tab-title">
  162. <li v-for="(title, index) in tabTitle" @click="tab(index)" :key="index"
  163. class="border-primary text-primary" :class="cur == index? 'bg-linear-gradient active':'' ">
  164. {{ title }}
  165. </li>
  166. </ul>
  167. </view>
  168. <view>
  169. <view class="jl" v-if="cur == 0">
  170. <view class="flec1" v-for="(item, index) in userlist" :key="index">
  171. <view class="jl-c">
  172. <view class="sr" style="width:30rpx;">{{ index + 1 }}</view>
  173. <image
  174. :src="!item.headimgurl ? settingFile.siteroot+'/static/app/tab-my.png' : item.headimgurl"
  175. alt="" class="img"></image>
  176. <view class="sr-p">&nbsp;&nbsp;{{ !item.nickname ? '暂未昵称' : item.nickname }}</view>
  177. </view>
  178. <view class="t">{{ item.ctime }}</view>
  179. </view>
  180. </view>
  181. <view class="jl jl2 " v-if="cur == 1">
  182. <view class="flec1" v-for="(item, index) in userranklist" :key="index">
  183. <view class="jl-c">
  184. <view class="sr" style="width:30rpx;">{{ index + 1 }}</view>
  185. <image
  186. :src="!item.headimgurl ? settingFile.siteroot+'/static/app/tab-my.png' : item.headimgurl"
  187. alt="" class="img"></image>
  188. <view class="sr-p">&nbsp;&nbsp;{{ !item.nickname ? '暂未昵称' : item.nickname }}</view>
  189. </view>
  190. <view class="t">{{ item.paytime }}</view>
  191. </view>
  192. </view>
  193. </view>
  194. <admyself :opshow="true"></admyself>
  195. </view>
  196. <view v-if="ifpeon" class="page-bottom">
  197. <navigator url="/pages/index/index" open-type="switchTab" class="p-b-btn">
  198. <u-icon labelSize="12" color="#909399" label="首页" labelPos="bottom" labelColor="#909399" size="25"
  199. name="home"></u-icon>
  200. </navigator>
  201. <view @click="opensharebox" class="p-b-btn" style="position: relative;">
  202. <u-icon labelSize="12" color="#909399" label="分享" labelPos="bottom" labelColor="#909399" size="25"
  203. name="share"></u-icon>
  204. </view>
  205. <view class="p-b-btn" :class="favorite?'text-primary':''" @click="toFavorite">
  206. <u-icon labelSize="12" :color="favorite?primary:'#909399'" label="收藏" labelPos="bottom"
  207. :labelColor="favorite?primary:'#909399'" size="25" name="heart-fill"></u-icon>
  208. </view>
  209. <view class="action-btn-group"><button type="primary"
  210. class=" bg-linear-gradient action-btn no-border buy-now-btn" @click="goOrder">立即认养</button></view>
  211. </view>
  212. <!-- #ifdef MP-WEIXIN -->
  213. <nologin ref="nologin" v-on:loginback="loginback"></nologin>
  214. <!-- #endif -->
  215. <!-- 分享 -->
  216. <tarpty :list='parttext' :tarptyshow="tarptyshow" @tarptycolse='tarptycolse' :type='2'></tarpty>
  217. <sharebox ref="sbox" v-if="sharedata" :data="sharedata"></sharebox>
  218. </view>
  219. </template>
  220. <script>
  221. import adoptApi from '@/api/home/index.js';
  222. import favoriteApi from '@/api/mall/index.js';
  223. import yfsVideo from '@/components/yfs-video/yfs-video.vue';
  224. import tarpty from '@/components/ui-tarpty/ui-tarpty.vue';
  225. import nologin from '@/components/nologin/nologin.vue';
  226. export default {
  227. components: {
  228. nologin,
  229. yfsVideo,
  230. tarpty
  231. },
  232. data() {
  233. return {
  234. primary: this.$theme.primary,
  235. btnImgOrVideo: 1,
  236. jumptype: 'video',
  237. isChecked: false,
  238. id: 0,
  239. state: false,
  240. tabTitle: ['详细购买记录', '本期排行榜'],
  241. cur: 0, //默认选中第一个tab
  242. ly_list: '',
  243. partyinfo: '',
  244. num: 1,
  245. userlist: '',
  246. userranklist: '',
  247. imgArr: [],
  248. settingFile: getApp().globalData.siteinfo,
  249. value: '',
  250. videoUrl: '',
  251. favorite: false,
  252. isc: '',
  253. content: '',
  254. ifpeon: true,
  255. sharedata: null,
  256. parttext: '',
  257. tarptyshow: false,
  258. tarpty: false,
  259. tarp: 1,
  260. farm_info:''
  261. };
  262. },
  263. components: {
  264. yfsVideo,
  265. tarpty
  266. },
  267. onLoad(options) {
  268. console.log(options,'options')
  269. this.$bindid.getbindid(options, this.$store);
  270. if (options) {
  271. this.isc = options.isc;
  272. if (options.id) {
  273. this.id = options.id;
  274. }
  275. }
  276. this.getInitInfo();
  277. },
  278. onShareAppMessage(res) {
  279. let that = this
  280. let data = {
  281. title: that.sharedata.title,
  282. imageUrl: that.sharedata.imageUrl,
  283. path: that.sharedata.path
  284. };
  285. return data;
  286. },
  287. onShareTimeline(res) {
  288. let that = this
  289. return {
  290. title: that.sharedata.title,
  291. imageUrl: that.sharedata.imageUrl,
  292. path: that.sharedata.path
  293. }
  294. },
  295. methods: {
  296. gostoredetail(farmid) { //跳转店铺详情
  297. uni.navigateTo({
  298. url: "/pagesC/pages/merchantdetails/merchantdetails?id=" + farmid
  299. })
  300. },
  301. loginback() {
  302. //登录回调
  303. },
  304. tarptycolse(show) {
  305. console.log('show.tap', show.tap)
  306. if (show.tap == 2) {
  307. this.isChecked = true
  308. this.tarpty = true
  309. this.tarp = 2
  310. }
  311. console.log(' this.tarpty', this.tarpty)
  312. this.tarptyshow = show.show
  313. },
  314. opensharebox() {
  315. this.$refs.sbox.opensharebox(this.sharedata);
  316. },
  317. //点击轮播图
  318. swiperChange() {
  319. },
  320. gopenre() {
  321. uni.redirectTo({
  322. url: '/pagesD/pages/set/renzheng/renzheng'
  323. });
  324. },
  325. changeImgOrVideo(i) {
  326. if (i == 0 && this.jumptype == 'webview') {
  327. let url = this.videoUrl;
  328. let ad_link = encodeURIComponent(JSON.stringify(url));
  329. uni.navigateTo({
  330. url: '/pagesE/pages/showhfive/showhfive?url=' + ad_link
  331. });
  332. } else {
  333. this.btnImgOrVideo = i;
  334. console.log(this.btnImgOrVideo,'this.btnImgOrVideo')
  335. if (i == 0) {
  336. console.log(this.videoUrl,'this.videoUrl')
  337. this.$refs.yvideo.playvideo(this.videoUrl);
  338. }
  339. }
  340. },
  341. valChange() {},
  342. toFavorite() {
  343. this.favorite = !this.favorite;
  344. favoriteApi
  345. .goodslike({
  346. id: this.id,
  347. status: this.favorite ? 1 : 0,
  348. goodstype: 4
  349. })
  350. .then(res => {
  351. if (res.status == 200) {
  352. this.$api.msg(res.msg);
  353. if (this.isc) {
  354. let pages = getCurrentPages();
  355. let prevPage = pages[pages.length - 2]; //获取到A页面
  356. prevPage.onLoad(); // 执行前一个页面的onLoad方法
  357. }
  358. }
  359. });
  360. },
  361. tab(index) {
  362. this.cur = index;
  363. },
  364. // type1 甲方 2,合同
  365. goContract(id, type) {
  366. console.log(id,type,'kkkkkk')
  367. if (!this.parttext) {
  368. this.$api.msg(`暂无租赁协议,联系客服添加`);
  369. return;
  370. } else {
  371. this.tarptyshow = true
  372. }
  373. console.log(this.tarptyshow,'this.tarptyshow')
  374. },
  375. checkboxChange(e) {
  376. if (this.tarp == 1) {
  377. this.tarp = 2
  378. this.tarpty = true
  379. } else {
  380. this.tarpty = false
  381. this.tarp = 1
  382. }
  383. },
  384. getInitInfo() {
  385. let that = this;
  386. adoptApi
  387. .details({
  388. id: that.id
  389. })
  390. .then(res => {
  391. if (res.status == 200) {
  392. let res1 = res.data.data.content.replace(/<img src="/gi,
  393. ` <img style='width:100%' src="${that.settingFile.root_rich_img}`);
  394. let res2 = res1.replace(/<source src="/gi,
  395. ` <source style='width:100%' src="${that.settingFile.root_rich_img}`);
  396. that.content = res2;
  397. that.sharedata = res.data.sharedata;
  398. that.sharedata.title = res.data.data.name;
  399. that.sharedata.path = '/pagesA/pages/adopt/adopt?pid=' + that.$getuid() + '&id=' + that.id;
  400. that.videoUrl = res.data.data.videoUrl;
  401. that.jumptype = res.data.data.jumptype;
  402. that.ly_list = res.data.data;
  403. that.favorite = res.data.data.islike == 0 ? false : true;
  404. that.partyinfo = res.data.data.partyinfo;
  405. that.userlist = res.data.userlist;
  406. that.userranklist = res.data.userranklist;
  407. that.imgArr = res.data.data.prc_top;
  408. that.parttext = res.data.data.partyinfo.content
  409. that.farm_info=res.data.farm
  410. } else {
  411. that.$api.msg(res.msg);
  412. }
  413. });
  414. },
  415. goOrder() {
  416. let that = this;
  417. if (!this.tarpty) {
  418. this.$api.msg(`请同意认养协议`);
  419. return;
  420. }
  421. // #ifdef MP-WEIXIN
  422. if (that.$store.state.islogin()) {
  423. that.order_make()
  424. } else {
  425. that.$refs.nologin.open();
  426. }
  427. // #endif
  428. // #ifdef H5 || APP-PLUS
  429. that.order_make()
  430. // #endif
  431. },
  432. order_make() {
  433. adoptApi
  434. .order_make({
  435. goodsid: this.id,
  436. totalnum: this.num
  437. })
  438. .then((res) => {
  439. uni.showToast({
  440. icon: 'loading',
  441. title: '生成订单',
  442. duration: 2000
  443. });
  444. if (res.status == 0) {
  445. this.$api.msg(res.msg);
  446. }
  447. if (res.status == 402) {
  448. this.$api.msg(res.msg);
  449. this.ifpeon = false;
  450. }
  451. if (res.status == 200) {
  452. this.$api.msg(res.msg);
  453. setTimeout(function() {
  454. uni.navigateTo({
  455. url: `/pagesC/pages/index/farmorder/farmorder?id=${res.data.orderinputd}`
  456. });
  457. }, 1000);
  458. }
  459. });
  460. }
  461. }
  462. };
  463. </script>
  464. <style lang="scss">
  465. html,
  466. body {
  467. background-color: #eeeeee;
  468. }
  469. .goreins {
  470. margin-top: 30upx;
  471. display: flex;
  472. align-items: center;
  473. justify-content: center;
  474. width: 600upx;
  475. height: 80upx;
  476. font-size: $font-lg;
  477. color: #fff;
  478. border-radius: 10upx;
  479. margin: 25rpx auto 0 auto;
  480. &.hollow {
  481. background: #fff;
  482. color: #303133;
  483. border: 1px solid #ccc;
  484. }
  485. }
  486. #farm {
  487. width: 100%;
  488. .carousel-section {
  489. position: relative;
  490. width: 100%;
  491. height: 600rpx;
  492. .carousel {
  493. width: 100%;
  494. height: 600rpx;
  495. swiper {
  496. width: 100%;
  497. height: 100%;
  498. .swiper-item {
  499. width: 100%;
  500. height: 100%;
  501. image {
  502. width: 100%;
  503. height: 100%;
  504. }
  505. }
  506. }
  507. }
  508. .farm_btn {
  509. position: absolute;
  510. display: flex;
  511. .baner_btn {
  512. width: 150rpx;
  513. height: 60rpx;
  514. margin: 0 20rpx;
  515. color: #ffffff;
  516. text-align: center;
  517. line-height: 54rpx;
  518. border-radius: 30rpx;
  519. border-width: 1rpx;
  520. border-style: solid;
  521. }
  522. .baner_btn.act {}
  523. }
  524. }
  525. .carousel-section.bg {
  526. background-color: #000000;
  527. .video_blck {
  528. width: 100%;
  529. height: 419rpx;
  530. }
  531. }
  532. button::after {
  533. border: none;
  534. }
  535. .info {
  536. padding: 0 20rpx;
  537. overflow: hidden;
  538. // width: 100%;
  539. background-color: #ffffff;
  540. border-bottom: 1px solid #f2f2f2;
  541. }
  542. .info .info-t {
  543. font-size: 32rpx;
  544. color: #303133;
  545. line-height: 50rpx;
  546. margin-top: 20rpx;
  547. margin-bottom: 12rpx;
  548. font-family: PingFang SC;
  549. // font-weight: bold;
  550. color: rgba(0, 0, 0, 1);
  551. }
  552. .info .info-b {
  553. margin-top: 25rpx;
  554. font-size: 40rpx;
  555. font-family: PingFang SC;
  556. color: rgba(51, 51, 51, 1);
  557. }
  558. .info .info-b text {
  559. color: #ff1f1f;
  560. }
  561. .param {
  562. width: 100%;
  563. background-color: #ffffff;
  564. overflow: hidden;
  565. padding-bottom: 10rpx;
  566. border-radius: 0 0 20rpx 20rpx;
  567. }
  568. .red {
  569. margin-top: 20rpx;
  570. margin-bottom: 30rpx;
  571. padding-left: 20rpx;
  572. font-size: 26rpx;
  573. font-family: PingFang SC;
  574. font-weight: 500;
  575. color: rgba(254, 88, 40, 1);
  576. }
  577. .fle {
  578. width: calc(100% - 40rpx);
  579. margin: 0 auto;
  580. display: flex;
  581. justify-content: space-between;
  582. flex-wrap: wrap;
  583. }
  584. .fle image {
  585. position: relative;
  586. top: 10rpx;
  587. width: 28rpx;
  588. height: 28rpx;
  589. margin-right: 12rpx;
  590. position: relative;
  591. }
  592. .chansu {
  593. display: flex;
  594. margin: 0 auto;
  595. margin-bottom: 14rpx;
  596. overflow: hidden;
  597. .W25 {
  598. margin-top: 30rpx;
  599. width: 25%;
  600. text-align: center;
  601. .wh100 {
  602. width: 50rpx;
  603. height: 50rpx;
  604. }
  605. .mtb20 {
  606. margin: 20rpx 0;
  607. font-size: 26rpx;
  608. color: #383838;
  609. }
  610. view {
  611. font-size: 22rpx;
  612. color: #939393;
  613. justify-content: center;
  614. }
  615. }
  616. }
  617. .fle image text {
  618. font-size: 24rpx;
  619. font-family: PingFang SC;
  620. font-weight: 500;
  621. color: rgba(102, 102, 102, 1);
  622. }
  623. .time,
  624. .time2 {
  625. height: 96rpx;
  626. padding: 0 20rpx;
  627. line-height: 96rpx;
  628. background-color: #ffffff;
  629. font-size: 26rpx;
  630. font-family: PingFang SC;
  631. font-weight: 500;
  632. color: rgba(0, 0, 0, 1);
  633. border-bottom: 1px solid #f2f2f2;
  634. }
  635. .detail {
  636. margin-top: 20rpx;
  637. border-radius: 15rpx 15rpx 0 0;
  638. }
  639. .row-between {
  640. display: flex;
  641. ._num {
  642. font-size: 26rpx;
  643. font-family: PingFang SC;
  644. font-weight: 500;
  645. color: rgba(0, 0, 0, 1);
  646. }
  647. .ml12 {
  648. margin-left: 12rpx;
  649. justify-content: center;
  650. display: flex;
  651. }
  652. }
  653. .time text {
  654. margin-left: 0.5vh;
  655. color: #666666;
  656. }
  657. .time2 {
  658. height: 96rpx;
  659. line-height: 96rpx;
  660. margin-top: 0;
  661. }
  662. .time2 .red1 {
  663. color: #fe5828;
  664. }
  665. .sel {
  666. height: 96rpx;
  667. padding: 0 20rpx;
  668. display: flex;
  669. align-items: center;
  670. border-bottom: 1px solid #f2f2f2;
  671. background-color: #ffffff;
  672. }
  673. .sel .ipt {
  674. height: 40rpx;
  675. width: 40rpx;
  676. border-radius: 10rpx;
  677. }
  678. .sel .text {
  679. position: relative;
  680. top: -2rpx;
  681. font-size: 26rpx;
  682. font-family: PingFang SC;
  683. font-weight: 500;
  684. color: rgba(0, 0, 0, 1);
  685. }
  686. .banner2 {
  687. width: 100%;
  688. }
  689. .banner2 image {
  690. width: 100%;
  691. height: 100%;
  692. }
  693. .nav {
  694. margin-top: 20rpx;
  695. min-height: 500rpx;
  696. background-color: #ffffff;
  697. overflow: hidden;
  698. }
  699. .nav .tab-title {
  700. width: calc(100% - 40rpx);
  701. margin: 0 auto;
  702. height: 80rpx;
  703. margin-top: 16rpx;
  704. display: flex;
  705. justify-content: center;
  706. font-size: 36rpx;
  707. }
  708. .tab-title li {
  709. width: 50%;
  710. height: 76rpx;
  711. text-align: center;
  712. line-height: 75rpx;
  713. border-radius: 10rpx 0px 0px 10rpx;
  714. border-width: 2rpx;
  715. border-style: solid;
  716. }
  717. .tab-title li:nth-child(2) {
  718. border-radius: 0px 10rpx 10rpx 0px;
  719. }
  720. .tab-title .active {
  721. color: #ffffff;
  722. }
  723. .jl {
  724. width: calc(100% - 40rpx);
  725. margin: 0 auto;
  726. // padding-bottom: 20rpx;
  727. margin-top: 20rpx;
  728. overflow: hidden;
  729. background-color: #fff3ee;
  730. margin-bottom: 50rpx;
  731. border-radius: 20rpx;
  732. }
  733. .jl .flec1 {
  734. width: calc(100% - 68rpx);
  735. height: 72rpx;
  736. margin: 30rpx auto;
  737. display: flex;
  738. justify-content: space-between;
  739. align-items: center;
  740. }
  741. .jl-c {
  742. display: flex;
  743. height: 72rpx;
  744. align-items: center;
  745. }
  746. .jl .jl-c .sr {
  747. margin-right: 20rpx;
  748. font-size: 30rpx;
  749. font-family: PingFang SC;
  750. font-weight: 500;
  751. color: rgba(0, 0, 0, 1);
  752. }
  753. .jl .jl-c .sr-p {
  754. font-size: 28rpx;
  755. font-family: PingFang SC;
  756. font-weight: 500;
  757. color: rgba(0, 0, 0, 1);
  758. margin-left: 8rpx;
  759. }
  760. .jl .jl-c .img {
  761. width: 72rpx;
  762. height: 72rpx;
  763. border-radius: 50%;
  764. }
  765. .jl .t {
  766. font-size: 24rpx;
  767. font-family: PingFang SC;
  768. font-weight: 500;
  769. color: rgba(153, 153, 153, 1);
  770. }
  771. .foot {
  772. display: flex;
  773. width: 100%;
  774. height: 102rpx;
  775. background-color: #f2f3f5;
  776. box-shadow: 0 0 20rpx 0 rgba(0, 0, 0, 0.5);
  777. }
  778. .left {
  779. flex: 1;
  780. display: flex;
  781. }
  782. .left view {
  783. width: 33.33%;
  784. /*border-right: 1px solid red;*/
  785. height: 102rpx;
  786. }
  787. .imed {
  788. width: 356rpx;
  789. height: 102rpx;
  790. line-height: 102rpx;
  791. background: rgba(254, 88, 40, 1);
  792. font-size: 32rpx;
  793. font-family: PingFang SC;
  794. font-weight: 800;
  795. color: rgba(255, 255, 255, 1);
  796. text-align: center;
  797. }
  798. .line {
  799. margin: 0 auto;
  800. width: 48rpx;
  801. height: 4rpx;
  802. background: url('../../../static/imgs/farm/reduce.png') no-repeat center;
  803. }
  804. .line2 {
  805. background: url('../../../static/imgs/farm/add.png') no-repeat center;
  806. }
  807. .left .two {
  808. width: 33.33%;
  809. height: 102rpx;
  810. text-align: center;
  811. line-height: 102rpx;
  812. font-size: 28rpx;
  813. font-family: PingFang SC;
  814. font-weight: 500;
  815. color: rgba(0, 0, 0, 1);
  816. }
  817. .one,
  818. .two {
  819. border-right: 2rpx solid #c5c5c5;
  820. }
  821. .page-bottom {
  822. position: fixed;
  823. left: 0;
  824. bottom: 0;
  825. z-index: 95;
  826. display: flex;
  827. justify-content: center;
  828. align-items: center;
  829. width: 100%;
  830. height: 100upx;
  831. background: rgba(255, 255, 255, 0.9);
  832. box-shadow: 0 0 20upx 0 rgba(0, 0, 0, 0.5);
  833. .p-b-btn {
  834. display: flex;
  835. flex-direction: column;
  836. align-items: center;
  837. justify-content: center;
  838. font-size: $font-sm;
  839. width: 96upx;
  840. height: 80upx;
  841. .yticon {
  842. font-size: 40upx;
  843. line-height: 48upx;
  844. color: $font-color-light;
  845. }
  846. &.active,
  847. &.active .yticon {
  848. color: $tab-color-1;
  849. }
  850. .icon-fenxiang2 {
  851. font-size: 42upx;
  852. transform: translateY(-2upx);
  853. }
  854. .icon-shoucang {
  855. font-size: 46upx;
  856. }
  857. }
  858. .action-btn-group {
  859. display: flex;
  860. height: 76upx;
  861. border-radius: 100px;
  862. overflow: hidden;
  863. box-shadow: 0 20upx 40upx -16upx #fa436a;
  864. box-shadow: 1px 2px 5px rgba(219, 63, 96, 0.4);
  865. // background: linear-gradient(to right, #ffac30);
  866. margin-left: 20upx;
  867. position: relative;
  868. .action-btn {
  869. display: flex;
  870. align-items: center;
  871. justify-content: center;
  872. width: 400rpx;
  873. height: 100%;
  874. font-size: $font-base;
  875. padding: 0;
  876. border-radius: 0;
  877. }
  878. }
  879. }
  880. }
  881. .text_area {
  882. .shop_name {
  883. display: flex;
  884. justify-content: space-between;
  885. align-items: center;
  886. .shop_thumbnail {
  887. width: 90rpx;
  888. height: 90rpx;
  889. border-radius: 50%;
  890. }
  891. .right_shop_mess {
  892. width: calc(100% - 90rpx);
  893. padding-left: 15rpx;
  894. .shop_line {
  895. display: flex;
  896. justify-content: space-between;
  897. align-items: center;
  898. .shop_line_p1 {
  899. color: #1f1f1f;
  900. font-size: 32rpx;
  901. padding-left: 3rpx;
  902. font-weight: 300;
  903. }
  904. .shop_line_p2 {
  905. width: 100%;
  906. display: flex;
  907. align-items: center;
  908. .address {
  909. color: #333;
  910. font-size: 26rpx;
  911. overflow: hidden;
  912. text-overflow: ellipsis;
  913. white-space: nowrap;
  914. }
  915. }
  916. }
  917. .shop_line_fl {
  918. display: flex;
  919. justify-content: flex-start;
  920. align-items: center;
  921. margin: 5rpx 0;
  922. }
  923. .right_shop_mess_p2 {
  924. border: 1rpx solid #cccccc;
  925. color: #666;
  926. font-size: 24rpx;
  927. padding: 12rpx 20rpx;
  928. border-radius: 40rpx;
  929. }
  930. }
  931. }
  932. }
  933. .shop_one {
  934. display: flex;
  935. justify-content: space-evenly;
  936. padding: 30rpx 0rpx;
  937. .shop_one_1 {
  938. display: flex;
  939. flex-direction: column;
  940. align-items: center;
  941. .view1 {
  942. font-size: 28rpx;
  943. margin-bottom: 10rpx;
  944. }
  945. .view2 {
  946. font-size: 24rpx;
  947. color: #999999;
  948. }
  949. }
  950. }
  951. .farm{
  952. background-color: #ffffff;
  953. margin-top: 20rpx;
  954. padding: 20rpx;
  955. }
  956. </style>