<template>
	<!-- 修改营业时间弹框 -->
	<uv-overlay :show="show" @click="close">
		<view class="warp">
			<view class="rect" @tap.stop>
				<view class="title">修改营业时间</view>
				<view class="center">
					<view style="display: flex;justify-content: space-around;">
						<view>上班时间：</view>
						<view @click="startDateOpen()">
							{{ startTime }}
							<uv-datetime-picker ref="startDateRef" v-model="startTime" mode="time"
								@confirm="startDateChange()"></uv-datetime-picker>
						</view>
					</view>

					<view style="display: flex;justify-content: space-around;">
						<view>下班时间：</view>
						<view @click="endDateOpen()">
							{{ endTime }}
							<uv-datetime-picker style="z-index: 999;" ref="endDateRef" v-model="endTime" mode="time"
								@confirm="endDateChange()"></uv-datetime-picker>
						</view>
					</view>
				</view>
				<view class="bottom">
					<view>
						<uv-button type="info" shape="circle" text="取消" :custom-style="customStyle1"
							@click="close"></uv-button>
					</view>
					<view>
						<uv-button type="info" shape="circle" text="确定" :custom-style="customStyle2"
							@click="confirm"></uv-button>
					</view>
				</view>
			</view>
		</view>
	</uv-overlay>
</template>

<script>
	import {
		mapGetters,
		mapState,
	} from 'vuex'
	import dayjs from '../../uni_modules/uv-ui-tools/libs/util/dayjs';
	export default {
		data() {
			return {
				show: false,
				startTime: dayjs(new Date()).format("HH:mm"),
				endTime: dayjs(new Date()).format("HH:mm")
			}
		},
		computed: {
			...mapGetters(['userShop']),
			...mapState(['userInfo']),
			customStyle1() {
				return {
					height: '60rpx',
					background: '#FFF',
					color: '#000000',
					fontSize: '36rpx',
					borderRadius: '40rpx', //圆角

					// nvue中必须是下方的写法
					'border-top-right-radius': '40rpx',
					'border-bottom-left-radius': '40rpx',
					'border-bottom-right-radius': '40rpx',
					'width': '150rpx',
				}
			},
			customStyle2() {
				return {
					height: '60rpx',
					background: '#fd5100',
					color: '#FFF',
					fontSize: '34px',
					borderRadius: '40rpx', //圆角
					// nvue中必须是下方的写法
					'border-top-right-radius': '40rpx',
					'border-bottom-left-radius': '40rpx',
					'border-bottom-right-radius': '40rpx',
					'width': '150rpx',
				}
			}
		},
		onShow() {
			this.$store.commit('getUserInfo')
			
		},
		methods: {

			startDateChange(val) {
				this.$nextTick(() => {
					this.startTime = val.value
				});
			},
			startDateOpen() {
				this.$refs.startDateRef.open();
			},
			endDateChange(val) {
				this.$nextTick(() => {
					this.endTime = val.value
				});
			},
			endDateOpen() {
				this.$refs.endDateRef.open();
			},


			open() {
				this.show = true
				this.startTime = this.userInfo.shop.jobTime.split("-")[0]
				this.endTime = this.userInfo.shop.jobTime.split("-")[1]
			},
			close() {
				this.show = false
			},
			confirm() {
				this.show = false

				this.$api('updateJobTime', {
					time: this.startTime + '-' + this.endTime
				}, res => {
					if (res.code == 200) {
						this.$store.commit('getUserInfo')
						uni.showToast({
							icon: 'success',
							title: '修改营业时间成功',
							duration: 1500
						})
					}
				})
			},
		}
	}
</script>

<style scoped lang="scss">
	.uv-popup {
		z-index: 999;
	}

	.warp {
		display: flex;
		align-items: center;
		justify-content: center;
		height: 100%;

	}

	.rect {
		width: 600rpx;
		height: 300rpx;
		background-color: #fff;
		border-radius: 20rpx;
		overflow: hidden;

		.title {
			padding: 10rpx 0 0 15rpx;
			background-color: #fd5100;
			color: #FFF;
			text-align: left;
			width: 100%;
			height: 18%;
			font-size: 36rpx;
		}

		.center {
			height: 50%;
			display: flex;
			flex-direction: column;
			gap: 20rpx;
			// justify-content: center;
			// align-items: center;
			font-size: 36rpx;
			padding: 20rpx 50rpx 0 50rpx;
		}

		.bottom {
			display: flex;
			justify-content: center;
			gap: 50rpx;
		}
	}
</style>