<template>
	<view class="pages" :style="{'height':(h)+'px','padding-top':mt+'px'}">
		<c-nav-bar title="酒店民宿信息" :showIcon="true"></c-nav-bar>
		<view class="content">
			<view class="card" @click="goToPosition()">
				<text class="label">位置定位</text>
				<u-icon name="arrow-right" size="24"></u-icon>
			</view>
			<view class="card">
				<text class="label">联系电话</text>
				<u--input inputAlign="right" placeholder="请输入内容" border="none" v-model="stayInfo.landlinePhone"
					style="text-align: right;"></u--input>
			</view>
			<view class="card c2">
				<view class="tit">酒店简介</view>
				<view>
					<u--textarea customStyle="font-size:28rpx;line-height:28rpx" border='none' maxlength="300" count
						v-model="stayInfo.introduction" :value="stayInfo.introduction" placeholder="请输入酒店简介"
						height='360'></u--textarea>
				</view>
			</view>
			<view class="card c2">
				<view class="tit">内饰照片</view>
				<view class="imgs">
					<!-- <image src="" v-for="(item,index) in imgUrlList" :key="index"></image> -->
					<u-upload ref="uUpload" uploadText="上传图片" :fileList="imgUrlList" :maxSize="10 * 1024 * 1024"
						width="180" height="120" @afterRead="afterRead" @delete="deletePic">
					</u-upload>
				</view>
			</view>
		</view>
		<view class="bottom">
			<view class="btn" @click="save()">
				确定
			</view>
		</view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				homestayId: uni.getStorageSync('homestayId') || 0,
				value: '',
				value1: '',
				fileList: [],
				fileList1: [],
				imgUrlList: [],
				fileList2: [],
				stayInfo: {
					picList: []
				},

			}
		},
		onLoad() {
			this.getStayInfo()
		},
		filters: {
			// 去除富文本标签样式
			removeHtmlStyle(html) {
				const relStyle = /style\s*?=\s*?(['"])[\s\S]*?\1/g
				const relTag = /<.+?>/g
				const relClass = /class\s*?=\s*?(['"])[\s\S]*?\1/g
				let newHtml = ''
				if (html) {
					newHtml = html.replace(relStyle, '')
					newHtml = newHtml.replace(relTag, '')
					newHtml = newHtml.replace(relClass, '')
				}
				return newHtml
			}
		},
		methods: {

			goToPosition() {
				const qwe = JSON.stringify(this.stayInfo)
				uni.navigateTo({
					url: '/pagesMy/stayInfo/roomPosition?item=' + JSON.stringify(this.stayInfo)
				})
			},
			getStayInfo() {
				this.$api.get('/merchant/hotel/mine/getMerchantHomestayInfo/' + this.homestayId).then(res => {
					if (res.data.code == 0) {
						this.stayInfo = res.data.data;
						this.stayInfo.picList.forEach((item) => {
							this.imgUrlList.push({
								url: item
							})
						})
					}
				})
			},
			// 删除图片
			deletePic(event) {
				this.imgUrlList.splice(event.index, 1)
			},
			// 新增图片
			async afterRead(event) {
				let lists = [].concat(event.file)
				let fileListLen = this.imgUrlList.length
				lists.map((item) => {
					this.imgUrlList.push({
						...item,
						status: 'uploading',
						message: '上传中'
					})
				})
				for (let i = 0; i < lists.length; i++) {
					const result = await this.uploadFilePromise(lists[i].url)
					let item = this.imgUrlList[fileListLen]
					this.imgUrlList.splice(fileListLen, 1, Object.assign(item, {
						status: 'success',
						message: '',
						url: result
					}))
					fileListLen++
				}
				console.log(this.imgUrlList)
			},
			uploadFilePromise(url) {
				return new Promise((resolve, reject) => {
					let a = uni.uploadFile({
						url: 'https://i.ringzle.com/island-cloud-server/oss/file/upload', // 仅为示例，非真实的接口地址
						filePath: url,
						name: 'file',
						formData: {
							user: 'test'
						},
						success: (res) => {
							console.log(res)
							let data = JSON.parse(res.data);
							console.log(data)
							resolve(data.data.url)
						}
					});
				})
			},
			save() {
				if (!this.$u.test.mobile(this.stayInfo.landlinePhone)) {
					this.$showToast('请输入正确手机号');
					return
				}
				this.stayInfo.picList = [];
				this.imgUrlList.forEach((i) => {
					if (i.url) {
						this.stayInfo.picList.push(i.url)
					}
				})
				this.$api.post('/merchant/hotel/mine/updMHomestayInfo', this.stayInfo).then(res => {
					console.log(res)
				})
			}

		}
	}
</script>
<style lang="less">
	.u-upload__wrap__preview__image {
		width: 190rpx !important;
		height: 120rpx !important;
	}

	.u-upload__button {
		width: 190rpx !important;
		height: 120rpx !important;
	}
</style>

<style lang="scss" scoped>
	/deep/.u-cell__body {
		padding: 0;
	}

	::v-deep .u-icon__icon {
		font-size: 30rpx !important;
		margin-bottom: 10rpx;
		left: 2rpx !important;
		top: 6rpx !important;
	}

	::v-deep .u-upload__button__text {
		color: #B9C2D0 !important;
		font-size: 20rpx !important;
	}

	::v-deep .u-cell__body {
		padding: 0;
	}

	.pages {
		background: #F9FAFC;

		.content {
			padding: 20rpx 30rpx;
			height: 100vh;

			.card {
				background: #fff;
				border-radius: 16rpx;
				padding: 30rpx;
				margin-bottom: 20rpx;
				display: flex;
				align-items: center;
				justify-content: space-between;

				&.c2 {
					display: block;
				}

				.label {
					font-size: 30rpx;
				}

				.tit {
					font-size: 30rpx;
					font-weight: bold;
					margin-bottom: 20rpx;
				}

				.upload {
					margin-top: 48rpx;
					width: 100%;
					height: 200rpx;
					border-radius: 16rpx;
					background-color: #F5F8FA;
					display: flex;
					align-items: center;
					text-align: center;

					.upload-one {
						margin: 0 245rpx;
						width: 200rpx;
						height: 200rpx;

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

		.bottom {
			z-index: 99999;
			position: fixed;
			bottom: 0;
			background: #fff;
			width: 100%;
			padding: 20rpx 0 30rpx;
			box-sizing: border-box;

			.btn {
				background: #33AFFC;
				color: white;
				text-align: center;
				height: 96rpx;
				margin: 0 auto;
				font-size: 34rpx;
				line-height: 96rpx;
				align-self: center;
				border-radius: 48rpx;
				width: 690rpx;
			}
		}
	}
</style>