<template>
	<view class="container cart clearfix">
		<tui-skeleton
			v-if="skeletonShow"
			backgroundColor="#fafafa"
			borderRadius="10rpx"
			:isLoading="true"
			:loadingType="5"
		></tui-skeleton>
		<view class="container-main" v-else>
			<view class="clearfix">
				<!-- 空白页 -->
				<view class="empty-container" v-if="isEmpty">
					<image class="empty-container-image" :src="staticUrl + '/icon/icon-notice-empty@2x.png'"></image>
					<text class="error-text">暂无任何消息~</text>
				</view>
				<!-- 列表 -->
				<view
					class="tui-notice clearfix"
					v-else
					v-for="(cell, index) in list"
					:key="index"
					@click.stop="handleOrderClick(cell)"
				>
					<tui-swipe-action :operateWidth="80" :backgroundColor="'#F7F7F7'">
						<template v-slot:content>
							<notice-cell :cellType="2" :cell="cell"></notice-cell>
						</template>
						<template v-slot:button>
							<view class="tui-custom-btn_box">
								<view class="tui-custom-btn" @click.stop="deleteBtn(cell.id,index)">
									<text class="iconfont icon-shanchu3"></text>
								</view>
							</view>
						</template>
					</tui-swipe-action>
				</view>
				<!--加载loadding-->
				<tui-loadmore :visible="loadding" :index="3" type="black"></tui-loadmore>
				<tui-nomore :visible="!pullUpOn" :backgroundColor="'#F7F7F7'" :text="nomoreText"></tui-nomore>
				<!--加载loadding-->
			</view>
		</view>
	</view>
</template>
<script>
import { mapState, mapMutations } from 'vuex'
import noticeMixins from './mixins/notice.mixins.js'
import noticeCell from './components/notice-cell.vue'
export default {
	mixins: [noticeMixins],
	components: {
		noticeCell
	},
	data() {
		return {
			skeletonShow: true,
			listQuery: {
				source: 2,
				commonId: 0,
				messageType: 0,
				pageNum: 1,
				pageSize: 10
			},
			list: [],
			isEmpty: false,
			loadding: false,
			pullUpOn: true,
			pullFlag: true,
			hasNextPage: false,
			nomoreText: '上拉显示更多'
		}
	},
	onLoad(option) {
		this.initData(option)
	},
	methods: {
		async initData(option) {
		    const userInfo = await this.$api.getStorage()
		    this.listQuery.messageType = option.messageType
		    this.listQuery.commonId = userInfo.clubId ? userInfo.clubId : 0
		    this.getUserAuthClubMessageList()
		},
		handleOrderClick(cell) {
			const linkJumpMap = {
				2: `/pages/user/member/member`,
				3: `/pages/user/member/member`,
				4: `/pages/user/member/member`,
				6: `/pages/login/apply`
			}
			this.$api.navigateTo(linkJumpMap[cell.accountType])
		}
	},
	onReachBottom() {
		if (this.hasNextPage) {
			this.loadding = true
			this.pullUpOn = true
			this.getReachBottomData()
		}
	},
	onPullDownRefresh() {
		//下拉刷新
		this.listQuery.pageNum = 1
		this.getUserAuthClubMessageList()
		uni.stopPullDownRefresh()
	},
	onShow() {}
}
</script>

<style lang="scss">
page {
	background-color: #f7f7f7;
}
.container-main {
	width: 100%;
	box-sizing: border-box;
	padding: 24rpx 0;
	.empty-container-image {
		width: 260rpx;
		height: 260rpx;
		margin-top: -300rpx;
	}
}
.tui-swipeout-content {
	white-space: normal !important;
}
.tui-notice {
	margin-bottom: 24rpx;
}
.tui-notice-cell {
	width: 702rpx;
	height: auto;
	background-color: #ffffff;
	border-radius: 16rpx;
	box-sizing: border-box;
	padding: 16rpx 24rpx;
	margin: 0 auto;
	.tui-cell-top {
		width: 100%;
		height: 88rpx;
		line-height: 88rpx;
		float: left;
		.cell-title {
			font-size: 32rpx;
			color: #333333;
			float: left;
			font-weight: bold;
		}
		.cell-time {
			font-size: 24rpx;
			color: #999999;
			float: right;
		}
	}
	.tui-cell-content {
		width: 100%;
		height: auto;
		float: left;
		box-sizing: border-box;
		border-radius: 8rpx;
		line-height: 44rpx;
		padding: 24rpx;
		background-color: #f7f7f7;
		font-size: 28rpx;
		color: #666666;
		text-align: justify;
	}
}
.tui-custom-btn_box {
	width: 80px;
	height: 100%;
	padding: 0 20rpx;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #f7f7f7;
}

.tui-custom-btn {
	width: 56rpx;
	height: 56rpx;
	border-radius: 50%;
	background-color: #f94b4b;
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	.icon-shanchu3 {
		font-size: 32rpx;
	}
}
</style>
