<template>
	<view class="goods">
		<view class="search">
		  <view class="box">
			 <!-- <image src="/static/news/icon-search.png"></image>
			  <input type="search" placeholder="搜索订单" /> -->
			  <u-search height="50" @search="getListAfter" @custom="getListAfter" placeholder="商品名称/编码" v-model="keyword"></u-search>
		  </view>
		</view>
		<view class="goods-bd">
			<view class="li" v-for="(i,index) in list" :key="index">
				<view class="b">
					<view class="item">
						<view class="select" @click="selectItem(i,index)">
							<image mode="aspectFill" v-if="!i.checked" :src="$picUrl+'/static/invoice/select.png'" />
							<image mode="aspectFill" v-else :src="$picUrl+'/static/invoice/select-on.png'" />
						</view>
						<view class="pic">
							<image mode="aspectFill" :src="i.goods_image" />
						</view>
						<!-- 此层wrap在此为必写的,否则可能会出现标题定位错误 -->
						<view class="info">
							<view class="title">{{i.goods_name}}</view>
							<view class="sku">
								{{i.selling_point}}
							</view>
							<view class="fd">
								<view class="price">¥<text>{{i.goods_price_max}}</text></view>
								<view class="kc">库存{{i.stock_total}}</view>
							</view>
						</view>
					</view>
				</view>
				<view class="a">
					<view class="status">商品状态:{{i.status==10?'上架':i.status==20?'下架':'未知'}}</view>
				</view>
			</view>
		</view>
		<view class="goods-fd">
			<view class="a" @click="checkedAllHandle">
				<image mode="aspectFill" v-if="!checkedAll" :src="$picUrl+'/static/invoice/select.png'" />
				<image mode="aspectFill" v-else :src="$picUrl+'/static/invoice/select-on.png'" />全选
			</view>
			<view class="b">共<text>{{checkedList.length}}</text>件商品</view>
			<view class="c" @click="show=true">删除</view>
		</view>
		<u-toast ref="uToast" />
		<u-modal v-model="show" content="确定删除选中商品吗" :show-cancel-button="true" @cancel="show=false" @confirm="delConfirm"></u-modal>
	</view>
</template>

<script>
	import * as newFunApi from '@/api/newFun'
	export default {
		data() {
			return {
				list: [],
				keyword: "",
				total: 0,
				pageNum: 1,
				checkedAll:false,
				checkedList:[],
				show:false,
			};
		},
		// watch:{
		// 	list:{
		// 		deep:true,
		// 		handler:function(){
					
		// 		}
		// 	}
		// },
		methods: {
			selectItem(item,index){
				if(this.list[index].checked){//取消选中
					if(this.checkedList.indexOf(item.goods_id)!=-1){
						this.checkedList.splice(this.checkedList.indexOf(item.goods_id), 1);
						
					}
					this.list[index].checked = false
				}else{//选中
					if(this.checkedList.indexOf(item.goods_id)==-1){
						this.checkedList.push(item.goods_id)
					}
					this.list[index].checked = true
				}
				if (this.list.length == this.checkedList.length) {
					this.checkedAll = true;
				} else {
					this.checkedAll = false;
				}
			},
			checkedAllHandle(){
				this.checkedList=[]
				if(this.checkedAll){
					this.checkedAll = false
					this.list.forEach(item=>{
						item.checked = false;
						
					})
				}else{
					this.checkedAll = true;
					this.list.forEach(item=>{
						this.checkedList.push(item.goods_id)
						item.checked = true
					})
				}
				
			},
			getListAfter(){
				this.checkedList=[];
				this.list = [];
				this.getList()
			},
			async getList() {
				uni.showLoading({
					title:"加载中"
				})
				let {status, message, data} = await newFunApi.storeKeeperList({
					goodsNo: "", 
					page: this.pageNum,
					listType: "all", 
					goodsName: this.keyword
				});
				if(status == 200){
					uni.hideLoading();
					this.list = this.list.concat(data.list.data)
					this.total = data.list.total
				}
			},
			async delConfirm(){
				
				let {status, message, data} = await newFunApi.delGoods({
					goodsIds:this.checkedList
				});
				
				if(status == 200){
					uni.hideLoading();
					this.$refs.uToast.show({
						title: message,
						type: 'success'
					})
					this.getListAfter()
				}
			},
			delHandle(item){
				this.selected=item;
				this.show = true
			},
		},
		onReady() {
			this.getListAfter();
		},
		onReachBottom() {
			if(this.list.length <= this.total){
				this.pageNum ++;
				this.getList();
			}
		},
	}
</script>

<style lang="scss" scoped>
.goods{
	padding: 0 0 130rpx;
	overflow: hidden;
	&-fd{
		width: 100%;
		padding: 20rpx;
		overflow: hidden;
		display: flex;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
		position: fixed;
		left: 0;
		bottom: 0;
		z-index: 999;
		background-color: #fff;
		.a{
			margin-right: 20rpx;
			font-size: 28rpx;
			font-weight: 400;
			color: #313131;
			display: flex;
			align-items: center;
			image{
				width: 40rpx;
				height: 40rpx;
				margin-right: 10rpx;
			}
		}
		.b{
			text{
				color: #ED2B00;
				padding: 0 10rpx;
			}
			font-size: 26rpx;
			font-weight: 400;
			color: #A2A2A2;
			margin-right: 16rpx;
		}
		.c{
			width: 408rpx;
			line-height: 80rpx;
			background: #FF564A;
			border-radius: 80rpx;
			text-align: center;
			font-size: 28rpx;
			font-weight: 500;
			color: #FFFFFF;
		}
	}
	.search{
		width: 750rpx;
		padding: 35rpx;
		box-sizing: border-box;
		.box{
			padding: 15rpx 25rpx;
			box-sizing: border-box;
			display: flex;
			align-items: center;
			background: #F3F3F3;
			border-radius: 60rpx;
			image{
				width: 28rpx;
				height: 28rpx;
				margin-right: 22rpx;
			}
			input{
				flex: 1;
				font-size: 28rpx;
				line-height: 30rpx;
			}
		}
	}
	&-bd{
		padding: 0 30rpx;
		overflow: hidden;
		.a{
			padding: 15rpx 0;
			display: flex;
			align-items: center;
			justify-content: space-between;
			.status{
				font-size: 28rpx;
				font-weight: 400;
				color: #B6B6B6;
			}
			.btn{
				width: 148rpx;
				line-height: 64rpx;
				background: #FFFFFF;
				border-radius: 64rpx;
				text-align: center;
				border: 1px solid #F55349;
				font-size: 28rpx;
				font-weight: 400;
				color: #F55349;
			}
		}
		.li{
			overflow: hidden;
			background-color: #fff;
			padding: 0 30rpx;
			margin-top: 15rpx;
			&:first-child{
				margin-top: 0;
			}
			.item{
				padding: 20rpx 0;
				overflow: hidden;
				display: flex;
				align-items: center;
				justify-content: space-between;
				border-bottom: 1px solid #EFEFEF;
				.select{
					width: 40rpx;
					height: 40rpx;
					margin-right: 20rpx;
					image{
						width: 100%;
						height: 100%;
					}
				}
				.pic{
					width: 160rpx;
					height: 160rpx;
					margin-right: 20rpx;
					image{
						width: 100%;
						height: 100%;
					}
				}
				.info{
					flex: 1;
					max-width: 370rpx;
					margin-right: 20rpx;
					.title{
						font-size: 28rpx;
						font-weight: 400;
						color: #000000;
						white-space: nowrap;
						overflow: hidden;
						text-overflow: ellipsis;
					}
					.sku{
						line-height: 48rpx;
						margin-top: 10rpx;
						font-size: 28rpx;
						font-weight: 400;
						color: #7C7C7C;
					}
					.fd{
						display: flex;
						align-items: center;
						justify-content: space-between;
						margin-top: 10rpx;
						.price{
							font-size: 32rpx;
							font-weight: 400;
							color: #ED2B00;
						}
						.kc{
							font-size: 28rpx;
							font-weight: 400;
							color: #B6B6B6;
						}
					}
				}
			}
		}
	}
}
</style>