aed.vue 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895
  1. <template>
  2. <view class="content">
  3. <view class="" style="height: 20rpx;"></view>
  4. <mzsm></mzsm>
  5. <!-- map -->
  6. <view class="map">
  7. <map @updated='mapChange' ref='map_1' class="map-map" :latitude="baseLat" :longitude="baseLng"
  8. :markers="marker" @markertap="lookmore"></map>
  9. </view>
  10. <view class="" style="height: 20rpx;"></view>
  11. <!-- 列表 -->
  12. <scroll-view scroll-y="true" :style="{'height':height}" class="aed-list" @scrolltolower="loadData()">
  13. <espempty v-if="(loaded && AEDList.length == 0)"></espempty>
  14. <view class="aed-item flex" v-for="(item,mindex) in AEDList" @click="listlookmore(item,mindex)">
  15. <view class="item-left">
  16. <view class="clamp">
  17. {{item.name}}
  18. </view>
  19. <view class="clamp aed-address">
  20. 地址:{{item.address}}
  21. </view>
  22. </view>
  23. <view class="item-right flex">
  24. <image src="../../static/icon/dingwei.png" mode=""></image>
  25. <view class="">
  26. {{item.range}}KM
  27. </view>
  28. </view>
  29. </view>
  30. <uni-load-more :status="loadingType" v-if="!(loaded && AEDList.length == 0)"></uni-load-more>
  31. </scroll-view>
  32. <!-- aed详情 -->
  33. <uni-popup ref="popupinfo" type="bottom">
  34. <view class="aedxq-wrap">
  35. <view class="xq-top">
  36. <view class="aed-name">
  37. {{showAed.name}}
  38. </view>
  39. <view class="aed-dis">
  40. 距离:{{showAed.dis}}
  41. </view>
  42. <view class="aed-address" style="padding-top: 10rpx;">
  43. 安装位置:{{showAed.address}}
  44. </view>
  45. <!-- <view class="aed-address" style="padding-top: 10rpx;" v-if="showAed.addressxq">
  46. 安装位置:{{showAed.addressxq}}
  47. </view> -->
  48. </view>
  49. <view class="xq-img-wrap">
  50. <scroll-view scroll-x="true" class="aed-img-scroll">
  51. <view class="" style="display: flex;flex-wrap: nowrap;">
  52. <image :src="baseURL + item" mode="heightFix" v-for="item in showAed.imgs" class="aed-img"
  53. @click="openimg(item)" :key="item"></image>
  54. </view>
  55. </scroll-view>
  56. </view>
  57. <view class="aed-dh" @click="opendh">
  58. 导航
  59. </view>
  60. </view>
  61. </uni-popup>
  62. <!-- 导航选择层 -->
  63. <uni-popup ref="popup" type="bottom" @click="close">
  64. <view class="popup_row">
  65. <view class="rows">
  66. <view class="rows-item" @click="toGaodeMap">高德地图</view>
  67. <view class="rows-item" @click="tobaiDuMap">百度地图</view>
  68. <view class="rows-item" @click="totengxunMap">腾讯地图</view>
  69. </view>
  70. </view>
  71. </uni-popup>
  72. </view>
  73. </template>
  74. <script>
  75. import mzsm from '@/components/mzsm.vue'
  76. import empty from '@/components/empty';
  77. import {
  78. mapState,
  79. mapMutations
  80. } from 'vuex';
  81. import espempty from '@/components/espempty';
  82. import uniPopup from '@/components/uni-popup/uni-popup.vue';
  83. import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
  84. import {
  85. getAed
  86. } from '@/api/category.js'
  87. export default {
  88. components: {
  89. uniPopup,
  90. espempty,
  91. uniLoadMore,
  92. empty,
  93. mzsm
  94. },
  95. //相关配置参数
  96. data() {
  97. return {
  98. baseLng: '', //地图中心经度
  99. baseLat: '', //地图中心纬度
  100. aedmarker: [],
  101. loaded: false,
  102. loadingType: 'more',
  103. page: 1,
  104. limit: 100,
  105. AEDList: [],
  106. height: '',
  107. list: [],
  108. latitude: '', // 本地坐标
  109. longitude: '', // 本地坐标
  110. phone: '',
  111. marker: [],
  112. showAed: {
  113. name: '',
  114. address: '',
  115. addressxq: '',
  116. dis: '',
  117. lat: '',
  118. lon: '',
  119. imgs: [],
  120. phone: ''
  121. },
  122. chooseImg: '',
  123. mapid: 1,
  124. isShow: false,
  125. befoId: 0,
  126. }
  127. },
  128. onReady(res) {
  129. var _this = this;
  130. uni.getSystemInfo({
  131. success: resu => {
  132. const query = uni.createSelectorQuery();
  133. query.select('.aed-list').boundingClientRect();
  134. query.exec(function(res) {
  135. console.log(res, 'ddddddddddddd');
  136. _this.height = resu.windowHeight - res[0].top + 'px';
  137. console.log('打印页面的剩余高度', _this.height);
  138. });
  139. },
  140. fail: res => {}
  141. });
  142. },
  143. onLoad() {
  144. let obj = this;
  145. this.getLocal()
  146. },
  147. computed: {
  148. ...mapState('user', ['hasLogin', 'userInfo']),
  149. ...mapState(['baseURL'])
  150. },
  151. methods: {
  152. ...mapMutations('user', ['setUserInfo']),
  153. // 导航
  154. opendh() {
  155. console.log('导航')
  156. this.$refs.popup.open();
  157. },
  158. // 关闭图片弹窗
  159. closePup() {
  160. this.$refs.lookimg.close()
  161. },
  162. // 打开图片弹窗
  163. openimg(src, srcList) {
  164. let obj = this
  165. this.chooseImg = this.baseURL + src
  166. console.log('chooseImg', this.chooseImg)
  167. // this.$refs.lookimg.open()
  168. let arr = obj.showAed.imgs.map(item => {
  169. return obj.baseURL + item
  170. })
  171. uni.previewImage({
  172. current: this.chooseImg,
  173. urls: arr
  174. })
  175. },
  176. // 拨打电话
  177. makecall(num) {
  178. uni.makePhoneCall({
  179. phoneNumber: num + ''
  180. })
  181. },
  182. // 关闭aed详情
  183. closeAedXq() {
  184. this.$refs.aedxq.close()
  185. },
  186. listlookmore(e, index) {
  187. let obj = this
  188. // if (obj.befoId != 0) {
  189. // obj.marker[obj.befoId].iconPath = '/static/icon/aed-na.png'
  190. // }
  191. obj.befoId = index * 1 + 1
  192. let aedobj = e
  193. console.log(aedobj.name, 'aedobj++++')
  194. obj.showAed = {
  195. name: aedobj.name,
  196. address: aedobj.address,
  197. addressxq: aedobj.install_address,
  198. dis: aedobj.range * 1 >= 1 ? (aedobj.range + 'km') : (aedobj.distance + 'm'),
  199. lat: aedobj.latitude,
  200. lon: aedobj.longitude,
  201. imgs: aedobj.images.split(','),
  202. phone: aedobj.phone
  203. }
  204. obj.baseLat = aedobj.latitude
  205. obj.baseLng = aedobj.longitude
  206. // obj.marker[index * 1 + 1].iconPath = '/static/icon/aed-na.png'
  207. console.log(obj.showAed.name, 'obj.showAed')
  208. // obj.isShow = true
  209. obj.$refs.popupinfo.open()
  210. },
  211. // 打开aed详情
  212. lookmore(e, from) {
  213. let obj = this
  214. // if (obj.befoId != 0) {
  215. // obj.marker[obj.befoId].iconPath = '/static/icon/aed-na.png'
  216. // }
  217. obj.befoId = e.detail.markerId * 1
  218. let aedobj = obj.AEDList[e.detail.markerId * 1 - 1]
  219. console.log(aedobj, 'aedobj')
  220. obj.showAed = {
  221. name: aedobj.name,
  222. address: aedobj.address,
  223. addressxq: aedobj.install_address,
  224. dis: aedobj.range * 1 >= 1 ? (aedobj.range + 'km') : (aedobj.distance + 'm'),
  225. lat: aedobj.latitude,
  226. lon: aedobj.longitude,
  227. imgs: aedobj.images.split(','),
  228. phone: aedobj.phone
  229. }
  230. // obj.marker[e.detail.markerId].iconPath = '/static/icon/aed-na.png'
  231. // obj.isShow = true
  232. obj.$refs.popupinfo.open()
  233. },
  234. // 获取本地坐标
  235. getLocal() {
  236. let obj = this;
  237. console.log('ddddddddddddddddddddddddd')
  238. let weichatBrowser = uni.getStorageSync('weichatBrowser')
  239. if (weichatBrowser) {
  240. let wxOjb = require('jweixin-module');
  241. wxOjb.ready(() => {
  242. console.log('加载完毕注册事件');
  243. wxOjb.getLocation({
  244. type: 'gcj02',
  245. success(e) {
  246. console.log(e)
  247. obj.baseLat = obj.latitude = Math.abs(e.latitude)
  248. obj.baseLng = obj.longitude = Math.abs(e.longitude)
  249. console.log('本地坐标', obj.latitude, obj.longitude)
  250. let item = {
  251. id: 0,
  252. latitude: obj.latitude,
  253. longitude: obj.longitude,
  254. iconPath: '/static/img/img19.png',
  255. width: '35',
  256. height: '35',
  257. }
  258. obj.marker.push(item)
  259. obj.loadData()
  260. },
  261. fail(err) {
  262. obj.getLocal()
  263. }
  264. })
  265. })
  266. } else {
  267. uni.getLocation({
  268. type: 'gcj02',
  269. success(e) {
  270. console.log(e)
  271. obj.baseLat = obj.latitude = Math.abs(e.latitude)
  272. obj.baseLng = obj.longitude = Math.abs(e.longitude)
  273. console.log('本地坐标', obj.latitude, obj.longitude)
  274. let item = {
  275. id: 0,
  276. latitude: obj.latitude,
  277. longitude: obj.longitude,
  278. iconPath: '/static/img/img19.png',
  279. width: '35',
  280. height: '35',
  281. }
  282. obj.marker.push(item)
  283. obj.loadData()
  284. },
  285. fail(err) {
  286. obj.getLocal()
  287. }
  288. })
  289. }
  290. },
  291. // 地图渲染完毕事件
  292. mapChange(e) {
  293. console.log(e);
  294. },
  295. // 载入数据
  296. async loadData() {
  297. let obj = this;
  298. if (obj.loadingType == 'loading' || obj.loadingType == 'noMore') {
  299. return
  300. }
  301. obj.loadingType = 'loading'
  302. getAed({
  303. latitude: obj.latitude,
  304. longitude: obj.longitude,
  305. page: obj.page,
  306. limit: obj.limit,
  307. }).then(({
  308. data
  309. }) => {
  310. console.log(data, 'aed++++++++++++++')
  311. obj.AEDList = obj.AEDList.concat(data);
  312. let arr = []
  313. data.forEach(item => {
  314. if (item.name.indexOf('半公开') == -1) {
  315. arr.push({
  316. latitude: item.latitude,
  317. longitude: item.longitude,
  318. iconPath: '/static/icon/aed-na.png',
  319. width: '35',
  320. height: '35',
  321. id: obj.mapid++,
  322. address: item.address
  323. })
  324. } else {
  325. arr.push({
  326. latitude: item.latitude,
  327. longitude: item.longitude,
  328. iconPath: '/static/icon/aed-a.png',
  329. width: '35',
  330. height: '35',
  331. id: obj.mapid++,
  332. address: item.address
  333. })
  334. }
  335. })
  336. // data.map(item => {
  337. // if(item.name.indexOf('半公开') == -1) {
  338. // {
  339. // latitude: item.latitude,
  340. // longitude: item.longitude,
  341. // iconPath: '/static/icon/aed-na.png',
  342. // width: '35',
  343. // height: '35',
  344. // id: obj.mapid++,
  345. // address: item.address
  346. // }
  347. // }else {
  348. // {
  349. // latitude: item.latitude,
  350. // longitude: item.longitude,
  351. // iconPath: '/static/icon/aed-a.png',
  352. // width: '35',
  353. // height: '35',
  354. // id: obj.mapid++,
  355. // address: item.address
  356. // }
  357. // }
  358. // }
  359. // // return item
  360. // );
  361. obj.marker = obj.marker.concat(arr)
  362. console.log(obj.page, 'obj.page++++++')
  363. if (obj.page == 1) {
  364. console.log('obj.lookmore+++++++++++++')
  365. // obj.lookmore({
  366. // detail: {
  367. // markerId: 1
  368. // }
  369. // })
  370. }
  371. obj.page++
  372. console.log('加入完成+++++++++++++')
  373. if (data.length == obj.limit) {
  374. obj.loadingType = 'more'
  375. } else {
  376. obj.loadingType = 'noMore'
  377. }
  378. obj.loaded = true
  379. })
  380. },
  381. // 调用高德
  382. toGaodeMap() {
  383. let latitude = this.showAed.lat;
  384. let longitude = this.showAed.lon;
  385. let address = this.showAed.name;
  386. console.log(address)
  387. console.log('选择高德', latitude, longitude, address);
  388. window.location.href = `https://uri.amap.com/marker?position=${longitude},${latitude}&name=${address}`;
  389. },
  390. // 调用腾讯
  391. totengxunMap() {
  392. let latitude = this.showAed.lat;
  393. let longitude = this.showAed.lon;
  394. let address = this.showAed.name;
  395. console.log('选择腾讯', latitude, longitude);
  396. window.location.href =
  397. `http://apis.map.qq.com/uri/v1/marker?marker=coord:${latitude},${longitude};addr:${address}`;
  398. },
  399. // 调用百度
  400. tobaiDuMap() {
  401. let latlon = this.bd_encrypt(this.showAed.lon, this.showAed.lat)
  402. let latlon1 = this.bd_encrypt(this.longitude, this.latitude)
  403. let latitude = latlon.bd_lat;
  404. let longitude = latlon.bd_lng;
  405. let latitude6 = latlon1.bd_lat;
  406. let longitude6 = latlon1.bd_lng;
  407. let address = this.showAed.name;
  408. console.log('选择百度', latitude, longitude);
  409. console.log('获取当前经纬度', latitude6, longitude6);
  410. window.location.href =
  411. `http://api.map.baidu.com/direction?origin=latlng:${latitude6},${longitude6}|name:我的位置&destination=${latitude},${longitude}&mode=driving&region=${address}&output=html&src=webapp.baidu.openAPIdemo`;
  412. },
  413. // 高德坐标、腾讯坐标转百度坐标
  414. bd_encrypt(gg_lng, gg_lat) {
  415. var X_PI = Math.PI * 3000.0 / 180.0;
  416. var x = gg_lng,
  417. y = gg_lat;
  418. var z = Math.sqrt(x * x + y * y) + 0.00002 * Math.sin(y * X_PI);
  419. var theta = Math.atan2(y, x) + 0.000003 * Math.cos(x * X_PI);
  420. var bd_lng = z * Math.cos(theta) + 0.0065;
  421. var bd_lat = z * Math.sin(theta) + 0.006;
  422. return {
  423. bd_lat: bd_lat,
  424. bd_lng: bd_lng
  425. };
  426. }
  427. }
  428. }
  429. </script>
  430. <style lang="scss">
  431. body,
  432. page {
  433. height: 100%;
  434. width: 100%;
  435. background-color: #fff;
  436. }
  437. .content {
  438. height: 100%;
  439. width: 100%;
  440. background-color: #fff;
  441. }
  442. .map {
  443. // width: 100%;
  444. // height: 100%;
  445. height: 780rpx;
  446. border-radius: 20rpx;
  447. .map-map {
  448. width: 689rpx;
  449. height: 780rpx;
  450. border-radius: 20rpx;
  451. margin: auto;
  452. }
  453. }
  454. /* #ifdef H5 */
  455. .location {
  456. overflow-y: scroll; //溢出就滑动起来
  457. // z-index: 990;
  458. position: fixed;
  459. bottom: 0;
  460. height: 55%;
  461. width: 100%;
  462. background-color: #fff;
  463. padding: 24rpx;
  464. //搜索框
  465. .Search-box {
  466. // z-index: 999;
  467. height: 80rpx;
  468. // position: fixed;
  469. // top: 0;
  470. // left: 0;
  471. // width: 100%;
  472. // background: #FFFFFF;
  473. // padding-top: 10rpx;
  474. padding-right: 24rpx;
  475. padding-left: 24rpx;
  476. .Search-box-sort {
  477. float: left;
  478. margin-left: 32rpx;
  479. margin-right: 19rpx;
  480. .sort-text {
  481. width: 57rpx;
  482. height: 29rpx;
  483. font-size: 30rpx;
  484. font-weight: 500;
  485. color: rgba(51, 51, 51, 1);
  486. line-height: 58rpx;
  487. margin-right: 19rpx;
  488. }
  489. .sort-img {
  490. width: 21rpx;
  491. height: 11rpx;
  492. margin-bottom: 4rpx;
  493. }
  494. }
  495. .Search-box-size {
  496. // width:70%;
  497. height: 58rpx;
  498. border-radius: 32rpx;
  499. background-color: #f1f1f1;
  500. padding-left: 36rpx;
  501. display: flex;
  502. align-items: center;
  503. .box-img {
  504. height: 32rpx;
  505. width: 32rpx;
  506. margin-right: 16rpx;
  507. }
  508. // .box-right{
  509. // height: 58rpx;
  510. // // width: 100%;
  511. // background-color: pink;
  512. // }
  513. .box-word {
  514. width: 100%;
  515. font-size: 26rpx;
  516. font-weight: 500;
  517. color: rgba(205, 203, 203, 1);
  518. line-height: 55rpx;
  519. }
  520. }
  521. }
  522. .location-item {
  523. z-index: 1000;
  524. display: flex;
  525. justify-content: space-between;
  526. align-items: center;
  527. border-bottom: 1rpx solid #E7E8EA;
  528. padding: 15rpx 0;
  529. .box-left {
  530. display: flex;
  531. .img01 {
  532. width: 8rpx;
  533. height: 28rpx;
  534. margin-right: 18rpx;
  535. image {
  536. width: 8rpx;
  537. height: 28rpx;
  538. }
  539. }
  540. .img02 {
  541. width: 117rpx;
  542. height: 117rpx;
  543. border-radius: 50%;
  544. image {
  545. width: 117rpx;
  546. height: 117rpx;
  547. border-radius: 50%;
  548. }
  549. }
  550. .info {
  551. margin-left: 16rpx;
  552. .info-header {
  553. display: flex;
  554. align-items: center;
  555. .name {
  556. font-size: 32rpx;
  557. color: #333333;
  558. }
  559. .distance {
  560. margin-left: 25rpx;
  561. font-size: 28rpx;
  562. color: #303133;
  563. }
  564. .location-icon {
  565. margin-left: 10rpx;
  566. width: 20rpx;
  567. height: 26rpx;
  568. image {
  569. width: 20rpx;
  570. height: 26rpx;
  571. display: inline;
  572. }
  573. }
  574. }
  575. .address {
  576. font-size: 26rpx;
  577. color: #333333;
  578. margin-top: 33rpx;
  579. }
  580. }
  581. }
  582. .box-right {
  583. .img {
  584. height: 107rpx;
  585. image {
  586. width: 107rpx;
  587. height: 107rpx;
  588. }
  589. }
  590. .called {
  591. margin-right: 16rpx;
  592. height: 107rpx;
  593. line-height: 107rpx;
  594. font-size: 28rpx;
  595. color: #CB131C;
  596. }
  597. }
  598. }
  599. }
  600. /* #endif */
  601. .list-tpl {
  602. background-color: #ffffff;
  603. margin-bottom: 25rpx;
  604. padding: 25rpx 25rpx;
  605. font-size: 28rpx;
  606. border-radius: 15rpx;
  607. display: flex;
  608. justify-content: space-between;
  609. align-items: center;
  610. border-bottom: 1px solid #f1f1f1;
  611. .list-left {
  612. display: flex;
  613. width: 100%;
  614. .number {
  615. font-size: 32rpx;
  616. margin-right: 14rpx;
  617. }
  618. .info {
  619. width: 100%;
  620. .title {
  621. font-size: 32rpx;
  622. color: #222222;
  623. font-weight: 500;
  624. }
  625. .addr {
  626. width: 400rpx;
  627. margin-top: 20rpx;
  628. font-size: 20rpx;
  629. font-family: PingFang SC;
  630. font-weight: 500;
  631. color: #999999;
  632. }
  633. }
  634. }
  635. .image {
  636. width: 20%;
  637. text-align: center;
  638. image {
  639. width: 50rpx;
  640. height: 50rpx;
  641. }
  642. .tip {
  643. color: #7f7f7f;
  644. font-size: 21rpx;
  645. }
  646. }
  647. }
  648. .popup_row {
  649. width: 100%;
  650. height: 500rpx;
  651. background-color: #ffffff;
  652. border-radius: 20rpx;
  653. display: flex;
  654. justify-content: center;
  655. align-items: center;
  656. .rows {
  657. width: 100%;
  658. padding: 0 24rpx;
  659. .rows-item {
  660. height: 80rpx;
  661. line-height: 80rpx;
  662. text-align: center;
  663. width: 100%;
  664. font-size: 32rpx;
  665. color: #303133;
  666. }
  667. }
  668. }
  669. .scroll-wrapper {
  670. padding-top: 20rpx;
  671. }
  672. .aedxq-wrap {
  673. position: fixed;
  674. bottom: 0;
  675. left: 0;
  676. right: 0;
  677. margin: auto;
  678. width: 710rpx;
  679. min-height: 400rpx;
  680. border-radius: 20rpx;
  681. padding: 0 25rpx;
  682. background-color: rgba($color: #000000, $alpha: 0.9);
  683. color: #fff;
  684. // position: relative;
  685. .xq-top {
  686. padding-top: 25rpx;
  687. width: 660rpx;
  688. min-height: 150erpx;
  689. border-bottom: 1px solid #fff;
  690. .aed-name {
  691. font-size: 28rpx;
  692. width: 479rpx;
  693. }
  694. .aed-dis {
  695. padding-top: 10rpx;
  696. font-size: 22rpx;
  697. width: 479rpx;
  698. }
  699. }
  700. .xq-img-wrap {
  701. height: 165rpx;
  702. width: 660rpx;
  703. display: flex;
  704. align-items: center;
  705. justify-content: space-between;
  706. .aed-img-scroll {
  707. height: 107rpx;
  708. width: 620rpx;
  709. // background-color: #bfa;
  710. // display: flex;
  711. // // justify-content: ;
  712. // // flex-direction: column;
  713. // flex-wrap: nowrap;
  714. .aed-img {
  715. // display: inline-block;
  716. height: 107rpx;
  717. // width: 107rpx;
  718. margin-right: 15rpx;
  719. // background-color: red;
  720. flex-shrink: 0;
  721. }
  722. }
  723. .aed-phone {
  724. width: 112rpx;
  725. height: 52rpx;
  726. line-height: 52rpx;
  727. text-align: center;
  728. border: 1px solid #fff;
  729. border-radius: 10rpx;
  730. }
  731. // background-color: red;
  732. }
  733. .aed-dh {
  734. width: 147rpx;
  735. height: 82rpx;
  736. line-height: 82rpx;
  737. text-align: center;
  738. background-color: #4d8bd6;
  739. border-radius: 15rpx;
  740. position: absolute;
  741. right: 25rpx;
  742. top: 25rpx;
  743. }
  744. }
  745. .pop-wrap {
  746. width: 522rpx;
  747. height: 800rpx;
  748. // background-color: red;
  749. }
  750. .popup-box {
  751. width: 522rpx;
  752. height: 800rpx;
  753. border-radius: 20rpx;
  754. position: relative;
  755. overflow: hidden;
  756. background-color: #fff;
  757. .popup-item {
  758. width: 100%;
  759. height: 100%;
  760. image {
  761. width: 100%;
  762. // height: 100%;
  763. }
  764. }
  765. }
  766. .close {
  767. display: block;
  768. width: 40rpx;
  769. height: 40rpx;
  770. border: 50%;
  771. position: absolute;
  772. // background-color: red;
  773. bottom: -100rpx;
  774. left: 0;
  775. right: 0;
  776. margin: 0 auto;
  777. }
  778. .aed-list {
  779. .aed-item {
  780. width: 690rpx;
  781. margin: auto;
  782. justify-content: space-between;
  783. align-items: center;
  784. height: 100rpx;
  785. border-bottom: 1px solid #F1F1F1;
  786. .item-left {
  787. width: 550rpx;
  788. font-size: 28rpx;
  789. font-weight: 500;
  790. color: #333333;
  791. .aed-address {
  792. padding-top: 10rpx;
  793. font-size: 20rpx;
  794. font-weight: 500;
  795. color: #999999;
  796. }
  797. }
  798. .item-right {
  799. width: 100rpx;
  800. flex-shrink: 0;
  801. flex-direction: column;
  802. justify-content: center;
  803. align-items: center;
  804. font-size: 20rpx;
  805. font-weight: 500;
  806. color: #999999;
  807. image {
  808. width: 28rpx;
  809. height: 32rpx;
  810. margin-bottom: 10rpx;
  811. }
  812. }
  813. }
  814. }
  815. </style>