refactor(production): 重构产品详情页代码
- 将问题列表调整为单独的Vue组件
This commit is contained in:
44
app/components/QuestionList.vue
Normal file
44
app/components/QuestionList.vue
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
<template>
|
||||||
|
<div class="question-list">
|
||||||
|
<el-collapse class="question-collapse" accordion>
|
||||||
|
<el-collapse-item
|
||||||
|
v-for="(question, index) in questions"
|
||||||
|
:key="index"
|
||||||
|
:title="question.title"
|
||||||
|
:name="String(index)"
|
||||||
|
>
|
||||||
|
<markdown-renderer :content="question.content || ''" />
|
||||||
|
</el-collapse-item>
|
||||||
|
</el-collapse>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup lang="ts">
|
||||||
|
defineProps({
|
||||||
|
questions: {
|
||||||
|
type: Array as () => Array<{ title: string; content: string }>,
|
||||||
|
default: () => []
|
||||||
|
}
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.question-list {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.question-collapse {
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.question-collapse :deep(.el-collapse-item__header) {
|
||||||
|
font-size: 1rem;
|
||||||
|
padding: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.question-collapse :deep(.el-collapse-item) {
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
border: 1px solid var(--el-border-color-light);
|
||||||
|
box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.1);
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@ -33,15 +33,7 @@
|
|||||||
<spec-table :data="production.production_specs" />
|
<spec-table :data="production.production_specs" />
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="常见问题" name="faq">
|
<el-tab-pane label="常见问题" name="faq">
|
||||||
<div class="faq-list">
|
<question-list :questions="production.questions" />
|
||||||
<el-collapse class="faq-collapse" accordion>
|
|
||||||
<el-collapse-item
|
|
||||||
v-for="(question, index) in production.questions" :key="index" :title="question.title"
|
|
||||||
:name="String(index)">
|
|
||||||
<markdown-renderer :content="question.content || ''" />
|
|
||||||
</el-collapse-item>
|
|
||||||
</el-collapse>
|
|
||||||
</div>
|
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="相关文档" name="documents">
|
<el-tab-pane label="相关文档" name="documents">
|
||||||
<div class="document-list">
|
<div class="document-list">
|
||||||
@ -233,24 +225,6 @@ useHead({
|
|||||||
gap: 1rem;
|
gap: 1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep(.el-collapse-item__header) {
|
|
||||||
font-size: 1rem;
|
|
||||||
padding: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.faq-collapse {
|
|
||||||
border: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.faq-collapse :deep(.el-collapse-item) {
|
|
||||||
margin-bottom: 1rem;
|
|
||||||
box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.1);
|
|
||||||
}
|
|
||||||
|
|
||||||
.faq-collapse :deep(.el-collapse-item__header) {
|
|
||||||
border: 1px solid var(--el-border-color-light);
|
|
||||||
}
|
|
||||||
|
|
||||||
.loading {
|
.loading {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
|||||||
Reference in New Issue
Block a user