瀏覽代碼

单位位置调整

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

+ 18 - 2
src/views/hzyb/chart/Detail.vue

@@ -372,6 +372,9 @@ const setSplineOpt=(data)=>{
             temYRightArr.push(item)
         }
 
+        //轴数值的最大长度 用于计算单位标题相对与轴的偏移计算 没啥卵用需求如此 只为了显示美观 无逻辑用处
+        let MaxlabelLen = getLabelMaxLen(item.DataList) + item.Unit.length
+
         let yItem={
             ...basicYAxis,
             IsAxis:item.IsAxis,
@@ -389,7 +392,8 @@ const setSplineOpt=(data)=>{
                 align: 'high',
                 rotation: 0,
                 y: -15,
-                offset: 0,
+                x: [0,2].includes(item.IsAxis) ? -MaxlabelLen*10 : MaxlabelLen*10,
+                reserveSpace: false
             },
             opposite: [0,2].includes(item.IsAxis),
             reversed: item.IsOrder,
@@ -566,6 +570,9 @@ const setStackOrCombinChart = data => {
             temYRightArr.push(item)
         }
 
+        //轴数值的最大长度 用于计算单位标题相对与轴的偏移计算 没啥卵用需求如此 只为了显示美观 无逻辑用处
+        let MaxlabelLen = getLabelMaxLen(item.DataList) + item.Unit.length
+
         let yItem={
             ...basicYAxis,
             IsAxis:item.IsAxis,
@@ -582,7 +589,8 @@ const setStackOrCombinChart = data => {
                 align: 'high',
                 rotation: 0,
                 y: -15,
-                offset: 0,
+                x: [0,2].includes(item.IsAxis) ? -MaxlabelLen*10 : MaxlabelLen*10,
+                reserveSpace: false
             },
             opposite: [0,2].includes(item.IsAxis),
             reversed: item.IsOrder,
@@ -696,6 +704,14 @@ const setDyncmicSerieName = (item,dynamic_arr) => {
     return temName
 }
 
+/* 获取轴数值的最大长度  通过真实数据推测而已 也不准确 */
+const getLabelMaxLen = (data)=> {
+    let value_arr = data.map(_ => String(Math.abs(_.Value)));
+    let max_len_value = value_arr.reduce((a,b)=> (a.length > b.length ? a : b))
+    let num =  Number(max_len_value) > 1 ?  String(parseInt(Number(max_len_value))) : max_len_value
+    return num.length
+}
+
 /* 指标顺序调整  IsAxis: 0右轴 1左轴 2右2*/
 const changeEdbOrder = (data) => {
     // 左轴指标