<template>
	<view class="goods">
		<view class="search">
			<view class="box">
				<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" v-if="list.length>0" @click="goDetails(i)">
				<view class="b">
					<view class="item">
						<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>
			<u-empty text="暂无数据显示哦～" v-else mode="list"></u-empty>
		</view>
	</view>
</template>

<script>
	import * as newFunApi from '@/api/newFun'
	export default {
		data() {
			return {
				list: [],
				keyword: "",
				total: 1,
				pageNum: 1,
			};
		},
		onReady() {
			this.getList();
		},
		onReachBottom() {
			if (this.list.length <= this.total) {
				this.pageNum++;
				this.getList();
			}
		},
		methods: {
			goDetails(item) {
				uni.navigateTo({
					url: '/pages/goods/detail?goodsId=' + item.goods_id
				})
			},
			getListAfter() {
				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
				}
			},
		}
	}
</script>

<style lang="scss" scoped>
	::v-deep .u-input,
	::v-deep .u-content {
		background-color: #fff !important;
	}

	::v-deep .u-search {
		width: 640rpx !important;
	}

	::v-deep .u-empty {
		padding: 100rpx 0;
	}

	.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: 28rpx;
				font-weight: 400;
				color: #A2A2A2;
				margin-right: 20rpx;
			}

			.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: #fff;
				border-radius: 60rpx;
				justify-content: space-between;

				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: 400rpx;
						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: 20rpx;

							.price {
								font-size: 32rpx;
								font-weight: 400;
								color: #ED2B00;
							}

							.kc {
								font-size: 28rpx;
								font-weight: 400;
								color: #B6B6B6;
							}
						}
					}
				}
			}
		}
	}
</style>
