Browse Source

商品价格曲线显示修改

jwyu 8 months ago
parent
commit
b231db7a25
1 changed files with 50 additions and 27 deletions
  1. 50 27
      src/hooks/chart/render.js

+ 50 - 27
src/hooks/chart/render.js

@@ -1637,8 +1637,9 @@ const setCommodityChart = (leftMin,leftMax) => {
                 const haveContract=obj_item.XEdbInfoIdList[index]
                 if(haveContract){
                     // 利润曲线指标名
+                    const isEdb=commodityEdbList.value.some(_=>_.EdbInfoId===haveContract)
                     let edb_name = chartData.value.ChartInfo.Source === 5 
-                        ? (index === 0 ? obj_item.NameList[index] : `${chartData.value.DataResp.ProfitName}(${obj_item.NameList[index]})`)
+                        ? (isEdb? obj_item.NameList[index] : `${chartData.value.DataResp.ProfitName}(${obj_item.NameList[index]})`)
                         : commodityEdbList.value.find(_ => _.EdbInfoId === obj_item.XEdbInfoIdList[index]).EdbName;
                     str+=`<b>${ edb_name }</b>`
 
@@ -1653,36 +1654,58 @@ const setCommodityChart = (leftMin,leftMax) => {
             return str||'无合约'
         },
         formatterCh: function() {
-            let str = ''; 
-            this.points.forEach(item => {
-              let obj_item = data.find(_ => _.Name === item.series.name);
-              let index = commodityXData.value.findIndex(_ => _.Name === this.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>`
-              }
+            const ctx = this;
+            let str = '';
+            ctx.points.forEach(item => {
+                let obj_item = data.find(_ => _.Name === item.series.name);
+                let index = commodityXData.value.findIndex(_ => _.Name === ctx.x);
+                
+                // 合约显示
+                const haveContract=obj_item.XEdbInfoIdList[index]
+                if(haveContract){
+                    // 利润曲线指标名
+                    const isEdb=commodityEdbList.value.some(_=>_.EdbInfoId===haveContract)
+                    let edb_name = chartData.value.ChartInfo.Source === 5 
+                        ? (isEdb? obj_item.NameList[index] : `${chartData.value.DataResp.ProfitName}(${obj_item.NameList[index]})`)
+                        : commodityEdbList.value.find(_ => _.EdbInfoId === obj_item.XEdbInfoIdList[index]).EdbName;
+                    str+=`<b>${ edb_name }</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
+            return str||'无合约'
           },
           formatterEn: function() {
-            let str = ''; 
-            this.points.forEach(item => {
-              let obj_item = data.find(_ => _.NameEn === item.series.name);
-              let index = commodityXData.value.findIndex(_ => _.NameEn === this.x);
-  
-              str+=`<b>${ commodityEdbList.value.find(_ => _.EdbInfoId === obj_item.XEdbInfoIdList[index]).EdbNameEn }</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>`
-              }
+            const ctx = this;
+            let str = '';
+            ctx.points.forEach(item => {
+                let obj_item = data.find(_ => _.NameEn === item.series.name);
+                let index = commodityXData.value.findIndex(_ => _.NameEn === ctx.x);
+                
+                // 合约显示
+                const haveContract=obj_item.XEdbInfoIdList[index]
+                if(haveContract){
+                    // 利润曲线指标名
+                    const isEdb=commodityEdbList.value.some(_=>_.EdbInfoId===haveContract)
+                    let edb_name = chartData.value.ChartInfo.Source === 5 
+                        ? (isEdb? obj_item.NameList[index] : `${chartData.value.DataResp.ProfitNameEn}(${obj_item.NameList[index]})`)
+                        : commodityEdbList.value.find(_ => _.EdbInfoId === obj_item.XEdbInfoIdList[index]).EdbNameEn;
+                    str+=`<b>${ edb_name }</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
+            return str||'无合约'
           },
         shared: true
     }