From a358c1d7b5b9b9974c9a91f13dbe339dcc48d742 Mon Sep 17 00:00:00 2001
From: dengzedong <dengzedong@email>
Date: 星期五, 13 六月 2025 11:05:43 +0800
Subject: [PATCH] 数据分析 影响因素

---
 src/views/model/pre/analysis/index.vue |   57 +++++++++++++++++++++++++++------------------------------
 1 files changed, 27 insertions(+), 30 deletions(-)

diff --git a/src/views/model/pre/analysis/index.vue b/src/views/model/pre/analysis/index.vue
index 63b67d1..945e674 100644
--- a/src/views/model/pre/analysis/index.vue
+++ b/src/views/model/pre/analysis/index.vue
@@ -379,7 +379,7 @@
   return data.label.includes(value)
 }
 
-// let xAxisData = []
+let xAxisData = []
 
 /** 查询列表 */
 const getList = async (isClear = true) => {
@@ -407,26 +407,6 @@
     formData.value.predictTime = data.predictTime;
     formData.value.startTime = data.startTime
     formData.value.endTime = data.endTime
-
-    // 默认影响时间
-    changeInfluenceFactorTime(data.predictTime);
-
-    // 获取影响因素结果列表
-    influenceFactorResultList.value = await influenceFactorApi.getResultList({
-      outIds: outIds,
-      startTime: data.startTime,
-      endTime: data.endTime
-    })
-
-    // 获取影响因素结果列表
-    influenceFactorList.value = await influenceFactorApi.getListByOutId(formData.value.checkedItemData.id)
-    if (influenceFactorList.value && influenceFactorList.value.length > 0) {
-      // 根据factorOutputId去重,因为不同的统计规则会有重复的影响因素
-      influenceFactorList.value = Array.from(new Map(influenceFactorList.value.map(item => [item.factorOutputId, item])).values());
-      // 默认选中第一个影响因素
-      influenceFactor.value = influenceFactorList.value?.[0]?.factorOutputId
-      getInfluenceFactorChart(influenceFactorList.value?.[0]?.factorOutputId)
-    }
 
 
     const paramsAlarm = reactive({
@@ -827,7 +807,6 @@
         symbol: ['circle', 'none'],
       },
     });
-    itemDataObject.value = {}
     yAxisData.push({
       type: 'value',
       name: "累计值",
@@ -845,7 +824,6 @@
     })
     for (let i = 0; i < data.dataViewList.length; i++) {
       let dataView = data.dataViewList[i]
-      itemDataObject.value[dataView.outId] = dataView;
       let maxValue = dataView.maxValue;
       let minValue = dataView.minValue;
       yAxisIndex = (formData.value.isMultipleY ? i : 0) + 1;
@@ -1053,7 +1031,7 @@
 function changeInfluenceFactorTime(time) {
   if (time && new Date(time)?.getTime()) {
     influenceFactorResultTime.value = time
-    influenceFactorResult.value = influenceFactorResultList.value?.[formData.value.checkedItemData?.id]?.filter(e => e.time === new Date(time).getTime()).sort((a, b) => b.value - a.value) || [];
+    influenceFactorResult.value = influenceFactorResultList.value?.[calRateForm.value.calItem]?.filter(e => e.time === new Date(time).getTime()).sort((a, b) => b.value - a.value) || [];
   }
 }// 选择影响因素
 function changeInfluenceFactor(value) {
@@ -1143,7 +1121,7 @@
   if (checked.checkedNodes) {
     let cns = [...checked.checkedNodes]
     for (let i = 0; i < cns.length; i++) {
-      if (cns[i].id.indexOf('-') !== -1) {
+      if (cns[i].disabled) {
         continue
       }
       formData.value.checkedItemData.push(cns[i])
@@ -1163,7 +1141,7 @@
   }, wait)
 }
 
-function calItemBaseVale() {
+const calItemBaseVale = async () => {
   if (!calRateForm.value.calItem) {
     calRateForm.value.itemPreMax = 0;
     calRateForm.value.itemPreMin = 0;
@@ -1190,11 +1168,30 @@
     calDeviation(dataView.cumulantRealData,dataView.cumulantPreData,'deviationCumulant')
     calAccuracyRate()
 
-    // 影响因素
     // 获取影响因素结果列表
-    influenceFactorList.value = influenceFactorApi.getListByOutId(formData.value.checkedItemData.id)
-    // 根据factorOutputId去重,因为不同的统计规则会有重复的影响因素
-    influenceFactorList.value = Array.from(new Map(influenceFactorList.value.map(item => [item.factorOutputId, item])).values());
+    const outPutId = calRateForm.value.calItem
+    influenceFactorResultList.value = await influenceFactorApi.getResultList({
+      outIds: [outPutId],
+      startTime: formData.value.startTime,
+      endTime: formData.value.endTime
+    })
+
+    // 默认影响时间
+    changeInfluenceFactorTime(formData.value.predictTime);
+
+    // 获取影响因素列表
+    influenceFactorList.value = await influenceFactorApi.getListByOutId(outPutId)
+    if (influenceFactorList.value && influenceFactorList.value.length > 0) {
+      // 根据factorOutputId去重,因为不同的统计规则会有重复的影响因素
+      influenceFactorList.value = Array.from(new Map(influenceFactorList.value.map(item => [item.factorOutputId, item])).values());
+      // 默认选中第一个影响因素
+      influenceFactor.value = influenceFactorList.value?.[0]?.factorOutputId
+      getInfluenceFactorChart(influenceFactorList.value?.[0]?.factorOutputId)
+    }else {
+      // 清除历史
+      influenceFactor.value = undefined
+      myInfluenceFactorChart.clear()
+    }
   }
 }
 

--
Gitblit v1.9.3