Files
ccdi/ruoyi-ui/src/views/ccdiProject/components/detail/PreliminaryCheck.vue

114 lines
2.3 KiB
Vue
Raw Normal View History

<template>
<div class="preliminary-check-container">
2026-03-19 10:35:40 +08:00
<div v-if="pageState === 'loading'" class="preliminary-check-state">
<p>结果总览加载中...</p>
</div>
<div v-else-if="pageState === 'empty'" class="preliminary-check-state">
<p>暂无结果总览数据</p>
</div>
<div v-else class="preliminary-check-page">
<overview-stats :summary="mockData.summary" />
<risk-people-section :section-data="mockData.riskPeople" />
<risk-model-section :section-data="mockData.riskModels" />
<risk-detail-section :section-data="mockData.riskDetails" />
</div>
</div>
</template>
<script>
2026-03-19 10:35:40 +08:00
import { mockOverviewData } from "./preliminaryCheck.mock";
const OverviewStats = {
name: "OverviewStats",
props: {
summary: {
type: Object,
default: () => ({}),
},
},
template: '<section class="overview-stats-placeholder"></section>',
};
const RiskPeopleSection = {
name: "RiskPeopleSection",
props: {
sectionData: {
type: Object,
default: () => ({}),
},
},
template: '<section class="risk-people-placeholder"></section>',
};
const RiskModelSection = {
name: "RiskModelSection",
props: {
sectionData: {
type: Object,
default: () => ({}),
},
},
template: '<section class="risk-model-placeholder"></section>',
};
const RiskDetailSection = {
name: "RiskDetailSection",
props: {
sectionData: {
type: Object,
default: () => ({}),
},
},
template: '<section class="risk-detail-placeholder"></section>',
};
export default {
name: "PreliminaryCheck",
2026-03-19 10:35:40 +08:00
components: {
OverviewStats,
RiskPeopleSection,
RiskModelSection,
RiskDetailSection,
},
props: {
projectId: {
type: [String, Number],
default: null,
},
projectInfo: {
type: Object,
default: () => ({
projectName: "",
updateTime: "",
projectStatus: "0",
}),
},
},
2026-03-19 10:35:40 +08:00
data() {
return {
pageState: "loaded",
mockData: mockOverviewData,
};
},
};
</script>
<style lang="scss" scoped>
.preliminary-check-container {
min-height: 400px;
}
2026-03-19 10:35:40 +08:00
.preliminary-check-state {
padding: 40px 20px;
background: #fff;
color: #909399;
2026-03-19 10:35:40 +08:00
text-align: center;
}
2026-03-19 10:35:40 +08:00
.preliminary-check-page {
min-height: 400px;
}
</style>