Files
admin-sjzx/src/views/pqs/supervise/technology/index.vue
2025-12-19 10:56:30 +08:00

75 lines
2.2 KiB
Vue

<template>
<div class="default-main">
<el-tabs v-model="activeName" type="border-card">
<!-- <el-tab-pane label="概览" name="1"><overview v-if="activeName == '1'"/></el-tab-pane>
<el-tab-pane label="技术监督管理" name="2"><technology v-if="activeName == '2'"/></el-tab-pane> -->
<el-tab-pane label="预警单列表" name="3" v-if="tabList.includes('3')">
<earlyWarn :id="id" :businessKey="key" v-if="activeName == '3'" />
</el-tab-pane>
<el-tab-pane label="告警单列表" name="4" v-if="tabList.includes('4')">
<alarm :id="id" :businessKey="key" v-if="activeName == '4'" />
</el-tab-pane>
</el-tabs>
</div>
</template>
<script setup lang="ts">
import earlyWarn from './components/earlyWarn.vue'
import alarm from './components/alarm.vue'
import { ref } from 'vue'
import { useRoute } from 'vue-router'
import { mainHeight } from '@/utils/layout'
const route = useRoute()
const id = ref('')
const key = ref('')
// defineOptions({
// name: 'supervision/supervision/manage'
// })
const tabList = ref(['3', '4'])
const activeName: any = ref('3')
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('supervision/supervision/manage')) {
let type = (route.query.type as string) || 'null'
if (type == 'null') {
} else if (type == '0' || 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>