<template>
	<div class="app-box">
		<div class="con-box">
		    <!-- <view class="collection-search">
		        <view class="search-content">
		            <view class="header-input button-click">
		                <uni-icons class="iconsearch" color="#6A6A6A" type="search" size="22"></uni-icons>
		                <input
		                    class="input"
		                    v-model="searchKeyword"
		                    @confirm="searchVideo"
		                    placeholder="输入考试名称"
		                    placeholder-class="inputplace"
		                />
		                <uni-icons 
		                    v-if="searchKeyword" 
		                    class="clear-icon" 
		                    type="clear" 
		                    size="24" 
		                    color="#999" 
		                    @click="clearSearch"
		                />
		            </view>
		        </view>
		    </view> -->
			<scroll-view scroll-y class="main-scroll" @scrolltolower="handleScrollToLower">
				<div class="cards" v-for="(item,index) in dataList" :key="item.examPaperId">
					<div class="cardHead">
						<div class="cardHeadLeft">
							<div class="cardTitle">{{item.title}}</div>
						</div>
						<div class="rightBtn">
							<uni-tag :inverted="true" v-if="item.status==2" text="已发布" type="success" />
							<uni-tag :inverted="true" v-else-if="item.status==0" text="未发布" type="error" />
							<uni-tag :inverted="true" v-else text="失效" />
						</div>
					</div>
					<div class="heng"></div>
					<div class="cardCon">
						<div class="conten">发布时间：{{item.publishTime}}</div>
						<div class="conten">审核状态：
							<uni-tag :inverted="true" size="mini" v-if="item.shenhe==1" text="已通过" type="success" />
							<uni-tag :inverted="true" size="mini" v-if="item.shenhe==2" text="未通过" type="error" />
							<uni-tag :inverted="true" size="mini" v-if="item.shenhe==0" text="待审核" />
						</div>
						<div class="flooter">
							<div v-if="item.status == '0' && item.shenhe == '1'" @click="handlePublishClick(scope.row,2)" >发布</div>
							<div v-else @click="handlePublishClick(item,0)" >取消发布</div>
							<div>查看</div>
							<div v-if="item.status == '0'" @click="handleEditClick(item)">编辑</div>
							<div v-if="item.status == '0'" @click="handleDeleteClick(item)">删除</div>
						</div>
					</div>
				</div>
			</scroll-view>
		</div>
		<div class="footer">
			<div class="footerBtn" @click="handleOperation()">新增</div>
		</div>
	</div>
</template>

<script setup>
import { inject, ref, reactive } from 'vue';
import { onLoad, onShow } from '@dcloudio/uni-app';
const { $api, navTo, navBack,urls } = inject('globalFunction');
import config from "@/config.js"
const userInfo = ref({});
const Authorization = ref('');
const searchKeyword = ref('');
const dataList=ref([])
const pageSize=ref(10)
const pageNum=ref(1)
const totalNum=ref(0)
const baseUrl = config.imgBaseUrl
const handleScrollToLower = () => {
    getDataList('add');
};
onLoad(() => {
	
});
onShow(()=>{
	Authorization.value=uni.getStorageSync('Padmin-Token')||''
	getDataList('refresh');
})
// 搜索视频
function searchVideo() {
    getDataList('refresh');
}

// 清除搜索内容
function clearSearch() {
    searchKeyword.value = '';
    getDataList('refresh');
}

function getDataList(type = 'add') {
	let maxPage=Math.ceil(totalNum.value/pageSize.value)
	let params={}
    if (type === 'refresh') {
        pageNum.value = 1;
		params={
			title:"",
			pageSize:pageSize.value,
			pageNum:pageNum.value,
			type:2
		}
		$api.myRequest('/train/public/announcement/list', params).then((resData) => {
			if(resData.code==200){
				dataList.value=resData.rows
				totalNum.value=resData.total
			}
			
		});
    }
    if (type === 'add' && pageNum.value < maxPage) {
        pageNum.value += 1;
		params={
			address:"",
			pageSize:pageSize.value,
			pageNum:pageNum.value,
			type:2
		}
		$api.myRequest('/train/public/announcement/list', params).then((resData) => {
			if(resData.code==200){
				dataList.value=dataList.value.concat(resData.rows)
				totalNum.value=resData.total
			}
		});
	}
}
function  handlePublishClick(row,status){
  if(status=='2'){
	  $api.myRequest('/train/public/announcement/publish', {id: row.id},'get',9100).then((resData) => {
	  	if(resData.code==200){
			$api.msg('发布成功');
	  		getDataList('refresh');
	  	}
	  });
  } else {
	  $api.myRequest('/train/public/announcement/unpublish', {id: row.id},'get',9100).then((resData) => {
	  	if(resData.code==200){
	  		$api.msg('取消发布成功');
	  		getDataList('refresh');
	  	}
	  });
	
  }
}
// 删除通知公告
function handleDeleteClick(row) {
	uni.showModal({
	    title: '确认删除',
	    content: '确认删除该通知公告吗？',
	    success: (res) => {
	        if (res.confirm) {
				$api.myRequest('/train/public/announcement/delete', {id: row.id},'get',9100).then((resData) => {
					if(resData.code==200){
						$api.msg('已删除');
						getDataList('refresh');
					}
				});
	            
	        }
	    }
	});
}
function handleOperation(row) {
	navTo(`/packageB/notice/evaluateAnnouncement/evaluateEdit`);
	// navTo(`/packageB/institution/trainingInstitutionDetail?organId=${row.organId}`);
}
</script>

<style lang="stylus" scoped>
.app-box{
	width: 100%;
	height: 100vh;
	position: relative;
	.con-box{
		position: absolute;
		width: 100%;
		height: 92%;
		left: 0;
		top:0;
		z-index: 10;
		padding: 20rpx 28rpx;
		box-sizing: border-box;
		overflow: hidden;
		.collection-search{
		    padding: 10rpx 20rpx;
		    .search-content{
		        position: relative
		        display: flex
		        align-items: center
		        padding: 14rpx 0
		        .header-input{
		            padding: 0
		            width: calc(100%);
		            position: relative
		            .iconsearch{
		                position: absolute
		                left: 30rpx;
		                top: 50%
		                transform: translate(0, -50%)
		                z-index: 1
		            }
		            .input{
		                padding: 0 80rpx 0 80rpx
		                height: 80rpx;
		                background: #FFFFFF;
		                border-radius: 75rpx 75rpx 75rpx 75rpx;
		                border: 2rpx solid #ECECEC
		                font-size: 28rpx;
		            }
		            .clear-icon{
		                position: absolute
		                right: 30rpx;
		                top: 50%
		                transform: translate(0, -50%)
		                z-index: 1
		                cursor: pointer
		            }
		            .inputplace{
		                font-weight: 400;
		                font-size: 28rpx;
		                color: #B5B5B5;
		            }
		        }
		    }
		}
		.main-scroll {
		    width: 100%;
		    height: 100%;
			.cards{
				width: 100%;
				min-height: 260rpx;
				height: auto;
				background: linear-gradient(0deg, #E3EFFF 0%, #FBFDFF 100%);
				// box-shadow: 0px 0px 6px 0px rgba(0,71,200,0.32);
				border-radius: 12rpx;
				border: 2px solid #EDF5FF;
				margin-bottom: 30rpx;
				padding: 30rpx 40rpx 0;
				box-sizing: border-box
				.cardHead{
					display: flex;
					align-items: center;
					justify-content: space-between;
					.cardHeadLeft{
						display: flex;
						align-items: center
						width: 70%;
						.cardTitle{
							font-weight: bold;
							font-size: 28rpx;
							color: #0069CB;
							max-width: 100%;
							overflow: hidden;
							text-overflow: ellipsis;
							white-space: nowrap;
						}
						.titleType{
							border-radius: 4px;
							font-size: 22rpx;
							color: #157EFF;
							width: 100rpx;
							height: 38rpx;
							text-align: center;
							line-height: 38rpx;
							margin-left: 10rpx;
						}
						
					}
					
				}
				.heng{
					width: 30%;
					height: 4rpx;
					background: linear-gradient(88deg, #015EEA 0%, #00C0FA 100%);
					margin: 10rpx 0 20rpx;
				}
				.cardCon{
					display: flex;
					flex-wrap: wrap;
					.conten{
						width: 100%;
						font-size: 24rpx;
						color: #666666;
						display: flex;
						align-items: center
						margin-bottom: 10rpx;
					}
					.status-tags{
						display: flex;
						align-items: center;
					}
				}
				.flooter{
					width: 100%;
					border-top: 1px solid #ccc;
					display: flex;
					justify-content: flex-end;
					align-items: center;
					margin-top: 10rpx;
					view{
						font-size: 28rpx;
						margin-left: 30rpx;
						color: #2175F3;
						padding-top: 14rpx;
					}
				}
			}
		}
	}
	.cards2{
		position: fixed;
		left: 0;
		top: 0;
		width: 100%;
		height: 100vh;
		background-color: rgba(0,0,0,0.5);
		z-index: 10000;
		padding: 100rpx 50rpx;
		box-sizing: border-box;
		.cardCon{
			height: 70%;
			background-color: #fff;
			padding: 20rpx;
			box-sizing: border-box;
			.cardHead{
				display: flex;
				align-items: center;
				justify-content: space-between;
				font-size: 30rpx;
				font-weight: 600;
			}
			
		}
	}
	.footer{
		width: 100%;
		height: 120rpx;
		background: #fff;
		position: fixed;
		z-index: 10;
		bottom: 0;
		left: 0;
		display: flex;
		align-content: center;
		justify-content: center;
	}
	.footerBtn{
		width: 90%;
		height: 90rpx;
		line-height: 90rpx;
		text-align: center
		border-radius: 10rpx;
		color: #fff;
		background: #409EFF;
	}
}
.titleType{
	display: inline-block
	border-radius: 4px;
	font-size: 22rpx;
	color: #157EFF;
	width: 100rpx;
	height: 38rpx;
	text-align: center;
	line-height: 38rpx;
	margin-left: 10rpx;
}
.primary{
	border: 1px solid #157EFF!important;
	color: #157EFF!important
}
.success{
	border: 1px solid #05A636!important;
	color: #05A636!important
}
.info{
	border: 1px solid #898989!important;
	color: #898989!important
}
.tertiary{
	border: 1px solid #E6A340!important;
	color: #E6A340!important
}
.primary2{
	border: 1px solid #F56C6C!important;
	color: #F56C6C!important
}
.rightBtn{
	width: 140rpx;
	height: 44rpx;
	line-height: 44rpx;
	// background: linear-gradient(90deg, #00C0FA 0%, #1271FF 100%);
	// border-radius: 4px;
	// color: #fff;
	// font-size: 24rpx;
	text-align: center;
}
.detailTitle{
	font-size: 32rpx;
	font-weight: 600;
	margin: 30rpx 0;
}
.detailCon{
	font-size: 28rpx;
	line-height: 40rpx;
}
.exam-info {
	display: flex;
	justify-content: space-between;
	margin-bottom: 35rpx;
	margin-top: 20rpx;
}

.info-item {
	flex: 1;
	text-align: center;
}

.info-value {
	font-family: 'D-DIN-Medium';
	font-size: 26rpx;
	font-weight: 600;
	color: #409EFF;
	margin-bottom: 8rpx;
}

.info-label {
	font-size: 26rpx;
	color: #333;
}

.info-divider {
	width: 2px;
	background-color: #C3E1FF;
}
</style>
