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