瀏覽代碼

堆叠/组合图逻辑

Karsa 2 年之前
父節點
當前提交
40cc088772
共有 1 個文件被更改,包括 17 次插入9 次删除
  1. 17 9
      src/views/hzyb/chart/Detail.vue

+ 17 - 9
src/views/hzyb/chart/Detail.vue

@@ -235,10 +235,10 @@ const getChartInfo=async (type)=>{
             }
             const chartSetMap = {
                 1: setSplineOpt,
-                3: setSplineOpt,
-                4: setSplineOpt,
+                3: setStackOrCombinChart,
+                4: setStackOrCombinChart,
                 5: setScatterOptions,
-                6: setSplineOpt
+                6: setStackOrCombinChart
             };
 
             chartSetMap[res.data.ChartInfo.ChartType](res.data.EdbInfoList)
@@ -321,6 +321,10 @@ const setSplineOpt=(data)=>{
     let minAndMaxTimeTemArr=[]//存放所有指标的最大最小时间
 
     data.forEach((item,index)=>{
+
+         //轴位置值相同的下标
+        let sameSideIndex = data.findIndex(i => i.IsAxis === item.IsAxis);
+
         let dynamic_title = item.EdbName;
         let dynamic_arr = data.filter(
           (item) => dynamic_title === item.EdbName
@@ -361,11 +365,12 @@ const setSplineOpt=(data)=>{
             IsAxis:item.IsAxis,
             labels: {
                 formatter: function (ctx) {
-                    return ctx.value;
+                    return sameSideIndex !== index ? '' : ctx.value;
                 },
                 align: 'center',
                 y:5,
             },
+            tickWidth: sameSideIndex !== index ? 0 : 1,
             // title: {
             //     text:  `单位:${item.Unit}`,
             //     align: 'high',
@@ -461,7 +466,7 @@ const setStackOrCombinChart = data => {
         4: 'column',
         6: ''
     };
-    let chartStyle = chartTypeMap[this.chartInfo.ChartType];
+    let chartStyle = chartTypeMap[resData.value.ChartInfo.ChartType];
 
     let series=[]
     let yAxis=[]
@@ -473,7 +478,12 @@ const setStackOrCombinChart = data => {
 
     let minAndMaxTimeTemArr=[]//存放所有指标的最大最小时间
 
+
     data.forEach((item,index)=>{
+
+        //轴位置值相同的下标
+        let sameSideIndex = data.findIndex(i => i.IsAxis === item.IsAxis);
+
         //堆叠图的yAxis必须一致 数据列所对应的y轴
         let serie_yIndex = index;
         if([3,4].includes(resData.value.ChartInfo.ChartType)) {
@@ -535,7 +545,7 @@ const setStackOrCombinChart = data => {
             IsAxis:item.IsAxis,
             labels: {
                 formatter: function (ctx) {
-                    return ctx.value;
+                    return sameSideIndex !== index ? '' : ctx.value;
                 },
                 align: 'center',
                 y:5,
@@ -551,6 +561,7 @@ const setStackOrCombinChart = data => {
             reversed: item.IsOrder,
             min: item.MinData,
             max: item.MaxData,
+            tickWidth: sameSideIndex !== index ? 0 : 1,
             visible: serie_yIndex === index ? true : false,
             chartEdbInfo:item//指标数据用于在保存时读取指标数据
         }
@@ -584,9 +595,6 @@ const setStackOrCombinChart = data => {
             }
         }
     }
-    // console.log(((maxTime-minTime)/6)/(24*3600*1000),':天');
-    // let maxYear=new Date(maxTime).getFullYear()
-    // let minYear=new Date(minTime).getFullYear()
 
     xAxis={
         ...basicXAxis,