index_mall.vue 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919
  1. <template>
  2. <view>
  3. <!-- <headerSerch :dataConfig="headItem"></headerSerch> -->
  4. <view class="nav-bar_2">
  5. <text class="text_3">中意购</text>
  6. </view>
  7. <view class="block_2 ">
  8. <view class = "map_box" >
  9. <map id="map"
  10. class="map"
  11. :enable-scroll="false"
  12. :latitude="markers[0].latitude"
  13. :longitude="markers[0].longitude"
  14. :markers="markers"
  15. >
  16. </map>
  17. </view>
  18. <view class="image-text_10 flex-row">
  19. <!-- <text class="text-group_2" @click="getCurrentLocation()">切换地点</text>-->
  20. <text class="text-group_2" @click="changeAddress">切换地点</text>
  21. <image class="icon_2" referrerpolicy="no-referrer"
  22. src="../../../static/images/quehuan.png" />
  23. </view>
  24. </view>
  25. <!-- 轮播 -->
  26. <view class="swiper-group">
  27. <u-swiper :list="swiperList" @change="e => current = e.current" :autoplay="false">
  28. <view slot="indicator" class="indicator">
  29. <view class="indicator__dot"
  30. v-for="(item, index) in swiperList"
  31. :key="index"
  32. :class="[index === current && 'indicator__dot--active']">
  33. </view>
  34. </view>
  35. </u-swiper>
  36. </view>
  37. <view class="header-group">
  38. <view class="tabs">
  39. <u-tabs class="defalt-utabs" :is-scroll="false" :list="navigationList" @click="clickNav" lineColor="#B22338" :inactiveStyle="{ color: '#999999' }"
  40. :activeStyle="{ color: '#B22338', fontWeight: 'bold' }" keyName="title"></u-tabs>
  41. </view>
  42. </view>
  43. <view class="good-list">
  44. <latestGroupBuying @changeTab="changeTab" :iSshowH="true" @detail="goDetail" :currentId="currentId"
  45. - :isSortType="false" :positionInfo="positionInfo" ref="latestGroupBuying"></latestGroupBuying>
  46. </view>
  47. <view v-if="!isLogin">
  48. <u-skeleton :loading="true" rows="20" :animate="true"></u-skeleton>
  49. </view>
  50. <view v-else>
  51. </view>
  52. <uni-popup ref="popup" type="top">
  53. <view class="popup flex-col justify-center ">
  54. <view class="map1_box flex-row justify-center">
  55. <map id="map1"
  56. class="map"
  57. :latitude="markers1[0].latitude"
  58. :longitude="markers1[0].longitude"
  59. :markers="markers1"
  60. @regionchange="regionChange"
  61. >
  62. </map>
  63. </view>
  64. <view class="btn_box flex-row justify-center">
  65. <u-button @click="closePopup">取消</u-button>
  66. <u-button @click="changeAddressConfirm">确定</u-button>
  67. </view>
  68. </view>
  69. </uni-popup>
  70. <u-popup :show="showTips" mode="center" @close="showTips = false" @open="()=>{}">
  71. <view class="tips">
  72. <view class="tips1">
  73. 温馨提示
  74. </view>
  75. <view class="tips2">
  76. 您所在的城市没有开放团购目前仅支持的城市如下:
  77. </view>
  78. <view class="tips3">
  79. 上海市
  80. </view>
  81. <view class="tips4">
  82. 您可以通过右上角"切换地点"定位到支持
  83. </view>
  84. <button class="tips5">
  85. 知道了
  86. </button>
  87. </view>
  88. </u-popup>
  89. </view>
  90. </template>
  91. <script>
  92. import headerSerch from './components/headerSerch';
  93. import latestGroupBuying from './components/latestGroupBuying';
  94. import {
  95. toLogin
  96. } from '@/libs/login.js';
  97. import {
  98. mapGetters
  99. } from "vuex";
  100. import {getAdsList, getNoticeList, getCategoryOne,getGoodsPage, getIndexData, getGoodsInfo} from '../../../api/home.js'
  101. import {latestGroupon, historyGroupon, detailGroupon, goodsDetail} from '../../../api/groupon.js'
  102. import {
  103. goShopDetail
  104. } from '@/libs/order.js';
  105. import UButton from "../../../uni_modules/uview-ui/components/u-button/u-button";
  106. export default {
  107. components: {
  108. UButton,
  109. headerSerch,
  110. latestGroupBuying
  111. },
  112. data () {
  113. return {
  114. showTips:true,
  115. markers:[{
  116. id: 1,
  117. latitude: '26.64702',//纬度,必填
  118. longitude:'106.63024',//经度,必填
  119. title:'标记点名称',//标注点名
  120. width:32,//标注图标宽度,Number类型
  121. height:32,//标注图标高度,Number类型
  122. iconPath:'../../../static/images/addressIcon.png',//显示的图标,必填
  123. label: {
  124. content: `标记点名称`,
  125. textAlign:"center"
  126. }
  127. }],
  128. markers1:[{
  129. id: 1,
  130. latitude: '26.64702',//纬度,必填
  131. longitude:'106.63024',//经度,必填
  132. title:'标记点名称',//标注点名
  133. width:32,//标注图标宽度,Number类型
  134. height:32,//标注图标高度,Number类型
  135. iconPath:'../../../static/images/addressIcon.png',//显示的图标,必填
  136. label: {
  137. content: `地址名称,暂时展示这个吧`,
  138. textAlign:"center"
  139. }
  140. }],
  141. currentId: 0,
  142. noticeShow: false,
  143. noticeContent: '',
  144. tempArr: [],
  145. where: {
  146. zoneType: 8,
  147. current: 1,
  148. size: 20,
  149. },
  150. isSortType: 0,
  151. current: 0,
  152. noticeList: [],
  153. notice: [
  154. '寒雨连江夜入吴',
  155. '平明送客楚山孤',
  156. '洛阳亲友如相问',
  157. '一片冰心在玉壶'
  158. ],
  159. swiperList: [
  160. 'https://cdn.uviewui.com/uview/swiper/swiper3.png',
  161. 'https://cdn.uviewui.com/uview/swiper/swiper2.png',
  162. 'https://cdn.uviewui.com/uview/swiper/swiper1.png',
  163. ],
  164. navigationList: [{
  165. title: '最新团购',
  166. id: '0'
  167. }, {
  168. title: '历史团购',
  169. id: '1'
  170. }],
  171. positionInfo: {
  172. address: '',
  173. longitude: '106.62502', //经度
  174. latitude: '26.65214', //纬度
  175. },
  176. user_latitude: '',
  177. user_longitude: ''
  178. }
  179. },
  180. computed: mapGetters(['isLogin']),
  181. created () {
  182. this.getAdsList();
  183. this.getLatestGroupon();
  184. this.getCurrentLocation()
  185. },
  186. onMounted (options) {
  187. },
  188. onLoad (options) {
  189. },
  190. onShow () {
  191. },
  192. updated () {
  193. },
  194. watch: {
  195. isLogin: {
  196. deep: true, //深度监听设置为 true
  197. handler: function (newV, oldV) {
  198. this.getAdsList()
  199. this.getLatestGroupon()
  200. }
  201. }
  202. },
  203. methods: {
  204. /**
  205. * 地图点击事件 定位不正确,原因未知,先不用
  206. * @param e
  207. */
  208. // tap(e){
  209. // console.log(e)
  210. // this.markers1[0].latitude= e.detail.latitude;
  211. // this.markers1[0].latitude= e.detail.latitude;
  212. //
  213. // },
  214. /**
  215. * 地图拖动事件
  216. * @param e
  217. */
  218. regionChange(e){
  219. this.mapContext = uni.createMapContext("map1", this);
  220. this.mapContext.getCenterLocation({
  221. type: 'gcj02',
  222. success: (res) => {
  223. this.markers1[0].longitude = res.longitude;
  224. this.markers1[0].latitude = res.latitude;
  225. }
  226. });
  227. },
  228. /**
  229. * 解析地址信息
  230. * @param longitude
  231. * @param longitude
  232. */
  233. // getAddressMsg(longitude,longitude){
  234. // //家里没信号收不到验证码短信。申请不到腾讯地图key,先这样吧。
  235. //
  236. // },
  237. closePopup(){
  238. this.$refs.popup.close()
  239. },
  240. changeAddressConfirm(){
  241. this.$refs.popup.close()
  242. this.markers = this.markers1
  243. },
  244. changeAddress(){
  245. this.$refs.popup.open('top')
  246. },
  247. // 通过自带的方法获取到当前的经纬度,调用方法获取到地址获取到地址的中文信息
  248. getCurrentLocation () {
  249. let that = this //在uniapp中药定义一下this才能使用
  250. uni.getLocation({
  251. type: 'wgs84',
  252. success: function (res) {
  253. uni.setStorageSync('user_longitude', res.longitude);
  254. uni.setStorageSync('user_latitude', res.latitude);
  255. console.log("dizhixinxi -> ", res)
  256. that.positionInfo.longitude = res.longitude;
  257. that.positionInfo.latitude = res.latitude;
  258. this.markers1[0].longitude = res.longitude;
  259. this.markers1[0].latitude = res.latitude;
  260. this.markers[0].longitude = res.longitude;
  261. this.markers[0].latitude = res.latitude;
  262. // that.loAcquire(that.positionInfo.longitude, that.positionInfo.latitude)
  263. }
  264. });
  265. },
  266. // 获取当前地址
  267. loAcquire (longitude, latitude) {
  268. let that = this;
  269. // uni.showLoading({
  270. // title: '加载中',
  271. // mask: true
  272. // });
  273. let str = `output=jsonp&key='此处输入你申请的密钥'=${latitude},${longitude}` //记得在这里要输入密钥哦!
  274. console.log(this.$jsonp);
  275. this.$jsonp('https://apis.map.qq.com/ws/geocoder/v1/?', {}).then(res => {
  276. console.log(res);
  277. uni.hideLoading();
  278. if (res.status == 0) {
  279. that.positionInfo.address = '当前位置是:' + res.result.address_component.street_number; //当前定位
  280. }
  281. })
  282. },
  283. pullResh () {
  284. if (this.current == 0) {
  285. uni.showLoading({ title: '刷新中' });
  286. this.getAdsList()
  287. this.getLatestGroupon()
  288. } else {
  289. this.$refs.latestGroupBuying.getGoodsPage()
  290. }
  291. },
  292. getLatestGroupon() {
  293. // let that = this;
  294. // latestGroupon({
  295. // current: 1,
  296. // size: 1,
  297. // longitude: that.positionInfo.longitude,
  298. // latitude: that.positionInfo.latitude
  299. // }).then(res => {
  300. // console.log(res)
  301. // })
  302. },
  303. getGoodsInfo () {
  304. getGoodsInfo({
  305. current: 1,
  306. size: 50,
  307. isRecom: 1
  308. }).then(res => {
  309. this.tempArr = res.data
  310. uni.stopPullDownRefresh()
  311. uni.hideLoading();
  312. })
  313. },
  314. getBroGoodsInfo () {
  315. getGoodsInfo({
  316. current: 1,
  317. size: 50,
  318. zoneType: 6
  319. }).then(res => {
  320. this.tempArrBao = res.data
  321. })
  322. },
  323. getCategoryOne () {
  324. getCategoryOne().then(res => {
  325. this.navigationList = []
  326. let tuiJian = {
  327. title: '推荐',
  328. id: '0'
  329. }
  330. this.navigationList = res.data
  331. this.navigationList.unshift(tuiJian)
  332. })
  333. },
  334. menusTap (url, zoneType) {
  335. let that = this
  336. // #ifdef H5
  337. location.href = url
  338. // #endif
  339. // #ifdef MP || APP-PLUS
  340. if (zoneType == 8) {
  341. //共富取消中间过渡界面
  342. getGoodsInfo(that.where).then(res => {
  343. let list = res.data;
  344. if (that.where.zoneType == 8 && list.length == 1) {
  345. // 自动跳转共富1580商品详情
  346. that.godDetail(list[0])
  347. }
  348. })
  349. } else {
  350. uni.navigateTo({
  351. url: "/pages/goods/goods_list_mall/index?zoneType=" + zoneType + "&title=" + url
  352. });
  353. }
  354. // #endif
  355. },
  356. // 去详情页
  357. godDetail (item) {
  358. goShopDetail(item, this.uid).then(res => {
  359. uni.navigateTo({
  360. url: `/pages/goods_details/index?id=${item.id}`
  361. + "&zoneType=" + item.zoneType
  362. })
  363. })
  364. },
  365. noticeClose () {
  366. this.noticeShow = false
  367. },
  368. goNoticeDetail (value) {
  369. this.noticeContent = this.noticeList[value].content
  370. this.noticeShow = true
  371. },
  372. getNoticeList () {
  373. getNoticeList().then(res => {
  374. this.notice = []
  375. this.noticeList = res.data
  376. res.data.forEach(element => {
  377. this.notice.push(element.title)
  378. });
  379. })
  380. },
  381. getAdsList () {
  382. let that = this;
  383. getAdsList({
  384. type: 2
  385. }).then(res => {
  386. if (res.data.length > 0) {
  387. that.swiperList = []
  388. res.data.forEach(element => {
  389. that.swiperList.push(element.imageUrl)
  390. });
  391. }
  392. });
  393. },
  394. // 促销列表的点击事件;
  395. changeTab (type) {
  396. this.goodType = type;
  397. this.tempArr = [];
  398. this.page = 1;
  399. this.loadend = false;
  400. let onloadH = true;
  401. this.getGroomList(onloadH);
  402. },
  403. // 精品推荐
  404. getGroomList (onloadH) {
  405. let that = this;
  406. let type = that.goodType;
  407. if (that.loadend) return false;
  408. if (that.loading) return false;
  409. if (onloadH) {
  410. that.$set(that, 'iSshowH', true);
  411. }
  412. uni.request({
  413. url: 'api/groom/list',
  414. success: res => {
  415. that.$set(that, 'iSshowH', false);
  416. let maxPage = Math.ceil(this.numConfig / this.limit);
  417. let list = res.data.list,
  418. loadend = list.length < that.limit || that.page >= maxPage;
  419. let tempArr = that.$util.SplitArray(list, that.tempArr);
  420. that.$set(that, 'tempArr', tempArr.slice(0, this.numConfig));
  421. that.loadend = loadend;
  422. that.loadTitle = loadend ? that.$t(`没有更多内容啦~`) : that.$t(`加载更多`);
  423. that.page = that.page + 1;
  424. that.loading = false;
  425. }
  426. })
  427. // getGroomList(type, {
  428. // page: that.page,
  429. // limit: this.numConfig
  430. // })
  431. // .then(({
  432. // data
  433. // }) => {
  434. // that.$set(that, 'iSshowH', false);
  435. // let maxPage = Math.ceil(this.numConfig / this.limit);
  436. // let list = data.list,
  437. // loadend = list.length < that.limit || that.page >= maxPage;
  438. // let tempArr = that.$util.SplitArray(list, that.tempArr);
  439. // that.$set(that, 'tempArr', tempArr.slice(0, this.numConfig));
  440. // that.loadend = loadend;
  441. // that.loadTitle = loadend ? that.$t(`没有更多内容啦~`) : that.$t(`加载更多`);
  442. // that.page = that.page + 1;
  443. // that.loading = false;
  444. // })
  445. // .catch(res => {
  446. // that.loading = false;
  447. // that.loadTitle = that.$t(`加载更多`);
  448. // });
  449. },
  450. goDetail (item) {
  451. goShopDetail(item, this.$store.state.app.uid).then(res => {
  452. uni.navigateTo({
  453. url: `/pages/goods_details/index?id=${item.id}`
  454. });
  455. });
  456. },
  457. // 去商品详情
  458. goGoodsDetail (item) {
  459. goShopDetail(item, this.uid).then(res => {
  460. uni.navigateTo({
  461. url: `/pages/goods_details/index?id=${item.id}`
  462. });
  463. });
  464. },
  465. clickNav (e) {
  466. this.current = e.index
  467. // if (e.index > 0) {
  468. this.currentId = e.id
  469. // }
  470. // console.log("currentId ->", this.currentId)
  471. }
  472. }
  473. }
  474. </script>
  475. <style lang="scss" scoped>
  476. @import '../../../static/css/common.css';
  477. page {
  478. background-color: #ee4040;
  479. }
  480. .header-group {
  481. background-color: #F9F9F9;
  482. .search-group {
  483. display: flex;
  484. align-items: center;
  485. justify-content: space-between;
  486. padding: 30rpx 30rpx 10rpx 30rpx;
  487. .logo {
  488. width: 138rpx;
  489. height: 46rpx;
  490. }
  491. .message {
  492. line-height: 1;
  493. image {
  494. width: 48rpx;
  495. height: 48rpx;
  496. }
  497. }
  498. .search {
  499. flex: 1;
  500. padding: 0 30rpx;
  501. .searchBox {
  502. padding: 0 30rpx;
  503. display: flex;
  504. align-items: center;
  505. background-color: #FFF;
  506. border-radius: 100rpx;
  507. height: 60rpx;
  508. image {
  509. width: 28rpx;
  510. height: 28rpx;
  511. padding-right: 20rpx;
  512. }
  513. text {
  514. font-size: 24rpx;
  515. color: #999;
  516. }
  517. }
  518. }
  519. }
  520. .tabs {
  521. padding: 0 20rpx;
  522. }
  523. }
  524. .tab-content {
  525. .swiper-group {
  526. padding: 20rpx 30rpx 10rpx 30rpx;
  527. background-image: linear-gradient(to bottom, #EB4C63, #F9F9F9);
  528. }
  529. .grid-box {
  530. padding: 10rpx 30rpx 20rpx 30rpx;
  531. .grid-group {
  532. padding: 20rpx 0;
  533. border-radius: 20rpx;
  534. background-color: #FFF;
  535. display: flex;
  536. align-items: center;
  537. flex-wrap: wrap;
  538. .grid-item {
  539. width: 33.333%;
  540. display: flex;
  541. flex-direction: column;
  542. align-items: center;
  543. margin: 10rpx 0;
  544. image {
  545. width: 98rpx;
  546. height: 98rpx;
  547. }
  548. text {
  549. font-size: 24rpx;
  550. color: #666;
  551. margin-top: 10rpx;
  552. }
  553. }
  554. }
  555. }
  556. .notice {
  557. padding: 0 30rpx;
  558. }
  559. .sale-group {
  560. padding: 20rpx 30rpx;
  561. .sale-content {
  562. border-radius: 20rpx;
  563. background-image: linear-gradient(45deg, #EB4C63, #FFA470);
  564. padding: 20rpx 0;
  565. .title {
  566. display: flex;
  567. align-items: center;
  568. justify-content: space-between;
  569. color: #FFF;
  570. font-weight: bold;
  571. padding: 0 30rpx;
  572. .more {
  573. display: flex;
  574. align-items: center;
  575. font-size: 24rpx;
  576. font-weight: normal;
  577. image {
  578. width: 24rpx;
  579. height: 24rpx;
  580. }
  581. }
  582. }
  583. .goods-scroll {
  584. white-space: nowrap;
  585. padding: 20rpx 15rpx 0 15rpx;
  586. .goods-item {
  587. display: inline-block;
  588. width: 240rpx;
  589. padding: 15rpx;
  590. margin: 0 10rpx;
  591. background-color: #FFF;
  592. border-radius: 10rpx;
  593. image {
  594. width: 210rpx;
  595. height: 210rpx;
  596. }
  597. .goods-name {
  598. font-size: 26rpx;
  599. color: #333;
  600. width: 240rpx;
  601. margin: 6rpx 0;
  602. word-break: break-all;
  603. white-space: pre-wrap;
  604. text-overflow: ellipsis;
  605. display: -webkit-box;
  606. line-height: 1.2;
  607. -webkit-box-orient: vertical;
  608. -webkit-line-clamp: 2;
  609. overflow: hidden;
  610. }
  611. .tags {
  612. display: inline-block;
  613. font-size: 20rpx;
  614. padding: 6rpx;
  615. background-color: #FCE9EC;
  616. color: #EB4C63;
  617. margin: 6rpx 0;
  618. }
  619. .price {
  620. font-size: 32rpx;
  621. font-weight: bold;
  622. color: #EB4C63;
  623. }
  624. }
  625. }
  626. }
  627. }
  628. .goods-list {
  629. .title {
  630. text-align: center;
  631. color: #333;
  632. display: flex;
  633. align-items: center;
  634. justify-content: center;
  635. font-size: 32rpx;
  636. font-weight: bold;
  637. .line {
  638. display: inline-block;
  639. width: 200rpx;
  640. height: 2rpx;
  641. margin: 0 30rpx;
  642. background-color: #FFA470;
  643. }
  644. }
  645. .list-group {
  646. display: flex;
  647. align-items: center;
  648. flex-wrap: wrap;
  649. padding: 15rpx;
  650. box-sizing: border-box;
  651. .list-item-content {
  652. width: 50%;
  653. padding: 15rpx;
  654. box-sizing: border-box;
  655. .list-item {
  656. padding: 15rpx;
  657. background-color: #FFF;
  658. border-radius: 10rpx;
  659. image {
  660. width: 100%;
  661. }
  662. .goods-name {
  663. font-size: 28rpx;
  664. color: #333;
  665. margin: 6rpx 0;
  666. word-break: break-all;
  667. white-space: pre-wrap;
  668. text-overflow: ellipsis;
  669. display: -webkit-box;
  670. line-height: 1.4;
  671. -webkit-box-orient: vertical;
  672. -webkit-line-clamp: 2;
  673. overflow: hidden;
  674. }
  675. .tags {
  676. display: inline-block;
  677. font-size: 20rpx;
  678. padding: 6rpx;
  679. background-color: #FCE9EC;
  680. color: #EB4C63;
  681. margin: 6rpx 0;
  682. }
  683. .price {
  684. font-size: 32rpx;
  685. font-weight: bold;
  686. color: #EB4C63;
  687. }
  688. }
  689. }
  690. }
  691. }
  692. }
  693. .nav-bar_2 {
  694. width: 374px;
  695. margin-top: 6px;
  696. padding: 10px 9px 7px 16px;
  697. }
  698. .text_3 {
  699. overflow-wrap: break-word;
  700. color: rgba(51, 51, 51, 1);
  701. font-size: 18px;
  702. letter-spacing: 2px;
  703. font-family: STYuanti-SC-Regular;
  704. font-weight: NaN;
  705. text-align: left;
  706. white-space: nowrap;
  707. line-height: 24px;
  708. margin-top: 3px;
  709. }
  710. .applet-top-bar_1 {
  711. width: 90px;
  712. height: 30px;
  713. }
  714. .block_2 {
  715. box-shadow: 0px 2px 4px 0px rgba(178, 35, 56, 0.05);
  716. align-self: center;
  717. margin: 20rpx;
  718. margin-top: 4px;
  719. height: 70px;
  720. position: relative;
  721. top:0;
  722. left:0
  723. }
  724. .image-text_9 {
  725. width: 228px;
  726. }
  727. .icon_1 {
  728. width: 16px;
  729. height: 16px;
  730. margin: 2px 0 2px 0;
  731. }
  732. .text-group_1 {
  733. overflow-wrap: break-word;
  734. color: rgba(51, 51, 51, 1);
  735. font-size: 12px;
  736. text-align: left;
  737. white-space: nowrap;
  738. line-height: 20px;
  739. max-width: 190px;
  740. display: block;
  741. white-space: pre-line;
  742. }
  743. .image-text_10 {
  744. width: 56px;
  745. position: absolute;
  746. top:25px;
  747. right:10px
  748. }
  749. .text-group_2 {
  750. overflow-wrap: break-word;
  751. color: rgba(153, 153, 153, 1);
  752. font-size: 10px;
  753. font-weight: NaN;
  754. line-height: 20px;
  755. }
  756. .icon_2 {
  757. width: 12px;
  758. height: 12px;
  759. margin: 4px 0 4px 0;
  760. }
  761. .bord{
  762. border: 1px solid red;
  763. }
  764. .map_box{
  765. width: 100%;
  766. height: 70px;
  767. }
  768. .map{
  769. width: 100%;
  770. height: 100%;
  771. }
  772. .indicator {
  773. @include flex(row);
  774. justify-content: center;
  775. &__dot {
  776. height: 6px;
  777. width: 6px;
  778. border-radius: 100px;
  779. background-color: rgba(255, 255, 255, 0.35);
  780. margin: 0 5px;
  781. transition: background-color 0.3s;
  782. &--active {
  783. background-color: #ffffff;
  784. }
  785. }
  786. }
  787. .indicator-num {
  788. padding: 2px 0;
  789. background-color: rgba(0, 0, 0, 0.35);
  790. border-radius: 100px;
  791. width: 35px;
  792. @include flex;
  793. justify-content: center;
  794. &__text {
  795. color: #FFFFFF;
  796. font-size: 12px;
  797. }
  798. }
  799. .popup{
  800. width: 750rpx;
  801. height: 750rpx;
  802. background-color: #F9F9F9;
  803. }
  804. .map1_box{
  805. width: 750rpx;
  806. height: 670rpx;
  807. }
  808. .btn_box{
  809. width: 750rpx;
  810. height: 80rpx;
  811. }
  812. .tips{
  813. text-align: center;
  814. height: 500rpx;
  815. border-radius: 20rpx;
  816. padding: 30rpx;
  817. }
  818. .tips1{
  819. }
  820. .tips2{
  821. }
  822. .tips3{
  823. }
  824. .tips4{
  825. }
  826. .tips5{
  827. }
  828. </style>