refactor(Survey/Analysis):优化题目分析组件

- 添加 parentIndex 属性,用于接收上级组件传递的题目编号
- 优化题目标题显示逻辑,增加编号并考虑上级传递的编号
-调整标签显示逻辑,仅在 questionTypeMap 中存在对应类型时显示
This commit is contained in:
陈昱达
2025-05-26 14:45:58 +08:00
parent 345c80acbc
commit b938f48c50
2 changed files with 13 additions and 10 deletions

View File

@@ -41,8 +41,8 @@ const disableInsight = ref(true);
:space-between="0"
:allow-touch-move="false"
>
<swiper-slide v-for="analysis in questionAnalysis" :key="analysis.stem">
<analysis-info :sn="survey?.sn" :questionAnalysis="[analysis]" />
<swiper-slide v-for="(analysis, index) in questionAnalysis" :key="analysis.stem">
<analysis-info :sn="survey?.sn" :questionAnalysis="[analysis]" :parentIndex="index + 1" />
</swiper-slide>
<div class="empty-container" v-if="questionAnalysis?.length === 0">
<empty-container :error-msg="'本问卷暂无有效答题数据'" :img-src="emptyImg" />

View File

@@ -1,18 +1,20 @@
<template>
<div style="width: 100%">
<!-- 优先去上级传递的数值 -->
<section v-for="analysis in questionAnalysis" :key="analysis.stem" class="mt10">
<section v-for="(analysis, index) in questionAnalysis" :key="analysis.stem" class="mt10">
<!-- {{ analysis }} -->
<!-- 问题标题 -->
<div class="flex align-center">
<el-tag type="success" size="small">
{{
questionTypeMap.get(analysis.question_type as number)
? questionTypeMap.get(analysis.question_type as number)
: analysis.title
}}
<el-tag
type="success"
size="small"
v-if="questionTypeMap.get(analysis.question_type as number)"
>
{{ questionTypeMap.get(analysis.question_type as number) }}
</el-tag>
<el-text class="ml10">{{ analysis.stem }}</el-text>
<el-text class="ml10"
>{{ parentIndex ? parentIndex : index + 1 }}. {{ analysis.stem }}</el-text
>
</div>
<!-- 问题图表部分 -->
@@ -64,6 +66,7 @@ const showChart = ref([1, 2, 5, 106, 9, 10]);
// 接受上级传递的 questionAnalysis 数据
const questionAnalysis = defineModel<any[]>('questionAnalysis');
const parentIndex = defineModel<any[]>('parentIndex');
const { width } = screenLayout();