<template>
	<view>
		<cpn-navbar title="今日护理"></cpn-navbar>

		<view class="content">
			<view class="map">
				<view class="map-text">护理地图</view>
				<view class="map-icon" @click="toMap">
					<u-image src="/static/todayNursing/map.png" height="84" width="84" shape="circle"></u-image>
				</view>
			</view>

			<view class="nursing-list">
				<scroll-view scroll-y="true" style="height: 1130rpx;" :refresher-enabled="true"
					:refresher-triggered="refreshStatus" @refresherrefresh="getToday"
					@refresherrestore="refreshStatus = 'restore'">
					<view v-if="nursingList && nursingList.length > 0">

						<view v-for="(item,index) in nursingList" :key="item.id" class="list-item"
							@click="toDetail(item)">
							<view class="top">
								<view class="time">{{timeFormat(item.start_time)}}~{{timeFormat(item.end_time,"HH:mm")}}
								</view>
								<view class="status">
									<view class="status-icon"
										:class="{icon1:item.status === 0,icon2:item.status === 2,icon3:item.status === 1}">
									</view>
									<view v-if="item.status === 1" class="status-text">进行中</view>
									<view v-else-if="item.status === 0" class="status-text">待护理</view>
									<view v-else class="status-text">已完成</view>
								</view>
							</view>

							<view class="line"></view>

							<view class="center">
								<view class="avatar">
									<u-image :src="item.customer.sex === '男' ? vuex_male_img : vuex_female_img"
										height="104" width="104" shape="circle"></u-image>
								</view>
								<view class="user-info">
									<view class="name">{{item.customer.name}}</view>
									<view class="tel">
										<view>
											<u-icon name="phone" size="28" color="#1479FF"></u-icon>
										</view>
										<view class="text">{{item.customer.phone|| '无'}}</view>
									</view>
									<view class="address">
										<view>
											<u-icon name="map" size="28" color="#1479FF"></u-icon>
										</view>
										<view class="text">{{item.customer_address.address || '无'}}</view>
									</view>
								</view>
								<view class="sex">
									<view class="sex-text">
										{{item.customer.sex}}
									</view>
								</view>
							</view>

							<view class="bottom">
								<view class="distance">
									<view class="distance-icon">
										<u-image src="/static/todayNursing/distance.png" height="42" width="42">
										</u-image>
									</view>
									<view class="distance-text">{{item.distance}}公里</view>
								</view>
								<view class="to-there" @click.stop="toThere(item)">
									<view class="to-there-text">去那里</view>
									<view class="to-there-icon">
										<u-image src="/static/todayNursing/to-there.png" height="46" width="46">
										</u-image>
									</view>
								</view>
							</view>
						</view>

					</view>

					<view v-else class="nursing-list-nodata">
						<u-empty mode="list" text="暂无护理">
						</u-empty>
					</view>
				</scroll-view>
			</view>
		</view>
	</view>
</template>

<script>
	import moment from "@/libs/moment.min.js"
	export default {
		data() {
			return {
				refreshStatus: false,
				select: {
					page: 1,
					page_size: 999,
					date: `${new Date().getFullYear()}-${new Date().getMonth()+1}-${new Date().getDate()}`,
					lat: '',
					lng: ''
				},

				nursingList: []
			}
		},
		methods: {
			//跳转护理地图
			toMap() {
				uni.$u.throttle(() => {
					uni.navigateTo({
						url: "/pages/map/map"
					})
				})
			},
			//跳转详情
			toDetail(item) {
				uni.$u.throttle(() => {
					uni.navigateTo({
						url: `/pages/detailNursing/detailNursing?id=${item.id}`
					})
				})
			},

			async getToday() {
				this.refreshStatus = true
				let res = await this.$u.api.nurseList(this.select)
				console.log(res);
				this.nursingList = res.data
				this.refreshStatus = false
			},


			toThere(item) {
				this.$u.throttle(() => {
					uni.openLocation({
						latitude: Number(item.customer.lat),
						longitude: Number(item.customer.lng),
						name: item.customer.address
					})
				})
			}
		},
		computed: {
			timeFormat() {
				return function(time, fmt = 'YYYY-MM-DD HH:mm') {
					if (!time) {
						return
					}
					return moment(time).format(fmt)
				}
			}
		},
		onShow() {
			uni.getLocation().then(res => {
				this.select.lat = res[1]?.latitude
				this.select.lng = res[1]?.longitude

				this.getToday()
			})
		}
	}
</script>

<style scoped lang="scss">
	.map {
		display: flex;
		align-items: center;

		margin-top: 20rpx;
		margin-left: 470rpx;

		.map-text {
			width: 128rpx;
			height: 42rpx;
			font-size: 32rpx;
			font-family: PingFang-SC-Medium, PingFang-SC;
			font-weight: 500;
			color: #36596A;
			line-height: 42rpx;

		}

		.map-icon {

			margin-left: 24rpx;
		}
	}

	.nursing-list {

		margin-top: 16rpx;

		.list-item {
			width: 710rpx;
			background: #FFFFFF;
			box-shadow: 0rpx 4rpx 10rpx 0rpx rgba(219, 218, 218, 0.5);

			margin: 0 20rpx 26rpx 22rpx;

			.top {
				display: flex;
				justify-content: space-between;
				align-items: center;

				padding: 22rpx 0;

				.time {
					height: 40rpx;
					font-size: 28rpx;
					font-family: PingFang-SC-Medium, PingFang-SC;
					font-weight: 500;
					color: #36596A;
					line-height: 40rpx;

					padding-left: 20rpx;
				}

				.status {
					display: flex;
					align-items: center;

					.status-icon {

						margin-right: 10rpx;
					}

					.status-text {
						width: 84rpx;
						height: 40rpx;
						font-size: 28rpx;
						font-family: PingFang-SC-Medium, PingFang-SC;
						font-weight: 500;
						color: #36596A;
						line-height: 40rpx;

						margin-right: 20rpx;
					}
				}
			}

			.line {
				width: 670rpx;
				height: 2rpx;
				border: 2rpx solid #EEEFF5;

				margin: 0 auto;
			}

			.center {
				display: flex;
				justify-content: space-between;

				padding-top: 24rpx;

				.avatar {

					padding-top: 4rpx;
					padding-left: 20rpx;
				}

				.user-info {
					flex: 1;
					padding-left: 24rpx;

					.name {
						width: 270rpx;
						height: 48rpx;
						font-size: 32rpx;
						font-family: PingFang-SC-Medium, PingFang-SC;
						font-weight: 500;
						color: #333333;
					}

					.tel {
						height: 40rpx;
						font-size: 28rpx;
						font-family: PingFang-SC-Medium, PingFang-SC;
						font-weight: 500;
						color: #36596A;
						line-height: 40rpx;
						display: flex;

						margin-top: 18rpx;

						.text {

							margin-left: 10rpx;
						}
					}

					.address {
						font-size: 28rpx;
						font-family: PingFang-SC-Medium, PingFang-SC;
						font-weight: 500;
						color: #36596A;
						line-height: 40rpx;
						display: flex;

						margin-top: 14rpx;

						.text {

							margin-left: 10rpx;
						}
					}
				}

				.sex {
					width: 40rpx;
					height: 40rpx;
					background: #FDECEC;
					opacity: 0.5;
					display: flex;
					justify-content: center;
					align-items: center;

					margin-right: 20rpx;

					.sex-text {
						width: 28rpx;
						height: 34rpx;
						font-size: 28rpx;
						font-family: PingFang-SC-Medium, PingFang-SC;
						font-weight: 500;
						color: #36596A;
						line-height: 34rpx;
					}
				}
			}

			.bottom {
				display: flex;
				justify-content: space-between;
				align-items: center;

				margin-top: 16rpx;
				padding-bottom: 26rpx;

				.distance {
					align-items: center;
					display: flex;

					.distance-icon {

						padding-left: 20rpx;
					}

					.distance-text {
						height: 34rpx;
						font-size: 24rpx;
						font-family: PingFang-SC-Medium, PingFang-SC;
						font-weight: 500;
						color: #A7AFBC;
						line-height: 34rpx;

						padding-left: 20rpx;
					}
				}

				.to-there {
					display: flex;
					align-items: center;

					margin-right: 20rpx;

					.to-there-text {
						height: 34rpx;
						font-size: 24rpx;
						font-family: PingFang-SC-Medium, PingFang-SC;
						font-weight: 500;
						color: #A7AFBC;
						line-height: 34rpx;

						margin-right: 14rpx;
					}

					.to-there-icon {

						margin-left: 3rpx;
					}
				}
			}
		}


		&-nodata {
			transform: translate(-50%, -50%);
			position: fixed;
			top: 50%;
			left: 50%;
		}
	}
</style>
