<template>
	<view class="index-content" :style="{'--status-bar-': statusBarHeight}">
		<view class="index-content-info">
			<!-- 头部主要内容 开始 -->
			<view class="index-content-header">	
				<customNavbar 
				title="搜索" 
				bgColor="rgba(0,0,0,0)"
				:is-left="true"
				:leftStyle="{ color: '#fff' }"
				:customNavbarInfo='{}'></customNavbar>
				<u-search 
				v-model="keyValue" 
				:showAction="true" 
				bgColor="#fff" 
				actionText="搜索"
				@search="search"
				@custom="search"
				></u-search>
			</view>
			<!-- 头部主要内容 结束 -->
			
			<!-- 列表主要内容 开始 -->
			
			<view class="index-content-list">
				<customScrollList 
				ref="customScrollList" 
				@load="load"
				@paging="paging"
				@refresh="refresh"
				 >
				 <view class="index-content-list-info" v-if="retailIndex.length>0">
					 <text class="index-content-list-class">剧目</text>
					 <view 
					 class="index-content-list-item"
					 v-for="(item,index) in retailIndex" 
					 :key="index">
						 
						 <view class="index-content-list-content">
							<image 
							class="index-content-list-image"
							:src="item.showImg" mode="scaleToFill"></image>
							<view class="index-content-list-tool">
								<text class="index-content-list-title">{{ item.name }}</text>
								<text 
								class="index-content-list-but"
								@click="navigateToFun('/pages/publicSharingDetails/index',item)"
								>查看</text>
							</view>
						 </view>
					 </view>
				 </view>
				</customScrollList>
			</view>
			<!-- 列表主要内容 结束 -->
		</view>
	</view>
</template>

<script>
	import {
		navigateTo
	} from "@/utils/util.js"
	export default {
		data() {
			return {
				title: '全民分享',
				loading: false,
				statusBarHeight: 0, // 状态栏安全距离
				retailIndex: [], // 剧目列表
				keyValue: ''
			}
		},
		onLoad() {
			
		},
		onShow() {
			this.statusBarHeight = getApp().globalData.statusBarHeight
			//this.load()
		},
		methods: {
			/** 搜索 */
			search(){
				if(!this.keyValue) {
					uni.showToast({
						title: "请输入关键字",
						icon: 'none'
					})
					return
				}
				this.$refs.customScrollList.refresh()
			},
			async load(paging){
				if(!this.keyValue) {
					this.$refs.customScrollList.loadSuccess({
						list: [],
						total: 100
					})
					return
				}
				console.log("上拉  加载数据")
				try{
					let res = await this.$u.api.retailIndex({
						"page": paging.page,
						"pages": paging.size,
						"name": this.keyValue
					})
					if(res && res.code ===200) {
						this.retailIndex = this.retailIndex.concat(res.data.performList)
						// this.retailIndex = null
						this.$refs.customScrollList.loadSuccess({
							list: this.retailIndex,
							total: this.retailIndex.length
						})
					} else {
						this.$refs.customScrollList.loadSuccess({
							list: [],
							total: 0
						})
					}
				}catch(e){
					//TODO handle the exception
					console.error("e===",e)
					this.$refs.customScrollList.loadSuccess({
						list: [],
						total: 0
					})
				}
			},
			paging(){
				console.log("下拉  加载数据")
			},
			/**
			 * 下拉触底
			 */
			async refresh(paging){
				console.log("上拉  加载数据",this.retailIndex)
				//this.$refs.customScrollList.showEmpty = true
				try{
					//this.$refs.customScrollList.showPullUp = true
					let res = await this.$u.api.retailIndex({
						pageNum: paging.page,
						pageSize: paging.size,
						name: this.keyValue
					})
					if(res && res.code ===200) {
						if(res.data.performList){
							this.retailIndex = [].concat(res.data.performList)
						}else {
							this.retailIndex = []
						}
						
						this.$refs.customScrollList.refreshSuccess({
							list: this.retailIndex,
							total:this.retailIndex.length
						})
					} else {
						this.$refs.customScrollList.refreshSuccess({
							list: [],
							total: 0
						})
					}
				}catch(e){
					//TODO handle the exception
					console.error("e===",e)
					this.$refs.customScrollList.refreshSuccess({
						list: [],
						total: 0
					})
				}
			},
			/**
			 * @author ygh
			 * @data 2023-12-20
			 */
			navigateToFun(url,data) {
				navigateTo(url,{performId:data.id})
			},
		}
	}
</script>

<style lang="scss" scoped>
	.index-content {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
		
		--header-h: 170rpx;
		// background-color: 
		.index-content-info {
			width: 100%;
			box-sizing: border-box;
		}
	}
	/** 头部主要内容 开始 */
	.index-content-header {
		width: 100%;
		height: var(--header-h);
		box-sizing: border-box;
		background-color: var(--gd-bgm-color);
		::v-deep .u-search {
			padding: 0 30rpx !important;
		}
		::v-deep .u-search__action {
			color: #fff !important;
		}
	}
	/** 头部主要内容 结束  **/
	
	
	/** 列表主要内容 开始 */
	.index-content-list {
		width: 100%;
		height: calc( 100% - var(--header-h) - var(--status-bar-h) );
	}
	
	.index-content-list-info {
		width: 100%;
		box-sizing: border-box;
		padding: 32rpx 32rpx 20rpx;
		.index-content-list-class {
			font-size: 32rpx;
			font-family: SourceHanSansCN, SourceHanSansCN;
			font-weight: bold;
			color: #2D2D2D;
		}
		.index-content-list-item {
			width: 100%;
			box-sizing: border-box;
			background: #FFFFFF;
			box-shadow: 0rpx 2rpx 20rpx 0rpx rgba(200,200,200,0.5);
			border-radius: 24rpx;
			overflow: hidden;
			margin-top: 40rpx;
			.index-content-list-content {
				width: 100%;
				box-sizing: border-box;
				.index-content-list-image {
					width: 100%;
					height: 242rpx;
				}
				.index-content-list-tool {
					display: flex;
					width: 100%;
					justify-content: space-between;
					align-items: center;
					padding:42rpx 28rpx 46rpx;
					box-sizing: border-box;
					.index-content-list-title {
						font-size: 28rpx;
						font-family: SourceHanSansCN, SourceHanSansCN;
						font-weight: bold;
						color: #363636;
					}
					.index-content-list-but {
						width: 160rpx;
						height: 51rpx;
						background: #ED0000;
						border-radius: 24rpx;
						font-size: 20rpx;
						font-family: PingFangSC, PingFang SC;
						font-weight: 400;
						color: #FFFFFF;
						display: flex;
						justify-content: center;
						align-items: center;
					}
				}
			}
		}
	}
	/** 列表主要内容 结束  **/
</style>