Browse Source

商品价格图逻辑更改

Karsa 2 years ago
parent
commit
d33a980051
1 changed files with 17 additions and 14 deletions
  1. 17 14
      src/views/hzyb/chart/Detail.vue

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

@@ -432,12 +432,11 @@ const commodityXData = ref([]);//商品价格图的x轴
 const commodityEdbList = ref([]);//商品价格图的表格数据 只用于取值
  /* 商品价格曲线获取详情赋值 */
 const initCommodityData = (data) => {
-    const { XEdbIdValue,YDataList,EdbInfoList,ChartInfo } = data;
+    const { XDataList,YDataList,EdbInfoList,ChartInfo } = data;
 
-    let xData = EdbInfoList.map(_ => _.EdbAliasName);
     commodityEdbList.value = EdbInfoList;
     commodityChartData.value = YDataList;
-    commodityXData.value = xData;
+    commodityXData.value = XDataList;
 
     hasLeftAxis.value=true;
     axisLimitData.leftMin=Number(ChartInfo.LeftMin)
@@ -454,7 +453,7 @@ const setCommodityChart = () => {
     //x轴
     let xAxis = {
         ...scatterXAxis,
-        categories: commodityXData.value,
+        categories: commodityXData.value.map(_ => _.Name),
         tickWidth: 1,
         title: {
             text:  ``,
@@ -514,14 +513,18 @@ const setCommodityChart = () => {
     let tooltip = {
         formatter: function() {
             const ctx = this;
-            let str = `<strong>${ commodityEdbList.value.find(_ => _.EdbAliasName === ctx.x).EdbName }</strong>`;
+            let str = '';
             ctx.points.forEach(item => {
-                let obj_item = data.find(_ => _.Name === item.series.name);
-                if(!obj_item.NoDataEdbList.includes(commodityEdbList.value.find(_ => _.EdbAliasName === ctx.x).EdbInfoId)) {
-                    str += `<br>${obj_item.Date}: ${item.y}`
-                }else {
-                    str += `<br>${obj_item.Date}: 无`
-                }
+              let obj_item = data.find(_ => _.Name === item.series.name);
+              let index = commodityXData.value.findIndex(_ => _.Name === ctx.x);
+
+              str+=`<b>${ commodityEdbList.value.find(_ => _.EdbInfoId === obj_item.XEdbInfoIdList[index]).EdbName }</b>`
+
+              if(!obj_item.NoDataEdbList.includes(obj_item.XEdbInfoIdList[index])) {
+                str += `<br><span style="color:${item.color}">\u25CF</span>${obj_item.Date}: ${item.y}<br>`
+              }else {
+                str += `<br><span style="color:${item.color}">\u25CF</span>${obj_item.Date}: 无<br>`
+              }
             })
             return str
         },
@@ -540,10 +543,10 @@ const setCommodityChart = () => {
 };
 /* 处理无效数据为null */
 const filterInvalidData = (item)=> {
-    let validateArr = commodityEdbList.value.filter(_ =>!item.NoDataEdbList.includes(_.EdbInfoId));
+    let validateArr = item.XEdbInfoIdList.filter(_ =>!item.NoDataEdbList.includes(_));
 
-    let first_index = commodityEdbList.value.findIndex(_ => _.EdbInfoId === validateArr[0].EdbInfoId);
-    let last_index = commodityEdbList.value.findIndex(_ => _.EdbInfoId === validateArr[validateArr.length-1].EdbInfoId);
+    let first_index = item.XEdbInfoIdList.findIndex(_ => _ === validateArr[0]);
+    let last_index = item.XEdbInfoIdList.findIndex(_ => _ === validateArr[validateArr.length-1]);
     console.log('first_index',first_index)
     console.log('last_index',last_index)