<!-- 测试、校准或检定合格分包方名录编辑 --> <script lang="ts" setup name="SubpackageDirectoriesEdit"> import { ElMessage, ElMessageBox } from 'element-plus' import subpackageDirectoriesBasic from './components/basic.vue' import subpackageDirectoriesReview from './components/reviewList.vue' import subpackageDirectoriesInform from './components/informList.vue' import subpackageDirectoriesAgreement from './components/agreementList.vue' const loading = ref(false) // 表单加载状态 const infoId = ref('') // id const pageType = ref('add') // 页面类型: add, edit, detail const approvalStatusName = ref('') // 审批状态名字 const $route = useRoute() const subpackageDirectoriesBasicRef = ref() // 基本信息组件ref const textMap: { [key: string]: string } = { edit: '编辑', add: '新建', detail: '详情', }// 字典 // 初始化router const $router = useRouter() // --------------------------------------路由参数---------------------------------------------- // 从路由中获取页面类型参数 if ($route.params && $route.params.type) { pageType.value = $route.params.type as string if ($route.params.id) { infoId.value = $route.params.id as string } } // -------------------------------------标签-------------------------------------------------- const radioMenus = ref([ // 标签内容 { name: '基本信息', value: 'subpackage-directories-basic' }, { name: '分包评审表', value: 'subpackage-directories-review' }, { name: '分包通知书', value: 'subpackage-directories-inform' }, { name: '分包协议书', value: 'subpackage-directories-agreement' }, ]) const current = ref('subpackage-directories-basic') // 选择的tab 默认基本信息 // -----------------------------------------按钮-------------------------------------------------- // 关闭新增页面的回调 const close = () => { $router.back() } onMounted(() => { }) </script> <template> <app-container> <detail-page v-loading="loading" :title="`测试、校准或检定合格分包方名录 (${textMap[pageType]})`"> <template #btns> <el-button type="info" @click="close"> 关闭 </el-button> </template> <el-radio-group v-model="current"> <el-radio-button v-for="item in radioMenus" :key="item.value" :label="item.value" :disabled="!infoId" > {{ item.name }} </el-radio-button> </el-radio-group> </detail-page> <!-- 基本信息 --> <subpackage-directories-basic v-if="current === 'subpackage-directories-basic'" :id="infoId" ref="subpackageDirectoriesBasicRef" :page-type="pageType" :approval-status-name="approvalStatusName" /> <!-- 分包方评审表 --> <subpackage-directories-review v-if="current === 'subpackage-directories-review'" :id="infoId" :page-type="pageType" /> <!-- 分包方通知书 --> <subpackage-directories-inform v-if="current === 'subpackage-directories-inform'" :id="infoId" :page-type="pageType" /> <!-- 分包方协议书 --> <subpackage-directories-agreement v-if="current === 'subpackage-directories-agreement'" :id="infoId" :page-type="pageType" /> </app-container> </template> <style lang="scss" scoped> // 样式 </style>