lhl 2 年之前
父节点
当前提交
0438a34ea2
共有 55 个文件被更改,包括 3945 次插入921 次删除
  1. 2 2
      manifest.json
  2. 517 486
      pages.json
  3. 192 69
      pages/applic/aed.vue
  4. 120 45
      pages/applic/aid.vue
  5. 30 18
      pages/applic/contribution.vue
  6. 92 65
      pages/applic/info.vue
  7. 2 2
      pages/applic/love.vue
  8. 3 3
      pages/applic/science.vue
  9. 2 2
      pages/applic/toknowledge.vue
  10. 68 0
      pages/cart/bxb.vue
  11. 758 0
      pages/cart/hyjj.vue
  12. 61 0
      pages/cart/jxdetail.vue
  13. 70 0
      pages/cart/xxb.vue
  14. 2 2
      pages/donate/donate.vue
  15. 2 2
      pages/donate/donateDetail.vue
  16. 1 1
      pages/donate/idonate.vue
  17. 83 9
      pages/form/applicationForm.vue
  18. 1 1
      pages/form/donaSuccess.vue
  19. 342 5
      pages/form/tovolApply.vue
  20. 74 24
      pages/index/index.vue
  21. 1338 0
      pages/index/transfer.vue
  22. 181 181
      pages/redirect/redirect.vue
  23. 二进制
      static/audio/bg-music.mp3
  24. 二进制
      static/icon/dingwei.png
  25. 二进制
      static/images/goods.jpg
  26. 二进制
      static/images/money.jpg
  27. 二进制
      static/img/index/axjk.png
  28. 二进制
      static/img/index/hyfw.png
  29. 二进制
      static/img/index/jzfw.png
  30. 二进制
      static/img/index/jzsb.png
  31. 二进制
      static/img/index/zyfw.png
  32. 二进制
      static/img/index/zyjx.png
  33. 二进制
      static/img/jiuzai.png
  34. 二进制
      static/img/tool/axjk.png
  35. 二进制
      static/img/tool/axjw.png
  36. 二进制
      static/img/tool/bg1.png
  37. 二进制
      static/img/tool/bg2.png
  38. 二进制
      static/img/tool/bxb-bg-1.png
  39. 二进制
      static/img/tool/bxb-bg.png
  40. 二进制
      static/img/tool/etbxb.png
  41. 二进制
      static/img/tool/etxxb.png
  42. 二进制
      static/img/tool/hyjj.png
  43. 二进制
      static/img/tool/hyzc.png
  44. 二进制
      static/img/tool/jhyzm.png
  45. 二进制
      static/img/tool/pjpxbm.png
  46. 二进制
      static/img/tool/wcxx.png
  47. 二进制
      static/img/tool/wyjz.png
  48. 二进制
      static/img/tool/xmjz.png
  49. 二进制
      static/img/tool/xxb-bg-1.png
  50. 二进制
      static/img/tool/xxb-bg.png
  51. 二进制
      static/img/tool/ytqgjx.png
  52. 二进制
      static/img/tool/zxgxbjx.png
  53. 二进制
      static/tabBar/redkp-action.png
  54. 二进制
      static/tabBar/redpk.png
  55. 4 4
      store/index.js

+ 2 - 2
manifest.json

@@ -80,7 +80,7 @@
     },
     "h5" : {
         "title" : "荆州市红十字会",
-        "domain" : "red.liuniu946.com",
+        "domain" : "dmin.jzrc.org.cn",
         "router" : {
             "mode" : "hash",
             "base" : "/index/"
@@ -88,7 +88,7 @@
         "devServer" : {
             "proxy" : {
                 "/api" : {
-                    "target" : "http://red.liuniu946.com", //请求的目标域名
+                    "target" : "http://admin.jzrc.org.cn", //请求的目标域名
                     "changeOrigin" : true,
                     "secure" : false,
                     "pathRewrite" : {}

文件差异内容过多而无法显示
+ 517 - 486
pages.json


+ 192 - 69
pages/applic/aed.vue

@@ -1,19 +1,35 @@
 <template>
 	<view class="content">
+		<view class="" style="height: 20rpx;"></view>
+		<!-- map  -->
 		<view class="map">
-			<map @updated='mapChange' ref='map_1' style="width:750rpx;" :style="{'height': height}"
-				:latitude="latitude" :longitude="longitude" :markers="marker" @markertap="lookmore"></map>
+			<map @updated='mapChange' ref='map_1' class="map-map" 
+				:latitude="baseLat" :longitude="baseLng" :markers="marker" @markertap="lookmore" ></map>
 		</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 class="" style="height: 20rpx;"></view>
+		<!-- 列表 -->
+		<scroll-view scroll-y="true" :style="{'height':height}" class="aed-list" @scrolltolower="loadData()">
+			<espempty v-if="(loaded && AEDList.length == 0)"></espempty>
+			<view class="aed-item flex" v-for="(item,mindex) in AEDList" @click="listlookmore(item,mindex)">
+				<view class="item-left">
+					<view class="clamp">
+						{{item.name}}
+					</view>
+					<view class="clamp aed-address">
+						地址:{{item.address}}
+					</view>
+				</view>
+				<view class="item-right flex">
+					<image src="../../static/icon/dingwei.png" mode=""></image>
+					<view class="">
+						{{item.range}}KM
+					</view>
 				</view>
 			</view>
-		</uni-popup>
-		<uni-popup ref="aedxq" type="bottom" @click="closeAedXq">
+			<uni-load-more :status="loadingType" v-if="!(loaded && AEDList.length == 0)"></uni-load-more>
+		</scroll-view>
+		<!-- aed详情 -->
+		<uni-popup ref="popupinfo" type="bottom" >
 			<view class="aedxq-wrap">
 				<view class="xq-top">
 					<view class="aed-name">
@@ -32,34 +48,31 @@
 				<view class="xq-img-wrap">
 					<scroll-view scroll-x="true" class="aed-img-scroll">
 						<view class="" style="display: flex;flex-wrap: nowrap;">
-							<image :src="'http://red.frp.liuniu946.com'+item" mode="heightFix"
-								v-for="item in showAed.imgs" class="aed-img" @click="openimg(item)"></image>
+							<image :src="baseURL + item" mode="heightFix" v-for="item in showAed.imgs"
+								class="aed-img" @click="openimg(item)" :key="item"></image>
 						</view>
 					</scroll-view>
-					<view class="aed-phone" @click="makecall(showAed.phone)">
-						电话
-					</view>
 				</view>
 				<view class="aed-dh" @click="opendh">
 					导航
 				</view>
 			</view>
 		</uni-popup>
-		<uni-popup ref="lookimg" type="center">
-			<view class="pop-wrap" style="position: relative;">
-				<movable-area class="popup-box">
-					<movable-view class="popup-item" :scale="true" direction="all">
-						<image :src="chooseImg" mode="widthFix"></image>
-					</movable-view>
-				</movable-area>
-				<image src="../../static/icon/close.png" mode="" class="close" style="width: 80rpx;height: 80rpx;"
-					@click="closePup"></image>
+		<!-- 导航选择层 -->
+		<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 empty from '@/components/empty';
 	import {
 		mapState,
 		mapMutations
@@ -74,11 +87,14 @@
 		components: {
 			uniPopup,
 			espempty,
-			uniLoadMore
+			uniLoadMore,
+			empty
 		},
 		//相关配置参数
 		data() {
 			return {
+				baseLng: '',//地图中心经度
+				baseLat: '',//地图中心纬度
 				aedmarker: [],
 				loaded: false,
 				loadingType: 'more',
@@ -102,6 +118,9 @@
 					phone: ''
 				},
 				chooseImg: '',
+				mapid: 1,
+				isShow: false,
+				befoId: 0,
 			}
 		},
 		onReady(res) {
@@ -109,7 +128,7 @@
 			uni.getSystemInfo({
 				success: resu => {
 					const query = uni.createSelectorQuery();
-					query.select('.map').boundingClientRect();
+					query.select('.aed-list').boundingClientRect();
 					query.exec(function(res) {
 						console.log(res, 'ddddddddddddd');
 						_this.height = resu.windowHeight - res[0].top + 'px';
@@ -133,7 +152,6 @@
 			// 导航
 			opendh() {
 				console.log('导航')
-				this.$refs.aedxq.close()
 				this.$refs.popup.open();
 			},
 			// 关闭图片弹窗
@@ -141,9 +159,19 @@
 				this.$refs.lookimg.close()
 			},
 			// 打开图片弹窗
-			openimg(src) {
+			openimg(src,srcList) {
+				let obj = this
 				this.chooseImg = this.baseURL + src
-				this.$refs.lookimg.open()
+				
+				console.log('chooseImg', this.chooseImg)
+				// this.$refs.lookimg.open()
+				let arr = obj.showAed.imgs.map(item => {
+					return obj.baseURL + item
+				})
+				uni.previewImage({
+					current: this.chooseImg,
+					urls: arr
+				})
 			},
 			// 拨打电话
 			makecall(num) {
@@ -155,26 +183,55 @@
 			closeAedXq() {
 				this.$refs.aedxq.close()
 			},
+			listlookmore(e,index) {
+				let obj = this
+				if(obj.befoId !=0) {
+					obj.marker[obj.befoId].iconPath = '/static/icon/aed-na.png'
+				}
+				
+				obj.befoId = index*1 +1
+				let aedobj = e
+				console.log(aedobj.name,'aedobj++++')
+				obj.showAed = {
+					name: aedobj.name,
+					address: aedobj.address,
+					addressxq: aedobj.install_address,
+					dis: aedobj.range*1 >= 1 ? (aedobj.range + 'km') : (aedobj.distance + 'm'),
+					lat: aedobj.latitude,
+					lon: aedobj.longitude,
+					imgs: aedobj.images.split(','),
+					phone: aedobj.phone
+				}
+				obj.baseLat = aedobj.latitude
+				obj.baseLng = aedobj.longitude
+				obj.marker[index*1 + 1].iconPath = '/static/icon/aed-a.png'
+				console.log(obj.showAed.name,'obj.showAed')
+				// obj.isShow = true
+				obj.$refs.popupinfo.open()
+			},
 			// 打开aed详情
-			lookmore(e) {
-				console.log(e)
+			lookmore(e,from) {
+				console.log(e.id,'lookmore++++++++++++')
 				let obj = this
-				obj.AEDList.forEach(item => {
-					if (item.id == e.detail.markerId) {
-						obj.showAed = {
-							name: item.name,
-							address: item.address,
-							addressxq: item.install_address,
-							dis: item.range >= 1 ? (item.range + 'km') : (item.distance + 'm'),
-							lat: item.latitude,
-							lon: item.longitude,
-							imgs: item.images.split(','),
-							phone: item.phone
-						}
-						// break
-					}
-				})
-				this.$refs.aedxq.open()
+				if(obj.befoId != 0) {
+					obj.marker[obj.befoId].iconPath = '/static/icon/aed-na.png'
+				}
+				obj.befoId = e.detail.markerId * 1
+				let aedobj = obj.AEDList[e.detail.markerId * 1 - 1]
+				console.log(aedobj,'aedobj')
+				obj.showAed = {
+					name: aedobj.name,
+					address: aedobj.address,
+					addressxq: aedobj.install_address,
+					dis: aedobj.range*1 >= 1 ? (aedobj.range + 'km') : (aedobj.distance + 'm'),
+					lat: aedobj.latitude,
+					lon: aedobj.longitude,
+					imgs: aedobj.images.split(','),
+					phone: aedobj.phone
+				}
+				obj.marker[e.detail.markerId].iconPath = '/static/icon/aed-a.png'
+				// obj.isShow = true
+				obj.$refs.popupinfo.open()
 			},
 			// 获取本地坐标
 			getLocal() {
@@ -189,8 +246,8 @@
 							type: 'gcj02',
 							success(e) {
 								console.log(e)
-								obj.latitude = Math.abs(e.latitude)
-								obj.longitude = Math.abs(e.longitude)
+								obj.baseLat =  obj.latitude = Math.abs(e.latitude)
+								obj.baseLng =  obj.longitude = Math.abs(e.longitude)
 								console.log('本地坐标', obj.latitude, obj.longitude)
 								let item = {
 									id: 0,
@@ -213,8 +270,8 @@
 						type: 'gcj02',
 						success(e) {
 							console.log(e)
-							obj.latitude = Math.abs(e.latitude)
-							obj.longitude = Math.abs(e.longitude)
+							obj.baseLat =  obj.latitude = Math.abs(e.latitude)
+							obj.baseLng =  obj.longitude = Math.abs(e.longitude)
 							console.log('本地坐标', obj.latitude, obj.longitude)
 							let item = {
 								id: 0,
@@ -253,24 +310,36 @@
 					limit: obj.limit,
 				}).then(({
 					data
-				}) => {
+				}) => {		
 					console.log(data, 'aed++++++++++++++')
 					obj.AEDList = obj.AEDList.concat(data);
 					let arr = data.map(item => ({
 						latitude: item.latitude,
 						longitude: item.longitude,
-						iconPath: '/static/img/img014.png',
+						iconPath: '/static/icon/aed-na.png',
 						width: '35',
 						height: '35',
-						id: item.id,
+						id: obj.mapid++,
 						address: item.address
 					}));
+					obj.marker = obj.marker.concat(arr)
+					console.log(obj.page,'obj.page++++++')
+					if(obj.page == 1) {
+						console.log('obj.lookmore+++++++++++++')
+						// obj.lookmore({
+						// 	detail: {
+						// 		markerId: 1
+						// 	}
+						// })
+					}
+					obj.page++
+					console.log('加入完成+++++++++++++')
 					if (data.length == obj.limit) {
 						obj.loadingType = 'more'
 					} else {
 						obj.loadingType = 'noMore'
 					}
-					obj.marker = obj.marker.concat(arr)
+					obj.loaded = true
 				})
 			},
 			// 调用高德
@@ -338,8 +407,16 @@
 	}
 
 	.map {
-		width: 100%;
-		height: 100%;
+		// width: 100%;
+		// height: 100%;
+		height: 780rpx;
+		border-radius: 20rpx;
+		.map-map {
+			width: 689rpx;
+			height: 780rpx;
+			border-radius: 20rpx;
+			margin: auto;
+		}
 	}
 
 	/* #ifdef H5 */
@@ -600,6 +677,12 @@
 	}
 
 	.aedxq-wrap {
+	
+	
+		position: fixed;
+		bottom: 0;
+		left: 0;
+		right: 0;
 		margin: auto;
 		width: 710rpx;
 		min-height: 400rpx;
@@ -607,42 +690,42 @@
 		padding: 0 25rpx;
 		background-color: rgba($color: #000000, $alpha: 0.9);
 		color: #fff;
-		position: relative;
-
+		// position: relative;
+	
 		.xq-top {
 			padding-top: 25rpx;
 			width: 660rpx;
 			min-height: 210rpx;
 			border-bottom: 1px solid #fff;
-
+	
 			.aed-name {
 				font-size: 28rpx;
 				width: 479rpx;
 			}
-
+	
 			.aed-dis {
 				padding-top: 10rpx;
 				font-size: 22rpx;
 				width: 479rpx;
 			}
 		}
-
+	
 		.xq-img-wrap {
 			height: 165rpx;
 			width: 660rpx;
 			display: flex;
 			align-items: center;
 			justify-content: space-between;
-
+	
 			.aed-img-scroll {
 				height: 107rpx;
-				width: 508rpx;
+				width: 620rpx;
 				// background-color: #bfa;
 				// display: flex;
 				// // justify-content: ;
 				// // flex-direction: column;
 				// flex-wrap: nowrap;
-
+	
 				.aed-img {
 					// display: inline-block;
 					height: 107rpx;
@@ -650,10 +733,10 @@
 					margin-right: 15rpx;
 					// background-color: red;
 					flex-shrink: 0;
-
+	
 				}
 			}
-
+	
 			.aed-phone {
 				width: 112rpx;
 				height: 52rpx;
@@ -662,10 +745,10 @@
 				border: 1px solid #fff;
 				border-radius: 10rpx;
 			}
-
+	
 			// background-color: red;
 		}
-
+	
 		.aed-dh {
 			width: 147rpx;
 			height: 82rpx;
@@ -718,4 +801,44 @@
 		right: 0;
 		margin: 0 auto;
 	}
+	.aed-list {
+		
+		
+		.aed-item {
+			width: 690rpx;
+			margin: auto;
+			justify-content: space-between;
+			align-items: center;
+			height: 100rpx;
+			border-bottom: 1px solid #F1F1F1;
+			.item-left {
+				width: 550rpx;
+				font-size: 28rpx;
+				font-weight: 500;
+				color: #333333;
+				.aed-address {
+					padding-top: 10rpx;
+					font-size: 20rpx;
+					font-weight: 500;
+					color: #999999;
+				}
+			}
+			.item-right {
+				width: 100rpx;
+				
+				flex-shrink: 0;
+				flex-direction: column;
+				justify-content: center;
+				align-items: center;
+				font-size: 20rpx;
+				font-weight: 500;
+				color: #999999;
+				image {
+					width: 28rpx;
+					height: 32rpx;
+					margin-bottom: 10rpx;
+				}
+			}
+		}
+	}
 </style>

+ 120 - 45
pages/applic/aid.vue

@@ -1,37 +1,34 @@
 <template>
 	<view class="content">
-		<view id="map" class="map">
-			<map @updated='mapChange' id="map_1" ref='map_1' style="width:750rpx;" :style="{'height': height}"
-				:latitude="latitude" :longitude="longitude" :markers="marker" @markertap="lookmore"></map>
+		<view class="" style="height: 20rpx;"></view>
+		<!-- map  -->
+		<view class="map">
+			<map @updated='mapChange' ref='map_1' class="map-map" 
+				:latitude="baseLat" :longitude="baseLng" :markers="marker" @markertap="lookmore" ></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.name }}</view>
-							<view class="addr">地址:{{ item.install_address }}</view>
-						</view>
+		<view class="" style="height: 20rpx;"></view>
+		<!-- 列表 -->
+		<scroll-view scroll-y="true" :style="{'height':height}" class="aed-list" @scrolltolower="loadData()">
+			<espempty v-if="(loaded && AEDList.length == 0)"></espempty>
+			<view class="aed-item flex" v-for="(item,mindex) in AEDList" @click="listlookmore(item,mindex)">
+				<view class="item-left">
+					<view class="clamp">
+						{{item.name}}
 					</view>
-					<view class="image">
-						<image src="../../static/img/img10.png"></image>
-						<view class="tip">{{item.distance >= 1000 ? item.range + 'km': item.distance + 'm'}}</view>
+					<view class="clamp aed-address">
+						地址:{{item.address}}
+					</view>
+				</view>
+				<view class="item-right flex">
+					<image src="../../static/icon/dingwei.png" mode=""></image>
+					<view class="">
+						{{item.range}}KM
 					</view>
-				</template>
-			</view>
-			<uni-load-more :status="loadingType"></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>
-		<uni-popup ref="aedxq" type="bottom" @click="closeAedXq">
+			<uni-load-more :status="loadingType" v-if="!(loaded && AEDList.length == 0)"></uni-load-more>
+		</scroll-view>
+		<uni-popup ref="aedxq" type="bottom">
 			<view class="aedxq-wrap">
 				<view class="logo-wrap flex">
 					<image :src="baseURL + showAed.imgs" mode="" class="logo"></image>
@@ -57,15 +54,13 @@
 				</view>
 			</view>
 		</uni-popup>
-		<uni-popup ref="lookimg" type="center">
-			<view class="pop-wrap" style="position: relative;">
-				<movable-area class="popup-box">
-					<movable-view class="popup-item" :scale="true" direction="all">
-						<image :src="chooseImg" mode="widthFix"></image>
-					</movable-view>
-				</movable-area>
-				<image src="../../static/icon/close.png" mode="" class="close" style="width: 80rpx;height: 80rpx;"
-					@click="closePup"></image>
+		<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>
@@ -92,6 +87,8 @@
 		//相关配置参数
 		data() {
 			return {
+				baseLng: '',//地图中心经度
+				baseLat: '',//地图中心纬度
 				aedmarker: [],
 				loaded: false,
 				loadingType: 'more',
@@ -115,6 +112,7 @@
 					phone: ''
 				},
 				chooseImg: '',
+				befoId: 0,
 			}
 		},
 		onReady(res) {
@@ -122,7 +120,7 @@
 			uni.getSystemInfo({
 				success: resu => {
 					const query = uni.createSelectorQuery();
-					query.select('.map').boundingClientRect();
+					query.select('.aed-list').boundingClientRect();
 					query.exec(function(res) {
 						console.log(res, 'ddddddddddddd');
 						_this.height = resu.windowHeight - res[0].top + 'px';
@@ -146,7 +144,7 @@
 			// 导航
 			opendh() {
 				console.log('导航')
-				this.$refs.aedxq.close()
+				// this.$refs.aedxq.close()
 				this.$refs.popup.open();
 			},
 			// 关闭图片弹窗
@@ -171,6 +169,9 @@
 			// 打开aed详情
 			lookmore(e) {
 				console.log(e)
+				if(e.detail.markerId == 0) {
+					return
+				}
 				let obj = this
 				obj.AEDList.forEach(item => {
 					if (item.id == e.detail.markerId) {
@@ -201,8 +202,8 @@
 							type: 'gcj02',
 							success(e) {
 								console.log(e)
-								obj.latitude = Math.abs(e.latitude)
-								obj.longitude = Math.abs(e.longitude)
+								obj.baseLat =  obj.latitude = Math.abs(e.latitude)
+								obj.baseLng =  obj.longitude = Math.abs(e.longitude)
 								console.log('本地坐标', obj.latitude, obj.longitude)
 								let item = {
 									id: 0,
@@ -225,8 +226,8 @@
 						type: 'gcj02',
 						success(e) {
 							console.log(e)
-							obj.latitude = Math.abs(e.latitude)
-							obj.longitude = Math.abs(e.longitude)
+							obj.baseLat =  obj.latitude = Math.abs(e.latitude)
+							obj.baseLng =  obj.longitude = Math.abs(e.longitude)
 							console.log('本地坐标', obj.latitude, obj.longitude)
 							let item = {
 								id: 0,
@@ -329,7 +330,33 @@
 					bd_lat: bd_lat,
 					bd_lng: bd_lng
 				};
-			}
+			},
+			listlookmore(e,index) {
+				let obj = this
+				if(obj.befoId != 0) {
+				obj.marker[obj.befoId].iconPath = '/static/img/img014.png'	
+				}
+				
+				obj.befoId = index*1 +1
+				let aedobj = e
+				console.log(aedobj.name,'aedobj++++')
+				obj.showAed = {
+					name: aedobj.name,
+					address: aedobj.address,
+					addressxq: aedobj.install_address,
+					dis: aedobj.range*1 >= 1 ? (aedobj.range + 'km') : (aedobj.distance + 'm'),
+					lat: aedobj.latitude,
+					lon: aedobj.longitude,
+					imgs: aedobj.image,
+					phone: aedobj.phone
+				}
+				obj.baseLat = aedobj.latitude
+				obj.baseLng = aedobj.longitude
+				obj.marker[index*1 + 1].iconPath = '/static/img/img014.png'
+				console.log(obj.showAed.name,'obj.showAed')
+				// obj.isShow = true
+				obj.$refs.aedxq.open()
+			},
 		}
 	}
 </script>
@@ -349,8 +376,16 @@
 	}
 
 	.map {
-		width: 100%;
-		height: 100%;
+		// width: 100%;
+		// height: 100%;
+		height: 780rpx;
+		border-radius: 20rpx;
+		.map-map {
+			width: 689rpx;
+			height: 780rpx;
+			border-radius: 20rpx;
+			margin: auto;
+		}
 	}
 
 	/* #ifdef H5 */
@@ -718,4 +753,44 @@
 		right: 0;
 		margin: 0 auto;
 	}
+	.aed-list {
+		
+		
+		.aed-item {
+			width: 690rpx;
+			margin: auto;
+			justify-content: space-between;
+			align-items: center;
+			height: 100rpx;
+			border-bottom: 1px solid #F1F1F1;
+			.item-left {
+				width: 550rpx;
+				font-size: 28rpx;
+				font-weight: 500;
+				color: #333333;
+				.aed-address {
+					padding-top: 10rpx;
+					font-size: 20rpx;
+					font-weight: 500;
+					color: #999999;
+				}
+			}
+			.item-right {
+				width: 100rpx;
+				
+				flex-shrink: 0;
+				flex-direction: column;
+				justify-content: center;
+				align-items: center;
+				font-size: 20rpx;
+				font-weight: 500;
+				color: #999999;
+				image {
+					width: 28rpx;
+					height: 32rpx;
+					margin-bottom: 10rpx;
+				}
+			}
+		}
+	}
 </style>

+ 30 - 18
pages/applic/contribution.vue

@@ -51,7 +51,7 @@
 				</view>
 
 				<view class="box-bottom">
-					个人满500,单位满2000可打印纸质证书
+					个人满2000,单位满5000可打印纸质证书
 				</view>
 			</view>
 
@@ -59,7 +59,7 @@
 		<!-- <view class="infoOptional">
 			信息(选填)
 		</view> -->
-		<view class="box">
+		<view class="box" v-if="public">
 			<view class="box-item">
 				<view class="box-left">
 					<view v-if="!is_show">
@@ -304,8 +304,17 @@
 				chosintention({}).then(({
 					data
 				}) => {
-					this.chooseDire = data.map(item => item.name)
-					this.chooseList = data
+					this.chooseDire = data.map(item => {
+						console.log(item.name,item.name.indexOf('红十字会'),'++++++++++++')
+						if(item.name.indexOf('红十字会') != -1) {
+							return item.name
+						}
+					})
+					this.chooseList = data.map(item => {
+						if(item.name.indexOf('红十字会') != -1) {
+							return item
+						}
+					})
 				}).catch()
 			},
 			// 选择捐赠意向
@@ -406,23 +415,26 @@
 					this.$api.msg('请输入捐款金额!');
 					return;
 				}
-				if (this.is_show) {
-					if (!obj.donate_er) {
-						this.$api.msg('请填写您的单位');
-						return;
+				if(this.public) {
+					if (this.is_show) {
+						if (!obj.donate_er) {
+							this.$api.msg('请填写您的单位');
+							return;
+						}
+					} else {
+						if (!obj.donate_er) {
+							this.$api.msg('请填写您的姓名');
+							return;
+						}
 					}
-				} else {
-					if (!obj.donate_er) {
-						this.$api.msg('请填写您的姓名');
+					
+					const reg = /^(\+?0?86-?)?1[\d]\d{9}$/;
+					if (!reg.test(obj.mobile)) {
+						obj.$api.msg('请填写正确的手机号码');
 						return;
 					}
 				}
-
-				const reg = /^(\+?0?86-?)?1[\d]\d{9}$/;
-				if (!reg.test(obj.mobile)) {
-					obj.$api.msg('请填写正确的手机号码');
-					return;
-				}
+				
 				if (this.is_receipts == '0') {
 					// obj.address = '用户未填写联系地址'
 					if (!obj.address) {
@@ -443,7 +455,7 @@
 				let updata = {
 					// category_id: obj.category_id, //捐款意向id
 					amount: obj.money, //捐款金额
-					name: obj.donate_er, //捐款人/单位
+					name: obj.donate_er || '佚名', //捐款人/单位
 					// contact: obj, //单位联系人(企业有效)
 					tel: obj.mobile, //手机号
 					address: obj.address, //联系地址

+ 92 - 65
pages/applic/info.vue

@@ -1,66 +1,93 @@
-<template>
-	<view class="container">
-	<view class="notice-item">
-		<jyf-parser :html="description" ref="article"></jyf-parser>
-	</view>
-	</view>
-</template>
-
-<script>
-	import { details , deconstructArticle } from '@/api/info.js';
-	import jyfParser from "@/components/jyf-parser/jyf-parser.vue";
-	export default{
-		components: {
-		   jyfParser
-		 },
-		data(){
-			return{
-				id:'',
-				list:"",
-				description:'',
-				type:0,
-				
-			}
-		},
-		onLoad(option) {
-			this.id = option.id;
-				this.loadData();
-		},
-		methods:{
-			loadData(){
-				let obj = this;
-			details({id: obj.id}).then(function(e) {
-				obj.list = e.data;
-				if(obj.list.content != null){
-					obj.description = obj.list.content.replace(/<img/g,"<img style='max-width:100%;height:auto;'");
-				}//小程序商品详情图超出屏幕问题
-			});
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-page {
-	min-height: 100%;
-	background:#FFFFFF;
-}
-.notice_name {
-	font-size: 35rpx !important;
-	color: #303133;
-	padding: 25rpx 25rpx 0rpx 25rpx;
-	margin-bottom: 25rpx;
-}
-.course-video{
-			width: 100%;
-			height: 500rpx;
-		}
-.notice-item {
-	width: 100%;
-	height: 100%;
-	color: #666666;
-	padding: 35rpx 35rpx;
-	font-size: 23rpx;
-	padding-bottom: 30rpx;
-}
+<template>
+	<view class="container">
+		<view class="notice-item">
+			<jyf-parser :html="description" ref="article"></jyf-parser>
+		</view>
+	</view>
+</template>
+
+<script>
+	import {
+		weixindata
+	} from '@/utils/wxAuthorized.js';
+	import {
+		details,
+		deconstructArticle
+	} from '@/api/info.js';
+	import jyfParser from "@/components/jyf-parser/jyf-parser.vue";
+	export default {
+		components: {
+			jyfParser
+		},
+		data() {
+			return {
+				id: '',
+				list: "",
+				description: '',
+				type: 0,
+
+			}
+		},
+		onLoad(option) {
+			this.id = option.id;
+			this.loadData();
+		},
+		methods: {
+			IndexShare() {
+
+			},
+			loadData() {
+				let obj = this;
+				details({
+					id: obj.id
+				}).then(function(e) {
+					obj.list = e.data;
+					if (obj.list.content != null) {
+						obj.description = obj.list.content.replace(/<img/g,
+							"<img style='max-width:100%;height:auto;'");
+					} //小程序商品详情图超出屏幕问题、
+					uni.setNavigationBarTitle({
+						title: obj.list.title
+					})
+					let item = {
+						link: obj.$store.state.baseURL + '/index/#/pages/applic/info?id=' + obj.id, // 分享链接
+						imgUrl: obj.$store.state.baseURL + '/index/static/img/002.png',
+						desc: obj.list.title,
+						title: '荆州市红十字会',
+						success: console.log('分享加载成功')
+					};
+					console.log('分享加', item);
+					weixindata(item);
+				});
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	page {
+		min-height: 100%;
+		background: #FFFFFF;
+	}
+
+	.notice_name {
+		font-size: 35rpx !important;
+		color: #303133;
+		padding: 25rpx 25rpx 0rpx 25rpx;
+		margin-bottom: 25rpx;
+	}
+
+	.course-video {
+		width: 100%;
+		height: 500rpx;
+	}
+
+	.notice-item {
+		width: 100%;
+		height: 100%;
+		color: #666666;
+		padding: 35rpx 35rpx;
+		font-size: 23rpx;
+		padding-bottom: 30rpx;
+	}
 </style>

+ 2 - 2
pages/applic/love.vue

@@ -15,12 +15,12 @@ export default {
 		return {
 			list: [
 				{
-					image: '/static/images/money.png',
+					image: '/static/images/money.jpg',
 					name: '爱心捐款',
 					src: '/pages/applic/contribution'
 				},
 				{
-					image: '/static/images/goods.png',
+					image: '/static/images/goods.jpg',
 					name: '其他捐款捐物渠道',
 					src: '/pages/applic/other'
 				}

+ 3 - 3
pages/applic/science.vue

@@ -12,7 +12,7 @@
 		</view>
 		<view class="list-box" v-for="(item,index) in science" :key='index' @click="Jump(item.id)">
 			<view class="box-left">
-				<image :src="$store.state.baseURL + item.image" mode="" class="left-img"></image>
+				<image :src="(item.image.indexOf('http') != -1 )? item.image: ($store.state.baseURL + item.image)" mode="" class="left-img"></image>
 			</view>
 			<view class="box-right">
 				<view class="right-top word1_ellipsis">
@@ -22,7 +22,7 @@
 					{{item.synopsis}}
 				</view>
 				<view class="right-foot">
-					已阅读人数:{{item.visit || 0}}
+					<!-- 已阅读人数:{{item.visit || 0}} -->
 				</view>
 			</view>
 		</view>
@@ -70,7 +70,7 @@
 			},
 			loadData(){
 				let obj = this;
-				getArticList({ifyid:62}).then(({ data }) => {
+				getArticList({ifyid:1}).then(({ data }) => {
 					console.log(data,123456);
 					obj.science = obj.science.concat(data.list);
 					console.log(obj.science,'999999999999999999')

+ 2 - 2
pages/applic/toknowledge.vue

@@ -44,7 +44,7 @@
 					<view class="name">怎样成为造血干细胞志愿捐献者??</view>
 				</view>
 				<view class="list-tpl">
-					您可与神农架林区红十字会联系,或在余姚市爱心献血屋(阳明西路桐江桥街心公园内)报名。到指定地点抽取6-8毫升血液,经HLA分型检验,把相关资料录入到中华骨髓库的数据库中,这样您就成为造血干细胞志愿捐献者了。
+					您可与荆州市红十字会联系报名。到指定地点抽取6-8毫升血液,经HLA分型检验,把相关资料录入到中华骨髓库的数据库中,这样您就成为造血干细胞志愿捐献者了。
 				</view>
 			</view>
 			<view class="list-item">
@@ -101,7 +101,7 @@
 			<view class="list-tips" style="color: #C53335;text-align: center;">
 				{{$store.state.baseName}}造血干细胞捐献咨询电话:
 			</view>
-			<view class="list-tips" style="text-align: center;">
+			<view class="list-tips" style="text-align: center;text-indent: 0;">
 				0716-5156511
 			</view>
 			<!-- <view class="list01">

+ 68 - 0
pages/cart/bxb.vue

@@ -0,0 +1,68 @@
+<template>
+	<view class="content">
+		<image src="../../static/img/tool/bxb-bg.png" mode="" class="bg" style="vertical-align:bottom"></image>
+		<view class="jb " style="padding: 100rpx 89rpx;">
+			
+			<view class=" zw" style="text-align: center;">
+				小天使基金<br />(关注0-18岁白血病儿童)
+			</view>
+			<view class="wb zw">
+			据统计,目前中国有400万的白血病患者,这一数字还在以每年3万到4万的速度增加。在白血病患者中,高达50%的病人是儿童。越来越多的数据表明,近年来,儿童已经成了白血病的高发人群。面对白血病治疗所需的数十万元巨额医疗费用,许多贫困的家庭往往只能选择放弃。
+			<view class="wb zw">
+			 中国红十字基金会是一家国际性的公募基金会,以弘扬“人道、博爱、奉献”的红十字精神为宗旨,以致力于改善最易受损害人群的境况、保护人的生命与健康为使命。为凝聚社会爱心,救助千千万万个像小海栋一样来自贫困家庭的白血病儿童,中国红十字基金会倡导建立我国第一个救助白血病儿童的专项基金——“小天使基金”,以所募善款专项用于救助家庭贫困的白血病儿童。
+			</view>
+			<view class="wb zw">
+				每一个白血病儿童都和健康儿童一样,是可爱的小天使,是祖国的花朵和未来。关爱他们,就是关爱未来。中国红十字基金会呼吁海内外的爱心企业、团体和人士,让我们共同来做白血病儿童的爱心天使,给那些面临生命威胁的贫困白血病儿童送去福音,让每一个患病儿童都拥有幸福的童年和美好的明天。
+			</view>
+			</view>
+		</view>
+		<image src="../../static/img/tool/bxb-bg-1.png" mode="" class="bg"></image>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+
+			}
+		},
+		onLoad() {
+
+		},
+		onShow() {
+
+		},
+		onReachBottom() {
+
+		},
+		onReady() {
+
+		},
+		methods: {
+
+		}
+	}
+</script>
+
+<style lang="scss">
+	.bg {
+		width: 100%;
+	}
+	.wb {
+		text-indent:2em;
+	}
+	.zw {
+		font-size: 32rpx;
+		font-weight: bold;
+		color: #0B0A0A;
+		letter-spacing: 5rpx;
+		line-height: 2;
+	}
+	.jb {
+		// margin: -1em 0;
+		background-image: linear-gradient(#f9e3d9,#FFF,#fdf9f6);
+		// #f8e7e0
+		// #fefaf8
+	}
+</style>

+ 758 - 0
pages/cart/hyjj.vue

@@ -0,0 +1,758 @@
+<template>
+	<view class="content">
+		<!-- <view class="top">
+			爱心捐款
+		</view> -->
+		<view class="box">
+			<!-- <view class="box-item" v-if="!isHelp">
+				<view class="box-left">
+					<text class="imp">*</text>捐款意向
+				</view>
+				<view class="box-right">
+					<picker :value="index" @change="PickerDire" :range="chooseDire" class="box-right">
+						<text>{{ intention || '请选择捐款意向'}}</text>
+					</picker>
+				</view>
+			</view> -->
+			<view class="box-item">
+				<view class="box-left">
+					<text class="imp">*</text>缴交方式
+				</view>
+				<view class="box-right">
+					<input type="text" placeholder="" v-model="jjtype" disabled/>
+					<!-- <picker @change="PickerType" :value="index" :range="chooseType" class="box-right">
+						<text>{{ way || '请选择捐缴交方式'}}</text>
+					</picker> -->
+				</view>
+			</view>
+			<!-- <view class="box-item">
+					<view class="box-left">
+						捐款金额
+					</view>
+					<view class="box-right">
+						<picker @change="PickerMoney" :value="index" :range="chooseMoney" class="box-right">
+							<text>{{ money || '请选择捐款金额'}}</text>
+						</picker>
+					</view>
+			</view> -->
+			<view class="box-item1">
+				<!-- <view class="box-item1" @click="tochooseMoney"> -->
+				<view class="box-main">
+					<view class="box-left">
+						<text class="imp">*</text>缴交金额
+					</view>
+					<view class="box-right">
+						<input type="text" placeholder="请选择金额" v-model="money" disabled />
+					</view>
+				</view>
+			</view>
+
+		</view>
+		<!-- <view class="infoOptional">
+			信息(选填)
+		</view> -->
+		<view class="box">
+			<view class="box-item">
+				<view class="box-left">
+					<view v-if="jjtype == '个人会员'">
+						<text class="imp">*</text>姓名
+					</view>
+					<view v-if="jjtype == '团体会员'">
+						<text class="imp">*</text>单位
+					</view>
+				</view>
+				<view class="box-right">
+					<input type="text" placeholder="请真实填写" v-model="donate_er" />
+				</view>
+			</view>
+			<view class="box-item">
+				<view class="box-left">
+					<text class="imp">*</text>手机号
+				</view>
+				<view class="box-right">
+					<input type="text" placeholder="请填写手机号" v-model="mobile" />
+				</view>
+			</view>
+		</view>
+		<view class="submit" @click="confirm()">
+			立即提交
+		</view>
+		<uni-popup ref="popup" type="bottom" @click="close">
+			<view class="popup_row">
+				<view class="title">
+
+					<view class="title-left">
+						一份爱心,一份力量!
+					</view>
+					<view class="cancel" @click="cancel">
+						<!-- <image src="../../static/img/取消.png" mode=""></image> -->
+					</view>
+				</view>
+				<view class="money-btn">
+					<view class="btn" v-for="item in moneyList" :key="item.id">
+						<button type="default" @click="addmoney(item)">{{ item.money}}</button>
+					</view>
+				</view>
+				<view class="pop-main">
+					<view class="money-left">
+						金额数
+					</view>
+					<view class="money-iup">
+						<input type="text" value="" v-model="popmoney" placeholder="请选择金额或者自定义金额" />
+					</view>
+					<view class="">
+						元
+					</view>
+				</view>
+				<view class="comfirm">
+					<view class="comfirm1" @click="comfirm1()">
+						确认
+					</view>
+				</view>
+
+			</view>
+		</uni-popup>
+		<uni-popup ref="popup1" type="center">
+			<view class="popup-box">
+				<!-- <view class="img">
+					<image src="../../static/img/WechatIMG662.png" mode=""></image>
+				</view> -->
+				<view class="mian">
+					<view class="delivery">
+						支付失败
+						<!-- {{ i18n.qrhwsdm }} -->
+					</view>
+					<view class="nocancel">
+						请退出页面,重新登录
+						<!-- {{ i18n.wfcx }} -->
+					</view>
+					<view class="comfirm-box">
+						<view class="cancel" @click="cancel1">
+							取消
+						</view>
+						<view class="comfirm" @click="comfirmExit()">
+							确认
+						</view>
+					</view>
+				</view>
+			</view>
+
+		</uni-popup>
+	</view>
+</template>
+
+<script>
+	import {
+		chosintention,
+		joinDona
+	} from '@/api/ask.js';
+	import uniPopup from '@/components/uni-popup/uni-popup.vue';
+	import {
+		computedOrderkey,
+		balance,
+		createOrderkey,
+		orderPay
+	} from '@/api/money.js';
+	import {
+		saveUrl,
+		interceptor
+	} from '@/utils/loginUtils.js';
+	import {
+		mapState,
+		mapMutations
+	} from 'vuex';
+	import {
+		userinfo
+	} from '@/api/user.js';
+		import { getVipmoney, createOrder } from '@/api/index.js'
+	export default {
+		components: {
+			uniPopup,
+			// uniLoadMore
+		},
+		data() {
+			return {
+				mid: '',
+				jjtype: '',//会员类型
+				index: 0,
+				intention: '', // 捐款意向
+				category_id: '', // 捐款意向ID
+				way: '', // 捐款方式
+				way_id: '', // 捐款方式id
+				money: '', // 捐款金额
+				// elsemoney: '', // 其他金额
+				popmoney: '', // 按钮金额 弹窗金额
+				is_show: true,
+				moneyList: [{
+						id: 0,
+						money: 500
+					},
+					{
+						id: 1,
+						money: 200
+					},
+					{
+						id: 2,
+						money: 100
+					},
+					{
+						id: 3,
+						money: 50
+					},
+					{
+						id: 4,
+						money: 20
+					},
+				],
+				is_public: '0', // 是否实名公开
+				is_receipts: '1', // 是否开发票
+				public: true, // 是否实名公开
+				receipts: false, // 是否开发票
+				donate_er: '', // 捐款人/单位
+				mobile: '', // 手机号
+				isshowMoney: false, // 其他金额是否展示
+				address: '', // 联系地址
+				// chooseDire: ['请选择捐款意向','红十字人道事业(非定向捐赠)','疫情防控','其他','红十字博爱送万家','AED救护及科普','青少年生命安全教育基地建设项目','关注重度失能老人项目','青少年白血病救护项目','地芯行动-关爱地中海贫血儿童','会费缴纳'],
+				chooseDire: [],
+				chooseList: [], //捐款意向真实列表
+				chooseType: ['个人', '单位'],
+				chooseMoney: ['5元', '10元', '50元', '其他金额'],
+				payLoding: false, //判断是否支付中
+				froms: '', //保存h5中数据来源对象
+				type: '', //判断是否从订单中进入
+				payName: 'weixin',
+				// orderInfo: {},
+				help_id: 0,
+				isHelp: false,
+				order_name: '',
+			}
+		},
+		onLoad(options) {
+			// console.log(333,options)
+			if (options.helpid) {
+				this.help_id = options.helpid
+				this.order_name = options.order_name
+				this.isHelp = true
+			}
+			if(options.type == 1) {
+				this.jjtype = '个人会员'
+			}else {
+				this.jjtype = '团体会员'
+			}
+		},
+		onShow() {
+			if (!this.hasLogin) {
+				// 登录拦截
+				uni.showModal({
+					title: '登录',
+					content: '您未登录,是否马上登陆?',
+					success: e => {
+						if (e.confirm) {
+							saveUrl()
+							interceptor();
+						}
+					},
+					fail: e => {
+						console.log(e);
+						uni.showModal({
+							title: '错误',
+							content: JSON.stringify(e),
+						})
+					}
+				});
+			} else {
+				// this.loadData();
+				userinfo({}).then(({
+					data
+				}) => {
+					// this.setUserInfo(data);
+					// this.to_phone = data.mobile || ''
+				
+				});
+				this.getVipmoney()
+			}
+		},
+		computed: {
+			...mapState('user', ['userInfo', 'baseURL', 'hasLogin']),
+			...mapState(['weichatObj']),
+		},
+		methods: {
+			getVipmoney() {
+				let obj = this
+				getVipmoney().then(({
+					data
+				}) => {
+					console.log(data, 'getVipmoney');
+					data.forEach(e => {
+						if (e.name == obj.jjtype) {
+							obj.money = e.pay_price;
+							obj.mid = e.id;
+							console.log(obj.money, obj.mid)
+						}
+					});
+				});
+			},
+			// 点击捐赠意向
+			// addType(e) {
+			// 	chosintention({}).then(({
+			// 		data
+			// 	}) => {
+			// 		this.chooseDire = data.map(item => {
+			// 			console.log(item.name,item.name.indexOf('红十字会'),'++++++++++++')
+			// 			if(item.name.indexOf('红十字会') != -1) {
+			// 				return item.name
+			// 			}
+			// 		})
+			// 		this.chooseList = data.map(item => {
+			// 			if(item.name.indexOf('红十字会') != -1) {
+			// 				return item
+			// 			}
+			// 		})
+			// 	}).catch()
+			// },
+			// 选择捐赠意向
+			PickerDire: function(e) {
+				console.log(334, e)
+				this.intention = this.chooseDire[e.target.value];
+				this.category_id = this.chooseList[e.target.value].id;
+			},
+			// 选择捐款方式
+			PickerType: function(e) {
+				this.way = this.chooseType[e.target.value];
+				this.way_id = e.target.value;
+				this.index = e.target.value;
+				console.log('选择捐款方式', this.way_id)
+				if (this.index == 1) {
+					this.is_show = true
+				} else {
+					this.is_show = false
+				}
+				// if ( )
+			},
+			// 选择捐款金额
+			PickerMoney: function(e) {
+				this.money = this.chooseMoney[e.target.value];
+				this.index = e.target.value + 1;
+				console.log('选择金额', this.money)
+				if (this.money == '其他金额') {
+					this.isshowMoney = true
+				} else {
+					this.isshowMoney = false
+					this.elsemoney = ''
+				}
+
+			},
+			// 其他金额 选择
+			tochooseMoney: function() {
+				this.$refs.popup.open();
+			},
+			addmoney(mon) {
+				console.log('点击金额按钮', mon.money)
+				this.popmoney = mon.money
+				console.log(123, this.popmoney)
+			},
+			cancel() {
+				this.$refs.popup.close();
+			},
+			cancel1() {
+				this.$refs.popup1.close();
+			},
+			comfirm1: function() {
+				let obj = this
+				if (obj.popmoney.toString().trim() == '') {
+					console.log('输入框为空')
+				} else {
+					console.log('输入框为不为空')
+					obj.money = obj.popmoney
+					obj.popmoney = ''
+					this.$refs.popup.close();
+				}
+			},
+			comfirmExit() {
+				console.log('点击comfirmExit')
+				this.$refs.popup1.close()
+				uni.switchTab({
+					url: '/pages/home/home'
+				});
+
+			},
+			// 是否实名公开
+			switch1Change(e) {
+				this.public = e.detail.value
+				console.log(e.detail.value,'e.detail.value')
+				if (e.detail.value) {
+					this.is_public = '1'
+				} else {
+					this.is_public = '0'
+				}
+				console.log(this.is_public)
+			},
+			//是都寄发票
+			switch2Change(e) {
+				this.is_receipts = e.detail.value
+				if (e.detail.value) {
+					this.is_receipts = '1'
+				} else {
+					this.is_receipts = '0'
+				}
+				console.log('is_receipts', this.is_receipts)
+			},
+			// 提交
+			confirm: async function() {
+				let obj = this
+				if (obj.jjtype == '团体会员') {
+					if (!obj.donate_er) {
+						this.$api.msg('请填写您的单位');
+						return;
+					}
+				} else {
+					if (!obj.donate_er) {
+						this.$api.msg('请填写您的姓名');
+						return;
+					}
+				}
+
+				const reg = /^(\+?0?86-?)?1[\d]\d{9}$/;
+				if (!reg.test(obj.mobile)) {
+					obj.$api.msg('请填写正确的手机号码');
+					return;
+				}
+				
+				uni.showModal({
+					title: '提示',
+					content: '续费' + obj.jjtype + '需要缴交' + obj.money + '元年费,是否续费',
+					success: function(res) {
+						if (res.confirm) {
+							console.log('用户点击确定');
+							createOrder({
+								level_id: obj.mid,
+								body: '红会年费',
+								pay_type: 0,
+								// name: obj.name,
+								pay_price: obj.money,
+								from: 'weixin'
+							}).then(({data}) =>{
+								let res = data.jsConfig;
+								obj.weichatObj.chooseWXPay({
+									timestamp: res.timestamp,
+									nonceStr: res.nonceStr,
+									package: res.package,
+									signType: res.signType,
+									paySign: res.paySign,
+									success: function(res) {
+										// uni.navigateTo({
+										// 	url: '../joinSuc/joinNow'
+										// });
+										// obj.loadBaseData()
+										uni.showModal({
+											title:'提示',
+											content: '续费成功'
+										})
+									},
+									fail: function(res) {
+										console.log(res, "失败")
+										console.log(res.errMsg)
+									}
+								});
+							})
+						} else if (res.cancel) {
+							console.log('用户点击取消');
+						}
+					}
+				});
+
+			}
+		},
+	}
+</script>
+
+<style lang="scss">
+	.content {}
+
+	.top {
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		background-color: #E63931;
+		color: #FFFFFF;
+		padding: 22rpx 0;
+	}
+
+	.box {
+		margin-top: 10rpx;
+
+		.box-item2 {
+			background-color: #FFFFFF;
+			padding: 18rpx 24rpx;
+			// display: flex;
+			border-bottom: 1rpx solid #F2F2F2;
+
+			.box-left {
+				color: #E63931;
+			}
+
+			.box-info {
+				text-indent: 68rpx;
+				margin-top: 16rpx;
+				color: #7b7b7b;
+			}
+
+			.box-phone {
+				text-indent: 68rpx;
+				margin-top: 6rpx;
+				// text-align: center;
+				color: #7b7b7b;
+			}
+		}
+
+		.box-item1 {
+			background-color: #FFFFFF;
+			padding: 18rpx 24rpx;
+			// display: flex;
+			border-bottom: 1rpx solid #F2F2F2;
+
+		}
+
+		.box-main {
+			display: flex;
+
+			.box-left {
+				width: 200rpx;
+				flex-shrink: 0;
+				// flex: 0;
+			}
+
+			.box-right {
+				width: 100%;
+				color: #999999;
+				text-align: right;
+			}
+		}
+
+		.box-bottom {
+			color: #999999;
+			// padding-left: 12rpx;
+			padding-top: 12rpx;
+			font-size: 26rpx;
+		}
+
+		.box-item {
+			background-color: #FFFFFF;
+			padding: 24rpx;
+			display: flex;
+			border-bottom: 1rpx solid #F2F2F2;
+		}
+
+		.box-left {
+			width: 200rpx;
+			flex-shrink: 0;
+
+			// flex: 0;
+			.imp {
+				color: #E63931;
+				margin-right: 2rpx;
+			}
+		}
+
+		.box-right {
+			width: 100%;
+			color: #999999;
+			text-align: right;
+		}
+	}
+
+	.switch-box {
+		margin-top: 24rpx;
+		display: flex;
+		align-items: center;
+		padding: 16rpx 24rpx;
+		color: #7b7b7b;
+		background-color: #FFFFFF;
+		border-bottom: 1rpx solid #F2F2F2;
+		justify-content: space-between;
+
+		.switch-right {
+			// background-color: #E63931;
+		}
+	}
+
+	.infoOptional {
+		padding: 20rpx 24rpx;
+	}
+
+	.submit {
+		position: fixed;
+		bottom: 0;
+		left: 0;
+		right: 0;
+		width: 750rpx;
+		height: 100rpx;
+		background: #FA7E67;
+		color: #FFFFFF;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+	}
+
+	.popup_row {
+		height: 500rpx;
+		width: 100%;
+		padding: 24rpx;
+		background-color: #FFFFFF;
+
+		.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 {
+				width: 36rpx;
+				height: 36rpx;
+
+				image {
+					width: 36rpx;
+					height: 36rpx;
+				}
+			}
+		}
+
+		.money-btn {
+			display: flex;
+			justify-content: space-around;
+			margin-top: 28rpx;
+
+			.btn {
+				// 	width: 20%;
+				// 	display: flex;
+				// 	button{
+				// 		background-color: #FFFFFF;
+				// 	}
+			}
+		}
+
+		.pop-main {
+			margin-top: 32rpx;
+			font-size: 34rpx;
+			display: flex;
+
+			.money-left {
+				// width: 100rpx;
+				padding: 0 6rpx;
+				flex-shrink: 0;
+				color: #E63931;
+				// background-color: #457DBF;
+			}
+
+			.money-iup {
+				width: 100%;
+				padding-left: 22rpx;
+
+				input {
+					font-size: 32rpx;
+					// color: #1B1B1B;
+					color: #FF9797;
+
+					.input-placeholder {
+						// height: 70rpx;
+						font-size: 32rpx;
+						color: #FF9797;
+					}
+				}
+
+				// background-color: pink;
+			}
+		}
+
+		.comfirm {
+			display: flex;
+			justify-content: flex-end;
+			margin-top: 54rpx;
+
+			.comfirm1 {
+				padding: 12rpx 24rpx;
+				border-radius: 12rpx;
+				color: #FFFFFF;
+				background-color: #E63931;
+			}
+		}
+	}
+
+	.popup-box {
+		width: 522rpx;
+		height: 605rpx;
+		background-color: #FFFFFF;
+		border-radius: 20rpx;
+
+		.img {
+			border-radius: 20rpx 20rpx 0 0;
+			width: 522rpx;
+			height: 307rpx;
+
+			image {
+				border-radius: 20rpx 20rpx 0 0;
+				width: 522rpx;
+				height: 307rpx;
+			}
+		}
+
+		.mian {
+			display: flex;
+			flex-direction: column;
+			align-items: center;
+			padding: 32rpx 32rpx;
+			background-color: #FFFFFF;
+			border-radius: 0 0 20rpx 20rpx;
+			text-align: center;
+
+			.delivery {
+				font-size: 36rpx;
+				color: #333333;
+				// margin-top: 46rpx;
+			}
+
+			.nocancel {
+				font-size: 30rpx;
+				color: #999999;
+				margin-top: 26rpx;
+			}
+
+			.comfirm-box {
+				margin-top: 52rpx;
+				display: flex;
+				// margin-bottom: 32rpx;
+
+				// justify-content: space-around;
+				.cancel {
+					display: flex;
+					align-items: center;
+					justify-content: center;
+					width: 197rpx;
+					height: 61rpx;
+					border: 1px solid #C90F1B;
+					border-radius: 31rpx;
+
+					font-size: 24rpx;
+					color: #C90F1B;
+				}
+
+				.comfirm {
+					margin-left: 32rpx;
+					display: flex;
+					align-items: center;
+					justify-content: center;
+					width: 197rpx;
+					height: 61rpx;
+					background: #FA7E67;
+					border-radius: 31px;
+					font-size: 24rpx;
+					color: #FFFFFF;
+				}
+			}
+		}
+	}
+</style>

+ 61 - 0
pages/cart/jxdetail.vue

@@ -0,0 +1,61 @@
+<template>
+	<view class="content">
+		<image src="../../static/img/tool/bg1.png" mode="" class="bg" style="vertical-align:bottom"></image>
+		<view class="jb " style="padding: 100rpx 89rpx;">
+			<view class="wb zw">
+			无偿献血是指符合献血条件的公民,无任何代价地志愿献出自己的血液。无偿献血是人类文明进步的象征,是救死扶伤的高尚行为,是无私奉献精神的体现,也是社会精神文明建设的重要标志之一,由于无偿献血坚持严格的科学标准及规定,能够保证血液的质量。
+			<view class="wb zw">
+			无偿献血是《中华人民共和国红十字会法》赋予的职责之一,赤壁市红十字会依法开展无偿献血的宣传、动员工作,使群众参与无偿献血的意识逐步增强。	
+			</view>
+			</view>
+		</view>
+		<image src="../../static/img/tool/bg2.png" mode="" class="bg"></image>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+
+			}
+		},
+		onLoad() {
+
+		},
+		onShow() {
+
+		},
+		onReachBottom() {
+
+		},
+		onReady() {
+
+		},
+		methods: {
+
+		}
+	}
+</script>
+
+<style lang="scss">
+	.bg {
+		width: 100%;
+	}
+	.wb {
+		text-indent:2em;
+	}
+	.zw {
+		font-size: 32rpx;
+		font-weight: bold;
+		color: #0B0A0A;
+		letter-spacing: 5rpx;
+		line-height: 2;
+	}
+	.jb {
+		// margin: -1em 0;
+		background-image: linear-gradient(#f8e7e0,#FFF,#fefaf8);
+		// #f8e7e0
+		// #fefaf8
+	}
+</style>

+ 70 - 0
pages/cart/xxb.vue

@@ -0,0 +1,70 @@
+<template>
+	<view class="content">
+		<image src="../../static/img/tool/xxb-bg.png" mode="" class="bg" style="vertical-align:bottom"></image>
+		<view class="jb " style="padding: 100rpx 89rpx;">
+			<view class="zw" style="text-align: center;">
+				天使阳光基金<br />(关注0-14岁先心病儿童)
+			</view>
+			<view class="wb zw">
+				“天使阳光行动”是中国红十字基金会倡导实施的“红十字天使计划”的组成部分,是继救助白血病儿童、脑瘫儿童等重症患儿之后推出的又一个大病医疗救助行动。该行动旨在动员社会力量,建立“天使阳光基金”,对农村患有先天性心脏病的贫困儿童提供医疗救治。
+			</view>
+			<view class="wb zw">
+				  我国有400多万先心病患者,其中等待手术治疗的先心病儿童约有200万人。在我国新生儿中,先心病发病率为7‰-8‰,每年约有14万名先心病患儿出生,其中约有半数在1-2岁时死去。由于经济的原因,在患有先心病的儿童中能够得到及时治疗的只有6万人左右。就我国目前的医疗技术水平,99%的患儿是完全可以通过手术治疗得到康复的。但由于承担不起上万元的医疗费用,许多贫困的家庭往往只能放弃治疗。
+			</view>
+			<view class="wb zw">
+				 每一个患先心病的儿童都和健康儿童一样,是可爱的小天使,是祖国的花朵和未来,关爱他们,就是关爱未来。让我们携起手来,心手牵连,给天使以快乐,给孩子以阳光,让天使阳光行动给那些面临生命威胁的贫困先心病儿童送去福音,让每一个患病儿童都拥有幸福的童年和美好的明天!
+			</view>
+		</view>
+		<image src="../../static/img/tool/xxb-bg-1.png" mode="" class="bg"></image>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+
+			}
+		},
+		onLoad() {
+
+		},
+		onShow() {
+
+		},
+		onReachBottom() {
+
+		},
+		onReady() {
+
+		},
+		methods: {
+
+		}
+	}
+</script>
+
+<style lang="scss">
+	.bg {
+		width: 100%;
+	}
+
+	.wb {
+		text-indent: 2em;
+	}
+
+	.zw {
+		font-size: 32rpx;
+		font-weight: bold;
+		color: #0B0A0A;
+		letter-spacing: 5rpx;
+		line-height: 2;
+	}
+
+	.jb {
+		// margin: -1em 0;
+		background-image: linear-gradient(#f9e3db, #FFF, #fefcfb);
+		// #f8e7e0
+		// #fefaf8
+	}
+</style>

+ 2 - 2
pages/donate/donate.vue

@@ -17,9 +17,9 @@
 						<view class="item-content clamp2">{{ item.info }}</view>
 						<view class="item-status">
 							捐赠进度
-							<text>{{ item.progress }}%</text>
+							<text>{{ item.project_progress*100 }}%</text>
 						</view>
-						<view class="item-btn" :class="{ 'btn-active': item.status == 1 }">{{ item.status == 2 ? '已结束' : item.status == 0?'未开始':'我要捐赠'}}</view>
+						<view class="item-btn" :class="{ 'btn-active': item.status == 2 }">{{ item.status == 3 ? '已结束' : item.status == 1?'未开始':'我要捐赠'}}</view>
 					</view>
 				</view>
 			</template>

+ 2 - 2
pages/donate/donateDetail.vue

@@ -1,7 +1,7 @@
 <template>
 	<view class="detail">
 		<view class="top">
-			<image :src="proInfo.image" mode=""></image>
+			<image :src="$store.state.baseURL + proInfo.image" mode=""></image>
 			<view class="title clamp">{{ proInfo.title }}</view>
 			<view class="tip">
 				<view class=""></view>
@@ -152,7 +152,7 @@
 		<view class="jg" style="height: 99rpx;"></view>
 		<view class="btn-wrapper flex">
 			<view class="btn1 btn" @click="navTo('/pages/donate/progress?id=' + proInfo.id)">实时进展</view>
-			<view class="btn2 btn" @click="proInfo.status == 1 ? want() : cant()">我要捐款</view>
+			<view class="btn2 btn" @click="proInfo.status == 2 ? want() : cant()">我要捐赠</view>
 		</view>
 		<uni-popup ref="popup" type="center">
 			<view class="type-box">

+ 1 - 1
pages/donate/idonate.vue

@@ -217,7 +217,7 @@
 				log: '', //物流方式
 				logistics: '', //物流编号
 				// Logistics: '',//物流方式id
-				logs: ['顺丰', '邮政'],
+				logs: ['顺丰', '邮政','其他'],
 				Isopen: false, //是否开具发票
 				mask: '', //备注
 				qyxydm: '', //企业信用代码

+ 83 - 9
pages/form/applicationForm.vue

@@ -62,8 +62,11 @@
 		<view class="top">
 			<view class="title">个人声明</view>
 			<view class="info-box">
-				遗体器官捐献是服务医疗事业,造福人类的高尚行为,是“人道、博爱、奉献”精神的崇高体现,我已了解遗体器官捐献的基本常识和有关政策法规。<text style="font-size: 24rpx;font-family: PingFang SC;font-weight: 500;color: #666666;" v-if="type != '人体器官'">我自愿登记成为遗体器官捐献志愿者,自愿无偿捐献,请执行人和所有亲属尊重我的决定。</text></view>
-			<view class="info-box" style="padding-top: 0;" v-if="type == '人体器官' && ready">我自愿登记成为遗体器官捐献志愿者,自愿无偿捐献:</view>
+				遗体器官捐献是服务医疗事业,造福人类的高尚行为,是“人道、博爱、奉献”精神的崇高体现,我已了解遗体器官捐献的基本常识和有关政策法规。<text
+					style="font-size: 24rpx;font-family: PingFang SC;font-weight: 500;color: #666666;"
+					v-if="type != '人体器官'">我自愿登记成为遗体器官捐献志愿者,自愿无偿捐献,请执行人和所有亲属尊重我的决定。</text></view>
+			<view class="info-box" style="padding-top: 0;" v-if="type == '人体器官' && ready">我自愿登记成为遗体器官捐献志愿者,自愿无偿捐献:
+			</view>
 			<view class="uni-list" style="display: block;">
 				<checkbox-group v-if="type == '人体器官' && ready" @change="checkAllClick" style="padding-left: 50rpx;">
 					<label class="checkbox">
@@ -117,6 +120,24 @@
 		<view class="buttomBox">
 			<view class="buttom" :class="{ action: loding }" @click="!loding ? join() : ''">提交申请</view>
 		</view>
+		<uni-popup ref="tishi" type="center" :maskClick="false">
+			<view class="ts-wrap">
+				<view class="ts-tit">
+					捐献自愿书
+				</view>
+				<scroll-view scroll-y="true" class="ts-content" @scrolltolower="isbtm = true">
+					<view class="xq">
+						遗体(角膜)捐献是造福人类的善举,是“人道、博爱、奉献”精神的崇高体现。我自愿身后无偿捐献自己的遗体(角膜),为祖国医学教育、医学科研和医学临床事业做出自己最后的贡献。
+					</view>
+					<view class="xq">本人已经与执行人(父母、配偶、成年子女或其它监护人)充分沟通,他们全部同意尊重我的意愿,并支持我办理捐献手续。</view>
+					<view class="xq">本人填报的信息和承诺,都是我认真思考后本人意志的完整表达,所以信息真实。</view>
+				</scroll-view>
+				<view class="ts-btn" @click="agreen()"
+					:style="{'background': isbtm?'#FF4C4C':'#eee','color':isbtm?'#fff':'#999'}">
+					我已阅读并同意
+				</view>
+			</view>
+		</uni-popup>
 	</view>
 </template>
 
@@ -138,13 +159,15 @@
 				format: true
 			});
 			return {
+				isRead: false,//是否同意
+				isbtm: true,//是否滑动到底部
 				ready: true,
 				all: false,
 				isall: false,
 				type: '',
 				loding: false, //是否提交中
 				array: ['男', '女'],
-				chooseEdu: ['小学以下', '小学', '初中', '高中/中专', '大专/高职','本科','研究生', '硕士', '博士', '博士后'],
+				chooseEdu: ['小学以下', '小学', '初中', '高中/中专', '大专/高职', '本科', '研究生', '硕士', '博士', '博士后'],
 				chooseVol: ['是', '否'],
 				chooseExp: ['是', '否'],
 				realyItems: [], //捐赠对照表
@@ -241,6 +264,13 @@
 			this.getDonateList()
 		},
 		methods: {
+			// 同意提示
+			agreen() {
+				if (this.isbtm) {
+					this.isRead = true
+					this.$refs.tishi.close()
+				}
+			},
 			// 获取捐赠对照列表
 			getDonateList() {
 				donate_ify().then(e => {
@@ -252,13 +282,13 @@
 					})
 					this.apparatus = arr.reverse();
 					console.log(this.realyItems, '获取捐赠对照列表')
-
+					// this.$refs.tishi.open()
 				});
 			},
 			async join() {
 				let obj = this;
 				let arr = []
-				
+
 				console.log(obj.remark)
 				if (obj.type == '') {
 					obj.$api.msg('请选择你要捐献的器官');
@@ -329,15 +359,15 @@
 				}
 				obj.loding = true;
 				obj.realyItems.forEach(item => {
-					console.log(item.name,obj.remark)
-					if(obj.remark.indexOf(item.name) != -1) {
+					console.log(item.name, obj.remark)
+					if (obj.remark.indexOf(item.name) != -1) {
 						arr.push(item.id + '')
 					}
 				})
-				console.log(arr.join(','),'ddddddddddd')
+				console.log(arr.join(','), 'ddddddddddd')
 				joinSecc({
 						full_name: obj.name, //姓名
-						sex: obj.sex == '男'? 0: 1, //性别0男1女
+						sex: obj.sex == '男' ? 0 : 1, //性别0男1女
 						birthday: obj.birthday, //生日
 						id_card: obj.card, //身份证号
 						vocation: obj.occupation, //职业
@@ -939,4 +969,48 @@
 	.placeholder {
 		line-height: 66rpx;
 	}
+	.ts-wrap {
+		width: 673rpx;
+		height: 800rpx;
+		background: #FFFFFF;
+		border-radius: 20rpx;
+	    position: relative;
+		.ts-tit {
+			height: 103rpx;
+			padding-top: 40rpx;
+			text-align: center;
+			font-size: 36rpx;
+			font-weight: bold;
+			color: #000000;
+			width: 588rpx;
+			margin: auto;
+			border-bottom: 1px solid #a1a1a1;
+		}
+	
+		.ts-content {
+			height: 400rpx;
+			margin: 30rpx 0;
+			text-align: justify;
+			font-size: 28rpx;
+			font-weight: 500;
+			color: #666666;
+			.xq {
+				width: 600rpx;
+				margin: auto;
+				text-indent:2em;
+			}
+		}
+		.ts-btn {
+			width: 673rpx;
+			line-height: 90rpx;
+			font-size: 32rpx;
+			font-weight: 500;
+			color: #FFFFFF;
+			text-align: center;
+			background: #FF4C4C;
+			border-radius: 0px 0px 20rpx 20rpx;
+			position: absolute;
+			bottom: 0;
+		}
+	}
 </style>

+ 1 - 1
pages/form/donaSuccess.vue

@@ -167,7 +167,7 @@ export default {
 	onLoad(option) {
 		console.log(333, option);
 		this.money = option.money;
-		this.name = decodeURI(option.name)
+		this.name = decodeURI(option.name) || '佚名'
 		this.add_time =decodeURI(option.time)
 		this.IndexShare();
 		this.ScanAudio(true);

+ 342 - 5
pages/form/tovolApply.vue

@@ -202,7 +202,231 @@
 			</view>
 		</view>
 
-		<view class="buttom" :class="{ action: loding }" @click="!loding ? join() : ''">立即提交</view>
+		<view class="buttom" :class="{ action: loding }" @click="!loding ? join() : ''">立即提交</view>
+		<uni-popup ref="tishi" type="center" :maskClick="false">
+			<view class="ts-wrap">
+				<view class="ts-tit">
+					志愿者条例
+				</view>
+				<scroll-view scroll-y="true" class="ts-content" @scrolltolower="isbtm = true">
+					<view class="tit">第一章 总 则</view>
+					<view class="xq">
+						 第一条 为了保障志愿者、志愿服务组织、志愿服务对象的合法权益,鼓励和规范志愿服务,发展志愿服务事业,培育和践行社会主义核心价值观,促进社会文明进步,制定本条例。
+					</view>
+					<view class="xq">
+						 第二条 本条例适用于在中华人民共和国境内开展的志愿服务以及与志愿服务有关的活动。
+					</view>
+					<view class="xq">
+						 本条例所称志愿服务,是指志愿者、志愿服务组织和其他组织自愿、无偿向社会或者他人提供的公益服务。
+					</view>
+					<view class="xq">
+						 第三条 开展志愿服务,应当遵循自愿、无偿、平等、诚信、合法的原则,不得违背社会公德、损害社会公共利益和他人合法权益,不得危害国家安全。
+					</view>
+					<view class="xq">
+						第四条 县级以上人民政府应当将志愿服务事业纳入国民经济和社会发展规划,合理安排志愿服务所需资金,促进广覆盖、多层次、宽领域开展志愿服务。
+					</view>
+					<view class="xq">
+						第五条 国家和地方精神文明建设指导机构建立志愿服务工作协调机制,加强对志愿服务工作的统筹规划、协调指导、督促检查和经验推广。
+					</view>
+					<view class="xq">
+						国务院民政部门负责全国志愿服务行政管理工作;县级以上地方人民政府民政部门负责本行政区域内志愿服务行政管理工作。
+					</view>
+					<view class="xq">
+						县级以上人民政府有关部门按照各自职责,负责与志愿服务有关的工作。
+					</view>
+					<view class="xq">
+						工会、共产主义青年团、妇女联合会等有关人民团体和群众团体应当在各自的工作范围内做好相应的志愿服务工作。
+					</view>
+					<view class="tit">
+						第二章 志愿者和志愿服务组织
+					</view>
+					<view class="xq">
+						第六条 本条例所称志愿者,是指以自己的时间、知识、技能、体力等从事志愿服务的自然人。
+					</view>
+					<view class="xq">
+						本条例所称志愿服务组织,是指依法成立,以开展志愿服务为宗旨的非营利性组织。
+					</view>
+					<view class="xq">
+						第七条 志愿者可以将其身份信息、服务技能、服务时间、联系方式等个人基本信息,通过国务院民政部门指定的志愿服务信息系统自行注册,也可以通过志愿服务组织进行注册。
+					</view>
+					<view class="xq">
+						志愿者提供的个人基本信息应当真实、准确、完整。
+					</view>
+					<view class="xq">
+						第八条 志愿服务组织可以采取社会团体、社会服务机构、基金会等组织形式。志愿服务组织的登记管理按照有关法律、行政法规的规定执行。
+					</view>
+					<view class="xq">
+						第九条 志愿服务组织可以依法成立行业组织,反映行业诉求,推动行业交流,促进志愿服务事业发展。
+					</view>
+					<view class="xq">
+						第十条 在志愿服务组织中,根据中国共产党章程的规定,设立中国共产党的组织,开展党的活动。志愿服务组织应当为党组织的活动提供必要条件。
+					</view>
+					<view class="tit">
+						第三章 志愿服务活动
+					</view>
+					<view class="">
+						第十一条 志愿者可以参与志愿服务组织开展的志愿服务活动,也可以自行依法开展志愿服务活动。
+					</view>
+					<view class="">
+						第十二条 志愿服务组织可以招募志愿者开展志愿服务活动;招募时,应当说明与志愿服务有关的真实、准确、完整的信息以及在志愿服务过程中可能发生的风险。
+					</view>
+					<view class="">
+						第十三条 需要志愿服务的组织或者个人可以向志愿服务组织提出申请,并提供与志愿服务有关的真实、准确、完整的信息,说明在志愿服务过程中可能发生的风险。志愿服务组织应当对有关信息进行核实,并及时予以答复。
+					</view>
+					<view class="">
+						第十四条 志愿者、志愿服务组织、志愿服务对象可以根据需要签订协议,明确当事人的权利和义务,约定志愿服务的内容、方式、时间、地点、工作条件和安全保障措施等。
+					</view>
+					<view class="">
+						第十五条 志愿服务组织安排志愿者参与志愿服务活动,应当与志愿者的年龄、知识、技能和身体状况相适应,不得要求志愿者提供超出其能力的志愿服务。
+					</view>
+					<view class="">
+						第十六条 志愿服务组织安排志愿者参与的志愿服务活动需要专门知识、技能的,应当对志愿者开展相关培训。
+					</view>
+					<view class="">
+						开展专业志愿服务活动,应当执行国家或者行业组织制定的标准和规程。法律、行政法规对开展志愿服务活动有职业资格要求的,志愿者应当依法取得相应的资格。
+					</view>
+					<view class="">
+						第十七条 志愿服务组织应当为志愿者参与志愿服务活动提供必要条件,解决志愿者在志愿服务过程中遇到的困难,维护志愿者的合法权益。
+					</view>
+					<view class="">
+						志愿服务组织安排志愿者参与可能发生人身危险的志愿服务活动前,应当为志愿者购买相应的人身意外伤害保险。
+					</view>
+					<view class="">
+						第十八条 志愿服务组织开展志愿服务活动,可以使用志愿服务标志。
+					</view>
+					<view class="">
+						第十九条 志愿服务组织安排志愿者参与志愿服务活动,应当如实记录志愿者个人基本信息、志愿服务情况、培训情况、表彰奖励情况、评价情况等信息,按照统一的信息数据标准录入国务院民政部门指定的志愿服务信息系统,实现数据互联互通。
+					</view>
+					<view class="">
+						志愿者需要志愿服务记录证明的,志愿服务组织应当依据志愿服务记录无偿、如实出具。
+					</view>
+					<view class="">
+						记录志愿服务信息和出具志愿服务记录证明的办法,由国务院民政部门会同有关单位制定。
+					</view>
+					<view class="">
+						第二十条 志愿服务组织、志愿服务对象应当尊重志愿者的人格尊严;未经志愿者本人同意,不得公开或者泄露其有关信息。
+					</view>
+					<view class="">
+						第二十一条 志愿服务组织、志愿者应当尊重志愿服务对象人格尊严,不得侵害志愿服务对象个人隐私,不得向志愿服务对象收取或者变相收取报酬。
+					</view>
+					<view class="">
+						第二十二条 志愿者接受志愿服务组织安排参与志愿服务活动的,应当服从管理,接受必要的培训。
+					</view>
+					<view class="">
+						志愿者应当按照约定提供志愿服务。志愿者因故不能按照约定提供志愿服务的,应当及时告知志愿服务组织或者志愿服务对象。
+					</view>
+					<view class="">
+						第二十三条 国家鼓励和支持国家机关、企业事业单位、人民团体、社会组织等成立志愿服务队伍开展专业志愿服务活动,鼓励和支持具备专业知识、技能的志愿者提供专业志愿服务。
+					</view>
+					<view class="">
+						国家鼓励和支持公共服务机构招募志愿者提供志愿服务。
+					</view>
+					<view class="">
+						第二十四条 发生重大自然灾害、事故灾难和公共卫生事件等突发事件,需要迅速开展救助的,有关人民政府应当建立协调机制,提供需求信息,引导志愿服务组织和志愿者及时有序开展志愿服务活动。
+					</view>
+					<view class="">
+						志愿服务组织、志愿者开展应对突发事件的志愿服务活动,应当接受有关人民政府设立的应急指挥机构的统一指挥、协调。
+					</view>
+					<view class="">
+						第二十五条 任何组织和个人不得强行指派志愿者、志愿服务组织提供服务,不得以志愿服务名义进行营利性活动。
+					</view>
+					<view class="">
+						第二十六条 任何组织和个人发现志愿服务组织有违法行为,可以向民政部门、其他有关部门或者志愿服务行业组织投诉、举报。民政部门、其他有关部门或者志愿服务行业组织接到投诉、举报,应当及时调查处理;对无权处理的,应当告知投诉人、举报人向有权处理的部门或者行业组织投诉、举报。
+					</view>
+					<view class="tit">
+						第四章 促进措施
+					</view>
+					<view class="">
+						第二十七条 县级以上人民政府应当根据经济社会发展情况,制定促进志愿服务事业发展的政策和措施。
+					</view>
+					<view class="">
+						县级以上人民政府及其有关部门应当在各自职责范围内,为志愿服务提供指导和帮助。
+					</view>
+					<view class="">
+						第二十八条 国家鼓励企业事业单位、基层群众性自治组织和其他组织为开展志愿服务提供场所和其他便利条件。
+					</view>
+					<view class="">
+						第二十九条 学校、家庭和社会应当培养青少年的志愿服务意识和能力。
+					</view>
+					<view class="">
+						高等学校、中等职业学校可以将学生参与志愿服务活动纳入实践学分管理。
+					</view>
+					<view class="">
+						第三十条 各级人民政府及其有关部门可以依法通过购买服务等方式,支持志愿服务运营管理,并依照国家有关规定向社会公开购买服务的项目目录、服务标准、资金预算等相关情况。
+					</view>
+					<view class="">
+						第三十一条 自然人、法人和其他组织捐赠财产用于志愿服务的,依法享受税收优惠。
+					</view>
+					<view class="">
+						第三十二条 对在志愿服务事业发展中做出突出贡献的志愿者、志愿服务组织,由县级以上人民政府或者有关部门按照法律、法规和国家有关规定予以表彰、奖励。
+					</view>
+					<view class="">
+						国家鼓励企业和其他组织在同等条件下优先招用有良好志愿服务记录的志愿者。公务员考录、事业单位招聘可以将志愿服务情况纳入考察内容。
+					</view>
+					<view class="">
+						第三十三条 县级以上地方人民政府可以根据实际情况采取措施,鼓励公共服务机构等对有良好志愿服务记录的志愿者给予优待。
+					</view>
+					<view class="">
+						第三十四条 县级以上人民政府应当建立健全志愿服务统计和发布制度。
+					</view>
+					<view class="">
+						第三十五条 广播、电视、报刊、网络等媒体应当积极开展志愿服务宣传活动,传播志愿服务文化,弘扬志愿服务精神。
+					</view>
+					<view class="tit">
+						第五章 法律责任
+					</view>
+					<view class="">
+						第三十六条 志愿服务组织泄露志愿者有关信息、侵害志愿服务对象个人隐私的,由民政部门予以警告,责令限期改正;逾期不改正的,责令限期停止活动并进行整改;情节严重的,吊销登记证书并予以公告。
+					</view>
+					<view class="">
+						第三十七条 志愿服务组织、志愿者向志愿服务对象收取或者变相收取报酬的,由民政部门予以警告,责令退还收取的报酬;情节严重的,对有关组织或者个人并处所收取报酬一倍以上五倍以下的罚款。
+					</view>
+					<view class="">
+						第三十八条 志愿服务组织不依法记录志愿服务信息或者出具志愿服务记录证明的,由民政部门予以警告,责令限期改正;逾期不改正的,责令限期停止活动,并可以向社会和有关单位通报。
+					</view>
+					<view class="">
+						第三十九条 对以志愿服务名义进行营利性活动的组织和个人,由民政、工商等部门依法查处。
+					</view>
+					<view class="">
+						第四十条 县级以上人民政府民政部门和其他有关部门及其工作人员有下列情形之一的,由上级机关或者监察机关责令改正;依法应当给予处分的,由任免机关或者监察机关对直接负责的主管人员和其他直接责任人员给予处分:
+					</view>
+					<view class="">
+						(一)强行指派志愿者、志愿服务组织提供服务;
+					</view>
+					<view class="">
+						(二)未依法履行监督管理职责;
+					</view>
+					<view class="">
+						(三)其他滥用职权、玩忽职守、徇私舞弊的行为。
+					</view>
+					<view class="tit">
+						第六章 附  则
+					</view>
+					<view class="">
+						 第四十一条 基层群众性自治组织、公益活动举办单位和公共服务机构开展公益活动,需要志愿者提供志愿服务的,可以与志愿服务组织合作,由志愿服务组织招募志愿者,也可以自行招募志愿者。自行招募志愿者提供志愿服务的,参照本条例关于志愿服务组织开展志愿服务活动的规定执行。
+					</view>
+					<view class="">
+						第四十二条 志愿服务组织以外的其他组织可以开展力所能及的志愿服务活动。
+					</view>
+					<view class="">
+						城乡社区、单位内部经基层群众性自治组织或者本单位同意成立的团体,可以在本社区、本单位内部开展志愿服务活动。
+					</view>
+					<view class="">
+						第四十三条 境外志愿服务组织和志愿者在境内开展志愿服务,应当遵守本条例和中华人民共和国有关法律、行政法规以及国家有关规定。
+					</view>
+					<view class="">
+						 组织境内志愿者到境外开展志愿服务,在境内的有关事宜,适用本条例和中华人民共和国有关法律、行政法规以及国家有关规定;在境外开展志愿服务,应当遵守所在国家或者地区的法律。
+					</view>
+					<view class="">
+						第四十四条 本条例自2017年12月1日起施行。
+					</view>
+				</scroll-view>
+				<view class="ts-btn" @click="agreen()"
+					:style="{'background': isbtm?'#FF4C4C':'#eee','color':isbtm?'#fff':'#999'}">
+					我已阅读并同意
+				</view>
+			</view>
+		</uni-popup>
 	</view>
 </template>
 
@@ -222,7 +446,10 @@ export default {
 		const currentDate = this.getDate({
 			format: true
 		});
-		return {
+		return {
+			height: '',
+			isRead: false, //是否同意
+			isbtm: false, //是否滑动到底部
 			otherjob: '',
 			otherspe: '',
 			loding: false, //是否提交中
@@ -419,7 +646,8 @@ export default {
 		};
 	},
 	onShow() {
-		if (this.hasLogin) {
+		if (this.hasLogin) {
+			// this.$refs.tishi.open()
 			// this.loadBaseData();
 		} else {
 			saveUrl();
@@ -436,6 +664,25 @@ export default {
 				}
 			});
 		}
+	},
+	onReady() {
+		if (this.hasLogin) {
+			// this.$refs.tishi.open()
+		} else {
+			// this.$refs.tishi.open()
+		}
+		var obj = this;
+		uni.getSystemInfo({
+			success: resu => {
+				const query = uni.createSelectorQuery();
+				query.select('.content').boundingClientRect();
+				query.exec(function(res) {
+					obj.height = resu.windowHeight - res[0].top + 'px';
+				});
+			},
+			fail: res => {}
+		});
+		
 	},
 	computed: {
 		...mapState('user', ['userInfo', 'baseURL', 'hasLogin']),
@@ -446,7 +693,14 @@ export default {
 			return this.getDate('end');
 		}
 	},
-	methods: {
+	methods: {
+		// 同意提示
+		agreen() {
+			if (this.isbtm) {
+				this.isRead = true
+				this.$refs.tishi.close()
+			}
+		},
 		async join() {
 			let obj = this;
 			if (obj.name == '') {
@@ -998,5 +1252,88 @@ page {
 			margin-left: 5rpx;
 		}
 	}
-}
+}
+.ts-wrap {
+		width: 673rpx;
+		height: 1134rpx;
+		background: #FFFFFF;
+		border-radius: 20rpx;
+		position: relative;
+
+		.ts-tit {
+			height: 103rpx;
+			padding-top: 40rpx;
+			text-align: center;
+			font-size: 36rpx;
+			font-weight: bold;
+			color: #000000;
+			width: 588rpx;
+			margin: auto;
+			border-bottom: 1px solid #a1a1a1;
+		}
+
+		.ts-content {
+			height: 882rpx;
+			margin: 30rpx 0;
+			text-align: justify;
+			font-size: 28rpx;
+			font-weight: 500;
+			color: #666666;
+
+			.xq {
+				width: 600rpx;
+				margin: auto;
+				text-indent:2em;
+			}
+			view {
+				width: 600rpx;
+				margin: auto;
+				text-indent:2em;
+			}
+			.tit {
+				font-weight: bold;
+				text-align: center;
+				text-indent:0em;
+				// color: ;
+			}
+		}
+
+		.ts-btn {
+			width: 673rpx;
+			line-height: 90rpx;
+			font-size: 32rpx;
+			font-weight: 500;
+			color: #FFFFFF;
+			text-align: center;
+			background: #FF4C4C;
+			border-radius: 0px 0px 20rpx 20rpx;
+			position: absolute;
+			bottom: 0;
+		}
+	}
+	.tcc {
+		position: relative;
+		background-color: #f8f8f8;
+	}
+	.tc-wrap {
+		width: 500rpx;
+		position: relative;
+		.tc-img {
+			width: 500rpx;
+		}
+		.qr-wrap {
+			width: 254rpx;
+			height: 254rpx;
+			padding: 2rpx;
+			position: absolute;
+			top: 152rpx;
+			// left: 132rpx;
+			left: 0;
+			right: 0;
+			margin: auto;
+			background: #fff;
+			border: 1rpx solid #000;
+			border-radius: 10rpx;
+		}
+	}
 </style>

+ 74 - 24
pages/index/index.vue

@@ -1,6 +1,9 @@
 <template>
 	<view class="content">
 		<!-- 轮播 -->
+		<view class="" style="height: 25rpx;">
+			
+		</view>
 		<view class="carousel-section">
 			<swiper class="carousel" :autoplay="true" :interval="3000" :duration="1000">
 				<swiper-item v-for="item in carouselList" :key="item.id">
@@ -8,9 +11,30 @@
 				</swiper-item>
 			</swiper>
 		</view>
-
+		<view class="tool-box flex">
+			<view class="tool-item">
+				<image src="../../static/img/index/axjk.png" mode="widthFix" @click="navTo('/pages/index/transfer?type=1')"></image>
+			</view>
+			<view class="tool-item flex">
+				<view class="item-item">
+					<image src="../../static/img/index/zyjx.png" mode="widthFix" @click="navTo('/pages/index/transfer?type=2')"></image>
+				</view>
+				<view class="item-item slot-item">
+					<image src="../../static/img/index/hyfw.png" mode="widthFix" @click="navTo('/pages/index/transfer?type=3')"></image>
+				</view>
+				<view class="item-item slot-item">
+					<image src="../../static/img/index/zyfw.png" mode="widthFix" @click="navTo('/pages/form/tovolApply')"></image>
+				</view>
+			</view>
+			<view class="tool-item">
+				<image src="../../static/img/index/jzfw.png" mode="widthFix" @click="navTo('/pages/index/transfer?type=4')"></image>
+			</view>
+			<view class="tool-item">
+				<image src="../../static/img/index/jzsb.png" mode="widthFix" @click="navTo('/pages/index/transfer?type=5')"></image>
+			</view>
+		</view>
 		<!-- 分类 -->
-		<view class="cate-section flex">
+		<!-- <view class="cate-section flex">
 			<view class="cate-item flex" @click="tocontribution">
 				<view class="img-wrapper flex">
 					<image src="../../static/icon/icon1.png" mode="" class="img1"></image>
@@ -35,10 +59,10 @@
 				</view>
 				<view class="item-title">志愿者登记</view>
 			</view>
-		</view>
+		</view> -->
 
 		<!-- 荆州爱心红会 -->
-		<view class="red-box">
+		<!-- <view class="red-box">
 			<top-title :title="'爱心红会'"></top-title>
 			<view class="red-nav flex">
 				<view class="left-nav" @click="navTo('/pages/donate/donate')"></view>
@@ -50,7 +74,7 @@
 					</view>
 				</view>
 			</view>
-		</view>
+		</view> -->
 		<!-- 低配爱心红会 -->
 <!-- 		<view class="red-box">
 			<top-title :title="'爱心红会'"></top-title>
@@ -64,7 +88,7 @@
 			</view>
 		</view> -->
 		<!--  sos急救系统 -->
-		<view class="system">
+<!-- 		<view class="system">
 			<top-title :title="'救在身边'" navurl="/pages/applic/location" :show_more="true"></top-title>
 			<view class="system-map">
 				<map class="map-box" show-location :markers="jzsbmarker" :scale="scale" :latitude="latitude4"
@@ -111,8 +135,8 @@
 					</view>
 				</view>
 			</view>
-		</view>
-		<view class="list-box">
+		</view> -->
+<!-- 		<view class="list-box">
 			<view class="system-title">
 				<top-title :title="'救护站'" :navurl="'/pages/applic/aid'" :show_more="true"></top-title>
 			</view>
@@ -120,8 +144,8 @@
 				<map class="map-box" show-location :markers="jhzmarker" :scale="scale" :latitude="latitude4"
 					:longitude="longitude4" ref="map" style="height: 450rpx" @markertap="jhzmarkertap"
 					:show-location="false"></map>
-			</view>
-			<view class="">
+			</view> -->
+<!-- 			<view class="">
 				<view class="list-tpl flex" @click="openAddress(item)" v-for="(item, index) in Mechanism"
 					:key="item.id">
 					<template>
@@ -133,15 +157,13 @@
 						</view>
 						<view class="image">
 							<image src="../../static/img/img10.png"></image>
-							<!-- <view class="tip" v-if="item.space > 999">>999m</view> -->
 							<view class="tip">{{ item.range >=1 ? (item.range + 'km') : (item.distance + 'm') }}</view>
 						</view>
 					</template>
 				</view>
-				<!-- <uni-load-more :status="loadingType"></uni-load-more> -->
 			</view>
-		</view>
-		<view class="list-box" style="margin-top: 20rpx;">
+		</view> -->
+<!-- 		<view class="list-box" style="margin-top: 20rpx;">
 			<view class="system-title">
 				<top-title :title="'智能AED'" :navurl="'/pages/applic/aed'" :show_more="true"></top-title>
 			</view>
@@ -156,7 +178,7 @@
 						<view class="list-left">
 							<view class="info">
 								<view class="title">{{ item.name }}</view>
-								<view class="addr">地址:{{ item.install_address }}</view>
+								<view class="addr">地址:{{ item.address }}</view>
 							</view>
 						</view>
 						<view class="image">
@@ -166,8 +188,8 @@
 					</template>
 				</view>
 			</view>
-		</view>
-		<uni-popup ref="popup" type="bottom" @click="close">
+		</view> -->
+<!-- 		<uni-popup ref="popup" type="bottom" @click="close">
 			<view class="popup_row">
 				<view class="rows">
 					<view class="rows-item" @click="toGaodeMap">高德地图</view>
@@ -175,8 +197,8 @@
 					<view class="rows-item" @click="totengxunMap">腾讯地图</view>
 				</view>
 			</view>
-		</uni-popup>
-		<uni-popup ref="popup2" type="center" @click="close2">
+		</uni-popup> -->
+<!-- 		<uni-popup ref="popup2" type="center" @click="close2">
 			<view class="popup_row2">
 				<view class="title">
 					<view class="title-left">
@@ -198,7 +220,7 @@
 					</view>
 				</view>
 			</view>
-		</uni-popup>
+		</uni-popup> -->
 	</view>
 </template>
 
@@ -809,7 +831,7 @@
 
 	.content {
 		// line-height: 1;
-		background-color: #ffabab;
+		background-color: #fff;
 		// padding-bottom: 60rpx;
 	}
 
@@ -851,7 +873,7 @@
 	}
 
 	.content {
-		background-color: #f8f8f8;
+		background-color: #fff;
 		height: 100%;
 
 		/* 头部 轮播图 */
@@ -862,7 +884,7 @@
 
 			.carousel {
 				width: 705rpx;
-				height: 375rpx;
+				height: 455rpx;
 				margin: 0 auto;
 				border-radius: 20rpx;
 				overflow: hidden;
@@ -877,7 +899,7 @@
 
 				image {
 					width: 100%;
-					height: 375rpx;
+					height: 455rpx;
 					border-radius: 20rpx;
 				}
 			}
@@ -1447,4 +1469,32 @@
 		}
 
 	}
+	// 功能区
+	.tool-box {
+		width: 750rpx;
+		flex-wrap: wrap;
+		justify-content: space-between;
+		padding:20rpx 23rpx;
+		background-color: #fff;
+		font-size:0;
+		.tool-item {
+			flex-wrap: wrap;
+			justify-content: space-between;
+			width: 344rpx;
+			margin-bottom: 20rpx;
+			image {
+				width: 100%;
+			}
+			.item-item {
+				width: 100%;
+				// width: ;
+			}
+			.slot-item {
+				width: 166rpx;
+				image {
+					width: 100%;
+				}
+			}
+		}
+	}
 </style>

+ 1338 - 0
pages/index/transfer.vue

@@ -0,0 +1,1338 @@
+<template>
+	<view class="content">
+		<view class="" style="height: 20rpx;"></view>
+		<!-- 调转item -->
+		<view class="tool-item" v-for=" item in actionList.list" @click="navto(item.path)">
+			<view class="item-img">
+				<image :src="item.img" mode=""></image>
+			</view>
+			<view class="item-tit">
+				{{item.name}}
+			</view>
+		</view>
+		<!-- 地图 -->
+		<template v-if="type == 5">
+			<view class="system">
+				<top-title :title="'救在身边'" navurl="/pages/applic/location" :show_more="true"></top-title>
+				<view class="system-map">
+					<map class="map-box" show-location :markers="jzsbmarker" :scale="scale" :latitude="latitude"
+						:longitude="longitude" ref="map" @markertap="markertap" :show-location="false"></map>
+				</view>
+				<view class="" style="padding-top: 80rpx;">
+					<view v-for="(item,index) in jzsblist" :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.range >= 1 ? (item.range + 'km') : (item.distance + 'm')}}
+										</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">
+								<view class="img" v-if="item.is_create == 0" @click="rescue(item,index)">
+									<image src="../../static/img/rescue.png" mode=""></image>
+								</view>
+								<view class="called" v-else>
+									已呼叫
+								</view>
+							</view>
+						</view>
+					</view>
+				</view>
+			</view>
+			<view class="list-box">
+				<view class="system-title">
+					<top-title :title="'救护站'" :navurl="'/pages/applic/aid'" :show_more="true"></top-title>
+				</view>
+				<view id="container">
+					<map class="map-box" show-location :markers="jhzmarker" :scale="scale" :latitude="latitude"
+						:longitude="longitude" ref="map" style="height: 450rpx" @markertap="jhzmarkertap"
+						:show-location="false"></map>
+				</view>
+				<view class="">
+					<view class="list-tpl flex" @click="openAddress(item)" v-for="(item, index) in Mechanism"
+						:key="item.id">
+						<template>
+							<view class="list-left">
+								<view class="info">
+									<view class="title">{{ item.name }}</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">{{ item.range >=1 ? (item.range + 'km') : (item.distance + 'm') }}
+								</view>
+							</view>
+						</template>
+					</view>
+					<!-- <uni-load-more :status="loadingType"></uni-load-more> -->
+				</view>
+			</view>
+			<view class="list-box" style="margin-top: 20rpx;">
+				<view class="system-title">
+					<top-title :title="'智能AED'" :navurl="'/pages/applic/aed'" :show_more="true"></top-title>
+				</view>
+				<view id="container">
+					<map class="map-box" show-location :markers="aedmarker" :scale="scale" :latitude="latitude"
+						:longitude="longitude" ref="map" style="height: 450rpx" @markertap="aedmarkertap"
+						:show-location="false"></map>
+				</view>
+				<view class="">
+					<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.name }}</view>
+									<view class="addr">地址:{{ item.address }}</view>
+								</view>
+							</view>
+							<view class="image">
+								<image src="../../static/img/img10.png"></image>
+								<view class="tip">{{ item.range >=1 ? (item.range + 'km') : (item.distance + 'm') }}
+								</view>
+							</view>
+						</template>
+					</view>
+				</view>
+			</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>
+			<uni-popup ref="popup2" type="center" @click.stop="close2">
+				<view class="popup_row2">
+					<view class="title">
+						<view class="title-left">
+							请输入您的手机号,等待救援!
+						</view>
+						<view class="cancel" @click="close2">
+							<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>
+		</template>
+
+	</view>
+</template>
+
+<script>
+	import {
+		mapState,
+		mapMutations
+	} from 'vuex';
+	import {
+		getAed,
+		getAidList,
+		getRescuerList,
+		sos,
+		geocoder
+	} from '@/api/category.js'
+	import {
+		userinfo
+	} from '@/api/user.js';
+	export default {
+		data() {
+			return {
+				type: 0,
+				actionList: {
+					list: []
+				},
+				navList: [{
+						tit: '爱心捐款',
+						id: 1,
+						list: [{
+								name: '爱心捐款',
+								path: '/pages/applic/love',
+								img: '../../static/img/tool/axjk.png'
+							},
+							{
+								name: '爱心捐物',
+								path: '/pages/index/transfer?type=6',
+								img: '../../static/img/tool/axjw.png'
+							},
+						]
+					},
+					{
+						tit: '志愿捐献',
+						id: 2,
+						list: [{
+								name: '造血干细胞捐献',
+								path: '/pages/applic/appliSystem',
+								img: '../../static/img/tool/zxgxbjx.png'
+							},
+							{
+								name: '遗体器官捐献',
+								path: '/pages/form/applicationForm',
+								img: '../../static/img/tool/ytqgjx.png'
+							},
+							{
+								name: '无偿献血',
+								path: '/pages/cart/jxdetail',
+								img: '../../static/img/tool/wcxx.png'
+							}
+						]
+					},
+					{
+						tit: '会员服务',
+						id: 3,
+						list: [{
+								name: '申请注册',
+								path: '/pages/cart/cart',
+								img: '../../static/img/tool/hyzc.png'
+							},
+							{
+								name: '会费缴交',
+								path: '/pages/cart/hyjj',
+								img: '../../static/img/tool/hyjj.png'
+							}
+						]
+					},
+					{
+						tit: '救助服务',
+						id: 4,
+						list: [{
+								name: '儿童先心病',
+								path: '/pages/cart/xxb',
+								img: '../../static/img/tool/etxxb.png'
+							},
+							{
+								name: '儿童白血病',
+								path: '/pages/cart/bxb',
+								img: '../../static/img/tool/etbxb.png'
+							}
+						]
+					},
+					{
+						tit: '救在身边',
+						id: 5,
+						list: [{
+								name: '普及培训报名',
+								path: '/pages/train/index',
+								img: '../../static/img/tool/pjpxbm.png'
+							},
+							{
+								name: '救护员招募',
+								path: '/pages/category/category',
+								img: '../../static/img/tool/jhyzm.png'
+							}
+						]
+					},
+					{
+						tit: '爱心捐物',
+						id: 6,
+						list: [{
+								name: '项目捐赠',
+								path: '/pages/donate/donate',
+								img: '../../static/img/tool/xmjz.png'
+							},
+							{
+								name: '我要捐赠',
+								path: '/pages/donate/idonate?type=1',
+								img: '../../static/img/tool/wyjz.png'
+							}
+						]
+					},
+				],
+				user_address: '',
+				shareShow: true,
+				user_id: '',
+				rescuers_id: '',
+				name: '',
+				uid: '',
+				phone: '',
+				to_phone: '',
+				jzsbmarker: [],
+				jzsblist: [],
+				jhzmarker: [],
+				aedmarker: [],
+				carouselList: [], //轮播
+				science: [], //文章列表
+				page: 1,
+				limit: 10,
+				AEDList: [],
+				Mechanism: [],
+				latitude2: '',
+				longitude2: '',
+				latitude: '',
+				longitude: '',
+				address: '',
+				loadingType: 'more',
+				markerList: [],
+				marker: [],
+				longitude: '121.15829821166992',
+				latitude: '30.044394499237708',
+				longitude1: '120.553638',
+				latitude1: '30.547011',
+				scale: '12', //地图缩放程度
+				scale1: '15',
+				showbox: false,
+				showTEXT: false,
+				addressData: {
+					name: '',
+					mobile: '',
+					latitude: 0, //纬度
+					longitude: 0, //经度
+					address: {
+						province: '',
+						city: '',
+						district: '',
+						detail: ''
+					},
+					area: '',
+					default: false
+				}
+			}
+		},
+		onLoad(opt) {
+			this.type = opt.type
+
+			this.actionList = this.navList[this.type * 1 - 1]
+			uni.setNavigationBarTitle({
+				title: this.actionList.tit
+			})
+			if (this.type == 5) {
+				this.getLocal()
+			}
+
+		},
+		computed: {
+			...mapState('user', ['userInfo', 'hasLogin']),
+			...mapState(['baseURL']),
+		},
+		onShow() {
+			userinfo({}).then(({
+				data
+			}) => {
+				this.setUserInfo(data);
+				this.to_phone = data.mobile || ''
+
+			});
+
+		},
+		onReachBottom() {
+
+		},
+		onReady() {
+
+		},
+		methods: {
+			...mapMutations('user', ['setUserInfo']),
+			navto(url) {
+				if (url == '/pages/cart/hyjj') {
+					if (!this.userInfo.level_name) {
+						uni.showModal({
+							title: '提示',
+							content: '您还未注册红会会员是否前往注册?',
+							complete(e) {
+								console.log('success', e)
+								if (e.confirm) {
+									uni.navigateTo({
+										url: '/pages/cart/cart',
+										fail() {
+											uni.switchTab({
+												url: '/pages/cart/cart'
+											})
+										}
+									})
+								}
+							}
+						})
+						return
+					} else {
+						if (this.userInfo.level_name == '个人会员') {
+							url += '?type=1'
+						} else {
+							url += '?type=2'
+						}
+
+					}
+
+
+				}
+				uni.navigateTo({
+					url,
+					fail() {
+						uni.switchTab({
+							url
+						})
+					}
+				})
+			},
+			// 获取本地坐标
+			getLocal() {
+				let obj = this;
+				console.log('ddddddddddddddddddddddddd')
+				let weichatBrowser = uni.getStorageSync('weichatBrowser')
+				if (weichatBrowser) {
+					let wxOjb = require('jweixin-module');
+					wxOjb.ready(() => {
+						console.log('加载完毕注册事件');
+						wxOjb.getLocation({
+							type: 'gcj02',
+							success(e) {
+								console.log(e)
+								obj.baseLat = obj.latitude = Math.abs(e.latitude)
+								obj.baseLng = obj.longitude = Math.abs(e.longitude)
+								obj.marker = [{
+									longitude: e.longitude,
+									latitude: e.latitude,
+									iconPath: '/static/img/img19.png',
+									width: '45',
+									height: '45'
+								}];
+								obj.loadData();
+							},
+							fail(err) {
+								obj.getLocal()
+							}
+						})
+					})
+				} else {
+					uni.getLocation({
+						type: 'gcj02',
+						success(e) {
+							console.log(e)
+							obj.baseLat = obj.latitude = Math.abs(e.latitude)
+							obj.baseLng = obj.longitude = Math.abs(e.longitude)
+							console.log('本地坐标', obj.latitude, obj.longitude)
+							obj.marker = [{
+								longitude: e.longitude,
+								latitude: e.latitude,
+								iconPath: '/static/img/img19.png',
+								width: '45',
+								height: '45'
+							}];
+							obj.loadData();
+						},
+						fail(err) {
+							obj.getLocal()
+						}
+					})
+				}
+
+
+			},
+			loadData() {
+				let obj = this;
+				console.log('打印当前经纬度', obj.longitude, obj.latitude);
+				geocoder({
+					latitude: obj.latitude,
+					longitude: obj.longitude
+				}).then(ress => {
+					console.log(ress)
+					obj.user_address = ress.data.result.address
+					console.log(obj.user_address, 'obj.user_address')
+				})
+
+				if (obj.loadingType === 'noMore') {
+					//防止重复加载
+					return;
+				}
+				// 修改当前对象状态为加载中
+				obj.loadingType = 'loading';
+				getAed({
+					longitude: obj.longitude,
+					latitude: obj.latitude,
+					page: 1,
+					limit: 2
+				}).then(({
+					data
+				}) => {
+					console.log(data, 999);
+					obj.AEDList = 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.aedmarker = obj.marker.concat(arr)
+					console.log(obj.AEDList, '999++++++++++++++++++++++++++');
+					obj.markerList = data;
+				});
+				getAidList({
+					page: 1,
+					limit: 2,
+					longitude: obj.longitude,
+					latitude: obj.latitude,
+				}).then(({
+					data
+				}) => {
+					console.log(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.jhzmarker = obj.marker.concat(arr)
+					obj.Mechanism = data;
+					console.log(obj.Mechanism, '888++++++++++++++++++++++++++');
+				})
+				getRescuerList({
+					longitude: obj.longitude,
+					latitude: obj.latitude,
+					page: 1,
+					limit: 2
+				}).then((res) => {
+					let data = res.data;
+					data = data.slice(0, 2)
+					console.log('就在身边请求数据', data);
+					console.log('data.phone333', data.phone)
+					data = data.map(d => {
+						return {
+							...d,
+							iscall: true
+						}
+					})
+					obj.jzsblist = 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.jzsbmarker = obj.marker.concat(arr)
+				}).catch(err => {
+					console.log(err);
+				});
+			},
+			// 立即救援
+			rescue(item, index) {
+				let obj = this;
+				console.log(item, 'jiuzhu item')
+				uni.showModal({
+					content: '是否发起求救?',
+					success: res => {
+						if (res.confirm) {
+							this.$refs.popup2.open(item, index);
+							obj.rescuers_id = item.id
+							obj.user_id = item.user_id
+						}
+					}
+				})
+			},
+			close2() {
+				this.$refs.popup2.close()
+			},
+			comfirm1: function() {
+				let obj = this
+				if (obj.to_phone.toString().trim() == '') {
+					return obj.$api.msg('请输入手机号码')
+				} 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;
+					}
+					sos({
+						mobile: obj.to_phone,
+						address: obj.user_address,
+						latitude: obj.latitude,
+						longitude: obj.longitude,
+						rescuers_id: obj.rescuers_id,
+						rescuers_user_id: obj.user_id,
+						re_url: obj.$store.state.baseURL + '/index/#/pages/applic/rescuerecords'
+					}).then(res => {
+						uni.showModal({
+							title: '请耐心等待救援',
+							success: res => {
+								if (res.confirm) {
+									window.location.reload(); //重新刷新页面
+								}
+							}
+						})
+						obj.$refs.popup2.close();
+					})
+				}
+			},
+			// 导航
+			openAddress(item) {
+				let obj = this;
+				obj.latitude2 = item.latitude;
+				obj.longitude2 = item.longitude;
+				obj.address = item.address;
+				this.$refs.popup.open();
+			},
+			// 调用腾讯
+			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 `
+			},
+			// 调用谷歌
+			toGoogleMap() {
+				let latitude = this.latitude2;
+				let longitude = this.longitude2;
+				console.log('选择谷歌', latitude, longitude);
+			},
+		}
+	}
+</script>
+
+<style lang="scss">
+	.tool-item {
+		width: 702rpx;
+		height: 416rpx;
+		background: #FEFEFE;
+		box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.06);
+		border-radius: 20rpx;
+		margin: 0 auto 30rpx;
+		font-size: 0;
+
+		.item-img {
+			width: 702rpx;
+			height: 300rpx;
+
+			image {
+				width: 100%;
+				height: 100%;
+			}
+		}
+
+		.item-tit {
+			font-size: 34rpx;
+			font-weight: 500;
+			color: #0E0E0E;
+			line-height: 116rpx;
+			padding-left: 26rpx;
+		}
+	}
+
+	.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;
+				// border-bottom: 1rpx solid #f0f0f0;
+			}
+
+			// .row-1 {
+			// 	margin: auto;
+			// 	.first_aid {
+			// 		width: 300rpx;
+			// 		height: 300rpx;
+			// 	}
+			// }
+			// .row-2 {
+			// 	font-size: 38rpx;
+			// 	margin-top: 20rpx;
+			// }
+		}
+	}
+
+	.content {
+		background-color: #f8f8f8;
+		height: 100%;
+
+		/* 头部 轮播图 */
+		.carousel-section {
+			// padding-top: 10px;
+			overflow: hidden;
+			background-color: #fff;
+
+			.carousel {
+				width: 705rpx;
+				height: 375rpx;
+				margin: 0 auto;
+				border-radius: 20rpx;
+				overflow: hidden;
+
+				.carousel-item {
+					width: 100%;
+					height: 100%;
+					padding-left: 30rpx;
+					padding-right: 30rpx;
+					overflow: hidden;
+				}
+
+				image {
+					width: 100%;
+					height: 375rpx;
+					border-radius: 20rpx;
+				}
+			}
+		}
+
+		// 分类
+		.cate-section {
+			justify-content: space-around;
+			background-color: #fff;
+			padding: 46rpx 0 30rpx;
+
+			.cate-item {
+				width: 25%;
+				flex-direction: column;
+				text-align: center;
+				align-items: center;
+				justify-content: center;
+
+				.img-wrapper {
+					width: 100rpx;
+					height: 88rpx;
+					background: #eef4ff;
+					border-radius: 14rpx;
+					position: relative;
+
+					image {
+						position: absolute;
+						left: 50%;
+						top: 50%;
+						transform: translate(-50%, -50%);
+					}
+
+					.img1 {
+						width: 100rpx;
+						height: 84rpx;
+					}
+
+					.img2 {
+						width: 100rpx;
+						height: 85rpx;
+					}
+
+					.img3 {
+						width: 100rpx;
+						height: 84rpx;
+
+					}
+
+					.img4 {
+						width: 100rpx;
+						height: 88rpx;
+					}
+
+				}
+
+				.item-title {
+					margin-top: 15rpx;
+					font-size: 24rpx;
+					font-family: PingFang SC;
+					font-weight: 500;
+					color: #333333;
+				}
+			}
+		}
+
+		// 红会科普
+		.science-section {
+			width: 100%;
+			background-color: #ffffff;
+			margin-top: 18rpx;
+			padding-top: 30rpx;
+
+			.science-title {
+				display: flex;
+				justify-content: center;
+				align-items: center;
+				padding-bottom: 22rpx;
+
+				.title {
+					width: 285rpx;
+					height: 64rpx;
+					background-color: #ca121e;
+					border-radius: 32rpx;
+					color: #ffffff;
+					font-size: 32rpx;
+					line-height: 64rpx;
+					text-align: center;
+				}
+
+				image {
+					width: 68rpx;
+					height: 43rpx;
+					margin-left: 16rpx;
+					margin-right: 16rpx;
+				}
+			}
+
+			.science-box {
+				padding-left: 15rpx;
+				padding-right: 15rpx;
+				padding-bottom: 20rpx;
+				border-bottom: 1rpx solid #f0f0f0;
+				white-space: nowrap;
+				display: flex;
+				width: 100%;
+
+				// .uni-scroll-view-content{
+				// 	display: flex;
+				// }
+				.science-content {
+					// width: 100%;
+
+					// display: flex;
+					display: -webkit-box;
+
+					.science-item {
+						margin-right: 24rpx;
+						width: 198rpx;
+						display: flex;
+						flex-direction: column;
+						align-items: center;
+						text-align: center;
+
+						image {
+							width: 100%;
+							height: 145rpx;
+						}
+
+						.article-title {
+							width: 198rpx;
+							color: #333;
+							font-size: 25rpx;
+							padding-top: 20rpx;
+							padding-bottom: 16rpx;
+							font-weight: 900;
+						}
+
+						.article-content {
+							width: 198rpx;
+							color: #999999;
+							font-size: 18rpx;
+							overflow: hidden;
+							text-overflow: ellipsis;
+							display: -webkit-box;
+							word-break: break-all;
+							-webkit-box-orient: vertical;
+							-webkit-line-clamp: 2;
+						}
+					}
+				}
+			}
+
+			.science-more {
+				display: flex;
+				justify-content: center;
+				align-items: center;
+				color: #cb131c;
+				font-size: 30rpx;
+				padding-top: 18rpx;
+				padding-bottom: 18rpx;
+
+				image {
+					width: 20rpx;
+					height: 27rpx;
+				}
+			}
+		}
+
+		// sos急救中心
+		.system {
+			width: 100%;
+			background-color: #ffffff;
+			margin-top: 18rpx;
+			padding: 40rpx 30rpx 35rpx 30rpx;
+			margin-bottom: 20rpx;
+
+			.system-map {
+				margin: 30rpx auto 0;
+				width: 689rpx;
+				height: 312rpx;
+				background-color: #ffffff;
+				padding-bottom: 45rpx;
+			}
+		}
+
+		// AED
+		.list-box {
+			padding: 0rpx 25rpx 24rpx;
+			background-color: #fff;
+
+			.system-title {
+				display: flex;
+				justify-content: flex-start;
+				align-items: center;
+				height: 130rpx;
+				// padding-bottom: 22rpx;
+				background-color: #ffffff;
+
+				.title {
+					width: 285rpx;
+					height: 64rpx;
+					background-color: #ca121e;
+					border-radius: 32rpx;
+					color: #ffffff;
+					font-size: 32rpx;
+					line-height: 64rpx;
+					text-align: center;
+				}
+
+				.img {
+					width: 68rpx;
+					height: 43rpx;
+					margin-left: 16rpx;
+					margin-right: 16rpx;
+
+					image {
+						width: 68rpx;
+						height: 43rpx;
+					}
+				}
+			}
+		}
+
+		.map-box {
+			width: 100%;
+			height: 366rpx;
+		}
+
+		.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: 20%;
+				text-align: center;
+
+				image {
+					width: 50rpx;
+					height: 50rpx;
+				}
+
+				.tip {
+					color: #7f7f7f;
+					font-size: 21rpx;
+				}
+			}
+		}
+	}
+
+	// 高配爱心红会
+	.red-box {
+		margin: 20rpx 0;
+		height: 521rpx;
+		padding: 40rpx 23rpx 35rpx 23rpx;
+		background-color: #fff;
+
+		.red-nav {
+			justify-content: space-between;
+			margin-top: 23rpx;
+
+			.left-nav {
+				width: 332rpx;
+				height: 392rpx;
+				background: #FFF3F5;
+				background-image: url(../../static/img/m1.png);
+				background-size: 100% 100%;
+			}
+
+			.right-nav {
+				width: 357rpx;
+				height: 392rpx;
+				flex-direction: column;
+				justify-content: space-between;
+
+				.right-top-nav {
+					width: 357rpx;
+					height: 204rpx;
+					background: #F6F6FF;
+					background-image: url(../../static/img/m2.png);
+					background-size: 100% 100%;
+				}
+
+				.right-bottom-nav {
+					width: 357rpx;
+					height: 173rpx;
+					justify-content: space-between;
+
+					view {
+						width: 171rpx;
+						height: 173rpx;
+					}
+
+					.left-item {
+						background: #F5EFFE;
+						background-image: url(../../static/img/m3.png);
+						background-size: 100% 100%;
+					}
+
+					.right-item {
+						background: #EDFEFE;
+						background-image: url(../../static/img/m4.png);
+						background-size: 100% 100%;
+					}
+				}
+			}
+		}
+	}
+
+	// 低配爱心红会
+	// .red-box {
+	// 	margin: 20rpx 0;
+	// 	padding: 30rpx 30rpx 40rpx 30rpx;
+	// 	background-color: #fff;
+
+	// 	.red-nav {
+	// 		padding-top: 25rpx;
+	// 		display: flex;
+	// 		justify-content: space-between;
+
+	// 		.nav-item {
+	// 			width: 330rpx;
+	// 			height: 175rpx;
+	// 			background: #FFF4F2;
+	// 			border-radius: 15rpx;
+
+	// 			image {
+	// 				width: 330rpx;
+	// 				height: 175rpx;
+	// 			}
+	// 		}
+	// 	}
+	// }
+
+	.popup_row2 {
+		// 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;
+			}
+		}
+	}
+
+	.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;
+			}
+		}
+	}
+
+	.ewm {
+		width: 75rpx;
+		height: 75rpx;
+		position: absolute;
+		right: 10rpx;
+		bottom: 200rpx;
+		background-color: #fff;
+		border-radius: 50%;
+
+		box-shadow: 0 0 10rpx rgba($color: #000000, $alpha: 0.6);
+
+		image {
+			width: 50rpx;
+			height: 50rpx;
+			position: absolute;
+			top: 0;
+			left: 0;
+			bottom: 0;
+			right: 0;
+			margin: auto;
+		}
+
+		.ewm-tit {
+			position: absolute;
+			bottom: 10rpx;
+			font-size: 10rpx;
+		}
+
+		.closeEwm {
+			width: 40rpx;
+			height: 40rpx;
+			position: absolute;
+			top: -40rpx;
+			right: -20rpx;
+
+			image {
+				width: 100%;
+				height: 100%;
+			}
+		}
+
+	}
+
+	// 功能区
+	.tool-box {
+		width: 750rpx;
+		flex-wrap: wrap;
+		justify-content: space-between;
+		padding: 20rpx 23rpx;
+		background-color: #fff;
+		font-size: 0;
+
+		.tool-item {
+			flex-wrap: wrap;
+			justify-content: space-between;
+			width: 344rpx;
+			margin-bottom: 15rpx;
+
+			image {
+				width: 100%;
+			}
+
+			.item-item {
+				width: 100%;
+				// width: ;
+			}
+
+			.slot-item {
+				width: 166rpx;
+
+				image {
+					width: 100%;
+				}
+			}
+		}
+	}
+</style>

+ 181 - 181
pages/redirect/redirect.vue

@@ -1,182 +1,182 @@
-<template>
-	<view>
-	</view>
-</template>
-<script>
-	import {
-		getUserInfo
-	} from '@/api/login.js';
-	import {
-		mapMutations,
-		mapState
-	} from 'vuex';
-	// #ifdef H5
-	import {
-		wechatAuth
-	} from '@/api/wx';
-	// #endif
-	// #ifdef MP-WEIXIN
-	import {
-		wechatMpAuth
-	} from '@/api/wx';
-	// #endif
-	export default {
-		computed: {
-			...mapState(['urlFile'])
-		},
-		onLoad(option) {
-			let obj = this;
-			// 判断是否需要保存定向地址
-			// #ifdef H5
-			this.loadH5()
-			// #endif
-			// #ifdef MP-WEIXIN
-			this.loadMp(option)
-			// #endif
-		},
-		methods: {
-			...mapMutations('user', ['login', 'setUserInfo']),
-			// #ifdef H5
-			loadH5() {
-				let obj = this;
-				let url = window.location.href;
-				let code = url.match(/code=([0-9]|[a-z]|[A-Z])*/g)[0].replace('code=', '');
-				history.replaceState({
-					name: '首页'
-				}, '首页', obj.urlFile + '/#/pages/index/index');
-				let spread = uni.getStorageSync('spread') || '';
-				wechatAuth({
-					code: code,
-					spread: spread,
-				}).then(({
-					data
-				}) => {
-					obj.wchatAuth(data);
-				}).catch((e) => {
-					uni.showModal({
-						title: '错误',
-						content: JSON.stringify(e),
-						showCancel: false,
-					});
-				});;
-			},
-			// #endif
-			// #ifdef MP-WEIXIN
-			loadMp(option) {
-				let obj = this;
-				// 获取登录授权页数据
-				let user = obj.$api.prePage().userInfo;
-				// #ifndef MP
-				// 获取推广人id
-				let spread_spid = uni.getStorageSync('spread') || '';
-				// #endif
-				// #ifdef MP
-				// 小程序推广人
-				let spread_code = uni.getStorageSync('spread_code') || '';
-				// #endif
-				wechatMpAuth({
-					code: option.code,
-					iv: user.target.iv,
-					encryptedData: user.target.encryptedData,
-					// #ifndef MP
-					spread_spid: spread_spid,
-					// #endif
-					// #ifdef MP
-					spread_code: spread_code
-					// #endif
-				}).then(({
-					data
-				}) => {
-					obj.wchatAuth(data);
-
-
-				}).catch((e) => {
-					uni.showModal({
-						title: '错误',
-						content: JSON.stringify(e),
-						showCancel: false,
-					});
-				});
-			},
-			// #endif
-			wchatAuth(data) {
-				let obj = this;
-				// 保存token
-				uni.setStorageSync('token', data.token);
-				// 获取用户基础信息
-				getUserInfo({}).then(e => {
-					// uni.showModal({
-					// 	title: '登录',
-					// 	content: JSON.stringify(e),
-					// });
-					obj.login();
-					// 保存返回用户数据
-					obj.setUserInfo(e.data);
-					let ur = uni.getStorageSync('present') || '/pages/index/index';
-					// 用于处理缓存bug
-					if (ur == 'pages/product/product') {
-						ur = '/pages/index/index'
-					}
-					if(ur.indexOf('public/wxLogin')>-1){
-						uni.switchTab({
-							url:'/pages/index/index'
-						})
-						return false;
-					}
-					
-						uni.switchTab({
-							url: ur,
-							fail(e) {
-								console.log(e);
-								uni.navigateTo({
-									url: ur,
-									fail(e) {
-										console.log(e);
-										uni.navigateTo({
-											url: '/pages/index/index',
-										});
-									}
-								});
-							}
-						});
-					
-					
-					
-					// uni.showModal({
-					// 	title: '跳转地址',
-					// 	content: JSON.stringify(ur),
-					// 	success: res => {
-					// 		if (res.confirm) {
-					// 			uni.switchTab({
-					// 				url: ur,
-					// 				fail(e) {
-					// 					console.log(e);
-					// 					uni.navigateTo({
-					// 						url: ur,
-					// 						fail(e) {
-					// 							console.log(e);
-					// 							uni.navigateTo({
-					// 								url: '/pages/index/index',
-					// 							});
-					// 						}
-					// 					});
-					// 				}
-					// 			});
-					// 		}
-					// 	},
-					// 	fail: () => {},
-					// 	complete: () => {}
-					// });
-
-				}).catch((e) => {
-					uni.showModal({
-						title: '错误',
-						content: JSON.stringify(e),
-						showCancel: false,
-					});
-				});;
-			}
-		}
-	};
-</script>
+<template>
+	<view>
+	</view>
+</template>
+<script>
+	import {
+		getUserInfo
+	} from '@/api/login.js';
+	import {
+		mapMutations,
+		mapState
+	} from 'vuex';
+	// #ifdef H5
+	import {
+		wechatAuth
+	} from '@/api/wx';
+	// #endif
+	// #ifdef MP-WEIXIN
+	import {
+		wechatMpAuth
+	} from '@/api/wx';
+	// #endif
+	export default {
+		computed: {
+			...mapState(['urlFile'])
+		},
+		onLoad(option) {
+			let obj = this;
+			// 判断是否需要保存定向地址
+			// #ifdef H5
+			this.loadH5()
+			// #endif
+			// #ifdef MP-WEIXIN
+			this.loadMp(option)
+			// #endif
+		},
+		methods: {
+			...mapMutations('user', ['login', 'setUserInfo']),
+			// #ifdef H5
+			loadH5() {
+				let obj = this;
+				let url = window.location.href;
+				let code = url.match(/code=([0-9]|[a-z]|[A-Z])*/g)[0].replace('code=', '');
+				history.replaceState({
+					name: '首页'
+				}, '首页', obj.urlFile + '/#/pages/index/index');
+				let spread = uni.getStorageSync('spread') || '';
+				wechatAuth({
+					code: code,
+					spread: spread,
+				}).then(({
+					data
+				}) => {
+					obj.wchatAuth(data);
+				}).catch((e) => {
+					uni.showModal({
+						title: '错误',
+						content: JSON.stringify(e),
+						showCancel: false,
+					});
+				});;
+			},
+			// #endif
+			// #ifdef MP-WEIXIN
+			loadMp(option) {
+				let obj = this;
+				// 获取登录授权页数据
+				let user = obj.$api.prePage().userInfo;
+				// #ifndef MP
+				// 获取推广人id
+				let spread_spid = uni.getStorageSync('spread') || '';
+				// #endif
+				// #ifdef MP
+				// 小程序推广人
+				let spread_code = uni.getStorageSync('spread_code') || '';
+				// #endif
+				wechatMpAuth({
+					code: option.code,
+					iv: user.target.iv,
+					encryptedData: user.target.encryptedData,
+					// #ifndef MP
+					spread_spid: spread_spid,
+					// #endif
+					// #ifdef MP
+					spread_code: spread_code
+					// #endif
+				}).then(({
+					data
+				}) => {
+					obj.wchatAuth(data);
+
+
+				}).catch((e) => {
+					uni.showModal({
+						title: '错误',
+						content: JSON.stringify(e),
+						showCancel: false,
+					});
+				});
+			},
+			// #endif
+			wchatAuth(data) {
+				let obj = this;
+				// 保存token
+				uni.setStorageSync('token', data.token);
+				// 获取用户基础信息
+				getUserInfo({}).then(e => {
+					// uni.showModal({
+					// 	title: '登录',
+					// 	content: JSON.stringify(e),
+					// });
+					obj.login();
+					// 保存返回用户数据
+					obj.setUserInfo(e.data);
+					let ur = uni.getStorageSync('present') || '/pages/index/index';
+					// 用于处理缓存bug
+					if (ur == 'pages/product/product') {
+						ur = '/pages/index/index'
+					}
+					if (ur.indexOf('public/wxLogin') > -1) {
+						uni.switchTab({
+							url: '/pages/index/index'
+						})
+						return false;
+					}
+
+					uni.switchTab({
+						url: ur,
+						fail(e) {
+							console.log(e);
+							uni.navigateTo({
+								url: ur,
+								fail(e) {
+									console.log(e);
+									uni.navigateTo({
+										url: '/pages/index/index',
+									});
+								}
+							});
+						}
+					});
+
+
+
+					// uni.showModal({
+					// 	title: '跳转地址',
+					// 	content: JSON.stringify(ur),
+					// 	success: res => {
+					// 		if (res.confirm) {
+					// 			uni.switchTab({
+					// 				url: ur,
+					// 				fail(e) {
+					// 					console.log(e);
+					// 					uni.navigateTo({
+					// 						url: ur,
+					// 						fail(e) {
+					// 							console.log(e);
+					// 							uni.navigateTo({
+					// 								url: '/pages/index/index',
+					// 							});
+					// 						}
+					// 					});
+					// 				}
+					// 			});
+					// 		}
+					// 	},
+					// 	fail: () => {},
+					// 	complete: () => {}
+					// });
+
+				}).catch((e) => {
+					uni.showModal({
+						title: '错误',
+						content: JSON.stringify(e),
+						showCancel: false,
+					});
+				});;
+			}
+		}
+	};
+</script>
 <style></style>

二进制
static/audio/bg-music.mp3


二进制
static/icon/dingwei.png


二进制
static/images/goods.jpg


二进制
static/images/money.jpg


二进制
static/img/index/axjk.png


二进制
static/img/index/hyfw.png


二进制
static/img/index/jzfw.png


二进制
static/img/index/jzsb.png


二进制
static/img/index/zyfw.png


二进制
static/img/index/zyjx.png


二进制
static/img/jiuzai.png


二进制
static/img/tool/axjk.png


二进制
static/img/tool/axjw.png


二进制
static/img/tool/bg1.png


二进制
static/img/tool/bg2.png


二进制
static/img/tool/bxb-bg-1.png


二进制
static/img/tool/bxb-bg.png


二进制
static/img/tool/etbxb.png


二进制
static/img/tool/etxxb.png


二进制
static/img/tool/hyjj.png


二进制
static/img/tool/hyzc.png


二进制
static/img/tool/jhyzm.png


二进制
static/img/tool/pjpxbm.png


二进制
static/img/tool/wcxx.png


二进制
static/img/tool/wyjz.png


二进制
static/img/tool/xmjz.png


二进制
static/img/tool/xxb-bg-1.png


二进制
static/img/tool/xxb-bg.png


二进制
static/img/tool/ytqgjx.png


二进制
static/img/tool/zxgxbjx.png


二进制
static/tabBar/redkp-action.png


二进制
static/tabBar/redpk.png


+ 4 - 4
store/index.js

@@ -5,10 +5,10 @@ Vue.use(Vuex)
 const store = new Vuex.Store({
 	state: {
 		// #ifdef MP
-		baseURL: 'http://gongan.igxys.com', //请求地址配置
+		baseURL: 'http://jzswx.jzrc.org.cn', //请求地址配置
 		// #endif
 		// #ifndef MP
-		baseURL: 'http://gongan.igxys.com', //请求地址配置
+		baseURL: 'http://jzswx.jzrc.org.cn', //请求地址配置
 		// #endif
 		// baseURL: 'http://yrh.liuniu946.com', //请求地址配置
 		urlFile: '/index', //项目部署所在文件夹
@@ -23,8 +23,8 @@ const store = new Vuex.Store({
 		// #endif
 		// shareData:'',//分享信息
 		project_area: 0,
-		sys_appid: 'gonganxianred2022125',//系统AppID
-		sys_appsecret: '2022125gonganxianred',//系统AppSecret
+		sys_appid: 'jzsred2022224',//系统AppID
+		sys_appsecret: '2022224jzsred',//系统AppSecret
 		baseName: '荆州市红十字会',
 		shareDesc: '弘扬红十字精神,传播红十字观念,宣传红十字工作,这是一个汇聚爱心、救助之家力量的平台!'
 	},

部分文件因为文件数量过多而无法显示