<script setup>
	import {
		ref
	} from 'vue'

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

	import {
		getProjectInfoDetail,
	} from "@/api/work/projectInfo.js"

	import {
		getProjectPreFlow,
	} from "@/api/work/preFlow.js"

	let projectName = ref("项目信息")

	function backToBefore() {
		uni.navigateBack({})
	};

	let scrollTop = ref(0)
	let backBtnShow = ref(false)

	let popupShow = ref(false)
	let popupTitle = ref(null)
	let callShow = ref(false)

	// 展示弹窗
	function showPopup(type, text) {
		let callShowList = ['tel', 'tel_lead']
		if (callShowList.includes(type)) {
			callShow.value = true
		}
		popupTitle.value = text
		popupShow.value = true
	}
	// 关闭弹窗
	function hidePopup() {
		popupShow.value = false
		callShow.value = false
	}
	// 复制该项
	function pasteItem() {
		uni.setClipboardData({
			data: popupTitle.value
		});
	}
	// 拨打电话
	function callItem() {
		plus.device.dial(popupTitle.value, true);
	}

	let fileShowFlag = ref(false)
	let fileAddre = ref(null)

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

	// 基本信息
	let baseInfoList = ref([{
		description: '项目名称',
		key: "sub_name",
		value: ''
	}, {
		description: '申请单位',
		key: "unitName",
		value: ''
	}, {
		description: '主体单位',
		key: "mainName",
		value: ''
	}, {
		description: '监管单位',
		key: "manageName",
		value: ''
	}, {
		description: '审批单位',
		key: "approveName",
		value: ''
	}, {
		description: '建设性质',
		key: "propKindName",
		value: ''
	}, {
		description: '行业分类',
		key: "indusName",
		value: ''
	}, {
		description: '项目类型',
		key: 'kindName',
		value: ''
	}, {
		description: '责任主体',
		key: 'subjectName',
		value: ''
	}, {
		description: '隐藏状态',
		key: 'isHideName',
		value: ''
	}])

	// 资金信息
	let sourceInfoList = ref([{
			description: '投资性质',
			key: "kindNature",
			value: ""
		}, {
			description: '总投资金额(万元)',
			key: "amt_total",
			value: ""
		},
		{
			description: '到位资金(万元)',
			key: "amt_comptotal",
			value: ""
		},
		{
			description: '年度计划投资-发改委(万元)',
			key: "amt_year",
			value: ""
		},
		{
			description: '年度计划投资-申报单位(万元)',
			key: "sumYearAmt",
			value: ""
		},
		{
			description: '年度实际投资(万元)',
			key: "sumYearAmtSj",
			value: ""
		},
	])
	let fundSource = ref({})

	// 资金来源
	let subSourceInfoList = ref([]);

	function filterData(data) {
		let baseInfoData = data.projectsInfo
		for (let i in baseInfoList.value) {
			baseInfoList.value[i].value = baseInfoData[baseInfoList.value[i].key] || "--"
		}
		// 资金信息
		for (let i in sourceInfoList.value) {
			sourceInfoList.value[i].value = baseInfoData[sourceInfoList.value[i].key] != null ? baseInfoData[sourceInfoList
				.value[i].key] : "--";
		}
		fundSource.value = data.projectsInfo
		// 年度计划投资-申报单位(万元)
		let sumYearAmt = sourceInfoList.value.find(item => item.key === "sumYearAmt");
		sumYearAmt.value = data.sumYearAmt;
		//年度实际投资(万元)
		let sumYearAmtSj = sourceInfoList.value.find(item => item.key === "sumYearAmtSj");
		sumYearAmtSj.value = data.sumYearAmtSj;

		// 资金来源
		for (let i in data.subSource) {
			subSourceInfoList.value.push({
				description: data.subSource[i].sourceName + "(万元)",
				value: data.subSource[i].amt
			})
		}

	}

	let preFlowList = ref([]);

	onLoad((option) => {
		projectName.value = option.subName
		getProjectInfoDetail({
			subId: option.id
		}).then(res => {
			filterData(res.data)
		})

		getProjectPreFlow({
			subId: option.id
		}).then(res => {
			let obj = {
				"0": "未开始办理",
				"1": "开始办理",
				"2": "办理完成",
				"3": "退回"
			}
			res.data.list.forEach(item => {
				item.statusConf = obj[item.statusConf]
			})
			preFlowList.value = res.data.list;
		})
	})

	onPageScroll((e) => {
		scrollTop.value = e.scrollTop
		// backBtnShow.value = e.scrollTop > 90
	})
</script>

<template>
	<view class="container">
		<page-title>项目详情</page-title>
		<!-- 基本信息 -->
		<view class="item-card base-info">
			<view class="item-title">
				<view class="item-title-pic">
					<view class="item-title-center item-title-baseInfo">
						<view class="item-title-icon">
							<image src="@/static/icon-baseInfo.png" mode=""></image>
						</view>
						<view class="item-title-text">基本信息</view>
					</view>
				</view>
				<view class="item-title-empty"></view>
			</view>

			<view class="item-info" v-for="item in baseInfoList">
				<view class="item-info-description">{{item.description}}</view>
				<view class="item-info-name" @click="showPopup(item.key,item.value)">{{item.value}}</view>
			</view>

			<view class="item-info">
				<view class="item-info-description">计划开工时间</view>
				<view class="item-info-name" @click="showPopup('beginTime',fundSource.begin_date)">
					{{fundSource.begin_date || "--"}}
				</view>
			</view>

			<view class="item-info">
				<view class="item-info-description">计划完工时间</view>
				<view class="item-info-name" @click="showPopup('endTime',fundSource.end_date)">
					{{fundSource.end_date || "--"}}
				</view>
			</view>

			<view class="item-info item-info-half item-info-start">
				<view class="item-info-description">负责人</view>
				<view class="item-info-name" @click="showPopup('nameZrr',fundSource.name_zrr)">
					{{fundSource.name_zrr || "--"}}
				</view>
			</view>

			<view class="item-info item-info-half item-info-start">
				<view class="item-info-description item-info-icon">
					<u-icon name="phone" color="#343437" size="20"></u-icon>
				</view>
				<view class="item-info-name number" @click="showPopup('tel',fundSource.tel)">{{fundSource.tel || "--"}}</view>
			</view>

			<view class="item-info item-info-half item-info-start">
				<view class="item-info-description">总负责人</view>
				<view class="item-info-name" @click="showPopup('name_lead',fundSource.name_lead)">
					{{fundSource.name_lead || "--"}}
				</view>
			</view>

			<view class="item-info item-info-half item-info-start">
				<view class="item-info-description item-info-icon">
					<u-icon name="phone" color="#343437" size="20"></u-icon>
				</view>
				<view class="item-info-name number" @click="showPopup('tel_lead',fundSource.tel_lead)">
					{{fundSource.tel_lead || "--"}}
				</view>
			</view>

			<view class="item-info">
				<view class="item-info-description">建设内容及规模</view>
			</view>
			<view class="item-info-content" @click="showPopup('content',fundSource.content)">{{fundSource.content}}</view>

		</view>

		<!-- 问题状态 -->
		<view class="item-card fund-source">
			<view class="item-title">
				<view class="item-title-pic">
					<view class="item-title-center item-title-question">
						<view class="item-title-icon">
							<image src="@/static/icon-question.png" mode=""></image>
						</view>
						<view class="item-title-text">问题状态</view>
					</view>
				</view>
				<view class="item-title-empty"></view>
			</view>

			<view class="item-info lamp-info">
				<view class="item-info-description">红黄灯</view>
				<view class="item-info-name">
					<view class="lamp" v-if="!fundSource.status_fgw">
						<image src="@/static/lamp-green.svg" alt=""></image>
						<text style="color: #05A22F;">绿灯</text>
					</view>

					<view class="lamp" v-if="fundSource.status_fgw === '1'">
						<image src="@/static/lamp-yellow.svg" alt=""></image>
						<text style="color: #E47907;">黄灯</text>
					</view>

					<view class="lamp" v-if="fundSource.status_fgw === '2'">
						<image src="@/static/lamp-red.svg" alt=""></image>
						<text style="color: #F91818;">红灯</text>
					</view>
				</view>
			</view>

			<view class="item-info">
				<view class="item-info-description">问题原因</view>
			</view>
			<view class="item-info-content" @click="showPopup('colorReason',fundSource.colorReason)">
				{{fundSource.colorReason ?? "无"}}
			</view>
		</view>

		<!-- 资金信息 -->
		<view class="item-card fund-source">
			<view class="item-title">
				<view class="item-title-pic">
					<view class="item-title-center item-title-fundSource">
						<view class="item-title-icon">
							<image src="@/static/icon-fundSource.png" mode=""></image>
						</view>
						<view class="item-title-text">资金信息</view>
					</view>
				</view>
				<view class="item-title-empty"></view>
			</view>

			<view class="item-info" v-for="item in sourceInfoList">
				<view class="item-info-description">{{item.description}}</view>
				<view class="item-info-name money" @click="showPopup(item.key,item.value)">{{item.value}}</view>
			</view>
		</view>

		<!-- 资金来源 -->
		<view class="item-card fund-source">
			<view class="item-title">
				<view class="item-title-pic">
					<view class="item-title-center item-title-subSource">
						<view class="item-title-icon">
							<image src="@/static/icon-subSource.svg" mode=""></image>
						</view>
						<view class="item-title-text">资金来源</view>
					</view>
				</view>
				<view class="item-title-empty"></view>
			</view>

			<view class="item-info" v-for="item in subSourceInfoList">
				<view class="item-info-description">{{item.description}}</view>
				<view class="item-info-name money" @click="showPopup(item.key,item.value)">{{item.value}}</view>
			</view>
		</view>


		<view class="gap-bottom"></view>

		<u-back-top :scroll-top="scrollTop"></u-back-top>

		<u-popup :show="popupShow" @close="hidePopup()" mode="bottom" :round="20" closeOnClickOverlay>
			<view class="popup-content">
				<view class="popup-item popup-title">{{popupTitle}}</view>
				<view class="popup-item" @click="pasteItem()">复制</view>
				<view class="popup-item" v-show="callShow" @click="callItem()">拨打</view>
				<view class="popup-item popup-close" @click="hidePopup()">关闭</view>
			</view>
		</u-popup>
	</view>
</template>

<style lang="scss" scoped>
	@font-face {
		font-family: TITLETEXT;
		src: url('@/font/RuiZiAoYunJingShenPinBoJianMianFei-Shan(REEJI-PinboGB-Flash)-2.ttf');
	}

	.container {
		position: relative;
		width: 100%;
		height: 100%;
		padding: 130rpx 0 50rpx 0;
		background: linear-gradient(180deg, #1869F6 0%, #EAF0FA 64%, #EAF0FA 100%);
	}

	.item-card {
		position: relative;
		width: 92%;
		left: 4%;
		min-height: 200rpx;
		padding: 16rpx 28rpx 40rpx;
		background-color: #fff;
		border-radius: 24rpx 0 24rpx 24rpx;

		.item-title {
			position: absolute;
			top: -62rpx;
			left: 0;
			display: flex;
			align-items: flex-end;
			height: 64rpx;
			width: calc(100% - 30rpx);
			margin-left: 30rpx;
			box-sizing: border-box;
			border-radius: 40rpx 40rpx 0 0;
			line-height: 50rpx;

			.item-title-pic {
				flex: 3;
				height: 54rpx;
				margin-right: -2rpx;
				background-color: #fff;
				border-radius: 24rpx 0 0 0;
			}

			.item-title-center {
				display: flex;
				width: 100%;
				height: 98%;
				padding-left: 30rpx;
				border-radius: 24rpx 0 24rpx 0;
				box-shadow: inset 0 -8rpx 14rpx 0rpx rgba(0, 22, 59, 0.49);

				.item-title-icon {
					display: flex;
					flex-direction: column;
					justify-content: center;

					image {
						width: 32rpx;
						height: 32rpx;
					}
				}

				.item-title-text {
					flex: 1;
					margin-left: 18rpx;
					font-size: 32rpx;
					font-family: TITLETEXT;
					color: #fff;
				}
			}

			.item-title-baseInfo {
				background: linear-gradient(120deg, #005CFF 40%, #FFFFFF 100%);
			}

			.item-title-question {
				background: linear-gradient(120deg, #FF0000 20%, #FFFFFF 100%);
			}

			.item-title-fundSource {
				background: linear-gradient(120deg, #FF530F 20%, #FFFFFF 98%);
			}

			.item-title-subSource {
				background: linear-gradient(120deg, #FFAA00 12%, #FFFFFF 100%);
			}

			.item-title-constructStep {
				background: linear-gradient(120deg, #04A201 40%, #FFFFFF 100%);
			}

			.item-title-startData {
				background: linear-gradient(120deg, #6201A2 40%, #FFFFFF 100%);
			}

			.item-title-empty {
				flex: 4;
				height: 64rpx;
				border-radius: 24rpx 24rpx 0 0;
				background-color: #fff;
			}
		}

		.item-info {
			display: flex;
			justify-content: space-between;
			align-items: flex-start;
			width: 100%;
			min-height: 80rpx;

			.item-info-description {
				display: flex;
				flex-direction: column;
				justify-content: center;
				min-width: 160rpx;
				font-size: 32rpx;
				color: #9E9E9E;
			}

			.item-info-icon {
				min-width: 0;
			}

			.item-info-name {
				display: flex;
				flex-direction: column;
				justify-content: center;
				font-size: 32rpx;
				color: #343437;

				image {
					width: 32rpx;
					height: 32rpx;
				}
			}

			.money {
				color: #FF530F;
			}

			.number {
				color: #1869F6;
			}

			.new {
				color: #1869F6;
			}

			.wait {
				color: #FF813E;
			}

			.done {
				color: #06BC43;
			}
		}

		.item-info-half {
			width: 50%;
			padding-right: 4%;
		}

		.item-info-start {
			justify-content: start;

			.item-info-name {
				margin-left: 32rpx;
			}
		}

		.item-info-content {
			width: 100%;
			min-height: 168rpx;
			padding: 20rpx;
			margin-top: 30rpx;
			box-sizing: border-box;
			background: #EAF0FA;
			border-radius: 20rpx;
		}

		.item-table {
			width: 100%;
			padding-bottom: 40rpx;
			border-bottom: 2rpx solid #EAF0FA;
		}

		.item-table-bottom {
			padding-bottom: 0;
			border-bottom: none;
		}

		.item-empty {
			width: 100%;
			height: 200rpx;
		}
	}

	.base-info {
		margin-top: 164rpx;
		display: flex;
		flex-wrap: wrap;
	}

	.fund-source {
		margin-top: 96rpx;
		display: flex;
		flex-wrap: wrap;
	}

	.construct-step {
		margin-top: 96rpx;
	}

	.record-data {
		margin-top: 96rpx;
	}

	.start-data {
		margin-top: 96rpx;
	}

	.popup-content {
		text-align: center;
		border-radius: 20rpx 20rpx 0 0;
		background-color: #f3f3f3;

		.popup-item {
			// display: flex;
			// flex-direction: column;
			// justify-content: center;
			min-height: 100rpx;
			line-height: 100rpx;
			color: #343437;
			font-size: 32rpx;
			background-color: #fff;
			border-bottom: 2rpx solid #EAF0FA;
		}

		.popup-title {
			color: #9E9E9E;
			border-radius: 20rpx 20rpx 0 0;
		}

		.popup-close {
			margin-top: 20rpx;
			border-top: 2rpx solid #EAF0FA;
		}
	}

	.gap-bottom {
		width: 100%;
		height: 60rpx;
	}

	.lamp-info {
		align-items: center !important;
	}

	.lamp {
		display: flex;
		justify-content: center;
		align-items: center;

		image {
			width: 104rpx !important;
			height: 104rpx !important;
			margin-right: 20rpx;
		}

		text {
			font-size: 32rpx;
		}
	}
</style>