<template>
	<view class="choose-network-container">
		<!-- 筛选弹框 -->
		<search-modal v-if="openScreen" :visible="openScreen" :defaultParams="searchForm" @refresh="refresh" @close="openScreen=false"></search-modal>
		<view class="choose-network-header">
			<view class="checked-all">
				<u-checkbox
					class="checked-all-c"
					@change="checkedAll" 
					v-model="isCheckedAll"
					label-size="26"
					name="checkedAll"
				>全选</u-checkbox>
			</view>
			<view class="choose-checked" @tap="openScreen=true">
				已选：<text>{{checkedNum}}</text>
				<image class="filter-icon" src="@/static/filter.png"></image>
			</view>
		</view>
		<scroll-view class="scroll-con" scroll-y :scroll-top="scrollTop" @scrolltolower="onreachBottom">
			<!-- 列表数据 -->
			<u-checkbox-group class="cell-item-con">
				<view class="cell-item" v-for="(item, index) in listdata" :key="index">
					<u-checkbox
						class="cell-item-checkbox"
						@change="checkboxChange($event, index)"
						v-model="item.checked"
						:name="item.id">
					</u-checkbox>
					<view class="cell-item-c" @tap="goPage(item)">
						<view class="cell-item-info">
							<view class="cell-item-info-network">
								咸阳市秦都区文彩舫东区
								<u-badge type="success" :count="8" :offset="[-10,-32]" size="mini"></u-badge>
							</view>
							<view class="cell-item-info-weight">
								<view class="cell-item-weight-bar">
									15.25kg
									<u-badge class="badge" type="primary" count="总" :offset="[0,0]"></u-badge>
								</view>
								<view class="cell-item-weight-bar">
									15.25kg
									<u-badge class="badge" type="warning" count="最大" :offset="[0,0]"></u-badge>
								</view>
							</view>
						</view>
						<u-icon name="arrow-right" class="arrow-right" :size="28" color="#999"></u-icon>
					</view>
				</view>
			</u-checkbox-group>
			<u-empty class="nodata" :text="noDataText" v-if="listdata.length==0 && status!='loading'" mode="list"></u-empty>
			<view class="loadmore">
				<u-loadmore v-if="total>pageSize || status=='loading'" :status="status" />
			</view>
		</scroll-view>
		<view class="footer-bar">
			<u-button class="footer-handle-btn handle-btn" :custom-style="btnStyle" shape="circle" @click="openScan" size="medium" type="primary">
				<text>加入待清运清单</text>
			</u-button>
		</view>
	</view>
</template>

<script>
	import searchModal from '@/pages/cleared/searchModal.vue'
	import { getGoldLogList, GoldLogCancel, GoldLogTotal } from '@/api/officialPartnerGoldLog.js'
	export default{
		components: { searchModal },
		data(){
			return{
				listdata: [],
				pageNo: 1,  //  当前页码
				pageSize: 40,  //  每页条数
				total: 0,  //  数据总条数
				noDataText: '暂无数据',  //  列表请求状态提示语
				status: 'loadmore',  //  加载中状态
				scrollTop: 0,  //  滚动条位置
				isCheckedAll: false,  //  全选状态
				checkedNum: 0,  //  已选个数
				openScreen: false, //  是否打开筛选
				searchForm: {
					//  查询条件
					bundleName: '',  //  网点名称
					custMobile: '', // 排序方式
				},
			}
		},
		onShow() {
			this.refresh({})
		},
		methods: {
			// 选中某个复选框时，由checkbox时触发
			checkboxChange(e,ind) {
				this.listdata[ind].checked = e.value
				let len = 0
				this.listdata.map(item => {
					if(item.checked){
						len++
					}
				})
				this.checkedNum = len
			},
			// 全选
			checkedAll(e) {
				this.isCheckedAll = e
				let len = 0
				this.listdata.map(val => {
					val.checked = e.value ? true : false
					if(val.checked){
						len++
					}
				})
				this.checkedNum = len
			},
			// 获取查询参数 刷新列表
			refresh(params){
				this.listdata = []
				this.total = 0
				this.searchHandle(1)
			},
			// 搜索查询
			searchHandle (pageNo) {
				this.status = "loading"
				pageNo ? this.pageNo = pageNo : null
				getGoldLogList({
					pageNo: this.pageNo,
					pageSize: this.pageSize
				}).then(res => {
					if (res.status == 200) {
						res.data.list.map(item => {
							item.checked = false
						})
						if(this.pageNo>1){
							this.listdata = this.listdata.concat(res.data.list || [])
						}else{
							this.listdata = res.data.list || []
							this.scrollTop = 0
						}
						this.total = res.data.count || 0
						this.noDataText = '暂无数据'
					} else {
						this.noDataText = res.message
						this.listdata = []
						this.total = 0
					}
					this.status = "loadmore"
				})
			},
			//  查看详情
			goPage(row){
				uni.navigateTo({
				    url: '/pages/cleared/network'
				})
			},
			// scroll-view到底部加载更多
			onreachBottom() {
				if(this.listdata.length < this.total){
					this.pageNo += 1
					this.searchHandle()
				}else{
					uni.showToast({ title: '已经到底了', icon: 'none' })
					this.status = "nomore"
				}
			}
		}
	}
</script>

<style lang="scss">
	page{
		height: 100%;
	}
	.choose-network-container {
		width: 100%;
		height: 100%;
		display: flex;
		flex-direction: column;
		padding-top: 80rpx;
		padding-bottom: 102rpx;
		position: relative;
		// 顶部固定
		.choose-network-header{
			position: fixed;
			top: 0;
			left: 0;
			width: 100%;
			display: flex;
			justify-content: space-between;
			align-items: center;
			padding: 0 $uni-spacing-row-base;
			box-sizing: border-box;
			background-color: #fff;
			line-height: 80rpx;
			font-size: 26rpx;
			.checked-all{
				.checked-all-c{
					font-size: 26rpx;
				}
			}
			.choose-checked{
				text{
					color: red;
				}
				.filter-icon{
					width: 36rpx;
					height: 36rpx;
					padding-left: 30rpx;
					vertical-align: text-top;
				}
			}
		}
		//  列表
		.scroll-con{
			flex: 1;
			overflow: auto;
		}
		//  列表样式
		.cell-item-con{
			.cell-item{
				margin: $uni-spacing-col-base $uni-spacing-row-base;
				background-color: #fff;
				border-radius: $uni-border-radius-base;
				color: $uni-text-color;
				font-size: $uni-font-size-base;
				box-shadow: 3rpx 3rpx 5rpx #eee;
				display: flex;
				align-items: center;
				padding: $uni-spacing-col-base $uni-spacing-row-base;
				// 多选框
				.cell-item-checkbox{
					flex-shrink: 0;
				}
				.cell-item-c{
					flex-grow: 1;
					display: flex;
					justify-content: space-around;
					align-items: center;
					.cell-item-info{
						flex-grow: 1;
						.cell-item-info-network{
							word-break: break-all;
							margin-bottom: $uni-spacing-col-base;
							display: inline-block;
							position: relative;
						}
						.cell-item-info-weight{
							font-size: 24rpx;
							display: flex;
							align-items: center;
							justify-content: space-between;
							.cell-item-weight-bar{
								position: relative;
								display: inline-block;
								padding-right: 50rpx;
								&:nth-child(2){
									padding-right: 76rpx;
								}
							}
						}
					}
					.arrow-right{
						flex-shrink: 0;
						margin-left: 64rpx;
					}
				}
			}
		}
		.footer-bar{
			width: 100%;
			height: 102rpx;
			padding: 0 10%;
			position: fixed;
			bottom: 0;
			left: 0;
			text-align: center;
			.footer-handle-btn{
				display: block;
				.btn-icon{
					margin-right: 10rpx;
				}
			}
			.handle-btn{
				margin-top: 18rpx;
				margin-bottom: 20rpx;
			}
		}
	}
</style>
