Files
admin-sjzx/src/views/pqs/supervise/harmonicSurvey/index.vue
2025-12-14 12:47:53 +08:00

73 lines
2.2 KiB
Vue

<template>
<div class="default-main">
<el-tabs v-model="activeName" type="border-card">
<el-tab-pane :label="VITE_FLAG ? '工作计划制定' : '技术监督计划管理'" name="1" v-if="tabList.includes('1')">
<plan-manage :id="id" v-if="activeName == '1'" />
</el-tab-pane>
<el-tab-pane :label="VITE_FLAG ? '工作计划实施' : '技术监督测试管理'" name="2" v-if="tabList.includes('2')">
<test-manage :id="id" :businessKey="key" v-if="activeName == '2'" />
</el-tab-pane>
</el-tabs>
</div>
</template>
<script setup lang="ts">
import { ref, onMounted } from 'vue'
import planManage from './components/planManage.vue'
import testManage from './components/testManage.vue'
import { mainHeight } from '@/utils/layout'
import { useDictData } from '@/stores/dictData'
import { useRoute } from 'vue-router'
const VITE_FLAG = import.meta.env.VITE_NAME == 'jibei'
const route = useRoute()
const dictData = useDictData()
const statusSelect = dictData.statusSelect()
const id = ref('')
const key = ref('')
defineOptions({
name: 'supervision/harmonicmanagement'
})
const tabList = ref(['1', '2', '3', '4'])
const activeName = ref('1')
onMounted(() => {
let key = window.location.href.split('?')[0].slice(-1)
const isNumber = /^\d$/.test(key)
if (isNumber) {
tabList.value = [key]
activeName.value = key
}
})
const layout = mainHeight(63) as any
watch(
() => route.query.t,
async (newValue, oldValue) => {
if (route.fullPath.includes('supervision/harmonicmanagement')) {
let type = (route.query.type as string) || 'null'
if (type == 'null') {
} else if (type == '1') {
activeName.value = '1'
} else {
activeName.value = '2'
}
id.value = (route.query.id as string) || 'null'
id.value = id.value + '@' + route.query.t
key.value = (route.query.key as string) || 'null'
}
},
{ deep: true, immediate: true }
)
</script>
<style lang="scss" scoped>
.bars_w {
width: 100%;
height: 500px;
}
:deep(.el-tabs__content) {
height: v-bind('layout.height');
overflow-y: auto;
}
</style>