<template>
	<view>
		<ShowShopListItem v-for="item in shopInfoList" :key="shopid" :shopInfo="item" :is-adshow="isADshow"
			:adlinkPath="adlinkPath" :show-style="showStyle" :is-edit="isEdit" @delItem="handleDel"
			@updateItem="hanldeUpdate"></ShowShopListItem>
	</view>
</template>

<script>
	/**
	 * @property {Array}    shopInfoList     对象数组，（带图片）需要展示的商铺列表
	 * @property {Number}   showStyle        展示商铺的样式类型(0为首页默认)
	 * @property {Boolean}  isADshow         是否显示推广广告
	 * @property {Boolean}  isEdit           是否显示编辑和删除
	 * @property {String}   adlinkPath        推广广告跳转链接
	 * @property {Number}    listType         获取列表类型传递参数部分
	 * @property {Object}    customQuery      自定义查询参数
	 */
	export default {
		name: "ShowShopList",
		data() {
			return {
				pageSize: 5,
				pageNum: 1,

			};
		},
		props: {
			showStyle: {
				type: Number,
				default () {
					return 0
				}
			},
			isADshow: {
				type: Boolean,
				default () {
					return true
				}
			},
			adlinkPath: {
				type: String,
				default () {
					return ''
				}
			},
			isEdit: {
				type: Boolean,
				default () {
					return false
				}
			},
			// //获取列表类型传递参数部分
			listType: {
				type: Number,
				default () {
					return 1
				}
			},
			customQuery: {
				type: Object,
				default () {
					return {}
				}
			},
			shopInfoList: {
				type: Array,
				default () {
					return []
				}
			}
		},

		methods: {
			hanldeUpdate(shopid) {
				this.$emit('updateItem', shopid)
			},
			handleDel(shopid) {
				console.log("删除了商铺", shopid);
				this.$emit('delItem', shopid)
				// const delindex = this.shopInfoList.findIndex((item,index)=> item.shopid === shopid)
				// TODO：不能直接修改
				// if(delindex !== -1)  this.shopInfoList = this.shopInfoList.slice(delindex,1)
				// console.log(this.shopInfoList);
			},
			getList() {
				const query = this.$u.queryParams({
					type: this.listType,
					pageSize: this.pageSize,
					pageNum: this.pageNum,
					...this.customQuery
				})
				console.log("query", query);
				this.$api.getShopList(query).then(res => {
					this.shopInfoList = res.data.data
					this.shopInfoList.forEach(item => {
						item.pics = this.$api.imgUrl + item.pics
					});

				})
			}
		},

	}
</script>

<style lang="scss">

</style>