From 3c8ba56f8ea1950067fac67f378e0e87bec3a23e Mon Sep 17 00:00:00 2001
From: wujingjing <gersonwu@qq.com>
Date: 星期一, 14 十月 2024 13:35:34 +0800
Subject: [PATCH] 曲线查询更改

---
 src/components/chat/chatComponents/summaryCom/components/recordSet/RecordSet.vue |   93 ++++++++++++++++++++++++++--------------------
 1 files changed, 53 insertions(+), 40 deletions(-)

diff --git a/src/components/chat/chatComponents/summaryCom/components/recordSet/RecordSet.vue b/src/components/chat/chatComponents/summaryCom/components/recordSet/RecordSet.vue
index 022707c..3c5d8fc 100644
--- a/src/components/chat/chatComponents/summaryCom/components/recordSet/RecordSet.vue
+++ b/src/components/chat/chatComponents/summaryCom/components/recordSet/RecordSet.vue
@@ -38,12 +38,12 @@
 import { useDrawChatChart } from '../../../hooks/useDrawChatChart';
 import { ChartTypeEnum } from '../../../types';
 import YRange from './components/YRange.vue';
-import type { RecordSet, RecordSetParamsItem } from './types';
+import type { RecordSetParamsItem } from './types';
 import { RecordSetParamsType, recordSetMapCom, scoreMap } from './types';
-import { filterQuery } from '/@/api/ai/chat';
+import { curveQuery } from '/@/api/ai/chat';
+import { axisLabelFormatter } from '/@/utils/chart';
 import { deepClone } from '/@/utils/other';
 import { debounce } from '/@/utils/util';
-import { axisLabelFormatter } from '/@/utils/chart';
 
 const chartRef = ref<HTMLDivElement>(null);
 const yRange = ref({
@@ -71,37 +71,52 @@
 		default: '20rem',
 	},
 }) as {
-	data: RecordSet;
+	data: any;
 };
 const chartLoading = ref(false);
 
+const stepOptions = [
+	{ title: '5鍒嗛挓', value: '5 minutes' },
+	{ title: '10鍒嗛挓', value: '10 minutes' },
+	{ title: '鍗婂皬鏃�', value: '30 minutes' },
+	{ title: '1灏忔椂', value: '1 hours' },
+	{ title: '1澶�', value: '1 days' },
+];
+
 const visibleParams = computed(() => {
-	const visibleList = props.data?.params?.filter((item) => !item?.hide) ?? [];
-
+	// const visibleList = props.data?.params?.filter((item) => !item?.hide) ?? [];
+	// index 浣滀负 id
+	const visibleList = (props.data?.filter ?? []).map((item, index) => ({
+		id: index + '',
+		...item,
+	}));
 	const newList: RecordSetParamsItem[] = [];
-	let nextMatchIndex = null;
 	for (let index = 0; index < visibleList.length; index++) {
-		if (nextMatchIndex === index) continue;
 		const current = visibleList[index];
-		const currentAny = current as any;
-		if (index !== visibleList.length - 1 && currentAny.type === RecordSetParamsType.StartTime) {
-			const next = visibleList[index + 1];
-			const nextAny = next as any;
-
-			if (nextAny.group === currentAny.group && nextAny.type === RecordSetParamsType.EndTime) {
+		switch (current.type) {
+			case RecordSetParamsType.TimeRange:
 				newList.push({
+					id: current.id,
 					type: RecordSetParamsType.TimeRange,
-					value: [currentAny.value, nextAny.value],
-					group: currentAny.group,
-					range: [currentAny, nextAny],
-				} as any);
-				nextMatchIndex = index + 1;
-			} else {
-				newList.push(current);
-			}
-		} else {
-			newList.push(current);
+					origin: current,
+					value: [current.start_value, current.end_value],
+					title: current.title,
+				});
+				break;
+			case RecordSetParamsType.Step:
+				newList.push({
+					id: current.id,
+					type: RecordSetParamsType.Step,
+					origin: current,
+					value: current.value,
+					list: stepOptions,
+					title: current.title,
+				});
+				break;
+			default:
+				break;
 		}
+		Reflect.deleteProperty(current,'id')
 	}
 
 	return newList;
@@ -116,7 +131,6 @@
 let valueCol = null;
 
 let preData = null;
-
 
 let activeChartType: ChartTypeEnum = props.data?.chart_type ?? ChartTypeEnum.Line;
 const originChartType = activeChartType;
@@ -176,14 +190,14 @@
 		});
 	}
 	const yAxisFormatter =
-	originChartType === ChartTypeEnum.Score
+		originChartType === ChartTypeEnum.Score
 			? (value) => {
 					return scoreMap[value];
 			  }
 			: axisLabelFormatter;
 
 	const tooltipValueFormatter =
-	originChartType === ChartTypeEnum.Score
+		originChartType === ChartTypeEnum.Score
 			? (value) => {
 					return scoreMap[value];
 			  }
@@ -327,31 +341,30 @@
 const { chartContainerResize, chartInstance } = useDrawChatChart({ chartRef, drawChart });
 
 // 鏇存崲鍒楄〃
-const changeMap = new Map<string, string>(null);
-
+const changeMap = new Map<string, any>(null);
 const handleQueryChange = async (val: any, item: RecordSetParamsItem) => {
 	if (!val) return;
-
 	const historyId = (props as any).originData.historyId;
-	const summaryIndex = (props as any).summaryIndex;
 	let res = null;
 
 	try {
 		if (item.type === RecordSetParamsType.TimeRange) {
-			changeMap.set(item.range[0].id, val[0]), changeMap.set(item.range[1].id, val[1]);
+			item.origin.start_value = val[0];
+			item.origin.end_value = val[1];
+			changeMap.set(item.id, item.origin);
 		} else {
-			changeMap.set(item.id, val);
+			item.origin.value = val;
+			changeMap.set(item.id, item.origin);
 		}
-		const paramsObj = {};
-		for (const [key, value] of changeMap) {
-			paramsObj[key] = value;
-		}
+
+
+		const filterObj = Array.from(changeMap.values());
 		const params = {
 			history_id: historyId,
-			query_index: summaryIndex,
-			param_json: JSON.stringify(paramsObj),
+			agent_key: props.data.agent_key,
+			filter_json: JSON.stringify(filterObj),
 		};
-		res = await filterQuery(params);
+		res = await curveQuery(params);
 		chartLoading.value = true;
 	} finally {
 		chartLoading.value = false;

--
Gitblit v1.9.3