Browse Source

ETA1.0.5 季节性图农历逻辑处理修改

hbchen 1 năm trước cách đây
mục cha
commit
01ec3fb4f4
2 tập tin đã thay đổi với 107 bổ sung100 xóa
  1. 3 1
      src/types.d.ts
  2. 104 99
      src/views/chartShow/index.vue

+ 3 - 1
src/types.d.ts

@@ -21,7 +21,9 @@ export interface IParams extends IUnknowObject {
 //季节性数据
 export interface ISeasonDataItemProps extends IUnknowObject {
   Year: number;
-  DataList: IParams[]
+  DataList: IParams[],
+  ChartLegend:string,
+  Years:string,
 }
 
 //农历

+ 104 - 99
src/views/chartShow/index.vue

@@ -918,6 +918,11 @@ export default defineComponent({
     /* 季节图 */
     const setSeasonOptions = () => {
       const chartData = state.dataList[0];
+      // 农历数据需要去除第一项 在ETA1.0.5之后,除了这里 农历和公历处理逻辑一样
+      const chartDataHandle=state.chartInfo.Calendar === '农历'?
+                      chartData.DataList.filter((item:ISeasonDataItemProps, index:number) => index > 0):
+                      chartData.DataList
+
       let seasonYdata:any[] = [],
         seasonData:any[] = [],
         chart = {
@@ -925,8 +930,8 @@ export default defineComponent({
         };
 
       /* 公历数据处理 处理数据列 y轴 */
-      if (state.chartInfo.Calendar === '公历')
-        for (let j of chartData.DataList) {
+      // if (state.chartInfo.Calendar === '公历')
+        for (let j of chartDataHandle) {
           //预测指标配置
           let predict_params =  chartData.EdbInfoCategoryType === 1 ? getSeasonPredictParams(j.CuttingDataTimestamp) : {};
 
@@ -934,7 +939,7 @@ export default defineComponent({
             data: [] as any[],
             type: chartData.ChartStyle,
             yAxis: 0,
-            name: j.Year,
+            name: j.ChartLegend,
             ...predict_params
           };
           const data_array = _.cloneDeep(j.DataList);
@@ -942,8 +947,8 @@ export default defineComponent({
             data_array.forEach((item: IParams) => {
               serie_item.data.push([item.DataTimestamp, item.Value]);
             });
-          const index = chartData.DataList.findIndex(
-            (item: ISeasonDataItemProps) => item.Year === j.Year
+          const index = chartDataHandle.findIndex(
+            (item: ISeasonDataItemProps) => item.ChartLegend === j.ChartLegend
           );
           let textEn = chartData.Unit?chartData.UnitEn:''
           const s_yItem = {
@@ -975,60 +980,60 @@ export default defineComponent({
         }
 
       /* 农历数据处理  */
-      let filterArr =
-        state.chartInfo.Calendar === '农历'
-          ? chartData.DataList.List.filter(
-              (item: ILunarItem, index: number) => index > 0
-            )
-          : [];
-      if (state.chartInfo.Calendar === '农历')
-        for (let j of filterArr) {
-           //预测指标配置
-          let predict_params =  chartData.EdbInfoCategoryType === 1 ? getSeasonPredictParams(j.CuttingDataTimestamp) : {};
-
-          let serie_item = {
-            data: [] as any[],
-            type: chartData.ChartStyle,
-            yAxis: 0,
-            name: j.Year,
-            ...predict_params
-          };
-          const data_array = _.cloneDeep(j.Items);
-          data_array &&
-            data_array.forEach((item: IParams) => {
-              serie_item.data.push([item.DataTimestamp, item.Value]);
-            });
-          const index = filterArr.findIndex(
-            (item: ILunarItem) => item.Year === j.Year
-          );
-          let textEn = chartData.Unit?chartData.UnitEn:''
-          const s_yItem = {
-            labels: {
-              formatter: function (ctx: any) {
-                let val = ctx.value;
-                return index !== 0 ? '' : val;
-              },
-              align: 'center',
-              style: {
-                fontSize: '10px',
-              },
-              x: -5,
-            },
-            title: {
-              text:language.value=='ch'?`${chartData.Unit}`:textEn,
-              // text: null,
-              align: 'high',
-              rotation: 0,
-              y: -15,
-              offset: -(10 * chartData.Unit.length),
-            },
-            max: Number(chartData.MaxData),
-            min: Number(chartData.MinData),
-            ...defaultOpts.yAxis,
-          };
-          seasonData.push(serie_item);
-          seasonYdata.push(s_yItem);
-        }
+      // let filterArr =
+      //   state.chartInfo.Calendar === '农历'
+      //     ? chartData.DataList.List.filter(
+      //         (item: ILunarItem, index: number) => index > 0
+      //       )
+      //     : [];
+      // if (state.chartInfo.Calendar === '农历')
+      //   for (let j of filterArr) {
+      //      //预测指标配置
+      //     let predict_params =  chartData.EdbInfoCategoryType === 1 ? getSeasonPredictParams(j.CuttingDataTimestamp) : {};
+
+      //     let serie_item = {
+      //       data: [] as any[],
+      //       type: chartData.ChartStyle,
+      //       yAxis: 0,
+      //       name: j.Year,
+      //       ...predict_params
+      //     };
+      //     const data_array = _.cloneDeep(j.Items);
+      //     data_array &&
+      //       data_array.forEach((item: IParams) => {
+      //         serie_item.data.push([item.DataTimestamp, item.Value]);
+      //       });
+      //     const index = filterArr.findIndex(
+      //       (item: ILunarItem) => item.Year === j.Year
+      //     );
+      //     let textEn = chartData.Unit?chartData.UnitEn:''
+      //     const s_yItem = {
+      //       labels: {
+      //         formatter: function (ctx: any) {
+      //           let val = ctx.value;
+      //           return index !== 0 ? '' : val;
+      //         },
+      //         align: 'center',
+      //         style: {
+      //           fontSize: '10px',
+      //         },
+      //         x: -5,
+      //       },
+      //       title: {
+      //         text:language.value=='ch'?`${chartData.Unit}`:textEn,
+      //         // text: null,
+      //         align: 'high',
+      //         rotation: 0,
+      //         y: -15,
+      //         offset: -(10 * chartData.Unit.length),
+      //       },
+      //       max: Number(chartData.MaxData),
+      //       min: Number(chartData.MinData),
+      //       ...defaultOpts.yAxis,
+      //     };
+      //     seasonData.push(serie_item);
+      //     seasonYdata.push(s_yItem);
+      //   }
 
       // 季节图x轴显示月/日 周度指标额外处理时间轴显示
       const xAxis = {
@@ -1060,51 +1065,51 @@ export default defineComponent({
       };
 
       //农历默认选中一年数据并隐藏按钮  公历显示全部数据
-      let rangeSelector = state.chartInfo.Calendar === '农历'
-        ? {
-            enabled: true,
-            selected: 0,
-            inputStyle: {
-              display: 'none',
-            },
-            labelStyle: {
-              display: 'none',
-            },
-            buttonTheme: {
-              style: {
-                display: 'none',
-              },
-            },
-            buttons: [
-              {
-                type: 'month',
-                count: 12,
-                text: '12月',
-              },
-              {
-                type: 'month',
-                count: 15,
-                text: '15月',
-              },
-              {
-                type: 'all',
-                text: '全部',
-              },
-            ],
-          }
-        : {
-            enabled: false,
-          };
+      // let rangeSelector = state.chartInfo.Calendar === '农历'
+      //   ? {
+      //       enabled: true,
+      //       selected: 0,
+      //       inputStyle: {
+      //         display: 'none',
+      //       },
+      //       labelStyle: {
+      //         display: 'none',
+      //       },
+      //       buttonTheme: {
+      //         style: {
+      //           display: 'none',
+      //         },
+      //       },
+      //       buttons: [
+      //         {
+      //           type: 'month',
+      //           count: 12,
+      //           text: '12月',
+      //         },
+      //         {
+      //           type: 'month',
+      //           count: 15,
+      //           text: '15月',
+      //         },
+      //         {
+      //           type: 'all',
+      //           text: '全部',
+      //         },
+      //       ],
+      //     }
+      //   : {
+      //       enabled: false,
+      //     };
 
       state.options = {
-        colors:
-          state.chartInfo.Calendar === '公历'
-            ? seasonOptions.colors.slice(-chartData.DataList.length)
-            : seasonOptions.colors.slice(-filterArr.length),
+        colors:seasonOptions.colors.slice(-chartDataHandle.length),
+          // state.chartInfo.Calendar === '公历'
+          //   ? seasonOptions.colors.slice(-chartData.DataList.length)
+          //   : seasonOptions.colors.slice(-filterArr.length),
         series: seasonData,
         yAxis: seasonYdata,
         xAxis,
-        rangeSelector,
+        // rangeSelector,
         chart
       };
     }