<template>
	<view class="content">
		<!-- 轮播 -->
		<view class="carousel-section">
			<swiper class="carousel" :autoplay="true" :interval="3000" :duration="1000">
				<swiper-item v-for="item in carouselList" :key="item.id">
					<image :src="item.pic"></image>
				</swiper-item>
			</swiper>
		</view>

		<!-- 分类 -->
		<view class="cate-section">
			<view class="cate-item" @click="tocontribution">
				<image src="../../static/icon/icon1.png" style="width: 107rpx;height: 98rpx;"></image>
				<text>爱心捐赠</text>
			</view>
			<!-- <a href="http://yyhszh.yygrwhg.com/willsoft/deyy/MobileView_look.aspx?news_id=1" title="爱心捐赠">
				<view class="cate-item">
					<image src="../../static/icon/icon3.png" style="width: 87rpx;height: 64rpx;"></image>
					<text>爱心捐赠</text>
				</view>
			</a> -->
			<view class="cate-item" @click="toapplic">
				<view class="cate-item">
					<image src="../../static/icon/icon2.png" style="width: 110rpx;height: 92rpx;"></image>
					<text>干细胞捐献</text>
				</view>
			</view>
			<navigator @click="toorange">
				<view class="cate-item">
					<image src="../../static/icon/icon3.png"></image>
					<text>器官捐献</text>
					<!-- <a title="器官捐赠" href="https://register.codac.org.cn/wx/html/notice.htm">器官捐赠</a> -->
				</view>
			</navigator>
			<!-- 	<a href="https://register.codac.org.cn/wx/html/notice.htm" title="器官捐赠">
				<view class="cate-item">
					<image src="../../static/icon/icon3.png" style="width: 112rpx;height: 84rpx;"></image>
					<text>器官捐献</text>
				</view>
			</a> -->
			<view>
				<view class="cate-item" @click="tohelpActi">
					<image src="../../static/icon/icon4.png" style="width: 104rpx;height: 87rpx;"></image>
					<text>人道救助</text>
				</view>
			</view>
		</view>

		<!-- 红会科普 -->
		<view class="science-section">
			<view class="science-title">
				<image src="../../static/img/wings-left.png" mode=""></image>
				<view class="title">红会科普</view>
				<image src="../../static/img/wings-right.png" mode=""></image>
			</view>
			<scroll-view class="science-box" scroll-x>
				<view class="science-content">
					<view class="science-item" v-for="(item, index) in science" :key="index" @click="Jump(item.id)">
						<image :src="item.image_input[0]" mode=""></image>
						<view class="article-title word1_ellipsis">{{ item.title }}</view>
						<view class="article-content">{{ item.synopsis }}</view>
					</view>
				</view>
			</scroll-view>
			<navigator class="science-more" url="/pages/applic/science">
				查看更多
				<image src="../../static/icon/moreRight.png" mode=""></image>
				<image src="../../static/icon/moreRight.png" mode=""></image>
			</navigator>
		</view>

		<!--  sos急救系统 -->
		<view class="system">
			<view class="system-title">
				<view class="img">
					<image src="../../static/img/wings-left.png"></image>
				</view>
				<view class="title" @click="tolocation">救在身边</view>
				<view class="img">
					<image src="../../static/img/wings-right.png"></image>
				</view>
			</view>
			<view class="system-map">
				<map @click="tolocation" :show-location="false" class="map-box" id="mapjzsb" :markers="markerjzsb"
					:scale="scale" :latitude="latitude4" :longitude="longitude4" ref="mapjzsb"
					style="height: 450rpx"></map>
				<!-- <view class="map-box" @click="tolocation"><image src="../../static/img/map.jpg" mode=""></image></view> -->
			</view>
			<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">
							<image src="../../static/img/002.png" mode=""></image>
						</view>
						<!-- <view class="img02" v-else><image src="../../static/img/missing-face.png" mode=""></image></view> -->
						<view class="info">
							<view class="info-header">
								<view class="name">救护员{{ index + 1 }}</view>
								<view class="distance">{{ item.num }}km</view>
								<view class="location-icon">
									<image src="../../static/img/location-icon.png" mode=""></image>
								</view>
							</view>
							<view class="address">{{ item.address }}</view>
						</view>
					</view>
					<view class="box-right" @click="rescue(item, index)">
						<view class="img" v-if="!item.is">
							<image src="../../static/img/rescue.png" mode=""></image>
						</view>
						<view class="called" v-if="item.is">已呼叫</view>
					</view>
				</view>
			</view>
			<navigator class="science-more" url="/pages/applic/location">
				查看更多
				<image src="../../static/icon/moreRight.png" mode=""></image>
				<image src="../../static/icon/moreRight.png" mode=""></image>
			</navigator>
		</view>
		
		<uni-popup ref="popups" type="center">
			<view class="popup_rows">
				<view class="title">
					<view class="title-left">请输入您的手机号，等待救援!</view>
					<view class="cancel" @click="cancel">
						<image src="../../static/img/cancel1.png" mode=""></image>
					</view>
				</view>
				<view class="inpBox"><input type="text" value="" placeholder="请输入您的手机号" v-model="to_phone" /></view>
				<view class="inpedit">可在方框中修改您的手机号</view>
				<view class="comfirm">
					<view class="comfirm1" @click="comfirm1()">确认</view>
				</view>
			</view>
		</uni-popup>
		<uni-popup ref="popup" type="center" @click="close">
			<view class="popup_row">
				<view class="rows">
					<view class="row-1">
						<image class="first_aid" src="../../static/img/img03.jpg"></image>
					</view>
					<view class="row-2">扫码进入急救平台</view>
				</view>
			</view>
		</uni-popup>
	</view>
</template>

<script>
	import {
		loadIndexs,
		bannerlist,
		getdis,
		tocall
	} from '@/api/index.js';
	import {
		saveUrl,
		interceptor
	} from '@/utils/loginUtils.js';
	import {
		mapState,
		mapMutations
	} from 'vuex';
	import {
		userinfo
	} from '@/api/user.js';
	import uniPopup from '@/components/uni-popup/uni-popup.vue';
	export default {
		components: {
			uniPopup
		},
		data() {
			return {
				to_phone: '',
				phone: '',
				uid: '',
				name: '',
				scale: '12', //地图缩放程度
				latitude4: '116.2317',
				longitude4: '39.5427',
				carouselList: [], //轮播
				science: [], //文章列表
				markerjzsb: [],
				jzsbList: [],
			};
		},
		onShow() {
			// let token = uni.getStorageSync('token');
			console.log(this);
			if (!this.hasLogin) {
				saveUrl();
				// 登录拦截
				// interceptor();
				uni.showModal({
					title: '登录',
					content: '您未登录，是否马上登陆?',
					success: e => {
						if (e.confirm) {
							interceptor();
						}
					},
					fail: e => {
						console.log(e);
					}
				});
			} else {
				this.loadData();
			}
		},
		onLoad() {
			saveUrl()
			let obj = this;
			try {
				let locationAddress
				// #ifdef H5
				let wxOjb = require('jweixin-module');
				locationAddress = wxOjb.getLocation;
				// #endif
				// #ifdef H5
				wxOjb.ready(() => {
					console.log('加载完毕注册事件');
					locationAddress({
						type: 'gcj02',
						success: function(res) {
							console.log('获取经纬度', res);
							obj.longitude4 = res.longitude
							obj.latitude4 = res.latitude
							obj.marker = [{
								longitude: res.longitude,
								latitude: res.latitude,
								iconPath: '/static/img/img19.png',
								width: '45',
								height: '45',
							}, ]
							obj.marker1 = [{
								longitude: res.longitude,
								latitude: res.latitude,
								iconPath: '/static/img/img19.png',
								width: '45',
								height: '45',
							}]
							obj.loadData();
							obj.getJzsb()
						},
						fail(e) {
							console.log('失败', e);
							window.location.reload();
						}
					});
				})
				// #endif
			} catch (e) {
				console.log(e, 'eee');
				let locationAddress
				// #ifdef H5
				let wxOjb = require('jweixin-module');
				locationAddress = wxOjb.getLocation;
				// #endif
				// #ifdef H5
				wxOjb.ready(() => {
					console.log('加载完毕注册事件');
					locationAddress({
						type: 'gcj02',
						success: function(res) {
							console.log('获取经纬度', res);
							obj.longitude4 = res.longitude
							obj.latitude4 = res.latitude
							obj.loadData();
							obj.getJzsb()
						},
						fail(e) {
							console.log('失败', e);
							window.location.reload();
						}
					});
				})
				// #endif
			}
		},
		computed: {
			...mapState('user', ['userInfo', 'baseURL', 'hasLogin'])
		},
		methods: {
			...mapMutations('user', ['setUserInfo']),
			cancel() {
				this.$refs.popups.close();
			},
			comfirm1: function() {
				let obj = this;
				if (obj.to_phone.toString().trim() == '') {
					// uni.showModal({
					// 	title:'输入框为空',
					// 	// content:JSON.stringify(obj)
					// })
				} else {
					console.log('obj.to_phone1111', obj.to_phone);
					const reg = /^(\+?0?86-?)?1[\d]\d{9}$/;
					if (!reg.test(obj.to_phone)) {
						obj.$api.msg('请填写正确的手机号码');
						return;
					}
					console.log('name:', obj.name);
					console.log('uid:', obj.uid);
					console.log('phone', obj.phone);
					console.log('to_phone', obj.to_phone);
					console.log('longitude', obj.longitude);
					console.log('latitude', obj.latitude);
					console.log('iscall', obj.iscall);
					tocall({
						name: obj.name,
						uid: obj.uid,
						phone: obj.phone,
						longitude: obj.longitude4,
						latitude: obj.latitude4,
						to_phone: obj.to_phone
					}).then(data => {
						console.log(99988, data);
						uni.showModal({
							title: '请耐心等待救援',
							success: res => {
								if (res.confirm) {
									window.location.reload(); //重新刷新页面
								}
							}
						});
						obj.$refs.popups.close();
						obj.iscall = false;
						console.log(123, obj.iscall);
					});
				}
			},
			// 立即救援
			rescue(item, index) {
				let obj = this;
				uni.showModal({
					content: '是否发起求救？',
					success: res => {
						if (res.confirm) {
							this.$refs.popups.open(item, index);
							obj.name = item.name;
							obj.uid = item.uid;
							obj.phone = item.phone;
							obj.iscall = false;
							console.log('点击救援时item.phone：', obj.phone);
						}
					}
				});
			},
			// 获取就在身边
			getJzsb() {
				let obj = this;
				getdis({
					lng1: obj.longitude4,
					lat1: obj.latitude4
				}).then((res) => {
					let data = res.data;
					this.jzsbList = res.data.slice(0, 3)
					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.markerjzsb = obj.marker1.concat(arr)
					console.log(obj.markerjzsb, 'obj.markerjzsb')
				}).catch(err => {
					console.log(err);
					uni.hideLoading();
					uni.showModal({
						title: '失败',
						content: JSON.stringify(err)
					});
				});
			},
			tocontribution() {
				uni.navigateTo({
					url: "/pages/applic/contribution"
				})
			},
			tolocation() {
				uni.navigateTo({
					url: "/pages/applic/location"
				})
			},
			toorange() {
				uni.navigateTo({
					url: "/pages/applic/toorange"
				})
			},
			toapplic() {
				uni.navigateTo({
					url: "/pages/applic/appliSystem"
				})
			},
			tohelpActi() {
				uni.navigateTo({
					url: "/pages/applic/tohelpActi"
				})
			},
			loadData() {
				let obj = this;
				userinfo({}).then(({
					data
				}) => {
					obj.setUserInfo(data);
					loadIndexs({}).then(({
						data
					}) => {
						obj.carouselList = data.banner; //轮播图
						bannerlist().then(({
							data
						}) => {
							console.log(data);
							obj.science = data;
						});
					});
				});
			},
			Jump(id) {
				uni.navigateTo({
					url: "/pages/applic/info?id=" + id
				})
			},
			open() {
				this.$refs.popup.open();
			},
			close() {
				this.$refs.popup.close();
			}
		}
	};
</script>

<style lang="scss">
	a {
		text-decoration: none;
		color: #5f5f5f;
	}

	page,
	.content {
		background-color: #f8f8f8;
		height: 100%;
		padding-bottom: 50px;
	}

	.popup_row {
		width: 500rpx;
		height: 500rpx;
		background-color: #ffffff;
		border-radius: 20rpx;
		display: flex;
		justify-content: center;
		align-items: center;

		.rows {
			.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;

			.carousel {
				width: 100%;
				height: 398rpx;

				.carousel-item {
					width: 100%;
					height: 100%;
					padding-left: 30rpx;
					padding-right: 30rpx;
					overflow: hidden;
				}

				image {
					width: 100%;
					height: 398rpx;
				}
			}
		}

		// 分类
		.cate-section {
			display: flex;
			justify-items: center;
			align-items: center;
			justify-content: space-around;
			height: 214rpx;
			width: 750rpx;
			background-color: #ffffff;

			.cate-item {
				display: flex;
				flex-direction: column;
				justify-content: center;
				align-items: center;
				color: #5f5f5f;
				font-size: 26rpx;

				image {
					height: 88rpx;
					width: 88rpx;
					margin-bottom: 14rpx;
					border-radius: 50%;
					opacity: 0.7;
				}
			}
		}

		// 红会科普
		.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 {
						width: 198rpx;
						margin-right: 24rpx;
						display: flex;
						flex-direction: column;
						align-items: center;

						image {
							width: 100%;
							height: 145rpx;
						}

						.article-title {
							max-width: 200rpx;
							color: #333;
							font-size: 25rpx;
							padding-top: 20rpx;
							padding-bottom: 16rpx;
							font-weight: 900;
						}

						.article-content {
							max-width: 200rpx;
							color: #999999;
							font-size: 18rpx;
							overflow: hidden;
							text-overflow: ellipsis;
							white-space: nowrap;

						}

					}
				}

			}

			.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-top: 40rpx;
			// padding-bottom: 45rpx;
			// margin-bottom: 43rpx;
			padding-bottom: 50px;
			margin-bottom: 84rpx;

			.system-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;
				}

				.img {
					width: 68rpx;
					height: 43rpx;
					margin-left: 16rpx;
					margin-right: 16rpx;

					image {
						width: 68rpx;
						height: 43rpx;
					}
				}
			}

			.system-map {
				width: 750rpx;
				height: 500rpx;
				background-color: #ffffff;
				padding: 0 24rpx;
				padding-bottom: 45rpx;

				.map-box {
					width: 100%;
					height: 500rpx;
					background-color: #f8f8f8;

					image {
						width: 100%;
						height: 500rpx;
					}
				}
			}
		}
	}

	.science-more {
		background-color: #fff;
		display: flex;
		justify-content: center;
		align-items: center;
		color: #e63931;
		font-size: 30rpx;
		padding-top: 18rpx;
		padding-bottom: 18rpx;

		image {
			width: 20rpx;
			height: 27rpx;
		}
	}
	.popup_rows {
		// 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 {
		// width: 710rpx;
		background-color: #fff;
		z-index: 10;
		display: flex;
		justify-content: space-between;
		align-items: center;
		border-bottom: 1rpx solid #e7e8ea;
		padding: 15rpx 30rpx;
		// margin: auto;
		.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;
			}
		}
	}
</style>