<template>
	<view class="page">
		<pyh-nv ref="nv" :config="nvConfig"></pyh-nv>
		<view class="listBox" :style="{'padding-top':(pageTop+'px')}">
			<view class="content">
				<view class="top-box" @click="gopath('/pages/declaration/declarationList?type=6')">
					<view>上报历史</view>
					<view class="top-box-img">
						<image src="../../static/right2.png"></image>
					</view>
				</view>
				<view class="titleall-left">
					<view class="titleall-left-line"></view>我要上报
				</view>
				<view class="message-list" >
					<view class="info-box">
						<view class="info-box-list">
							<view class="serve">
								<view class="serve-title">路门牌情况</view>
								<view class="serve-right">
									<picker @change="bindPickerChange" :value="index" :range="array">
										<view class="uni-input">{{sign.roadStatus?sign.roadStatus:'请选择'}}
										</view>
									</picker>
									<image src="../../static/down3.png"></image>
								</view>
							</view>
						</view>
					</view>
					<view class="info-box">
						<view class="info-box-list">
							<view class="serve">
								<view class="serve-title">名称</view>
								<view>
									<input id="name" @input="oninput" v-module="sign.name"
										placeholder="请输入" style="text-align: right;"
										placeholder-style="color:#3d3d3d;font-weight: bold;" />
								</view>
							</view>
						</view>
					</view>
					<view class="info-box">
						<view class="info-box-list">
							<view class="serve">
								<view class="serve-title">联系姓名</view>
								<view>
									<input id="contactName" @input="oninput" v-module="sign.contactName"
										placeholder="请输入" style="text-align: right;"
										placeholder-style="color:#3d3d3d;font-weight: bold;" />
								</view>
							</view>
						</view>
					</view>
					<view class="info-box">
						<view class="info-box-list">
							<view class="serve">
								<view class="serve-title">联系电话</view>
								<view>
									<input id="phone" @input="oninput" v-module="sign.phone"
										placeholder="请输入" style="text-align: right;"
										placeholder-style="color:#3d3d3d;font-weight: bold;" />
								</view>
							</view>
						</view>
					</view>
					<view class="info-box">
						<view class="info-box-list">
							<view class="serve">
								<view class="serve-title">详细地址</view>
								<view class="serve-right" @tap="openaddress">
									<view class="uni-input">{{sign.address?sign.address:'请选择'}}</view>
								</view>
							</view>
						</view>
					</view>
					<view class="info-box">
						<view class="info-box-list">
							<view class="serve">
								<view class="serve-title">备注</view>
								<view>
									<input id="remark" @input="oninput" v-module="sign.remark"
										placeholder="请输入" style="text-align: right;"
										placeholder-style="color:#3d3d3d;font-weight: bold;" />
								</view>
							</view>
						</view>
					</view>
				</view>
				<view class="message-list">
					<view class="info-box">
						<view class="info-box-list">
							<view class="info-box-width" style="width: 100%;">
								<view class="info-box-small">图片</view>
								<view style="margin-top: 20rpx;width: 100%;">
									<u-upload name="1" multiple :fileList="fileList" @delete="deletePic"
										@afterRead="afterRead" :previewFullImage="true" :maxCount="1"></u-upload>
								</view>
								<!-- <view class="info-box-list-img"><image src="../../static/img.png"></image></view> -->
							</view>
						</view>
					</view>
				</view>
				<view class="page-footer">
					<view class="footer-buy">
						<view class="cart-add" @click="mapdoorplatesuccess">
							<image src="../../static/btn5.png"></image>
							<text>立即上报</text>
						</view>
					</view>
				</view>

			</view>
		</view>
		<uni-calendar ref="calendar" :insert="false" @confirm="confirm" />
	</view>
</template>

<script>
	import service from '@/service/service.js'
	import BASE_URL from "@/common/config.js"
	import sczl from "@/components/sczl.vue"
	export default {
		data() {
			return {
				BASE_URL,
				fileList: [],
				OrderType: 0,
				nvConfig: {
					title: "路门牌上报",
					bgColor: "#ffffff",
					color: "#000000",
					fixedAssist: {
						hide: true,
					},
				},
				time: null,
				sign: {
					applyId: uni.getStorageSync('USERS_KEY').userId,
					createdUser: uni.getStorageSync('USERS_KEY').userId,
					roadStatus: null, //请选择路门牌情况
					status: '待审核', //审核状态
					name: null, //名称
					phone: null, //联系电话
					address: null, //详细地址
					remark: null, //备注
					longitude: null, //东经
					latitude: null, //北纬
					reportTime:new Date().getTime(),//时间
					inspectionImage:null,//图片
				},

				array:['正常','需维修', '需更换'] ,

			};
		},
		onPageScroll(e) {
			this.$refs.nv.pageScroll(e)
		},
		components:{sczl},
		computed: {
			pageTop() {
				return parseInt(88 * uni.getSystemInfoSync().windowWidth / 750) + uni.getSystemInfoSync().statusBarHeight
			}
		},
		onLoad(params) {
		},
		methods: {

			oninput(e) {
				this.sign[e.target.id] = e.target.value
			},
			gopath(e) {
				uni.navigateTo({
					url: e
				})
			},
			async afterRead(event) {
				for (let i = 0; i < event.file.length; i++) {
					var res = await this.uploadImg(event.file[i].url)
					// console.log(res)
					res = JSON.parse(res.data)
					this.fileList.push({
						name: res.fileName,
						fileId: res.newFileName,
						url: this.BASE_URL + res.fileName
					})
				}
			},
			uploadImg(url) {
				return new Promise((r, e) => {
					uni.uploadFile({
						url: this.BASE_URL + "/common/upload",
						filePath: url,
						name: "file",
						success: (d) => r(d)
					})
				})
			},
			deletePic(event) {
				this.fileList.splice(event.index, 1)
			},
			bindPickerChange: function(e) {
				this.sign.roadStatus = this.array[e.detail.value]
				console.log('picker发送选择改变，携带值为', e)
			},
			mapdoorplatesuccess() {
				console.log('this.sign', this.sign)
				// return
				for (let i = 0; i < this.fileList.length; i++) {
					if (i == 0) {
						this.sign.inspectionImage = this.fileList[i].name
					} else {
						this.sign.inspectionImage = this.sign.inspectionImage + ',' + this.fileList[i].name
					}
				}
				this.API.addroadSign(this.sign).then(res => {
					console.log(res);
					if (res.code == 200) {
						uni.showToast({
							icon: 'success',
							title: "添加成功",
						})
						setTimeout(() => {
							uni.redirectTo({
								url: '/pages/mapdoorplatesuccess/mapdoorplatesuccess',
							})
						}, 800)
				
					}
				})


			},
			openaddress(e) {
				let that = this
				// 用户已经同意小程序使用录音功能，后续调用 wx.startRecord 接口不会弹窗询问
				wx.chooseLocation({
					success: function(res) {
						console.log(res);
						that.sign.latitude = res.latitude
						that.sign.longitude = res.longitude
						that.sign.address = res.address
					},
					fail(err) {
						console.log(err)
					}
				});
			},
		}
	}
</script>

<style scoped lang="scss">
	.listBox {
		position: relative;
		z-index: 1;
	}

	.content {
		width: 100%;
		padding-bottom: 120rpx;
	}

	.titleall-left {
		font-size: 28rpx;
		font-weight: bold;
		display: flex;
		align-items: center;
		margin: 30rpx;

		.titleall-left-line {
			width: 10rpx;
			height: 25rpx;
			border-radius: 18rpx;
			background-color: #547DFF;
			margin-right: 20rpx;
			box-shadow: inset 0rpx 4rpx 9rpx 0rpx rgba(255, 255, 255, 0.34), 5rpx 7rpx 9rpx 0rpx rgba(80, 161, 255, 0.33);
		}
	}

	.top-box {
		display: flex;
		justify-content: space-between;
		margin: 30rpx;
		font-size: 28rpx;
		font-weight: bold;
		background-color: #fff;
		border-radius: 21rpx;
		padding: 30rpx;

		.top-box-img {
			image {
				width: 40rpx;
				height: 40rpx;
			}
		}
	}

	.titleall-box {
		display: flex;
		justify-content: space-between;
		padding: 40rpx 20rpx 20rpx 0;

		.titleall-left {
			font-size: 32rpx;
			font-weight: bold;
			display: flex;
			align-items: center;

			.titleall-left-line {
				width: 14rpx;
				height: 36rpx;
				border-radius: 0 10rpx 10rpx 0;
				background-color: #667FFF;
				box-shadow: 0 0 10rpx 5rpx #d1d9ff;
				margin-right: 20rpx;
			}

			text {
				font-size: 28rpx;
				color: #999999;
			}
		}
	}

	.message-list {
		// background-color: #FFFFFF;
		// border-radius: 20rpx;
		font-size: 25rpx;
		margin: 25rpx;

		.info-box {
			padding: 0 40rpx;
			background: #FFFFFF;
			border-radius: 21rpx;
			margin-bottom: 15rpx;

			.info-box-list {
				display: flex;
				align-items: center;
				border-bottom: 2rpx solid #ececec;
				padding-top: 20rpx;
				padding-bottom: 20rpx;

				.width100 {
					width: 100% !important;
				}

				.info-box-width {
					width: 50%;
					font-size: 30rpx;
					font-weight: bold;

					.info-box-small {
						font-size: 26rpx;
						color: #a8a8a8;
						font-weight: 500;
						margin-top: 10rpx;
					}

					.info-box-list-img {
						margin-top: 30rpx;

						image {
							width: 180rpx;
							height: 180rpx;
							border-radius: 20rpx;
						}
					}

					.input-text {
						font-size: 30rpx;
					}

					.inputtext {
						color: #3d3d3d;
					}

					.textarea {
						background-color: #F7F7F7;
						border-radius: 20rpx;
						width: 100%;
						margin-top: 20rpx;
						padding: 20rpx;
						font-size: 28rpx;
						font-weight: normal;
						min-height: 80rpx;
					}
				}

				.serve {
					display: flex;
					justify-content: space-between;
					align-items: center;
					width: 100%;

					.serve-title {
						font-size: 25rpx;
						color: #909090;
					}

					.serve-right {
						font-size: 25rpx;
						font-weight: bold;
						display: flex;
						align-items: center;
						justify-content: flex-end;

						text {
							color: #FC4444;
						}

						image {
							width: 20rpx;
							height: 20rpx;
							margin-left: 10rpx;
						}
					}
				}
			}

			.info-box-list:last-child {
				border-bottom: 0;
			}
		}
	}

	/* 底部 */
	.page-footer {
		margin: 30rpx;
		display: flex;
		height: 100rpx;

		.footer-buy {
			height: 100%;
			width: 100%;

			.cart-add {
				display: flex;
				align-items: center;
				justify-content: center;
				margin-top: 60rpx;

				image {
					position: absolute;
					z-index: 0;
					width: 95%;
					height: 83rpx;
					box-shadow: 5rpx 10rpx 20rpx 0 #b7c8ff;
					border-radius: 100rpx;
				}

				text {
					font-size: 30rpx;
					font-weight: bold;
					color: #fff;
					position: absolute;
					z-index: 1;
				}
			}
		}
	}
</style>