<template>
	<view class="commemt">
		<view class="comment-list">
			<commentItem 
			v-for="(item,index) in list" 
			:key="index"
			:item="item" />
		</view>

		<view class="submit-box">
			<view class="top">
				<button 
				class="share"
				open-type="share">
					<uv-icon
					color="#00cf05"
					size="50rpx"
					name="weixin-fill"></uv-icon>
				</button>
				
				<input type="text"
				disabled
				@click="$refs.popup.open('bottom')"
				:placeholder="'评论给' + params.name"
				v-model="form.userValue"/>
				
				<!-- <view class="submit"
				@click="submit">
					发布
				</view> -->
			</view>
		</view>
		
		<uv-popup ref="popup" :round="30">
			<view class="popup">
				<view class="content-input">
					<uv-textarea 
					v-model="form.userValue" 
					:maxlength="200" 
					autoHeight
					count
					focus
					:placeholder="'评论给' + params.name"></uv-textarea>
				</view>
				
				
				<view class="images box">
					<uv-upload 
					:fileList="fileList" 
					:maxCount="imageMax" 
					multiple 
					width="150rpx" 
					height="150rpx"
					@delete="deleteImage"
					@afterRead="afterRead"
					:previewFullImage="true"></uv-upload>
				</view>
				
				<view class="uni-color-btn"
				@click="submit">
					发布
				</view>
			</view>
		</uv-popup>
	</view>
</template>

<script>
	import commentItem from './commentItem.vue'
	export default {
		components: {
			commentItem,
		},
		props: ['list', 'params'],
		data() {
			return {
				form : {},
				imageMax : 9,
				fileList : [],
			}
		},
		methods: {
			submit(){
				
				let data = {
					...this.form,
					...this.params,
				}
				
				if (this.$utils.verificationAll(data, {
						userValue: '说点什么吧',
						type: '缺少type',
						orderId: '缺少orderId',
					})) {
					return
				}
				
				data.userImage = this.fileList.map((item) => item.url).join(",")
				
				
				this.$api('addComment', data, res => {
					if(res.code == 200){
						this.$refs.popup.close()
						this.form.userValue = ''
						uni.showToast({
							title: '发布成功!',
							icon: 'none'
						})
						this.$emit('getData')
					}
				})
			},
			
			deleteImage(e){
				this.fileList.splice(e.index, 1)
			},
			afterRead(e){
				let self = this
				e.file.forEach(file => {
					self.$Oss.ossUpload(file.url).then(url => {
						self.fileList.push({
							url
						})
					})
				})
			},
		}
	}
</script>

<style scoped lang="scss">
	.commemt{
		padding-bottom: env(safe-area-inset-bottom);
	}
	.comment-list {
		margin-top: 20rpx;
		padding-bottom: 150rpx;
	}

	.submit-box {
		position: fixed;
		bottom: 0;
		left: 0;
		background-color: #fff;
		width: 100%;
		box-shadow: 0 0 6rpx 6rpx #00000011;
		padding-bottom: env(safe-area-inset-bottom);

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

			input {
				background-color: #f3f3f3;
				width: 460rpx;
				height: 40rpx;
				border-radius: 40rpx;
				margin: 20rpx;
				padding: 20rpx 30rpx;
				font-size: 28rpx;
			}

			.submit {}
		}
	}
	.popup{
		.content-input{
			min-height: 400rpx;
		}
		
		.box{
			padding: 0 20rpx;
		}
		.images{
			display: flex;
			flex-wrap: wrap;
			padding: 20rpx;
		}
	}
</style>