From 9f642256f4b99a697af40bbbc4b939bc8faf91cd Mon Sep 17 00:00:00 2001 From: wujingjing <gersonwu@qq.com> Date: 星期二, 25 二月 2025 17:20:46 +0800 Subject: [PATCH] 1 --- src/components/chat/chatComponents/summaryCom/components/recordSet/RecordSetDialog.vue | 132 +++++++++++++++++++++++++++++++++++-------- 1 files changed, 106 insertions(+), 26 deletions(-) diff --git a/src/components/chat/chatComponents/summaryCom/components/recordSet/RecordSetDialog.vue b/src/components/chat/chatComponents/summaryCom/components/recordSet/RecordSetDialog.vue index 35e1eef..d46e8d3 100644 --- a/src/components/chat/chatComponents/summaryCom/components/recordSet/RecordSetDialog.vue +++ b/src/components/chat/chatComponents/summaryCom/components/recordSet/RecordSetDialog.vue @@ -1,29 +1,47 @@ <template> - <el-dialog :destroy-on-close="true" v-model="isShow" draggable :close-on-click-modal="false" :title="chartValues?.title"> - <RecordSet chartHeight="30rem" ref="recordSetRef" :data="chartValues"> - <TimeRange class="flex-0 m-1" @change="timeRangeChange" /> - <List class="flex-0 m-1" v-model="stepTime" :data="listData" @change="selectStepChange" /> + <el-dialog + :destroy-on-close="true" + v-model="isShow" + draggable + :close-on-click-modal="false" + :title="chartValues?.title" + v-if="computedIsDialog" + > + <RecordSet :chartHeight="computedHeight" :tableHeight="tableHeight" ref="recordSetRef" :data="chartValues"> + <TimeRange ref="timeRangeRef" v-model="queryRange" class="flex-0 m-1" @change="timeRangeChange" /> + <!-- <List class="flex-0 m-1" v-model="stepTime" :data="listData" @change="selectStepChange" /> --> </RecordSet> </el-dialog> + <div v-else v-show="isShow"> + <RecordSet :chartHeight="computedHeight" :tableHeight="tableHeight" ref="recordSetRef" :data="chartValues"> + <TimeRange ref="timeRangeRef" v-model="queryRange" class="flex-0 m-1" @change="timeRangeChange" /> + </RecordSet> + </div> </template> <script setup lang="ts"> -import { nextTick, ref, watch } from 'vue'; +import { computed, nextTick, ref, watch } from 'vue'; import RecordSet from './RecordSet.vue'; +import List from './components/List.vue'; +import TimeRange from './components/TimeRange.vue'; import { queryScadaTimeValues } from '/@/api/ai/chat'; +import { formatDate } from '/@/utils/formatTime'; import { useCompRef } from '/@/utils/types'; import { getRecentDateRange } from '/@/utils/util'; -import { formatDate } from '/@/utils/formatTime'; -import TimeRange from './components/TimeRange.vue'; -import List from './components/List.vue'; +import service from '/@/utils/request'; -const props = defineProps(['otype', 'oname','indexName']); +const props = defineProps(['isDialog', 'height', 'metrics', 'tableHeight', 'metricsInfo', 'lastValueItem']); +// SDVAL_FULL_FLOW true 25 DEV_FLOW_W + +const computedIsDialog = computed(() => props.isDialog ?? true); +const computedHeight = computed(() => props.height ?? '30rem'); const isShow = defineModel({ type: Boolean, }); const recordSetRef = useCompRef(RecordSet); +const timeRangeRef = useCompRef(TimeRange); const listData = { list: [ @@ -40,40 +58,102 @@ const queryRange = ref<string[]>(null); const timeRangeChange = (val) => { - queryRange.value = val; - setChartData(queryRange.value); + setChartData(); }; const selectStepChange = (val) => { - setChartData(queryRange.value); + setChartData(); }; const stepTime = ref('5 minutes'); const chartValues = ref(null); -const setChartData = async (timeRange: string[]) => { - const res = await queryScadaTimeValues({ - // 璁惧绫诲瀷 - ptype: props.otype, - // 璁惧鍚嶇О - pname: props.oname, - otype:props.indexName, - start_time: timeRange[0], - end_time: timeRange[1], - step_time: stepTime.value, +const setChartData = async () => { + let url = ''; + if (computedIsDialog.value) { + const otype = props.metricsInfo.id; + const oname = props.lastValueItem[otype]?.ONAME; + const queryId = props.metricsInfo.query_detail_id; + url = `chat/query_detail_values?query_id=${queryId}&otype=${otype}&oname=${oname}`; + } else { + url = props.metrics.url; + } + let res = await service({ + url: url, + method: 'post', + data: { + start_time: timeRangeRef.value.formatDateValue[0], + end_time: timeRangeRef.value.formatDateValue[1], + step_time: stepTime.value, + }, }); + if (!computedIsDialog.value) { + res = { + json_ok: res.json_ok, + values: { + title: props.metrics.title, + values: res.values, + cols: [ + { + title: '鏃堕棿', + type: 'time', + }, + { + title: '鍊�', + type: 'value', + }, + ], + }, + }; + } else { + res = { + json_ok: res.json_ok, + values: { + title: props.lastValueItem.OTITLE, + values: res.values, + cols: [ + { + title: '鏃堕棿', + type: 'time', + }, + { + title: '鍊�', + type: 'value', + }, + ], + }, + }; + if (props.metricsInfo.unit) { + res.values.unit = props.metricsInfo.unit; + } + } chartValues.value = res.values; - nextTick(()=>{ - recordSetRef.value.drawChart(); - }) + chartValues.value.chart = 'single_line'; + + nextTick(() => { + setTimeout(() => { + if (recordSetRef.value.isMultiCompare) { + recordSetRef.value.handleData(); + recordSetRef.value.handleMultiCompare(); + } else { + recordSetRef.value.drawChart(); + } + }, 0); + }); }; watch( () => isShow.value, (val) => { if (!val) { + recordSetRef.value?.clearChart(); return; } queryRange.value = getRecentDateRange(1).map((item) => formatDate(item)); - setChartData(queryRange.value); + nextTick(() => { + setChartData(); + }); + }, + { + immediate: true, } ); </script> -- Gitblit v1.9.3