<template>
    <div class="default-main">
        <el-tabs v-model="activeName" type="border-card">
            <el-tab-pane label="终端检测" name="1" v-if="tabList.includes('1')">
                <terminal :id="id" v-if="activeName == '1'" />
            </el-tab-pane>
            <el-tab-pane label="监测点台账录入" name="2" v-if="tabList.includes('2')">
                <monitorpoint :id="id" v-if="activeName == '2'" />
            </el-tab-pane>
            <el-tab-pane label="监测点联调列表" name="3" v-if="tabList.includes('3')">
                <jointDebugList :id="id" v-if="activeName == '3'" />
            </el-tab-pane>
            <el-tab-pane label="周期校验" name="4" v-if="tabList.includes('4')">
                <cycleDetection :id="id" :businessKey="key" v-if="activeName == '4'" />
            </el-tab-pane>
        </el-tabs>
    </div>
</template>

<script setup lang="ts">
import { ref, onMounted } from 'vue'
import { mainHeight } from '@/utils/layout'
import terminal from './components/terminainal/index.vue'
import monitorpoint from './components/monitorpoint/index.vue'
import jointDebugList from './components/jointDebugList/index.vue'
import cycleDetection from './components/cycleDetection/index.vue'
import { useRoute } from 'vue-router'

defineOptions({
    name: 'terminalNetwotk'
})
const activeName = ref('1')

const route = useRoute()
const id = ref('')
const key = ref('')
const tabList = ref(['1', '2', '3', '4'])
onMounted(() => {
    let key = window.location.href.split('?')[0].slice(-1)
    const isNumber = /^\d$/.test(key)
    if (isNumber) {
        tabList.value = [key]
        activeName.value = key
    }
})

watch(
    () => route.query.t,
    async (newValue, oldValue) => {
        if (route.fullPath.includes('terminalNetwotk')) {
            let type = (route.query.type as string) || 'null'
            if (type == 'null') {
            } else if (type == '1') {
                activeName.value = '1'
            } else if (type == '2') {
                activeName.value = '2'
            } else if (type == '3') {
                activeName.value = '3'
            } else {
                activeName.value = '4'
            }
            id.value = (route.query.id as string) || 'null'
            key.value = (route.query.key as string) || 'null'
            id.value = id.value + '@' + route.query.t
        }
    },
    { deep: true, immediate: true }
)

const layout = mainHeight(63) as any
</script>

<style lang="scss" scoped>
.bars_w {
    width: 100%;
    height: 500px;
}

:deep(.el-tabs__content) {
    height: v-bind('layout.height');
    overflow-y: auto;
}
</style>
