lhl 4 år sedan
förälder
incheckning
f0df804e30
100 ändrade filer med 3199 tillägg och 1316 borttagningar
  1. 5 1
      components/espempty.vue
  2. 49 21
      components/top-title/top-title.vue
  3. 26 0
      pages.json
  4. 550 0
      pages/applic/aed.vue
  5. 553 0
      pages/applic/aid.vue
  6. 505 547
      pages/applic/location.vue
  7. 24 1
      pages/category/category.vue
  8. 27 2
      pages/form/applicationForm.vue
  9. 1 1
      pages/form/donaSuccess.vue
  10. 950 743
      pages/index/index.vue
  11. BIN
      unpackage/dist/build/h5/ez-10-7-end.rar
  12. 2 0
      unpackage/dist/build/h5/index.html
  13. BIN
      unpackage/dist/build/h5/static/.DS_Store
  14. BIN
      unpackage/dist/build/h5/static/audio/.DS_Store
  15. BIN
      unpackage/dist/build/h5/static/audio/xx.mp3
  16. BIN
      unpackage/dist/build/h5/static/audio/xx111.mp3
  17. 443 0
      unpackage/dist/build/h5/static/css/cmy.css
  18. BIN
      unpackage/dist/build/h5/static/icon/.DS_Store
  19. BIN
      unpackage/dist/build/h5/static/icon/bankpay.png
  20. BIN
      unpackage/dist/build/h5/static/icon/call.png
  21. BIN
      unpackage/dist/build/h5/static/icon/cancel.png
  22. BIN
      unpackage/dist/build/h5/static/icon/choose.png
  23. BIN
      unpackage/dist/build/h5/static/icon/erweima.jpg
  24. BIN
      unpackage/dist/build/h5/static/icon/icon-05.png
  25. BIN
      unpackage/dist/build/h5/static/icon/icon-06.png
  26. BIN
      unpackage/dist/build/h5/static/icon/icon-07.png
  27. BIN
      unpackage/dist/build/h5/static/icon/icon-08.png
  28. BIN
      unpackage/dist/build/h5/static/icon/icon1.png
  29. BIN
      unpackage/dist/build/h5/static/icon/icon2.png
  30. BIN
      unpackage/dist/build/h5/static/icon/icon3.png
  31. BIN
      unpackage/dist/build/h5/static/icon/icon4.png
  32. BIN
      unpackage/dist/build/h5/static/icon/joinSuc.png
  33. BIN
      unpackage/dist/build/h5/static/icon/love1.png
  34. BIN
      unpackage/dist/build/h5/static/icon/love2.png
  35. BIN
      unpackage/dist/build/h5/static/icon/love3.png
  36. BIN
      unpackage/dist/build/h5/static/icon/moreRight.png
  37. BIN
      unpackage/dist/build/h5/static/icon/next.png
  38. BIN
      unpackage/dist/build/h5/static/icon/redbgi.png
  39. BIN
      unpackage/dist/build/h5/static/icon/veo.png
  40. BIN
      unpackage/dist/build/h5/static/icon/weixinpay.png
  41. BIN
      unpackage/dist/build/h5/static/images/.DS_Store
  42. BIN
      unpackage/dist/build/h5/static/images/bankcard.png
  43. BIN
      unpackage/dist/build/h5/static/images/bgi.png
  44. BIN
      unpackage/dist/build/h5/static/images/bgi1.png
  45. BIN
      unpackage/dist/build/h5/static/images/bgi2.png
  46. BIN
      unpackage/dist/build/h5/static/images/bgitop.png
  47. BIN
      unpackage/dist/build/h5/static/images/clone.png
  48. BIN
      unpackage/dist/build/h5/static/images/erweima.jpg
  49. BIN
      unpackage/dist/build/h5/static/images/goods.png
  50. BIN
      unpackage/dist/build/h5/static/images/img01.png
  51. BIN
      unpackage/dist/build/h5/static/images/left.png
  52. BIN
      unpackage/dist/build/h5/static/images/money.png
  53. BIN
      unpackage/dist/build/h5/static/images/right.png
  54. BIN
      unpackage/dist/build/h5/static/images/upload.png
  55. BIN
      unpackage/dist/build/h5/static/images/wechat.png
  56. BIN
      unpackage/dist/build/h5/static/img/.DS_Store
  57. BIN
      unpackage/dist/build/h5/static/img/002.1489a776.png
  58. BIN
      unpackage/dist/build/h5/static/img/002.png
  59. BIN
      unpackage/dist/build/h5/static/img/HLA.7463ca3a.webp
  60. 64 0
      unpackage/dist/build/h5/static/img/HLA.htm
  61. BIN
      unpackage/dist/build/h5/static/img/HLA.webp
  62. BIN
      unpackage/dist/build/h5/static/img/WechatIMG168.png
  63. BIN
      unpackage/dist/build/h5/static/img/ack.fe5c6ec8.png
  64. BIN
      unpackage/dist/build/h5/static/img/ack.png
  65. BIN
      unpackage/dist/build/h5/static/img/activity.5adbaff8.png
  66. BIN
      unpackage/dist/build/h5/static/img/activity.png
  67. BIN
      unpackage/dist/build/h5/static/img/add.png
  68. BIN
      unpackage/dist/build/h5/static/img/application.png
  69. BIN
      unpackage/dist/build/h5/static/img/banner.png
  70. BIN
      unpackage/dist/build/h5/static/img/bgi2.33a99f03.png
  71. BIN
      unpackage/dist/build/h5/static/img/bgitop.efff07b0.png
  72. BIN
      unpackage/dist/build/h5/static/img/call.354445ca.png
  73. BIN
      unpackage/dist/build/h5/static/img/cancel.png
  74. BIN
      unpackage/dist/build/h5/static/img/cancel1.png
  75. BIN
      unpackage/dist/build/h5/static/img/celldonation.png
  76. BIN
      unpackage/dist/build/h5/static/img/crosss.png
  77. BIN
      unpackage/dist/build/h5/static/img/crosss01.png
  78. BIN
      unpackage/dist/build/h5/static/img/donation.png
  79. BIN
      unpackage/dist/build/h5/static/img/erweima.0c82f630.jpg
  80. BIN
      unpackage/dist/build/h5/static/img/forbid.png
  81. BIN
      unpackage/dist/build/h5/static/img/graduation.jpg
  82. BIN
      unpackage/dist/build/h5/static/img/graduation.png
  83. BIN
      unpackage/dist/build/h5/static/img/graduationB.jpg
  84. BIN
      unpackage/dist/build/h5/static/img/home.png
  85. BIN
      unpackage/dist/build/h5/static/img/icon.png
  86. BIN
      unpackage/dist/build/h5/static/img/icon1.18ee3662.png
  87. BIN
      unpackage/dist/build/h5/static/img/icon2.4664c71d.png
  88. BIN
      unpackage/dist/build/h5/static/img/icon3.86a7ceb4.png
  89. BIN
      unpackage/dist/build/h5/static/img/icon4.9b4109a1.png
  90. BIN
      unpackage/dist/build/h5/static/img/img01.png
  91. BIN
      unpackage/dist/build/h5/static/img/img014.png
  92. BIN
      unpackage/dist/build/h5/static/img/img02.png
  93. BIN
      unpackage/dist/build/h5/static/img/img03.b0298bca.webp
  94. BIN
      unpackage/dist/build/h5/static/img/img03.jpg
  95. BIN
      unpackage/dist/build/h5/static/img/img03.webp
  96. BIN
      unpackage/dist/build/h5/static/img/img04.f3fc03ee.webp
  97. BIN
      unpackage/dist/build/h5/static/img/img04.webp
  98. BIN
      unpackage/dist/build/h5/static/img/img05.e3d7e190.webp
  99. BIN
      unpackage/dist/build/h5/static/img/img05.webp
  100. BIN
      unpackage/dist/build/h5/static/img/img06.c1990f93.webp

+ 5 - 1
components/espempty.vue

@@ -2,7 +2,7 @@
 	<view class="empty-content">
 		<image class="empty-content-image" :src="setSrc" mode="aspectFit"></image>
 		<view class="empty-info">
-			救援列表为空
+			{{tit}}
 		</view>
 	</view>
 </template>
@@ -14,6 +14,10 @@
 				type: String,
 				default: 'espempty'
 			},
+			tit: {
+				type: String,
+				default: '救援列表为空'
+			}
 		},
 
 		data() {

+ 49 - 21
components/top-title/top-title.vue

@@ -1,32 +1,55 @@
-<template>
+<template>
 	<view class="top-title">
-		<view class="title-before">
+		<view class="" style="justify-self: flex-start;">
+			<view class="title-before"></view>
+			<view class="title">{{title}}</view>
 		</view>
-		<view class="title">{{title}}</view>
-	</view>
-</template>
-
-<script>
-	export default {
-		name:"top-title",
-		data() {
-			return {
-				
-			};
+		<view class="gd" @click="navTo" v-if="show_more">
+			更多 >
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		name: "top-title",
+		data() {
+			return {
+
+			};
 		},
 		props: {
 			title: {
 				type: String,
 				default: ''
+			},
+			navurl: {
+				type: String,
+				default: ''
+			},
+			show_more: {
+				type: Boolean,
+				default: false
 			}
-		}
-	}
-</script>
-
-<style lang="scss">
-.top-title {
+		},
+		methods: {
+			navTo() {
+				console.log('dianji')
+				uni.navigateTo({
+					url: this.navurl
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	.top-title {
+
+		width: 100%;
 		display: flex;
 		align-items: center;
+		justify-content: space-between;
 		.title-before {
 			display: inline-block;
 			background-color: #F0433C;
@@ -35,6 +58,7 @@
 			margin-right: 16rpx;
 			border-radius: 4rpx;
 		}
+
 		.title {
 			display: inline-block;
 			font-size: 32rpx;
@@ -42,8 +66,10 @@
 			font-weight: bold;
 			color: #333333;
 		}
+
 		.title-after {
 			display: inline-block;
+
 			.a1 {
 				width: 8rpx;
 				height: 8rpx;
@@ -53,6 +79,7 @@
 				margin-top: 16rpx;
 				margin-left: 25rpx;
 			}
+
 			.a2 {
 				width: 28rpx;
 				height: 4rpx;
@@ -60,8 +87,9 @@
 				opacity: 0.1;
 				border-radius: 2rpx;
 				margin-bottom: 6rpx;
-				
+
 			}
+
 			.a3 {
 				width: 28rpx;
 				height: 4rpx;
@@ -71,5 +99,5 @@
 				margin-left: 11rpx;
 			}
 		}
-	}
+	}
 </style>

+ 26 - 0
pages.json

@@ -179,6 +179,32 @@
 				"navigationBarTextStyle": "white",
 				"navigationBarTitleText": "定位"
 			}
+		},
+		{
+			"path": "pages/applic/aid",
+			"style": {
+				// #ifndef MP
+				"app-plus": {
+					"titleNView": false
+				},
+				// #endif
+				"navigationBarBackgroundColor": "#457DBF",
+				"navigationBarTextStyle": "white",
+				"navigationBarTitleText": "救护站"
+			}
+		},
+		{
+			"path": "pages/applic/aed",
+			"style": {
+				// #ifndef MP
+				"app-plus": {
+					"titleNView": false
+				},
+				// #endif
+				"navigationBarBackgroundColor": "#457DBF",
+				"navigationBarTextStyle": "white",
+				"navigationBarTitleText": "智能AED"
+			}
 		},
 		{
 			"path": "pages/applic/tocontrilist",

+ 550 - 0
pages/applic/aed.vue

@@ -0,0 +1,550 @@
+<template>
+	<view class="content">
+		<view id="map" class="map">
+			<map @updated='mapChange' id="map_1" ref='map_1' style="width:750rpx; height: 600rpx" :latitude="latitude"
+				:longitude="longitude" :markers="aedmarker"></map>
+		</view>
+		<scroll-view scroll-y="true" class="scroll-wrapper" :style="{'height': height}" @scrolltolower="loadData">
+			<espempty v-if="loaded && AEDList.length === 0" :tit="'智能AED列表为空'"></espempty>
+			<view class="list-tpl flex" @click="openAddress(item)" v-for="(item, index) in AEDList" :key="item.id">
+				<template>
+					<view class="list-left">
+						<view class="info">
+							<view class="title">{{ item.introduction }}</view>
+							<view class="addr">地址:{{ item.address }}</view>
+						</view>
+					</view>
+					<view class="image">
+						<image src="../../static/img/img10.png"></image>
+						<view class="tip" v-if="item.space > 999">>999m</view>
+						<view class="tip" v-else>{{ item.space }}m</view>
+					</view>
+				</template>
+			</view>
+			<uni-load-more :status="loadtype"></uni-load-more>
+		</scroll-view>
+		<uni-popup ref="popup" type="bottom" @click="close">
+			<view class="popup_row">
+				<view class="rows">
+					<view class="rows-item" @click="toGaodeMap">高德地图</view>
+					<view class="rows-item" @click="tobaiDuMap">百度地图</view>
+					<view class="rows-item" @click="totengxunMap">腾讯地图</view>
+				</view>
+			</view>
+		</uni-popup>
+	</view>
+</template>
+
+<script>
+	import {
+		mapState,
+		mapMutations
+	} from 'vuex';
+	import espempty from '@/components/espempty';
+	import uniPopup from '@/components/uni-popup/uni-popup.vue';
+	import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
+	import {
+		getdis,
+		tocall,
+		getListAED
+	} from '@/api/index.js';
+	import {
+		userinfo
+	} from '@/api/user.js';
+	import {
+		getcomAddress
+	} from '@/api/index.js';
+	export default {
+		components: {
+			uniPopup,
+			espempty,
+			uniLoadMore
+		},
+		//相关配置参数
+		data() {
+			return {
+				aedmarker: [],
+				loaded: false,
+				loadtype: 'more',
+				page: 1,
+				limit: 10,
+				AEDList: [],
+				height: '',
+				list: [],
+				latitude: '',
+				longitude: '',
+				current: 0,
+				name: '',
+				uid: '',
+				name: '',
+				phone: '',
+				to_phone: '',
+				marker: [],
+				specificAdd: '',
+				addressData: {
+					name: '',
+					mobile: '',
+					latitude: 0, //纬度
+					longitude: 0, //经度
+					address: {
+						province: '',
+						city: '',
+						district: '',
+						detail: '',
+					},
+					area: '',
+					default: false
+				},
+			}
+		},
+		onReady(res) {
+			var _this = this;
+			uni.getSystemInfo({
+				success: resu => {
+					const query = uni.createSelectorQuery();
+					query.select('.scroll-wrapper').boundingClientRect();
+					query.exec(function(res) {
+						console.log(res, 'ddddddddddddd');
+						_this.height = resu.windowHeight - res[0].top + 'px';
+						console.log('打印页面的剩余高度', _this.height);
+					});
+				},
+				fail: res => {}
+			});
+		},
+		onLoad() {
+			let obj = this;
+			console.log('开始加载事件');
+			// obj.loadBaseData();
+			// obj.loadData();
+			try {
+				let locationAddress
+				// #ifdef H5
+				let wxOjb = require('jweixin-module');
+				locationAddress = wxOjb.getLocation;
+				// #endif
+				// #ifdef MP
+				locationAddress = uni.getLocation;
+				// #endif
+				wxOjb.ready(() => {
+					console.log('加载完毕注册事件');
+					locationAddress({
+						type: 'gcj02',
+						success: function(res) {
+							console.log('获取经纬度', res);
+							obj.longitude = res.longitude
+							obj.latitude = res.latitude
+							obj.marker = [{
+								latitude: obj.latitude,
+								longitude: obj.longitude,
+								iconPath: '/static/img/img19.png',
+								width: '45',
+								height: '45',
+							}, ]
+							obj.loadData();
+						},
+						fail(e) {
+							console.log('失败', e);
+							window.location.reload();
+						}
+					});
+				})
+
+			} catch (e) {
+				console.log(e);
+				let locationAddress
+				// #ifdef H5
+				let wxOjb = require('jweixin-module');
+				locationAddress = wxOjb.getLocation;
+				// #endif
+				// #ifdef MP
+				locationAddress = uni.getLocation;
+				// #endif
+				wxOjb.ready(() => {
+					console.log('加载完毕注册事件');
+
+					locationAddress({
+						type: 'gcj02',
+						success: function(res) {
+							console.log('获取经纬度1', res);
+							obj.longitude = res.longitude
+							obj.latitude = res.latitude
+							obj.loadData();
+						},
+						fail(e) {
+							console.log('失败', e);
+						}
+					});
+				})
+
+			}
+		},
+		computed: {
+			...mapState('user', ['hasLogin', 'userInfo'])
+		},
+		methods: {
+			...mapMutations('user', ['setUserInfo']),
+			// 地图渲染完毕事件
+			mapChange(e) {
+				console.log(e);
+			},
+			// 载入数据
+			async loadData() {
+				let obj = this;
+				if(obj.loadtype == 'loading' || obj.loadtype == 'noMore') {
+					return 
+				}
+				obj.loadtype = 'loading'
+				getListAED({
+					page: obj.page,
+					limit: obj.limit,
+				}).then(({data}) => {
+					console.log(data, 999);
+					for (let i = 0; i < data.length; i++) {
+						data[i].space = obj.space(obj.latitude, obj.longitude, data[i].latitude, data[i].longitude);
+					}
+					obj.AEDList = obj.AEDList.concat(data);
+					console.log(obj.AEDList, 'obj.AEDList+++++++');
+					let arr = data.map(item => ({
+						latitude: item.latitude,
+						longitude: item.longitude,
+						iconPath: '/static/img/img014.png',
+						width: '35',
+						height: '35',
+						id: item.id,
+						address: item.address
+					}));
+					obj.aedmarker = obj.marker.concat(arr)
+					// obj.markerList = data;
+					obj.loaded = true
+					obj.page++;
+					if (obj.limit == data.length) {
+						obj.loadtype = 'more';
+						
+					} else {
+						obj.loadtype = 'noMore';
+					}
+				})
+			},
+			space(lat1, lng1, lat2, lng2) {
+				console.log(lat1, lng1, lat2, lng2);
+				var radLat1 = (lat1 * Math.PI) / 180.0;
+				var radLat2 = (lat2 * Math.PI) / 180.0;
+				var a = radLat1 - radLat2;
+				var b = (lng1 * Math.PI) / 180.0 - (lng2 * Math.PI) / 180.0;
+				var s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(b / 2), 2)));
+				s = s * 6378.137;
+				s = Math.round(s * 10000) / 10000;
+				return s * 1000; // 单位米
+			},
+			openAddress(item) {
+				let obj = this;
+				obj.latitude2 = item.latitude;
+				obj.longitude2 = item.longitude;
+				obj.address = item.address;
+				this.$refs.popup.open();
+			},
+			// 调用高德
+			toGaodeMap() {
+				let latitude = this.latitude2;
+				let longitude = this.longitude2;
+				let address = this.address;
+				console.log('选择高德', latitude, longitude, address);
+				window.location.href = `https://uri.amap.com/marker?position=${longitude},${latitude}&name=${address}`;
+			},
+			// 调用腾讯
+			totengxunMap() {
+				let latitude = this.latitude2;
+				let longitude = this.longitude2;
+				let address = this.address;
+				console.log('选择腾讯', latitude, longitude);
+				window.location.href = `http://apis.map.qq.com/uri/v1/marker?marker=coord:${latitude},${longitude};addr:${address}`;
+			},
+			// 调用百度
+			tobaiDuMap() {
+				let latitude = this.latitude2;
+				let longitude = this.longitude2;
+				let latitude6 = this.latitude;
+				let longitude6 = this.longitude;
+				let address = this.address;
+				console.log('选择百度', latitude, longitude);
+				console.log('获取当前经纬度', latitude6, longitude6);
+				window.location.href = `http://api.map.baidu.com/direction?origin=latlng:${latitude6},${longitude6}|name:我的位置&destination=${latitude},${longitude}&mode=driving&region=${address}&output=html&src=webapp.baidu.openAPIdemo`;
+				//`bdapp://map/navi?location=${longitude},${latitude}&coord_type=gc02&title=${address}&content=${address}&output=html&src=andr.baidu.openAPIdemo `
+			},
+			
+		}
+	}
+</script>
+
+<style lang="scss">
+	body,
+	page {
+		height: 100%;
+		width: 100%;
+		background-color: #fff;
+	}
+
+	.content {
+		height: 100%;
+		width: 100%;
+		background-color: #fff;
+	}
+
+	.map {
+		width: 100%;
+		height: 600rpx;
+	}
+
+	/* #ifdef H5 */
+	.location {
+		overflow-y: scroll; //溢出就滑动起来
+		// z-index: 990;
+		position: fixed;
+		bottom: 0;
+		height: 55%;
+		width: 100%;
+		background-color: #fff;
+		padding: 24rpx;
+
+		//搜索框
+		.Search-box {
+			// z-index: 999;
+			height: 80rpx;
+			// position: fixed;
+			// 		top: 0;
+			// 		left: 0;
+			// 		width: 100%;
+			// background: #FFFFFF;
+			// padding-top: 10rpx;
+			padding-right: 24rpx;
+			padding-left: 24rpx;
+
+			.Search-box-sort {
+				float: left;
+				margin-left: 32rpx;
+				margin-right: 19rpx;
+
+				.sort-text {
+					width: 57rpx;
+					height: 29rpx;
+					font-size: 30rpx;
+					font-weight: 500;
+					color: rgba(51, 51, 51, 1);
+					line-height: 58rpx;
+					margin-right: 19rpx;
+				}
+
+				.sort-img {
+					width: 21rpx;
+					height: 11rpx;
+					margin-bottom: 4rpx;
+				}
+			}
+
+			.Search-box-size {
+				// width:70%;
+				height: 58rpx;
+				border-radius: 32rpx;
+				background-color: #f1f1f1;
+				padding-left: 36rpx;
+				display: flex;
+				align-items: center;
+
+				.box-img {
+					height: 32rpx;
+					width: 32rpx;
+					margin-right: 16rpx;
+				}
+
+				// .box-right{
+				// 	height: 58rpx;
+				// 	// width: 100%;
+				// 	background-color: pink;
+				// }
+
+				.box-word {
+					width: 100%;
+					font-size: 26rpx;
+					font-weight: 500;
+					color: rgba(205, 203, 203, 1);
+					line-height: 55rpx;
+				}
+			}
+		}
+
+		.location-item {
+			z-index: 1000;
+			display: flex;
+			justify-content: space-between;
+			align-items: center;
+			border-bottom: 1rpx solid #E7E8EA;
+			padding: 15rpx 0;
+
+			.box-left {
+				display: flex;
+
+				.img01 {
+					width: 8rpx;
+					height: 28rpx;
+					margin-right: 18rpx;
+
+					image {
+						width: 8rpx;
+						height: 28rpx;
+					}
+				}
+
+				.img02 {
+					width: 117rpx;
+					height: 117rpx;
+					border-radius: 50%;
+
+					image {
+						width: 117rpx;
+						height: 117rpx;
+						border-radius: 50%;
+					}
+				}
+
+				.info {
+					margin-left: 16rpx;
+
+					.info-header {
+						display: flex;
+						align-items: center;
+
+						.name {
+							font-size: 32rpx;
+							color: #333333;
+						}
+
+						.distance {
+							margin-left: 25rpx;
+							font-size: 28rpx;
+							color: #303133;
+						}
+
+						.location-icon {
+							margin-left: 10rpx;
+							width: 20rpx;
+							height: 26rpx;
+
+							image {
+								width: 20rpx;
+								height: 26rpx;
+								display: inline;
+							}
+						}
+					}
+
+					.address {
+						font-size: 26rpx;
+						color: #333333;
+						margin-top: 33rpx;
+					}
+				}
+			}
+
+			.box-right {
+				.img {
+					height: 107rpx;
+
+					image {
+						width: 107rpx;
+						height: 107rpx;
+					}
+				}
+
+				.called {
+					margin-right: 16rpx;
+					height: 107rpx;
+					line-height: 107rpx;
+					font-size: 28rpx;
+					color: #CB131C;
+				}
+			}
+		}
+	}
+
+	/* #endif */
+
+	.list-tpl {
+		background-color: #ffffff;
+		margin: 25rpx 0rpx;
+		padding: 25rpx 25rpx;
+		font-size: 28rpx;
+		border-radius: 15rpx;
+		display: flex;
+		justify-content: space-between;
+		align-items: center;
+		border-bottom: 1px solid #f1f1f1;
+
+		.list-left {
+			display: flex;
+			width: 100%;
+
+			.number {
+				font-size: 32rpx;
+				margin-right: 14rpx;
+			}
+
+			.info {
+				width: 100%;
+
+				.title {
+					font-size: 32rpx;
+					color: #222222;
+					font-weight: 500;
+				}
+
+				.addr {
+					width: 400rpx;
+					margin-top: 20rpx;
+					font-size: 20rpx;
+					font-family: PingFang SC;
+					font-weight: 500;
+					color: #999999;
+				}
+			}
+		}
+
+		.image {
+			width: 10%;
+			text-align: center;
+
+			image {
+				width: 50rpx;
+				height: 50rpx;
+			}
+
+			.tip {
+				color: #7f7f7f;
+				font-size: 21rpx;
+			}
+		}
+	}
+	.popup_row {
+		width: 100%;
+		height: 500rpx;
+		background-color: #ffffff;
+		border-radius: 20rpx;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+	
+		.rows {
+			width: 100%;
+			padding: 0 24rpx;
+	
+			.rows-item {
+				height: 80rpx;
+				line-height: 80rpx;
+				text-align: center;
+				width: 100%;
+				font-size: 32rpx;
+				color: #303133;
+			}
+		}
+	}
+</style>

+ 553 - 0
pages/applic/aid.vue

@@ -0,0 +1,553 @@
+<template>
+	<view class="content">
+		<view id="map" class="map">
+			<map @updated='mapChange' id="map_1" ref='map_1' style="width:750rpx; height: 600rpx" :latitude="latitude"
+				:longitude="longitude" :markers="jhzmarker"></map>
+		</view>
+		<scroll-view scroll-y="true" class="scroll-wrapper" :style="{'height': height}" @scrolltolower="loadData">
+			<espempty v-if="loaded && AEDList.length === 0" :tit="'救护站列表为空'"></espempty>
+			<view class="list-tpl flex" @click="openAddress(item)" v-for="(item, index) in AEDList" :key="item.id">
+				<template>
+					<view class="list-left">
+						<view class="info">
+							<view class="title">{{ item.introduction }}</view>
+							<view class="addr">地址:{{ item.address }}</view>
+						</view>
+					</view>
+					<view class="image">
+						<image src="../../static/img/img10.png"></image>
+						<view class="tip" v-if="item.space > 999">>999m</view>
+						<view class="tip" v-else>{{ item.space }}m</view>
+					</view>
+				</template>
+			</view>
+			<uni-load-more :status="loadtype"></uni-load-more>
+		</scroll-view>
+		<uni-popup ref="popup" type="bottom" @click="close">
+			<view class="popup_row">
+				<view class="rows">
+					<view class="rows-item" @click="toGaodeMap">高德地图</view>
+					<view class="rows-item" @click="tobaiDuMap">百度地图</view>
+					<view class="rows-item" @click="totengxunMap">腾讯地图</view>
+				</view>
+			</view>
+		</uni-popup>
+	</view>
+</template>
+
+<script>
+	import {
+		mapState,
+		mapMutations
+	} from 'vuex';
+	import espempty from '@/components/espempty';
+	import uniPopup from '@/components/uni-popup/uni-popup.vue';
+	import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
+	import {
+		getdis,
+		tocall,
+		getListMechanism
+	} from '@/api/index.js';
+	import {
+		userinfo
+	} from '@/api/user.js';
+	import {
+		getcomAddress
+	} from '@/api/index.js';
+	export default {
+		components: {
+			uniPopup,
+			espempty,
+			uniLoadMore
+		},
+		//相关配置参数
+		data() {
+			return {
+				jhzmarker: [],
+				loadtype: 'more',
+				page: 1,
+				limit: 10,
+				AEDList: [],
+				height: '',
+				list: [],
+				latitude: '',
+				longitude: '',
+				current: 0,
+				name: '',
+				uid: '',
+				name: '',
+				phone: '',
+				to_phone: '',
+				marker: [],
+				specificAdd: '',
+				addressData: {
+					name: '',
+					mobile: '',
+					latitude: 0, //纬度
+					longitude: 0, //经度
+					address: {
+						province: '',
+						city: '',
+						district: '',
+						detail: '',
+					},
+					area: '',
+					default: false
+				},
+			}
+		},
+		onReady(res) {
+			var _this = this;
+			uni.getSystemInfo({
+				success: resu => {
+					const query = uni.createSelectorQuery();
+					query.select('.scroll-wrapper').boundingClientRect();
+					query.exec(function(res) {
+						console.log(res, 'ddddddddddddd');
+						_this.height = resu.windowHeight - res[0].top + 'px';
+						console.log('打印页面的剩余高度', _this.height);
+					});
+				},
+				fail: res => {}
+			});
+		},
+		onLoad() {
+			let obj = this;
+			console.log('开始加载事件');
+			// obj.loadBaseData();
+			uni.showLoading({
+				title: '加载中',
+				mask: true
+			});
+			// obj.loadData();
+			try {
+				let locationAddress
+				// #ifdef H5
+				let wxOjb = require('jweixin-module');
+				locationAddress = wxOjb.getLocation;
+				// #endif
+				// #ifdef MP
+				locationAddress = uni.getLocation;
+				// #endif
+				wxOjb.ready(() => {
+					console.log('加载完毕注册事件');
+					locationAddress({
+						type: 'gcj02',
+						success: function(res) {
+							console.log('获取经纬度', res);
+							obj.longitude = res.longitude
+							obj.latitude = res.latitude
+							obj.marker = [{
+								latitude: obj.latitude,
+								longitude: obj.longitude,
+								iconPath: '/static/img/img19.png',
+								width: '45',
+								height: '45',
+							}, ]
+							obj.loadData();
+						},
+						fail(e) {
+							console.log('失败', e);
+							window.location.reload();
+						}
+					});
+				})
+
+			} catch (e) {
+				console.log(e);
+				let locationAddress
+				// #ifdef H5
+				let wxOjb = require('jweixin-module');
+				locationAddress = wxOjb.getLocation;
+				// #endif
+				// #ifdef MP
+				locationAddress = uni.getLocation;
+				// #endif
+				wxOjb.ready(() => {
+					console.log('加载完毕注册事件');
+
+					locationAddress({
+						type: 'gcj02',
+						success: function(res) {
+							console.log('获取经纬度1', res);
+							obj.longitude = res.longitude
+							obj.latitude = res.latitude
+							obj.loadData();
+						},
+						fail(e) {
+							console.log('失败', e);
+						}
+					});
+				})
+
+			}
+		},
+		computed: {
+			...mapState('user', ['hasLogin', 'userInfo'])
+		},
+		methods: {
+			...mapMutations('user', ['setUserInfo']),
+			// 地图渲染完毕事件
+			mapChange(e) {
+				console.log(e);
+			},
+			// 载入数据
+			async loadData() {
+				let obj = this;
+				if(obj.loadtype == 'loading' || obj.loadtype == 'noMore') {
+					return 
+				}
+				getListMechanism({
+					page: obj.page,
+					limit: obj.limit,
+				}).then(({data}) => {
+					uni.hideLoading();
+					console.log(data, 999);
+					for (let i = 0; i < data.length; i++) {
+						data[i].space = obj.space(obj.latitude, obj.longitude, data[i].latitude, data[i].longitude);
+					}
+					let arr = data.map(item => ({
+						latitude: item.latitude,
+						longitude: item.longitude,
+						iconPath: '/static/img/img014.png',
+						width: '35',
+						height: '35',
+						id: item.id,
+						address: item.address
+					}));
+					obj.jhzmarker = obj.marker.concat(arr)
+					obj.AEDList = obj.AEDList.concat(data);
+					console.log(obj.AEDList, 'obj.AEDList+++++++');
+					// obj.markerList = data;
+					obj.loaded = true
+					if (obj.limit == data.length) {
+						obj.loadtype = 'more';
+						obj.page++;
+					} else {
+						obj.loadtype = 'noMore';
+					}
+				})
+			},
+			space(lat1, lng1, lat2, lng2) {
+				console.log(lat1, lng1, lat2, lng2);
+				var radLat1 = (lat1 * Math.PI) / 180.0;
+				var radLat2 = (lat2 * Math.PI) / 180.0;
+				var a = radLat1 - radLat2;
+				var b = (lng1 * Math.PI) / 180.0 - (lng2 * Math.PI) / 180.0;
+				var s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(b / 2), 2)));
+				s = s * 6378.137;
+				s = Math.round(s * 10000) / 10000;
+				return s * 1000; // 单位米
+			},
+			openAddress(item) {
+				let obj = this;
+				obj.latitude2 = item.latitude;
+				obj.longitude2 = item.longitude;
+				obj.address = item.address;
+				this.$refs.popup.open();
+			},
+			// 调用高德
+			toGaodeMap() {
+				let latitude = this.latitude2;
+				let longitude = this.longitude2;
+				let address = this.address;
+				console.log('选择高德', latitude, longitude, address);
+				window.location.href = `https://uri.amap.com/marker?position=${longitude},${latitude}&name=${address}`;
+			},
+			// 调用腾讯
+			totengxunMap() {
+				let latitude = this.latitude2;
+				let longitude = this.longitude2;
+				let address = this.address;
+				console.log('选择腾讯', latitude, longitude);
+				window.location.href = `http://apis.map.qq.com/uri/v1/marker?marker=coord:${latitude},${longitude};addr:${address}`;
+			},
+			// 调用百度
+			tobaiDuMap() {
+				let latitude = this.latitude2;
+				let longitude = this.longitude2;
+				let latitude6 = this.latitude;
+				let longitude6 = this.longitude;
+				let address = this.address;
+				console.log('选择百度', latitude, longitude);
+				console.log('获取当前经纬度', latitude6, longitude6);
+				window.location.href = `http://api.map.baidu.com/direction?origin=latlng:${latitude6},${longitude6}|name:我的位置&destination=${latitude},${longitude}&mode=driving&region=${address}&output=html&src=webapp.baidu.openAPIdemo`;
+				//`bdapp://map/navi?location=${longitude},${latitude}&coord_type=gc02&title=${address}&content=${address}&output=html&src=andr.baidu.openAPIdemo `
+			},
+			
+		}
+	}
+</script>
+
+<style lang="scss">
+	body,
+	page {
+		height: 100%;
+		width: 100%;
+		background-color: #fff;
+	}
+
+	.content {
+		height: 100%;
+		width: 100%;
+		background-color: #fff;
+	}
+
+	.map {
+		width: 100%;
+		height: 600rpx;
+	}
+
+	/* #ifdef H5 */
+	.location {
+		overflow-y: scroll; //溢出就滑动起来
+		// z-index: 990;
+		position: fixed;
+		bottom: 0;
+		height: 55%;
+		width: 100%;
+		background-color: #fff;
+		padding: 24rpx;
+
+		//搜索框
+		.Search-box {
+			// z-index: 999;
+			height: 80rpx;
+			// position: fixed;
+			// 		top: 0;
+			// 		left: 0;
+			// 		width: 100%;
+			// background: #FFFFFF;
+			// padding-top: 10rpx;
+			padding-right: 24rpx;
+			padding-left: 24rpx;
+
+			.Search-box-sort {
+				float: left;
+				margin-left: 32rpx;
+				margin-right: 19rpx;
+
+				.sort-text {
+					width: 57rpx;
+					height: 29rpx;
+					font-size: 30rpx;
+					font-weight: 500;
+					color: rgba(51, 51, 51, 1);
+					line-height: 58rpx;
+					margin-right: 19rpx;
+				}
+
+				.sort-img {
+					width: 21rpx;
+					height: 11rpx;
+					margin-bottom: 4rpx;
+				}
+			}
+
+			.Search-box-size {
+				// width:70%;
+				height: 58rpx;
+				border-radius: 32rpx;
+				background-color: #f1f1f1;
+				padding-left: 36rpx;
+				display: flex;
+				align-items: center;
+
+				.box-img {
+					height: 32rpx;
+					width: 32rpx;
+					margin-right: 16rpx;
+				}
+
+				// .box-right{
+				// 	height: 58rpx;
+				// 	// width: 100%;
+				// 	background-color: pink;
+				// }
+
+				.box-word {
+					width: 100%;
+					font-size: 26rpx;
+					font-weight: 500;
+					color: rgba(205, 203, 203, 1);
+					line-height: 55rpx;
+				}
+			}
+		}
+
+		.location-item {
+			z-index: 1000;
+			display: flex;
+			justify-content: space-between;
+			align-items: center;
+			border-bottom: 1rpx solid #E7E8EA;
+			padding: 15rpx 0;
+
+			.box-left {
+				display: flex;
+
+				.img01 {
+					width: 8rpx;
+					height: 28rpx;
+					margin-right: 18rpx;
+
+					image {
+						width: 8rpx;
+						height: 28rpx;
+					}
+				}
+
+				.img02 {
+					width: 117rpx;
+					height: 117rpx;
+					border-radius: 50%;
+
+					image {
+						width: 117rpx;
+						height: 117rpx;
+						border-radius: 50%;
+					}
+				}
+
+				.info {
+					margin-left: 16rpx;
+
+					.info-header {
+						display: flex;
+						align-items: center;
+
+						.name {
+							font-size: 32rpx;
+							color: #333333;
+						}
+
+						.distance {
+							margin-left: 25rpx;
+							font-size: 28rpx;
+							color: #303133;
+						}
+
+						.location-icon {
+							margin-left: 10rpx;
+							width: 20rpx;
+							height: 26rpx;
+
+							image {
+								width: 20rpx;
+								height: 26rpx;
+								display: inline;
+							}
+						}
+					}
+
+					.address {
+						font-size: 26rpx;
+						color: #333333;
+						margin-top: 33rpx;
+					}
+				}
+			}
+
+			.box-right {
+				.img {
+					height: 107rpx;
+
+					image {
+						width: 107rpx;
+						height: 107rpx;
+					}
+				}
+
+				.called {
+					margin-right: 16rpx;
+					height: 107rpx;
+					line-height: 107rpx;
+					font-size: 28rpx;
+					color: #CB131C;
+				}
+			}
+		}
+	}
+
+	/* #endif */
+
+	.list-tpl {
+		background-color: #ffffff;
+		margin: 25rpx 0rpx;
+		padding: 25rpx 25rpx;
+		font-size: 28rpx;
+		border-radius: 15rpx;
+		display: flex;
+		justify-content: space-between;
+		align-items: center;
+		border-bottom: 1px solid #f1f1f1;
+
+		.list-left {
+			display: flex;
+			width: 100%;
+
+			.number {
+				font-size: 32rpx;
+				margin-right: 14rpx;
+			}
+
+			.info {
+				width: 100%;
+
+				.title {
+					font-size: 32rpx;
+					color: #222222;
+					font-weight: 500;
+				}
+
+				.addr {
+					width: 400rpx;
+					margin-top: 20rpx;
+					font-size: 20rpx;
+					font-family: PingFang SC;
+					font-weight: 500;
+					color: #999999;
+				}
+			}
+		}
+
+		.image {
+			width: 10%;
+			text-align: center;
+
+			image {
+				width: 50rpx;
+				height: 50rpx;
+			}
+
+			.tip {
+				color: #7f7f7f;
+				font-size: 21rpx;
+			}
+		}
+	}
+	.popup_row {
+		width: 100%;
+		height: 500rpx;
+		background-color: #ffffff;
+		border-radius: 20rpx;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+	
+		.rows {
+			width: 100%;
+			padding: 0 24rpx;
+	
+			.rows-item {
+				height: 80rpx;
+				line-height: 80rpx;
+				text-align: center;
+				width: 100%;
+				font-size: 32rpx;
+				color: #303133;
+			}
+		}
+	}
+</style>
+

+ 505 - 547
pages/applic/location.vue

@@ -2,103 +2,97 @@
 	<view class="content">
 		<view id="map" class="map">
 			<map @updated='mapChange' id="map_1" ref='map_1' style="width:750rpx; height: 600rpx" :latitude="latitude"
-			 :longitude="longitude" :markers="marker"></map>
-		</view>i
-			<view class="location">
-				<!-- <view class="Search-box"  @click="getLocation">
-					<view class="Search-box-size">
-						<image class="box-img" src="https://zhxc2030.com/img/img01.png"></image>
-						<input class="box-word" placeholder="搜索地址" v-model="specificAdd" @input="searchlist">
-					</view>
-				</view> -->
-				<view v-for="(item,index) in list" :key="item.id">
-				<view class="location-item">
-					<view class="box-left">
-						<view class="img01">
-							<image src="../../static/img/line01.png" mode=""></image>
-						</view>
-						<view class="img02" v-if="item.info !=null">
-							<image src="../../static/img/002.png" mode=""></image>
+				:longitude="longitude" :markers="marker"></map>
+		</view>
+		<view class="location">
+			<view v-for="(item,index) in list" :key="item.id">
+				<view class="location-item">
+					<view class="box-left">
+						<view class="img01">
+							<image src="../../static/img/line01.png" mode=""></image>
+						</view>
+						<view class="img02" v-if="item.info !=null">
+							<image src="../../static/img/002.png" mode=""></image>
 						</view>
 						<view class="img02" v-else>
 							<image src="../../static/img/002.png" mode=""></image>
-						</view>
-						<view class="info">
-							<view class="info-header">
-								<view class="name">
-								   救护员{{ index +1 }}
-								</view>
-								<view class="distance">
-									{{ item.num }}km
-								</view>
-								<view class="location-icon">
-									<image src="../../static/img/location-icon.png" mode=""></image>
-								</view>
-							</view>
-							<view class="address">
-								{{ item.address }}
-							</view>
-						</view>
-					</view>
-					<view class="box-right" @click="rescue(item,index)"  >
-						<view class="img" v-if="!item.is">
-							<image src="../../static/img/rescue.png" mode=""></image>
-						</view>
-						<view class="called" v-if="item.is">
-							已呼叫
-						</view>
-					</view>
-				</view>
-				</view>
-				<espempty v-if="list.length === 0"></espempty>
-			</view>
-		<uni-popup ref="popup" type="center" @click="close">
-			<view class="popup_row">
-				<view class="title">
-					<view class="title-left">
-						请输入您的手机号,等待救援!
-					</view>
-					<view class="cancel" @click="cancel">
-						<image src="../../static/img/cancel1.png" mode=""></image>
-					</view>
-				</view>
-				<view class="inpBox">
-					<input type="text" value="" placeholder="请输入您的手机号" v-model="to_phone"/>
-				</view>	
-					<view class="inpedit">
-						可在方框中修改您的手机号
-					</view>
-				<view class="comfirm">
-					<view class="comfirm1" @click="comfirm1()">
-						确认
-					</view>			
-				</view>
-			</view>
-		</uni-popup>
+						</view>
+						<view class="info">
+							<view class="info-header">
+								<view class="name">
+									救护员{{ index +1 }}
+								</view>
+								<view class="distance">
+									{{ item.num }}km
+								</view>
+								<view class="location-icon">
+									<image src="../../static/img/location-icon.png" mode=""></image>
+								</view>
+							</view>
+							<view class="address">
+								{{ item.address }}
+							</view>
+						</view>
+					</view>
+					<view class="box-right" @click="rescue(item,index)">
+						<view class="img" v-if="!item.is">
+							<image src="../../static/img/rescue.png" mode=""></image>
+						</view>
+						<view class="called" v-if="item.is">
+							已呼叫
+						</view>
+					</view>
+				</view>
+			</view>
+			<espempty v-if="list.length === 0"></espempty>
+		</view>
+		<uni-popup ref="popup" type="center" @click="close">
+			<view class="popup_row">
+				<view class="title">
+					<view class="title-left">
+						请输入您的手机号,等待救援!
+					</view>
+					<view class="cancel" @click="cancel">
+						<image src="../../static/img/cancel1.png" mode=""></image>
+					</view>
+				</view>
+				<view class="inpBox">
+					<input type="text" value="" placeholder="请输入您的手机号" v-model="to_phone" />
+				</view>
+				<view class="inpedit">
+					可在方框中修改您的手机号
+				</view>
+				<view class="comfirm">
+					<view class="comfirm1" @click="comfirm1()">
+						确认
+					</view>
+				</view>
+			</view>
+		</uni-popup>
 	</view>
 </template>
 
-<script>
-	import {
-		mapState,
-		mapMutations
-	} from 'vuex';
-	import espempty from '@/components/espempty';
+<script>
+	import {
+		mapState,
+		mapMutations
+	} from 'vuex';
+	import espempty from '@/components/espempty';
 	import uniPopup from '@/components/uni-popup/uni-popup.vue';
 	import {
 		getdis,
 		tocall
-	} from '@/api/index.js';
-	import {
-		userinfo
-	} from '@/api/user.js';
-	import {
-		getcomAddress
 	} from '@/api/index.js';
-	export default {
-		components: {
-			uniPopup,
-			espempty,
+	import {
+		userinfo
+	} from '@/api/user.js';
+	import {
+		getcomAddress
+	} from '@/api/index.js';
+	export default {
+		components: {
+			uniPopup,
+			espempty,
 		},
 		//相关配置参数
 		data() {
@@ -106,161 +100,115 @@
 				list: [],
 				latitude: '',
 				longitude: '',
-				current: 0, 
+				current: 0,
 				name: '',
 				uid: '',
 				name: '',
-				phone: '',
-				to_phone:'',
-				marker: [],
-				specificAdd:'',
-				addressData: {
-					name: '',
-					mobile: '',
-					latitude: 0, //纬度
-					longitude: 0, //经度
-					address: {
-						province: '',
-						city: '',
-						district: '',
-						detail: '',
-					},
-					area: '',
-					default: false
+				phone: '',
+				to_phone: '',
+				marker: [],
+				specificAdd: '',
+				addressData: {
+					name: '',
+					mobile: '',
+					latitude: 0, //纬度
+					longitude: 0, //经度
+					address: {
+						province: '',
+						city: '',
+						district: '',
+						detail: '',
+					},
+					area: '',
+					default: false
 				},
 			}
 		},
 		onLoad() {
-			let obj = this;
-			console.log('开始加载事件');
-			obj.loadBaseData();
-			uni.showLoading({
-				title: '加载中',
-				mask: true
+			let obj = this;
+			console.log('开始加载事件');
+			obj.loadBaseData();
+			uni.showLoading({
+				title: '加载中',
+				mask: true
 			});
 			obj.loadData();
 			try {
 				let locationAddress
-				// #ifdef H5
+				// #ifdef H5
 				let wxOjb = require('jweixin-module');
 				locationAddress = wxOjb.getLocation;
 				// #endif
 				// #ifdef MP
 				locationAddress = uni.getLocation;
-				// #endif
-				wxOjb.ready(()=>{
-					console.log('加载完毕注册事件');
-					locationAddress({
-						type: 'gcj02',
-						success: function(res) {
-							console.log('获取经纬度', res);
-							obj.longitude = res.longitude
-							obj.latitude = res.latitude
-							obj.marker = [
-								{ 
-									latitude: obj.latitude,
-									longitude: obj.longitude,
-									iconPath: '/static/img/img19.png',
-									width: '45',
-									height: '45',
-								},
-							]	
-							obj.loadData();
-						},
-						fail(e) {
-							console.log('失败', e);
-							window.location.reload();
-						}
-					});
+				// #endif
+				wxOjb.ready(() => {
+					console.log('加载完毕注册事件');
+					locationAddress({
+						type: 'gcj02',
+						success: function(res) {
+							console.log('获取经纬度', res);
+							obj.longitude = res.longitude
+							obj.latitude = res.latitude
+							obj.marker = [{
+								latitude: obj.latitude,
+								longitude: obj.longitude,
+								iconPath: '/static/img/img19.png',
+								width: '45',
+								height: '45',
+							}, ]
+							obj.loadData();
+						},
+						fail(e) {
+							console.log('失败', e);
+							window.location.reload();
+						}
+					});
 				})
-				
+
 			} catch (e) {
-				console.log(e);
-				let locationAddress
-				// #ifdef H5
-				let  wxOjb = require('jweixin-module');
-				locationAddress = wxOjb.getLocation;
-				// #endif
-				// #ifdef MP
-				locationAddress = uni.getLocation;
-				// #endif
-				wxOjb.ready(()=>{
-					console.log('加载完毕注册事件');
-					
-					locationAddress({
-						type: 'gcj02',
-						success: function(res) {
-							console.log('获取经纬度1', res);
-							obj.longitude = res.longitude
-							obj.latitude = res.latitude
-							obj.loadData();
-						},
-						fail(e) {
-							console.log('失败', e);
-						}
-					});
-				})
-				
+				console.log(e);
+				let locationAddress
+				// #ifdef H5
+				let wxOjb = require('jweixin-module');
+				locationAddress = wxOjb.getLocation;
+				// #endif
+				// #ifdef MP
+				locationAddress = uni.getLocation;
+				// #endif
+				wxOjb.ready(() => {
+					console.log('加载完毕注册事件');
+
+					locationAddress({
+						type: 'gcj02',
+						success: function(res) {
+							console.log('获取经纬度1', res);
+							obj.longitude = res.longitude
+							obj.latitude = res.latitude
+							obj.loadData();
+						},
+						fail(e) {
+							console.log('失败', e);
+						}
+					});
+				})
+
 			}
-		},
-		computed: {
-			...mapState('user', ['hasLogin', 'userInfo'])
 		},
-		methods: {
-			...mapMutations('user', ['setUserInfo']),
-			loadBaseData() {
-				userinfo({}).then(({
-					data
-				}) => {
-					console.log(123,data)
-					this.to_phone = data.phone
-					this.setUserInfo(data);
-				});
-			},
-		// 选择当前位置
-		// chooseAddress() {
-		// 	console.log('233')
-		// 	let obj = this;
-		// 	uni.chooseLocation({
-		// 		success: function(res) {
-		// 			console.log(res)
-		// 			obj.addressData.area = res.name;
-		// 			console.log('位置名称:' + res.name);
-		// 			console.log('详细地址:' + res.address);
-		// 			console.log('经度:' + res.longitude);
-		// 			console.log('纬度:' + res.latitude);
-		// 			obj.latitude = res.latitude;
-		// 			obj.longitude = res.longitude;
-		// 			obj.marker = [
-		// 				{ 
-		// 					latitude: obj.latitude,
-		// 					longitude: obj.longitude,
-		// 					iconPath: '/static/img/img19.png',
-		// 					width: '48',
-		// 					height: '48',
-		// 				},
-		// 			]	
-		// 			obj.addressData.latitude = res.latitude;
-		// 			obj.addressData.longitude = res.longitude;
-		// 			obj.addressDetail = res.address;
-		// 			console.log('common_address123',obj.addressDetail )
-		// 			console.log('latitude123',obj.addressData.latitude )
-		// 			console.log('longitude123',obj.addressData.longitude )
-		// 			obj.loadData()
-		// 			// getcomAddress({
-		// 			// 	common_address: obj.addressDetail,
-		// 			// 	longitude: obj.addressData.longitude,
-		// 			// 	latitude: obj.addressData.latitude
-		// 			// }).then(data => {
-		// 			// 	console.log(333)
-		// 			// 	console.log(data);
-		// 			// 	if (data.status == 200) {
-		// 			// 		obj.$api.msg('保存成功')
-		// 			// 	}
-		// 			// })
-		// 		}
-		// 	});
-		// },
+		computed: {
+			...mapState('user', ['hasLogin', 'userInfo'])
+		},
+		methods: {
+			...mapMutations('user', ['setUserInfo']),
+			loadBaseData() {
+				userinfo({}).then(({
+					data
+				}) => {
+					console.log(123, data)
+					this.to_phone = data.phone
+					this.setUserInfo(data);
+				});
+			},
 			// 地图渲染完毕事件
 			mapChange(e) {
 				console.log(e);
@@ -271,115 +219,111 @@
 				getdis({
 					lng1: obj.longitude,
 					lat1: obj.latitude
-				}).then((res) => {
-					// uni.showModal({
-					// 	title:'值',
-					// 	content:JSON.stringify(res)
-					// })
-					let data = res.data;
+				}).then((res) => {
+					let data = res.data;
 					uni.hideLoading();
-					console.log('请求数据', data);
-					// obj.phone = data.phone
-					console.log('data.phone333',data.phone)
+					console.log('请求数据', data);
+					// obj.phone = data.phone
+					console.log('data.phone333', data.phone)
 					data = data.map(d => {
 						return {
 							...d,
 							iscall: true
 						}
-					})
-					obj.list = data;
-					
-					let arr = data.map(item => ({
-						latitude: item.latitude,
-						longitude: item.longitude,
-						iconPath: '/static/img/img014.png',
-						width: '35',
-						height: '35',
-						id: item.id,
-						address: item.address
-					}))
-					obj.marker = obj.marker.concat(arr)
-					
-					
-					
-					
-					
+					})
+					obj.list = data;
+
+					let arr = data.map(item => ({
+						latitude: item.latitude,
+						longitude: item.longitude,
+						iconPath: '/static/img/img014.png',
+						width: '35',
+						height: '35',
+						id: item.id,
+						address: item.address
+					}))
+					obj.marker = obj.marker.concat(arr)
+
+
+
+
+
 				}).catch(err => {
-					console.log(err);
-					uni.hideLoading();
-					// uni.showModal({
-					// 	title: '失败',
-					// 	content: JSON.stringify(err)
+					console.log(err);
+					uni.hideLoading();
+					// uni.showModal({
+					// 	title: '失败',
+					// 	content: JSON.stringify(err)
 					// });
 				});
-			},
-			cancel(){
-				this.$refs.popup.close();
-			},
-			comfirm1:function () {
-			let obj = this
-				if ( obj.to_phone.toString().trim() == '' ){
-					// uni.showModal({
-					// 	title:'输入框为空',
-					// 	// content:JSON.stringify(obj)
-					// })
-				} else {
-					console.log('obj.to_phone1111',obj.to_phone)
-					const reg = /^(\+?0?86-?)?1[\d]\d{9}$/;
-					if (!reg.test(obj.to_phone)) {
-						obj.$api.msg('请填写正确的手机号码');
-						return;
-					}
-					console.log('name:',obj.name)
-					console.log('uid:',obj.uid)
-					console.log('phone',obj.phone)
-					console.log('to_phone',obj.to_phone)
-					console.log('longitude',obj.longitude)
-					console.log('latitude',obj.latitude)
-					console.log('iscall',obj.iscall)
-					tocall({
-							name: obj.name,
-							uid: obj.uid,
-							phone: obj.phone,
-							longitude: obj.longitude,
-							latitude: obj.latitude,
-							to_phone:obj.to_phone
-						}).then((data) => {
-							console.log(99988,data)
-							uni.showModal({
-									title:'请耐心等待救援',
-									success: res => {
-										if (res.confirm) {
-											window.location.reload(); //重新刷新页面
-										}
-									}
-							})
-							obj.$refs.popup.close();
-							obj.iscall = false
-							console.log(123,obj.iscall)
-						})
-					}
-				},		
-	
-			// comfirm2:function (item,index) {
-			// 	let obj = this
-									
+			},
+			cancel() {
+				this.$refs.popup.close();
+			},
+			comfirm1: function() {
+				let obj = this
+				if (obj.to_phone.toString().trim() == '') {
+					// uni.showModal({
+					// 	title:'输入框为空',
+					// 	// content:JSON.stringify(obj)
+					// })
+				} else {
+					console.log('obj.to_phone1111', obj.to_phone)
+					const reg = /^(\+?0?86-?)?1[\d]\d{9}$/;
+					if (!reg.test(obj.to_phone)) {
+						obj.$api.msg('请填写正确的手机号码');
+						return;
+					}
+					console.log('name:', obj.name)
+					console.log('uid:', obj.uid)
+					console.log('phone', obj.phone)
+					console.log('to_phone', obj.to_phone)
+					console.log('longitude', obj.longitude)
+					console.log('latitude', obj.latitude)
+					console.log('iscall', obj.iscall)
+					tocall({
+						name: obj.name,
+						uid: obj.uid,
+						phone: obj.phone,
+						longitude: obj.longitude,
+						latitude: obj.latitude,
+						to_phone: obj.to_phone
+					}).then((data) => {
+						console.log(99988, data)
+						uni.showModal({
+							title: '请耐心等待救援',
+							success: res => {
+								if (res.confirm) {
+									window.location.reload(); //重新刷新页面
+								}
+							}
+						})
+						obj.$refs.popup.close();
+						obj.iscall = false
+						console.log(123, obj.iscall)
+					})
+				}
+			},
+
+			// comfirm2:function (item,index) {
+			// 	let obj = this
+
 			// },
 			// 立即救援 
 			rescue(item, index) {
-				let obj = this;
-				uni.showModal({
-					content: '是否发起求救?',
-					success: res => {
-						if (res.confirm) {
-							this.$refs.popup.open(item,index);
-							obj.name = item.name;
-							obj.uid = item.uid;
-							obj.phone = item.phone;
-							obj.iscall = false
-							console.log('点击救援时item.phone:',obj.phone)
-						}
-					}
+				let obj = this;
+				uni.showModal({
+					content: '是否发起求救?',
+					success: res => {
+						if (res.confirm) {
+							this.$refs.popup.open(item, index);
+							obj.name = item.name;
+							obj.uid = item.uid;
+							obj.phone = item.phone;
+							obj.iscall = false
+							console.log('点击救援时item.phone:', obj.phone)
+						}
+					}
 				})
 			}
 		}
@@ -398,235 +342,249 @@
 		height: 100%;
 		width: 100%;
 		background-color: #fff;
-	}
-	.map{
-		width: 100%;
-		height: 600rpx;
 	}
-
-	/* #ifdef H5 */
-	.location {
-		overflow-y: scroll; //溢出就滑动起来
-		// z-index: 990;
-		position: fixed;
-		bottom: 0;
-		height: 55%;
-		width: 100%;
-		background-color: #fff;
-		padding: 24rpx;
-		//搜索框
-		.Search-box {
-			// z-index: 999;
-			height: 80rpx;
-	// position: fixed;
-	// 		top: 0;
-	// 		left: 0;
-	// 		width: 100%;
-			// background: #FFFFFF;
-			// padding-top: 10rpx;
-			padding-right: 24rpx;
-			padding-left: 24rpx;
-		
-			.Search-box-sort {
-				float: left;
-				margin-left: 32rpx;
-				margin-right: 19rpx;
-		
-				.sort-text {
-					width: 57rpx;
-					height: 29rpx;
-					font-size: 30rpx;
-					font-weight: 500;
-					color: rgba(51, 51, 51, 1);
-					line-height: 58rpx;
-					margin-right: 19rpx;
-				}
-		
-				.sort-img {
-					width: 21rpx;
-					height: 11rpx;
-					margin-bottom: 4rpx;
-				}
-			}
-		
-			.Search-box-size {
-				// width:70%;
-				height: 58rpx;
-				border-radius: 32rpx;
-				background-color: #f1f1f1;
-				padding-left: 36rpx;
-				display: flex;
-				align-items: center;
-		
-				.box-img {
-					height: 32rpx;
-					width: 32rpx;
-					margin-right: 16rpx;
-				}
-		
-				// .box-right{
-				// 	height: 58rpx;
-				// 	// width: 100%;
-				// 	background-color: pink;
-				// }
-		
-				.box-word {
-						width: 100%;
-					font-size: 26rpx;
-					font-weight: 500;
-					color: rgba(205, 203, 203, 1);
-					line-height: 55rpx;
-				}
-			}
-		}
-		.location-item {
-			z-index: 1000;
-			display: flex;
-			justify-content: space-between;
-			align-items: center;
-			border-bottom: 1rpx solid #E7E8EA;
-			padding: 15rpx 0;
-			.box-left {
-				display: flex;
-	
-				.img01 {
-					width: 8rpx;
-					height: 28rpx;
-					margin-right: 18rpx;
-	
-					image {
-						width: 8rpx;
-						height: 28rpx;
-					}
-				}
-	
-				.img02 {
-					width: 117rpx;
-					height: 117rpx;
-					border-radius: 50%;
-					image {
-						width: 117rpx;
-						height: 117rpx;
-						border-radius: 50%;
-					}
-				}
-	
-				.info {
-					margin-left: 16rpx;
-	
-					.info-header {
-						display: flex;
-						align-items: center;
-	
-						.name {
-							font-size: 32rpx;
-							color: #333333;
-						}
-	
-						.distance {
-							margin-left: 25rpx;
-							font-size: 28rpx;
-							color: #303133;
-						}
-	
-						.location-icon {
-							margin-left: 10rpx;
-							width: 20rpx;
-							height: 26rpx;
-	
-							image {
-								width: 20rpx;
-								height: 26rpx;
-								display: inline;
-							}
-						}
-					}
-	
-					.address {
-						font-size: 26rpx;
-						color: #333333;
-						margin-top: 33rpx;
-					}
-				}
-			}
-	
-			.box-right {
-				.img {
-					height: 107rpx;
-	
-					image {
-						width: 107rpx;
-						height: 107rpx;
-					}
-				}
-	
-				.called {
-					margin-right: 16rpx;
-					height: 107rpx;
-					line-height: 107rpx;
-					font-size: 28rpx;
-					color: #CB131C;
-				}
-			}
-		}
-	}
-	.popup_row{
-		// margin-top: 108rpx;
-		height: 440rpx;
-		border-radius: 25rpx;
-		width: 100%;
-		padding: 24rpx;
-		background-color: #f8f8f8;
-		z-index: 999;
-		.title{
-			border-bottom: 2rpx solid #F2F2F2;
-			color: #E63931;
-			font-size: 32rpx;
-			padding-left: 4rpx;
-			padding-bottom: 16rpx;
-			display: flex;
-			justify-content: space-between;
-			// align-items: center;
-			.cancel{
-				margin-left: 52rpx;
-				width: 36rpx;
-				height: 36rpx;
-				image{
-					width: 36rpx;
-					height: 36rpx;
-				}
-			}
-		}
-		.inpBox{
-			margin-top: 52rpx;
-			border: 2px solid #f2f2f2;
-			padding: 12rpx 24rpx;
-			color: #FF9797;
-			border-radius: 8rpx;
-			.input-placeholder {
-				// height: 70rpx;
-				font-size: 32rpx;
-				color: #FF9797;
-			}
-		}
-		.inpedit{
-			margin-top: 24rpx;
-			margin-left: 14rpx;
-			font-size: 28rpx;
-			color: #FF9797;
-		}
-		.comfirm{
-			display: flex;
-			justify-content: flex-end;
-			margin-top: 54rpx;
-			.comfirm1{
-				padding: 12rpx 24rpx;
-				border-radius: 12rpx;
-				color: #FFFFFF;
-				background-color: #E63931;
-			}
-		}
-	}
-	/* #endif */
 
+	.map {
+		width: 100%;
+		height: 600rpx;
+	}
+
+	/* #ifdef H5 */
+	.location {
+		overflow-y: scroll; //溢出就滑动起来
+		// z-index: 990;
+		position: fixed;
+		bottom: 0;
+		height: 55%;
+		width: 100%;
+		background-color: #fff;
+		padding: 24rpx;
+
+		//搜索框
+		.Search-box {
+			// z-index: 999;
+			height: 80rpx;
+			// position: fixed;
+			// 		top: 0;
+			// 		left: 0;
+			// 		width: 100%;
+			// background: #FFFFFF;
+			// padding-top: 10rpx;
+			padding-right: 24rpx;
+			padding-left: 24rpx;
+
+			.Search-box-sort {
+				float: left;
+				margin-left: 32rpx;
+				margin-right: 19rpx;
+
+				.sort-text {
+					width: 57rpx;
+					height: 29rpx;
+					font-size: 30rpx;
+					font-weight: 500;
+					color: rgba(51, 51, 51, 1);
+					line-height: 58rpx;
+					margin-right: 19rpx;
+				}
+
+				.sort-img {
+					width: 21rpx;
+					height: 11rpx;
+					margin-bottom: 4rpx;
+				}
+			}
+
+			.Search-box-size {
+				// width:70%;
+				height: 58rpx;
+				border-radius: 32rpx;
+				background-color: #f1f1f1;
+				padding-left: 36rpx;
+				display: flex;
+				align-items: center;
+
+				.box-img {
+					height: 32rpx;
+					width: 32rpx;
+					margin-right: 16rpx;
+				}
+
+				// .box-right{
+				// 	height: 58rpx;
+				// 	// width: 100%;
+				// 	background-color: pink;
+				// }
+
+				.box-word {
+					width: 100%;
+					font-size: 26rpx;
+					font-weight: 500;
+					color: rgba(205, 203, 203, 1);
+					line-height: 55rpx;
+				}
+			}
+		}
+
+		.location-item {
+			z-index: 1000;
+			display: flex;
+			justify-content: space-between;
+			align-items: center;
+			border-bottom: 1rpx solid #E7E8EA;
+			padding: 15rpx 0;
+
+			.box-left {
+				display: flex;
+
+				.img01 {
+					width: 8rpx;
+					height: 28rpx;
+					margin-right: 18rpx;
+
+					image {
+						width: 8rpx;
+						height: 28rpx;
+					}
+				}
+
+				.img02 {
+					width: 117rpx;
+					height: 117rpx;
+					border-radius: 50%;
+
+					image {
+						width: 117rpx;
+						height: 117rpx;
+						border-radius: 50%;
+					}
+				}
+
+				.info {
+					margin-left: 16rpx;
+
+					.info-header {
+						display: flex;
+						align-items: center;
+
+						.name {
+							font-size: 32rpx;
+							color: #333333;
+						}
+
+						.distance {
+							margin-left: 25rpx;
+							font-size: 28rpx;
+							color: #303133;
+						}
+
+						.location-icon {
+							margin-left: 10rpx;
+							width: 20rpx;
+							height: 26rpx;
+
+							image {
+								width: 20rpx;
+								height: 26rpx;
+								display: inline;
+							}
+						}
+					}
+
+					.address {
+						font-size: 26rpx;
+						color: #333333;
+						margin-top: 33rpx;
+					}
+				}
+			}
+
+			.box-right {
+				.img {
+					height: 107rpx;
+
+					image {
+						width: 107rpx;
+						height: 107rpx;
+					}
+				}
+
+				.called {
+					margin-right: 16rpx;
+					height: 107rpx;
+					line-height: 107rpx;
+					font-size: 28rpx;
+					color: #CB131C;
+				}
+			}
+		}
+	}
+
+	.popup_row {
+		// margin-top: 108rpx;
+		height: 440rpx;
+		border-radius: 25rpx;
+		width: 100%;
+		padding: 24rpx;
+		background-color: #f8f8f8;
+		z-index: 999;
+
+		.title {
+			border-bottom: 2rpx solid #F2F2F2;
+			color: #E63931;
+			font-size: 32rpx;
+			padding-left: 4rpx;
+			padding-bottom: 16rpx;
+			display: flex;
+			justify-content: space-between;
+
+			// align-items: center;
+			.cancel {
+				margin-left: 52rpx;
+				width: 36rpx;
+				height: 36rpx;
+
+				image {
+					width: 36rpx;
+					height: 36rpx;
+				}
+			}
+		}
+
+		.inpBox {
+			margin-top: 52rpx;
+			border: 2px solid #f2f2f2;
+			padding: 12rpx 24rpx;
+			color: #FF9797;
+			border-radius: 8rpx;
+
+			.input-placeholder {
+				// height: 70rpx;
+				font-size: 32rpx;
+				color: #FF9797;
+			}
+		}
+
+		.inpedit {
+			margin-top: 24rpx;
+			margin-left: 14rpx;
+			font-size: 28rpx;
+			color: #FF9797;
+		}
+
+		.comfirm {
+			display: flex;
+			justify-content: flex-end;
+			margin-top: 54rpx;
+
+			.comfirm1 {
+				padding: 12rpx 24rpx;
+				border-radius: 12rpx;
+				color: #FFFFFF;
+				background-color: #E63931;
+			}
+		}
+	}
+
+	/* #endif */
 </style>

+ 24 - 1
pages/category/category.vue

@@ -61,6 +61,8 @@
 </template>
 
 <script>
+	import { mapState, mapMutations } from 'vuex';
+	import { saveUrl, interceptor } from '@/utils/loginUtils.js';
 import { mechanism } from '@/api/ask.js';
 import { getNumber } from '@/api/index.js';
 import pickerAddress from '@/components/wangding-pickerAddress/wangding-pickerAddress.vue';
@@ -70,7 +72,9 @@ export default {
 	components: {
 		pickerAddress
 	},
-	computed: {},
+	computed: {
+		...mapState('user', ['userInfo', 'baseURL', 'hasLogin']),
+	},
 	data() {
 		return {
 			longitude: '',
@@ -107,6 +111,25 @@ export default {
 	},
 
 	onShow() {
+		saveUrl();
+		if (!this.hasLogin) {
+			// 登录拦截
+			// interceptor();
+			uni.showModal({
+				title: '登录',
+				content: '您未登录,是否马上登陆?',
+				success: e => {
+					if (e.confirm) {
+						interceptor();
+					}
+				},
+				fail: e => {
+					console.log(e);
+				}
+			});
+		} else {
+			// this.loadData();
+		}
 		this.loadData();
 	},
 	watch: {

+ 27 - 2
pages/form/applicationForm.vue

@@ -99,7 +99,9 @@
 	</view>
 </template>
 
-<script>
+<script>
+import { mapState, mapMutations } from 'vuex';
+import { saveUrl, interceptor } from '@/utils/loginUtils.js';
 import { joinSecc } from '@/api/index.js';
 import { upload } from '@/api/ask.js';
 export default {
@@ -145,13 +147,36 @@ export default {
 			n_tel: ''
 		};
 	},
-	computed: {
+	computed: {
+		...mapState('user', ['userInfo', 'baseURL', 'hasLogin']),
 		startDate() {
 			return this.getDate('start');
 		},
 		endDate() {
 			return this.getDate('end');
 		}
+	},
+	onShow() {
+		saveUrl();
+		// let token = uni.getStorageSync('token');
+		if (!this.hasLogin) {
+			// 登录拦截
+			// interceptor();
+			uni.showModal({
+				title: '登录',
+				content: '您未登录,是否马上登陆?',
+				success: e => {
+					if (e.confirm) {
+						interceptor();
+					}
+				},
+				fail: e => {
+					console.log(e);
+				}
+			});
+		} else {
+			// this.loadData();
+		}
 	},
 	methods: {
 		async join() {

+ 1 - 1
pages/form/donaSuccess.vue

@@ -126,7 +126,7 @@ export default {
 		context.fillText('鄂州市红十字会', 450 * obj.ratio, 900 * obj.ratio);
 		let time = new Date()
 		let Y = time.getFullYear()
-		let M = (time.getMonth() + 1 > 10 )? (time.getMonth() + 1 ):( '0'+(time.getMonth() + 1))
+		let M = (time.getMonth() + 1 > 9 )? (time.getMonth() + 1 ):( '0'+(time.getMonth() + 1))
 		let D = time.getDate() > 10 ? time.getDate() : '0' + time.getDate()
 		context.fillText(Y+'-'+M+'-'+D, 450 * obj.ratio, 940 * obj.ratio);
 		// 插入二维码

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 950 - 743
pages/index/index.vue


BIN
unpackage/dist/build/h5/ez-10-7-end.rar


+ 2 - 0
unpackage/dist/build/h5/index.html

@@ -0,0 +1,2 @@
+<!DOCTYPE html><html lang=zh-CN><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><title>鄂州市红十字会</title><script>var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') || CSS.supports('top: constant(a)'))
+            document.write('<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' + (coverSupport ? ', viewport-fit=cover' : '') + '" />')</script><link rel=stylesheet href=/index/static/index.f4fc78fe.css></head><body><noscript><strong>Please enable JavaScript to continue.</strong></noscript><div id=app></div><script src=/index/static/js/chunk-vendors.d847b7ca.js></script><script src=/index/static/js/index.29cc9184.js></script></body></html>

BIN
unpackage/dist/build/h5/static/.DS_Store


BIN
unpackage/dist/build/h5/static/audio/.DS_Store


BIN
unpackage/dist/build/h5/static/audio/xx.mp3


BIN
unpackage/dist/build/h5/static/audio/xx111.mp3


+ 443 - 0
unpackage/dist/build/h5/static/css/cmy.css

@@ -0,0 +1,443 @@
+/*初始化类*/
+@font-face {
+	font-family: 'iconfont';
+	/* project id 1482221 */
+	src: url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.eot');
+	src: url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.eot?#iefix') format('embedded-opentype'),
+		url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.woff2') format('woff2'),
+		url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.woff') format('woff'),
+		url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.ttf') format('truetype'),
+		url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.svg#iconfont') format('svg');
+}
+
+.iconfont {
+	font-family: "iconfont" !important;
+	font-size: 34rpx;
+	font-style: normal;
+	-webkit-font-smoothing: antialiased;
+	-webkit-text-stroke-width: 0rpx;
+	-moz-osx-font-smoothing: grayscale;
+}
+
+.iconedit:before {
+	content: "\e649";
+}
+
+.iconfavorfill:before {
+	content: "\e64b";
+}
+
+.iconfavor:before {
+	content: "\e64c";
+}
+
+.iconlocation:before {
+	content: "\e651";
+}
+
+.iconroundcheckfill:before {
+	content: "\e656";
+}
+
+.iconroundcheck:before {
+	content: "\e657";
+}
+
+.iconunfold:before {
+	content: "\e661";
+}
+
+.iconlikefill:before {
+	content: "\e668";
+}
+
+.iconlike:before {
+	content: "\e669";
+}
+
+.iconshop:before {
+	content: "\e676";
+}
+
+.iconcart:before {
+	content: "\e6af";
+}
+
+.icondelete:before {
+	content: "\e6b4";
+}
+
+.iconhome:before {
+	content: "\e6b8";
+}
+
+.iconcartfill:before {
+	content: "\e6b9";
+}
+
+.iconhomefill:before {
+	content: "\e6bb";
+}
+
+.iconlock:before {
+	content: "\e6c0";
+}
+
+.iconfriendadd:before {
+	content: "\e6ca";
+}
+
+.iconfold:before {
+	content: "\e6de";
+}
+
+.iconapps:before {
+	content: "\e729";
+}
+
+.iconadd:before {
+	content: "\e767";
+}
+
+.iconmove:before {
+	content: "\e768";
+}
+
+.icontriangledownfill:before {
+	content: "\e79b";
+}
+
+.icontriangleupfill:before {
+	content: "\e79c";
+}
+
+.iconshaixuan:before {
+	content: "\e74a";
+}
+
+.iconyanzhengma:before {
+	content: "\e684";
+}
+
+.iconjifen:before {
+	content: "\e60f";
+}
+
+.iconwuliuxinxi:before {
+	content: "\e62b";
+}
+
+.iconmessage:before {
+	content: "\e78a";
+}
+
+.iconsetting:before {
+	content: "\e78e";
+}
+
+.iconaddition:before {
+	content: "\e6e0";
+}
+
+.iconclose:before {
+	content: "\e6e9";
+}
+
+.iconenter:after {
+	content: "\e6f8";
+}
+
+.iconprompt:before {
+	content: "\e71b";
+}
+
+.iconreturn:before {
+	content: "\e720";
+}
+
+.iconsearch:before {
+	content: "\e741";
+}
+
+.iconpengyouquan:before {
+	content: "\e62c";
+}
+
+.iconweixin:before {
+	content: "\e60e";
+}
+
+.iconzhifubao:before {
+	content: "\e673";
+}
+
+.iconyue:before {
+	content: "\e618";
+}
+
+.iconweixin1:before {
+	content: "\e622";
+}
+
+.iconlock1:before {
+	content: "\e64d";
+}
+
+.iconuser:before {
+	content: "\e64e";
+}
+
+.iconchenggongtixianshouyi:before {
+	content: "\e64f";
+}
+
+.iconviptuiguangdingdan:before {
+	content: "\e650";
+}
+
+.icondaifukuan:before {
+	content: "\e652";
+}
+
+.icondaijiesuanshouyi:before {
+	content: "\e653";
+}
+
+.icondaidakuanshouyi:before {
+	content: "\e654";
+}
+
+.icondaifahuo:before {
+	content: "\e655";
+}
+
+.icondaishouhuoshouyi:before {
+	content: "\e658";
+}
+
+.icondaishouhuo:before {
+	content: "\e659";
+}
+
+.iconwuxiaoshouyi:before {
+	content: "\e65a";
+}
+
+.icontixianmingxi:before {
+	content: "\e65b";
+}
+
+.iconshouyi:before {
+	content: "\e65c";
+}
+
+.iconkouchutixianshouxufei:before {
+	content: "\e65d";
+}
+
+.iconyishenqingshouyi:before {
+	content: "\e65e";
+}
+
+.icontuihuanhuo:before {
+	content: "\e65f";
+}
+
+
+/*水平线*/
+.hr {
+	width: 100%;
+	position: relative;
+	border-bottom: 1px solid #dddddd;
+	/* height: 0.5rpx; */
+}
+
+/* 一行显示 */
+.clamp {
+	overflow: hidden;
+	text-overflow: ellipsis;
+	white-space: nowrap;
+	display: block;
+}
+/* 二行显示 */
+.ellipsis{
+	overflow:hidden; 
+	text-overflow:ellipsis;
+	display:-webkit-box; 
+	-webkit-box-orient:vertical;
+	-webkit-line-clamp:2;
+}
+.common-hover {
+	background: #f5f5f5;
+}
+
+/* 角标 */
+.corner{
+	background-color:#e51c23;
+	position: absolute;
+	right: -18rpx;
+	top: -18rpx;
+	color:#FFFFFF;
+	text-align: center;
+	border-radius: 999px;
+	font-size: 24rpx !important;
+	min-width: 35rpx;
+	min-height: 35rpx;
+	display: flex;
+	align-items: center;
+	justify-content: center;
+	line-height: 1;
+}
+/*文字对齐*/
+.text-left {
+	text-align: left !important;
+}
+
+.text-center {
+	text-align: center !important;
+}
+
+.text-justify {
+	text-align: justify !important;
+}
+
+.text-right {
+	text-align: right !important;
+}
+
+.text-default {
+	color: #212121 !important;
+}
+
+.text-white {
+	color: #ffffff !important;
+}
+
+.text-primary {
+	color: #00bcd4 !important;
+}
+
+.text-success {
+	color: #009688 !important;
+}
+
+.text-info {
+	color: #03a9f4 !important;
+}
+
+.text-warning {
+	color: #ffc107 !important;
+}
+
+.text-danger {
+	color: #e51c23 !important;
+}
+
+.text-pink {
+	color: #e91e63 !important;
+}
+
+.text-purple {
+	color: #673ab7 !important;
+}
+
+.text-indigo {
+	color: #3f51b5 !important;
+}
+
+.text-gray {
+	color: #999999 !important;
+}
+
+.bg-default {
+	background-color: #f5f5f5 !important;
+}
+
+.bg-primary {
+	background-color: #00bcd4 !important;
+}
+
+.bg-success {
+	background-color: #009688 !important;
+}
+
+.bg-info {
+	background-color: #03a9f4 !important;
+}
+
+.bg-warning {
+	background-color: #f1c40f !important;
+}
+
+.bg-danger {
+	background-color: #e51c23 !important;
+}
+
+.bg-pink {
+	background-color: #e91e63 !important;
+}
+
+.bg-purple {
+	background-color: #673ab7 !important;
+}
+
+.bg-indigo {
+	background-color: #3f51b5 !important;
+}
+
+.bg-white {
+	background-color: white !important;
+}
+
+.bg-gray {
+	background-color: #e3e3e3 !important;
+}
+
+/* 边框 */
+.border-radius-15 {
+	border-radius: 15rpx;
+}
+
+.border-radius-10 {
+	border-radius: 10rpx;
+}
+
+.border-radius-all {
+	border-radius: 1000rpx;
+}
+
+/* 底部边线 */
+.borde-b {
+	border-bottom: 1px solid #dddddd;
+}
+
+/* 弹性盒子 */
+.flex {
+	display: flex;
+	align-items: center;
+	justify-content: space-between;
+}
+.flex_item {
+	display: flex;
+	align-items: center;
+	/* justify-content: space-between; */
+}
+.items-left {
+	justify-content: flex-start;
+}
+
+.items-right {
+	justify-content: flex-end;
+}
+
+.flex-shrink-false {
+	flex-shrink: 0;
+}
+
+.flex-grow-true {
+	flex-grow: 1;
+}
+
+.position-relative {
+	position: relative;
+}

BIN
unpackage/dist/build/h5/static/icon/.DS_Store


BIN
unpackage/dist/build/h5/static/icon/bankpay.png


BIN
unpackage/dist/build/h5/static/icon/call.png


BIN
unpackage/dist/build/h5/static/icon/cancel.png


BIN
unpackage/dist/build/h5/static/icon/choose.png


BIN
unpackage/dist/build/h5/static/icon/erweima.jpg


BIN
unpackage/dist/build/h5/static/icon/icon-05.png


BIN
unpackage/dist/build/h5/static/icon/icon-06.png


BIN
unpackage/dist/build/h5/static/icon/icon-07.png


BIN
unpackage/dist/build/h5/static/icon/icon-08.png


BIN
unpackage/dist/build/h5/static/icon/icon1.png


BIN
unpackage/dist/build/h5/static/icon/icon2.png


BIN
unpackage/dist/build/h5/static/icon/icon3.png


BIN
unpackage/dist/build/h5/static/icon/icon4.png


BIN
unpackage/dist/build/h5/static/icon/joinSuc.png


BIN
unpackage/dist/build/h5/static/icon/love1.png


BIN
unpackage/dist/build/h5/static/icon/love2.png


BIN
unpackage/dist/build/h5/static/icon/love3.png


BIN
unpackage/dist/build/h5/static/icon/moreRight.png


BIN
unpackage/dist/build/h5/static/icon/next.png


BIN
unpackage/dist/build/h5/static/icon/redbgi.png


BIN
unpackage/dist/build/h5/static/icon/veo.png


BIN
unpackage/dist/build/h5/static/icon/weixinpay.png


BIN
unpackage/dist/build/h5/static/images/.DS_Store


BIN
unpackage/dist/build/h5/static/images/bankcard.png


BIN
unpackage/dist/build/h5/static/images/bgi.png


BIN
unpackage/dist/build/h5/static/images/bgi1.png


BIN
unpackage/dist/build/h5/static/images/bgi2.png


BIN
unpackage/dist/build/h5/static/images/bgitop.png


BIN
unpackage/dist/build/h5/static/images/clone.png


BIN
unpackage/dist/build/h5/static/images/erweima.jpg


BIN
unpackage/dist/build/h5/static/images/goods.png


BIN
unpackage/dist/build/h5/static/images/img01.png


BIN
unpackage/dist/build/h5/static/images/left.png


BIN
unpackage/dist/build/h5/static/images/money.png


BIN
unpackage/dist/build/h5/static/images/right.png


BIN
unpackage/dist/build/h5/static/images/upload.png


BIN
unpackage/dist/build/h5/static/images/wechat.png


BIN
unpackage/dist/build/h5/static/img/.DS_Store


BIN
unpackage/dist/build/h5/static/img/002.1489a776.png


BIN
unpackage/dist/build/h5/static/img/002.png


BIN
unpackage/dist/build/h5/static/img/HLA.7463ca3a.webp


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 64 - 0
unpackage/dist/build/h5/static/img/HLA.htm


BIN
unpackage/dist/build/h5/static/img/HLA.webp


BIN
unpackage/dist/build/h5/static/img/WechatIMG168.png


BIN
unpackage/dist/build/h5/static/img/ack.fe5c6ec8.png


BIN
unpackage/dist/build/h5/static/img/ack.png


BIN
unpackage/dist/build/h5/static/img/activity.5adbaff8.png


BIN
unpackage/dist/build/h5/static/img/activity.png


BIN
unpackage/dist/build/h5/static/img/add.png


BIN
unpackage/dist/build/h5/static/img/application.png


BIN
unpackage/dist/build/h5/static/img/banner.png


BIN
unpackage/dist/build/h5/static/img/bgi2.33a99f03.png


BIN
unpackage/dist/build/h5/static/img/bgitop.efff07b0.png


BIN
unpackage/dist/build/h5/static/img/call.354445ca.png


BIN
unpackage/dist/build/h5/static/img/cancel.png


BIN
unpackage/dist/build/h5/static/img/cancel1.png


BIN
unpackage/dist/build/h5/static/img/celldonation.png


BIN
unpackage/dist/build/h5/static/img/crosss.png


BIN
unpackage/dist/build/h5/static/img/crosss01.png


BIN
unpackage/dist/build/h5/static/img/donation.png


BIN
unpackage/dist/build/h5/static/img/erweima.0c82f630.jpg


BIN
unpackage/dist/build/h5/static/img/forbid.png


BIN
unpackage/dist/build/h5/static/img/graduation.jpg


BIN
unpackage/dist/build/h5/static/img/graduation.png


BIN
unpackage/dist/build/h5/static/img/graduationB.jpg


BIN
unpackage/dist/build/h5/static/img/home.png


BIN
unpackage/dist/build/h5/static/img/icon.png


BIN
unpackage/dist/build/h5/static/img/icon1.18ee3662.png


BIN
unpackage/dist/build/h5/static/img/icon2.4664c71d.png


BIN
unpackage/dist/build/h5/static/img/icon3.86a7ceb4.png


BIN
unpackage/dist/build/h5/static/img/icon4.9b4109a1.png


BIN
unpackage/dist/build/h5/static/img/img01.png


BIN
unpackage/dist/build/h5/static/img/img014.png


BIN
unpackage/dist/build/h5/static/img/img02.png


BIN
unpackage/dist/build/h5/static/img/img03.b0298bca.webp


BIN
unpackage/dist/build/h5/static/img/img03.jpg


BIN
unpackage/dist/build/h5/static/img/img03.webp


BIN
unpackage/dist/build/h5/static/img/img04.f3fc03ee.webp


BIN
unpackage/dist/build/h5/static/img/img04.webp


BIN
unpackage/dist/build/h5/static/img/img05.e3d7e190.webp


BIN
unpackage/dist/build/h5/static/img/img05.webp


BIN
unpackage/dist/build/h5/static/img/img06.c1990f93.webp


Vissa filer visades inte eftersom för många filer har ändrats