gerson
2024-07-09 4a1ab5da5468e7da0dad9641ff6d252ba35a6e00
数据视图
已修改2个文件
已添加1个文件
31 ■■■■■ 文件已修改
src/components/chat/chatComponents/common.ts 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/chat/chatComponents/recordSetCom/RecordSetCom.vue 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/chat/chatComponents/summaryCom/SummaryCom.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/chat/chatComponents/common.ts
对比新文件
@@ -0,0 +1,25 @@
export const timeDataOptionToContent = (opt) => {
    const headerList = [opt.xAxis[0]].concat(opt.yAxis).map((item) => `<td>${item.name}</td>`).join('');
    const title = opt.title?.[0]?.text ?? '';
    let table = '<div style="border:1px solid black"><h3>'+title+'</h3><table style="width:100%;text-align:center"><tbody><tr>' + headerList + '</tr>';
    const timeData = new Set();
    const dataMap = opt.series.map((item) => {
        for (const subItem of item.data) {
            timeData.add(subItem[0]);
        }
        return new Map(item.data);
    });
    const bodyList = Array.from(timeData)
        .toSorted((a, b) => {
            return (a as any).localeCompare(b);
        })
        .map((item) => {
            return `<tr><td>${item}</td>${dataMap.map((itemMap) => `<td>${itemMap.get(item) ?? ''}</td>`)}</tr>`;
        }).join('');
    table += bodyList;
    table += '</tbody></table></div>';
    return table;
};
src/components/chat/chatComponents/recordSetCom/RecordSetCom.vue
@@ -32,6 +32,7 @@
import { ChartTypeEnum, chartTypeMapEchart, chartTypeMapName } from '../types';
import type { RecordSetValues } from '/@/api/ai/chat';
import { dateRegex } from '/@/utils/toolsValidate';
import { timeDataOptionToContent } from '../common';
const activeName = ref('first');
const chartRef = ref<HTMLDivElement>(null);
const selectChartType = ref<ChartTypeEnum>(ChartTypeEnum.Line);
@@ -120,6 +121,8 @@
                },
                dataView: {
                    readOnly: true,
                    optionToContent: timeDataOptionToContent,
                },
                saveAsImage: {},
            },
src/components/chat/chatComponents/summaryCom/SummaryCom.vue
@@ -32,6 +32,7 @@
import { computed, onMounted, ref } from 'vue';
import { ChartTypeEnum, chartTypeMapEchart, chartTypeMapName } from '../types';
import { axisLabelFormatter } from '/@/utils/chart';
import { timeDataOptionToContent } from '../common';
const props = defineProps(['data']);
@@ -69,7 +70,6 @@
            refList = [chartRef.value as unknown as HTMLDivElement];
        }
    }
    return refList;
});
@@ -185,6 +185,7 @@
                },
                dataView: {
                    readOnly: true,
                    optionToContent: timeDataOptionToContent,
                },
                saveAsImage: {},
            },