<script setup>
	import {
		ref
	} from "vue";

	import {
		onLoad,
	} from "@dcloudio/uni-app";

	import {
		getImportantDetail,
	} from "@/api/work/important.js";

	let detail = ref({});
	const getDeatil = function(id) {
		getImportantDetail({
			id
		}).then(res => {
			detail.value = res.data;
			conbineFileList(res.data.files)
		})
	}

	// 组合附件数据
	function conbineFileList(list) {
		// 添加上传成功标识
		const statusList = list.map(item => {
			let orginal = {
				...item
			}

			return Object.assign(
				orginal, {
					status: 'success'
				})
		})

		// 照片附件
		let listPhoto = statusList.filter(item => ['101', '102', '103', '104', '105'].includes(item.fileType))
		uploadListPhoto.value = listPhoto

		// 视频附件
		let listVideo = statusList.filter(item => ['202', '203'].includes(item.fileType));
		uploadListVideo.value = listVideo;

		// 其他附件
		let exceptPhotoList = statusList.filter(item => !listPhoto.includes(item));
		uploadListFile.value = exceptPhotoList.filter(item => !listVideo.includes(item));
		console.log(uploadListFile.value);

		// 上传数据
		const dataList = list.map(item => {
			let orginal = {
				...item
			}
			return {
				id: orginal.id,
				fileName: orginal.fileName,
				fileType: orginal.fileType,
				fileAddre: orginal.fileAddre
			}
		})

		// 备份初始数据
		listFileOrginal = dataList
	}


	// ====================附件上传
	let listFileOrginal = [] //原始数据--备份比较用
	let uploadListPhoto = ref([]) //上传列表--图片
	let uploadListVideo = ref([]) //上传列表--视频
	let uploadListFile = ref([]) //上传列表--文件

	// 播放文件--视频
	function videoClick(event) {
		showFile(event.fileType, event.url)
	}

	// 文件预览
	function showFile(type, filePath) {
		uni.navigateTo({
			url: `/pages/projectInfo/media/index?type=${type}&filePath=${filePath}`
		})
	}

	onLoad(options => {
		getDeatil(options.id)
	})
</script>

<template>
	<view class="container">
		<page-title>详情</page-title>

		<view class="cards-list">
			<view class="card only-card">
				<view class="card-item first-card-item">
					<view class="card-item-name">主持人</view>
					<view class="card-item-content">{{detail.host || "--"}}</view>
				</view>

				<view class="card-item">
					<view class="card-item-name">会议地点</view>
					<view class="card-item-content">{{detail.host || "--"}}</view>
				</view>

				<view class="card-item">
					<view class="card-item-name">会议类型</view>
					<view class="card-item-content">{{detail.kindName || "--"}}</view>
				</view>

				<view class="card-item">
					<view class="card-item-name">日期</view>
					<view class="card-item-content">{{detail.meetingDate || "--"}}</view>
				</view>

				<view class="card-item">
					<view class="card-item-name">参会人员</view>
				</view>
				<view class="item-textarea">{{detail.joinPerson}}</view>
			</view>

			<view class="card only-card">
				<view class="card-item first-card-item">
					<view class="card-item-name">会议主题</view>
					<view class="card-item-content">{{detail.meetingTitle || "--"}}</view>
				</view>

				<view class="card-item">
					<view class="card-item-name">会议内容</view>
				</view>
				<view class="item-textarea">{{detail.content}}</view>

				<view class="card-item">
					<view class="card-item-name">解决问题</view>
				</view>
				<view class="item-textarea">{{detail.solveProblem}}</view>
			</view>

			<view class="card only-card">
				<view class="card-item first-card-item">
					<view class="card-item-name">工作计划</view>
				</view>

				<view style="height: 20rpx; width: 100%;"></view>

				<uni-table stripe emptyText="暂无更多数据">
					<!-- 表头行 -->
					<uni-tr>
						<uni-th align="center">负责人</uni-th>
						<uni-th align="center">完成内容</uni-th>
						<uni-th align="center">完成日期</uni-th>
					</uni-tr>

					<!-- 表格数据行 -->
					<uni-tr v-for="(item,index) in detail.plans" :key="index">
						<uni-td align="center">{{item.mainPerson}}</uni-td>
						<uni-td align="center">{{item.planContent}}</uni-td>
						<uni-td align="center">{{item.endDate}}</uni-td>
					</uni-tr>
				</uni-table>
			</view>

			<view class="card only-card">
				<view class="card-item first-card-item">
					<view class="card-item-name">附件信息</view>
				</view>

				<view style="height: 20rpx; width: 100%;"></view>

				<!-- 附件(照片) -->
				<view class="card-item flex-align-start">
					<view class="card-item-name" style="min-width: 156rpx;">图片附件</view>
					<u-upload :fileList="uploadListPhoto" uploadIcon="plus"></u-upload>
				</view>

				<!-- 附件(视频) -->
				<view class="card-item flex-align-start">
					<view class="card-item-name" style="min-width: 156rpx;">视频附件</view>
					<u-upload :fileList="uploadListVideo" @onVideoClick="videoClick" name="file" uploadIcon="plus"
						accept="video"></u-upload>
				</view>

				<!-- 附件(文件) -->
				<view class="card-item flex-align-start">
					<view class="card-item-name" style="min-width: 156rpx;">其他附件</view>
					<view class="upload-file-area">
						<view class="upload-file-name" v-for="(item,index) in uploadListFile" :key="index"
							@click="showFile('pdf',item.url)">
							{{item.fileId}}
						</view>
					</view>
				</view>
			</view>
			<view style="height: 50rpx; width: 100%;"></view>
		</view>
	</view>
</template>

<style lang="scss" scoped>
	.item-textarea {
		width: 100%;
		min-height: 168rpx;
		padding: 20rpx;
		margin-top: 24rpx;
		box-sizing: border-box;
		border-radius: 20rpx;
		border: 2rpx solid #D0D9E7;
	}

	::v-deep .uni-table {

		// 改表头字体样式
		.uni-table-th,
		.uni-table-th-content {
			background-color: #DCE8FD;
			color: #343437;
			font-size: 26rpx;
			font-weight: normal;
		}

		.uni-table-tr:nth-of-type(2n + 1) {
			background-color: #F5F9FF !important;
		}

		.uni-table-tr {
			background-color: #fff !important;
		}
	}
</style>