From b70c8e7689a1ddc6e684cbf6a796440d950ba5ba Mon Sep 17 00:00:00 2001
From: wujingjing <gersonwu@qq.com>
Date: 星期三, 23 十月 2024 17:30:21 +0800
Subject: [PATCH] 优化 列表->图表

---
 src/components/chat/chatComponents/summaryCom/SummaryCom.vue |   47 +++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 45 insertions(+), 2 deletions(-)

diff --git a/src/components/chat/chatComponents/summaryCom/SummaryCom.vue b/src/components/chat/chatComponents/summaryCom/SummaryCom.vue
index c618dae..e2bbddd 100644
--- a/src/components/chat/chatComponents/summaryCom/SummaryCom.vue
+++ b/src/components/chat/chatComponents/summaryCom/SummaryCom.vue
@@ -1,6 +1,49 @@
 <template>
-    <div></div>
+	<div class="w-full space-y-3">
+		<template v-if="parsedData && parsedData.length > 0">
+			<component
+				v-for="(item, index) in parsedData"
+				ref="componentRef"
+				:key="item.id"
+				:id="item.id"
+				:is="summaryAnswerTypeMapCom[item.type]"
+				:data="item"
+				:originData="originData"
+				:summaryIndex="index"
+				chartHeight="20rem"
+				:tableLimitHeight = "tableLimitHeight"
+				@updateQuery ="(res)=> updateRecordSet(index,res)"
+			></component>
+		</template>
+		<!-- <AmisPageTest /> -->
+	</div>
 </template>
 
-<script setup lang="ts"></script>
+<script setup lang="ts">
+import { computed, ref } from 'vue';
+import { chatComProps } from '../common';
+import { SummaryAnswerType, summaryAnswerTypeMapCom } from './components/types';
+// import AmisPageTest from './components/amisPage/AmisPageTest.vue';
+const props = defineProps(chatComProps);
+const tableLimitHeight = document.body.clientHeight * 0.7
+
+const parsedData = computed(() => {
+	const newData = (props.data ?? []).map((item) => {
+		if (item.type === SummaryAnswerType.RecordSet && item.chart === 'table') {
+			item.type = SummaryAnswerType.RecordSetTable;
+		}
+		return item;
+	});
+	return newData;
+});
+
+
+const componentRef = ref<any[]>(null);
+
+const updateRecordSet = (triggerIndex,res) => {
+	for (const item of componentRef.value) {
+		item?.updateAll(triggerIndex,res)
+	}
+};
+</script>
 <style scoped lang="scss"></style>

--
Gitblit v1.9.3