<template>
	<view class="page-body">
		<page-header :name="pageData.name" :bg="'#1560e0'" :showLeft="true" @goBack="goBack()"></page-header>
		<view class="scroll-wrap">
			<view class="basic-info-wrap">
				<view class="info-wrap">
					<view @click="activeChange(item,index)" v-for="(item,index) in list"
						:class="activeData.name === item.name ? 'active item' : 'item'" :key="index">
						<status-tip class="status-wrap" :name="item.name" :status="item.status"
							:tip="item.status ? '运行' : '停止'"></status-tip>
					</view>
				</view>
				<view class="img-wrap">
					<image v-if="activeData.status" src="@/static/nitrogen.jpg" />
					<image v-else src="@/static/nitrogen-static.png" />
					<view>
						{{ activeData.name }}
					</view>
				</view>
				<view class="radius-wrap"></view>
			</view>
			<view class="detail-info-wrap">
				<page-card style="margin-bottom: 30rpx;" :notShow="true" :name="activeData.name">
					<template v-slot:content>
						<simple-table :tableHead="tableHead" :list="paramsList[activeIndex]"></simple-table>
					</template>
				</page-card>
			</view>
		</view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				pageData: {},
				activeData: {},
				activeIndex: 0,
				list: [{
					name: '1#空压',
					status: 0
				}, {
					name: '2#空压',
					status: 0
				}, {
					name: '3#空压',
					status: 0
				}],
				tableHead: ['名称', '参数/状态'],
				paramsList: [
					[{
							name: '气压(Mpa)',
							params: ['0.59']
						},
						{
							name: '排空阀',
							params: [{
								status: 0
							}]
						},
						{
							name: '系统阀',
							params: [{
								status: 1
							}]
						},
						{
							name: '送气阀',
							params: [{
								status: 1
							}]
						},
						{
							name: '罐压(Mpa)',
							params: ['0.59']
						},
						{
							name: '罐温(℃)',
							params: ['31.0']
						},
						{
							name: '罐报警值(℃)',
							params: ['120.0']
						}
					],
					[{
							name: '气压(Mpa)',
							params: ['0.59']
						},
						{
							name: '排空阀',
							params: [{
								status: 0
							}]
						},
						{
							name: '系统阀',
							params: [{
								status: 1
							}]
						},
						{
							name: '送气阀',
							params: [{
								status: 1
							}]
						},
						{
							name: '罐压(Mpa)',
							params: ['0.59']
						},
						{
							name: '罐温(℃)',
							params: ['31.0']
						},
						{
							name: '罐报警值(℃)',
							params: ['120.0']
						}
					],
					[{
							name: '气压(Mpa)',
							params: ['0.59']
						},
						{
							name: '排空阀',
							params: [{
								status: 0
							}]
						},
						{
							name: '系统阀',
							params: [{
								status: 1
							}]
						},
						{
							name: '送气阀',
							params: [{
								status: 1
							}]
						},
						{
							name: '罐压(Mpa)',
							params: ['0.59']
						},
						{
							name: '罐温(℃)',
							params: ['31.0']
						},
						{
							name: '罐报警值(℃)',
							params: ['120.0']
						}
					]
				]
			}
		},
		onLoad(option) {
			this.pageData = JSON.parse(option.data)
			this.getData()
		},
		methods: {
			goBack() { // 返回上一頁面
				uni.navigateBack()
			},
			activeChange(item, index) { // 切换状态
				this.activeData = item
				this.activeIndex = index
			},
			async getData() {
				let res = await this.$http({
					url: `/qsy/dcs/transform/yfjk`,
					method: 'POST'
				})
				this.list = res.data.data.list
				this.activeData = this.list[0]
				const mKeys = Object.keys(res.data.data).filter(key => key.startsWith('data'));
				this.paramsList = mKeys.map(key => {
					return res.data.data[key]
				});
			}
		}
	}
</script>

<style scoped lang="scss">
	.page-body {
		.scroll-wrap {
			height: calc(100vh - 85rpx);
			overflow: scroll;

			.basic-info-wrap {
				position: relative;
				height: auto;
				padding: 50rpx 49rpx 0;
				background: url(../../../../static/page_bg.png);
				background-size: 120%;

				.info-wrap {
					display: flex;
					flex-wrap: wrap;
					border-bottom: 1rpx dashed #fff;
					padding-bottom: 30rpx;

					.item {
						display: flex;
						padding: 24rpx 26rpx;
						justify-content: space-between;
						width: 50%;
						color: #fff;
						font-size: 26rpx;

						.status-wrap {
							width: 100%;

							/deep/ .tip-wrap {
								justify-content: space-between;
							}
						}

						.params {
							color: #FFFF00;
						}
					}

					.active {
						background: #3495FA;
						box-shadow: 0px 3px 7px 0px rgba(0, 8, 35, 0.31);
						border-radius: 14px;
					}
				}

				.img-wrap {
					padding: 49rpx 0;
					text-align: center;

					image {
						width: 310rpx;
						height: 138rpx;
					}

					view {
						margin-top: 25rpx;
						color: #fff;
					}
				}

				.radius-wrap {
					position: absolute;
					left: 0;
					bottom: 0;
					width: 100vw;
					height: 30rpx;
					background-color: #fff;
					border-radius: 35rpx 35rpx 0 0;
				}
			}

			.detail-info-wrap {
				padding: 40rpx 35rpx;

				/deep/ .card-wrap:last-child {
					margin-bottom: 0 !important;
				}
			}
		}
	}
</style>