<template>
	<view class="boxContent">

		<view class="box-header">
			<view class="search-wrap">
				<!-- 如果使用u-search组件，必须要给v-model绑定一个变量 -->
				<u-search v-model="keyword" placeholder="请输入关键词" @search="tosearch()" height="56"
					:action-style="{color: '#fff'}">
				</u-search>
			</view>
			
		</view>
		<view :class="mask?'list listfixed':'list'" style="padding-top: 100rpx;">
			<u-dropdown ref="uDropdown"  @open="openmask" @close="closemask" :class="mask?'':'overflowmask'" >
				<!-- <u-dropdown-item v-model="areaId" :title="areaStatus==''?'所属片区':areaStatus" @change="toChangeAreaStatus"
					:options="areaList">
				</u-dropdown-item> -->
				<u-dropdown-item v-model="statusId" :title="proStatus==''?'状态':proStatus" @change="toChangeStatus"
					:options="statusList">
				</u-dropdown-item>
			</u-dropdown>
			<block v-for="(item, index) in dataList">
				<u-card :title="item.created_at" padding="20" margin="20rpx" :border="true"
					:sub-title="item.statusName" :thumb="thumb" thumb-width="36">
					<view class="" slot="body" @click="todetail(item.id)">
						<u-row gutter="16">
							<u-col span="4">
								<view class="demo-layout bg-purple">地址/排放点：</view>
							</u-col>
							<u-col span="12">
								<view class="demo-layout bg-purple-light">{{item.address}}</view>
							</u-col>
						</u-row>
						<u-row gutter="16">
							<u-col span="3">
								<view class="demo-layout bg-purple">巡查类型：</view>
							</u-col>
							<u-col span="9">
								<view class="demo-layout bg-purple-light">{{item.typeName}}</view>
							</u-col>
							<u-col span="3">
								<view class="demo-layout bg-purple">所属片区：</view>
							</u-col>
							<u-col span="9">
								<view class="demo-layout bg-purple-light">{{item.area_info.name}}</view>
							</u-col>
						</u-row>
						<!-- <u-row gutter="16">
							<u-col span="3">
								<view class="demo-layout bg-purple">描述：</view>
							</u-col>
							<u-col span="12">
								<view class="demo-layout bg-purple-light">{{item.content}}</view>
							</u-col>
						</u-row> -->
					</view>
					<view class="footer" slot="foot">
						<block v-if="item.status==0">
							<u-button :custom-style="editStyle" type="primary"  size="medium"
								@click="toedit(item.id)" :ripple="true">编辑
							</u-button>
						</block>
						<block v-if="item.status!=0">
							<u-button :custom-style="editStyle" type="primary"  size="medium"
								@click="todetail(item.id)" :ripple="true">查看
							</u-button>
						</block>
						<block >
							<u-button type="error"  size="medium" @click="del(item.id)"
								:custom-style="customStyle" :ripple="true">删除
							</u-button>
						</block>
					</view>
				</u-card>

			</block>
			<u-loadmore class="loadmore" :status="loadStatus" :load-text="loadText"/>
			<u-empty text="暂无数据" margin-top="200" v-if="dataList.length==0" mode="list"></u-empty>
		</view>
	</view>


</template>

<script>
	export default {
		data() {
			return {
				background: {
					backgroundColor: '#007AFF'
				},
				mask: false,
				loadStatus:"loadmore",
				loadText:{
					loadmore:"加载更多",
					nomore:"已经到底了"
				},
				dataList: [],
				thumb: "/static/img/location.png",
				currentPage: 0,
				lastPage:0,
				editStyle:{
					fontSize:'30rpx'
				},
				customStyle: {
					marginLeft: '20px',
					fontSize:'30rpx'
				},
				value1Arr: [],
				keyword: "",
				title: "",
				stat: [],
				statusId:"",
				proStatus:"",
				statusList: [{
					label: "所有",
					value: ''
				}, {
					label: "待审核",
					value: "0"
				}, {
					label: "已审核",
					value: 1
				}, {
					label: "已办结",
					value: 2
				}, {
					label: "已退回",
					value: 3
				}]
			}
		},
		onReachBottom: function(e) {
			if(this.currentPage>=this.lastPage){
				this.loadStatus = "nomore"
				return;
			}
			this.loadPage(this.currentPage + 1);
		},
		onPullDownRefresh: function(e) {
			this.loadPage(1);
		},
		onShow: function() {
			var that = this;
		},
		onLoad(options) {
			this.loadPage(1);
		},
		methods: {
			openmask(){
				this.mask=true
				// this.isPullDown(false);
			},
			closemask(){
				this.mask=false
				// this.isPullDown(true);
			},
			tosearch() {
				this.loadPage(1)
				this.$refs.uDropdown.close();
			},
			toChangeStatus: function(value) {
				for(var m of this.statusList){
					if(value == m.value){
						this.proStatus = m.label
					}
				}
				console.log(this.proStatus )
				this.loadPage(1);
				this.$refs.uDropdown.close();
			},

			toedit(id){
				uni.navigateTo({
					url:"../raininspection/raininspection?id="+id
				})
			},
			todetail: function(id) {
				uni.navigateTo({
					url: "../raininspectioninfo/raininspectionInfo?id=" + id
				})
			},
			loadAllArea(){
				
			},
			
			loadPage: function(page) {
				uni.hideKeyboard()
				var that = this;
				this.util.request({
					bindThis: that,
					api: '/api/mobile/rain-inspection/index',
					customLoading: false,
					data: {
						page: page,
						page_size: 4,
						keyword: that.keyword,
						area_id:that.areaId
					},
					utilSuccess: function(r) {
						var res = r.data;
						that.lastPage = r.last_page;
						uni.stopPullDownRefresh(); // 服务器总条数 < 每页条数, 会将第一页的条数重新返回
						if(r.total<5){
							that.loadStatus = "nomore";
						}
						var hasNoMore = that.dataList.length < 4 && page > 1;
						if (hasNoMore || res.length == 0 && page > 1) {
							// 已加载到最后一页
							that.loadStatus = "nomore";
							uni.showToast({
								title: '已加载到最后一页',
								icon: 'none'
							});
							return;
						}
						var dataList = that.dataList;


						if (page == 1) {
							dataList = res;
						} else {
							dataList.push(...res);
						}
						for (var m of dataList) {
							m.created_at = m.created_at.split("T")[0]
							switch(m.status){
								case 0:
									m.statusName = "待审核"
									break
								case 1:
									m.statusName = "已审核"
									break
								case 2:
									m.statusName = "已办结"
									break
								case 3:
									m.statusName = "已退回"
									break
								
								default:
									
									break;
							}
							switch(m.type){
								case 1:
									m.typeName = "日常雨水设施"
									break
								case 2:
									m.typeName = "在建工地"
									break
								
								default:
									
									break;
							}
						}
						console.log(dataList)

						that.currentPage = page;
						that.dataList = dataList;
					},
					utilFail: function(res) {
						uni.stopPullDownRefresh();

						if (page == 1) {

							that.currentPage = page;
						}

						this.util.alert(res);
					}
				});
			},
			del(id){
				 var that = this;
				 uni.showModal({
					  title: '提示',
					  content: '是否确定删除？',
					  success(res) {
						  if(res.confirm){
							  that.util.request({
								  api: '/api/mobile/rain-inspection/destroy',
								  customLoading: false,
								  method:"get",
								  data: {
								  	id:id
								  },
								  utilSuccess: function(r) {
									  uni.showToast({
									  	icon: "none",
									  	title: "删除成功",
									  	complete() {
									  		that.loadPage(1)
									  	},
									  	duration: 2000
									  })
								  },
								  utilFail:function(r) {
									  this.util.alert(res);
								  },
								  
							  })
						  }else if(res.cancel){
							  
						  }
					  }
					 
					 
					 
				 })
			}

		}

	}
</script>
<style>
	.boxContent {
		background: #f3f4f6;
		min-height: 100vh;
	}

	.footer {
		display: flex;
		justify-content: flex-end;
	}

	.box-header {

		position: fixed;
		/* top: 0; */
		width: 100%;
		z-index: 99;
	}


	.u-row {
		margin: 10rpx 0;
		font-size: 28rpx;
	}
	.u-card{
		z-index: 1;
	}
</style>


<style scoped lang="scss">
	.search-wrap {
		background: #007AFF;
		padding: 20rpx;
	}
	.overflowmask{
		overflow: hidden;
	}
	.loadmore{
		padding:24rpx!important
	}
	.listfixed{
		position: fixed;
		width:100%;
	}
	.u-config-wrap {
		padding: 30rpx;
	}

	.bg-purple {
		font-weight: bold;
	}

	.slot-content {
		background-color: #FFFFFF;
		padding: 24rpx;

		.item-box {
			margin-bottom: 50rpx;
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;

			.item {
				border: 1px solid $u-type-primary;
				color: $u-type-primary;
				padding: 8rpx 40rpx;
				border-radius: 100rpx;
				margin-top: 30rpx;
			}

			.active {
				color: #FFFFFF;
				background-color: $u-type-primary;
			}
		}
	}
</style>
