浏览代码

兼容利润曲线

Karsa 1 年之前
父节点
当前提交
2b0c5384e3
共有 2 个文件被更改,包括 37 次插入21 次删除
  1. 36 20
      src/views/chartShow/index.vue
  2. 1 1
      src/views/chartShow/typing.ts

+ 36 - 20
src/views/chartShow/index.vue

@@ -96,7 +96,7 @@ export default defineComponent({
       barDateList: [],//柱形图的绘图数据
       barXIdData: [],//柱形图的x轴id
       barEdbData: [],//柱形图的表格数据 只用于取值
-      barLimit: {},
+      chartLimit: {},
       
       /* 商品价格曲线 */
       commodityChartData: [],
@@ -165,7 +165,8 @@ export default defineComponent({
         const sourceTypeMap = {
           2: initCommodityData,
           3: initRelevanceChartData,
-          4: initRelevanceChartData
+          4: initRelevanceChartData,
+          5: initCommodityData
         }
         sourceTypeMap[Data.ChartInfo.Source] && sourceTypeMap[Data.ChartInfo.Source](Data);
         
@@ -281,10 +282,10 @@ export default defineComponent({
     const initSectionScatterData = (data: { DataResp:any,EdbInfoList:any[] }) => {
       sectionScatterData.value = data.DataResp;
 
-      state.barLimit.min=Number(data.DataResp.YMinValue)
-      state.barLimit.max=Number(data.DataResp.YMaxValue)
-      state.barLimit.x_min=Number(data.DataResp.XMinValue)
-      state.barLimit.x_max=Number(data.DataResp.XMaxValue)
+      state.chartLimit.min=Number(data.DataResp.YMinValue)
+      state.chartLimit.max=Number(data.DataResp.YMaxValue)
+      state.chartLimit.x_min=Number(data.DataResp.XMinValue)
+      state.chartLimit.x_max=Number(data.DataResp.XMaxValue)
 
       //校验英文名称是否完整
       if(route.query.fromPage === 'en' && language.value==='en') {
@@ -300,9 +301,9 @@ export default defineComponent({
     }
     /* 截面散点图设置 sectionScatterData */
     const setSectionScatterChart = () => {
-        const { barLimit } = state;
+        const { chartLimit } = state;
         const { DataList,XName,XNameEn,XUnitName,XUnitNameEn,YName,YNameEn,YUnitName,YUnitNameEn } = sectionScatterData.value;
-        const { min,max,x_min,x_max }  = barLimit;
+        const { min,max,x_min,x_max }  = chartLimit;
 
         //y轴
         let yAxis = {
@@ -1100,7 +1101,7 @@ export default defineComponent({
       state.barDateList = YDataList;
       state.barXIdData = XEdbIdValue;
       state.barEdbData = EdbInfoList;
-      state.barLimit = {
+      state.chartLimit = {
         min: Number(ChartInfo.LeftMin),
         max: Number(ChartInfo.LeftMax)
       }
@@ -1111,7 +1112,7 @@ export default defineComponent({
       x轴为指标名称的柱形图 以日期作为series
     */
     const setBarChart = () => {
-      const {barDateList,barXIdData,barLimit,barEdbData} = state;
+      const {barDateList,barXIdData,chartLimit,barEdbData} = state;
       let seriesData: { data: any; type: string; yAxis: number; name: any; color: any; chartType: string; }[] = [];
       const data = _.cloneDeep(barDateList);
 
@@ -1133,7 +1134,7 @@ export default defineComponent({
         },
       }
 
-      const { max,min } = barLimit;
+      const { max,min } = chartLimit;
       console.log(max,min)
       //y轴
       let yAxis = {
@@ -1187,13 +1188,19 @@ export default defineComponent({
     }
 
      /* 商品价格曲线获取详情赋值 */
-    const initCommodityData = (data: { XDataList: any[]; YDataList: any; EdbInfoList: any; ChartInfo: any; }) => {
-      const { XDataList,YDataList,EdbInfoList,ChartInfo } = data;
+    const initCommodityData = (data: { XDataList: any[]; YDataList: any; EdbInfoList: any; ChartInfo: any; DataResp?:any }) => {
+      const { XDataList,YDataList,EdbInfoList,ChartInfo,DataResp } = data;
 
       state.commodityEdbList = EdbInfoList;
-      state.commodityChartData = YDataList;
-      state.commodityXData = XDataList;
-      state.barLimit = {
+      state.commodityChartData = ChartInfo.Source===5?DataResp.YDataList:YDataList;
+      state.commodityXData = ChartInfo.Source===5?DataResp.XDataList:XDataList;
+
+      state.chartInfo = {
+        ...state.chartInfo,
+        ProfitName: DataResp.ProfitName,
+        ProfitEnName: DataResp.ProfitEnName
+      }
+      state.chartLimit = {
         min: Number(ChartInfo.LeftMin),
         max: Number(ChartInfo.LeftMax)
       }
@@ -1201,7 +1208,7 @@ export default defineComponent({
     }
     /* 商品价格曲线设置 绘图逻辑同奇怪柱形图*/
     const setCommodityChart = () => {
-      const {barLimit,commodityChartData,commodityXData,commodityEdbList} = state;
+      const {chartLimit,commodityChartData,commodityXData,commodityEdbList,chartInfo} = state;
       let seriesData:any[] = [];
       const data = _.cloneDeep(commodityChartData);
       //x轴
@@ -1218,7 +1225,7 @@ export default defineComponent({
         },
       }
 
-      const { max,min } = barLimit;
+      const { max,min } = chartLimit;
       //y轴
       let yAxis = {
         ...basicYAxis,
@@ -1277,7 +1284,11 @@ export default defineComponent({
               //合约显示
               let haveContract = obj_item.XEdbInfoIdList[index];
               if(haveContract) {
-                str+=`<b>${ commodityEdbList.find(_ => _.EdbInfoId === obj_item.XEdbInfoIdList[index]).EdbName }</b>`
+                // 利润曲线指标名
+                let edb_name = chartInfo.Source === 5 
+                  ? (index === 0 ? obj_item.NameList[index] : `${chartInfo.ProfitName}(${obj_item.NameList[index]})`)
+                  : commodityEdbList.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>`
@@ -1294,12 +1305,17 @@ export default defineComponent({
 
               let haveContract = obj_item.XEdbInfoIdList[index];
               if(haveContract) {
-                str+=`<b>${ commodityEdbList.find(_ => _.EdbInfoId === obj_item.XEdbInfoIdList[index]).EdbNameEn }</b>`
+
+                let edb_name = chartInfo.Source === 5
+                  ? (index === 0 ? obj_item.NameList[index] : `${chartInfo.ProfitEnName}(${obj_item.NameList[index]})`)
+                  : commodityEdbList.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>`
+                  
                 }
               }
             })

+ 1 - 1
src/views/chartShow/typing.ts

@@ -15,7 +15,7 @@ export interface IState {
 	barDateList: any[];
 	barXIdData: number[];
 	barEdbData: any[];
-	barLimit: BarLimitProps;
+	chartLimit: BarLimitProps;
 	commodityChartData: any[];
 	commodityXData: any[];
 	commodityEdbList: any[];