Pārlūkot izejas kodu

ETA1.0.5 预测指标农历数据兼容

hbchen 1 gadu atpakaļ
vecāks
revīzija
ce3e1fa672

+ 21 - 1
src/views/dataEntry_manage/addChart.vue

@@ -116,6 +116,26 @@
 						</el-tooltip>
 					</div>
 					<el-date-picker
+						style="width: 45%;"
+						v-model="SeasonExtraConfig.XStartDate"
+						value-format="MM-dd"
+						popper-class="x-range-picker-date"
+						format="MM-dd"
+						placeholder="开始日期"
+						@change="xAxisChange"
+						:clearable="false"
+					></el-date-picker>
+					<el-date-picker
+						style="width: 45%;"
+						v-model="SeasonExtraConfig.XEndDate"
+						value-format="MM-dd"
+						popper-class="x-range-picker-date"
+						format="MM-dd"
+						placeholder="结束日期"
+						@change="xAxisChange"
+						:clearable="false"
+					></el-date-picker>
+					<!-- <el-date-picker
 						style="width: 90%;"
 						v-model="xAxisRange"
 						type="daterange"
@@ -126,7 +146,7 @@
 						end-placeholder="结束日期"
 						@change="xAxisRangeChange"
 						:clearable="false"
-						></el-date-picker>
+						></el-date-picker> -->
 					<el-checkbox label="跨年" v-model="isSpanYear" :disabled="isSpanYearDisable"
 					style="margin-top: 12px;" @change="changeIsSpanYear"></el-checkbox>
 					<div class="legend-set-text" @click="openLegendEditDia">

+ 21 - 2
src/views/dataEntry_manage/editChart.vue

@@ -125,6 +125,26 @@
 						</el-tooltip>
 					</div>
 					<el-date-picker
+						style="width: 45%;"
+						v-model="SeasonExtraConfig.XStartDate"
+						value-format="MM-dd"
+						popper-class="x-range-picker-date"
+						format="MM-dd"
+						placeholder="开始日期"
+						@change="xAxisChange"
+						:clearable="false"
+					></el-date-picker>
+					<el-date-picker
+						style="width: 45%;"
+						v-model="SeasonExtraConfig.XEndDate"
+						value-format="MM-dd"
+						popper-class="x-range-picker-date"
+						format="MM-dd"
+						placeholder="结束日期"
+						@change="xAxisChange"
+						:clearable="false"
+					></el-date-picker>
+					<!-- <el-date-picker
 						style="width: 90%;"
 						v-model="xAxisRange"
 						type="daterange"
@@ -135,7 +155,7 @@
 						end-placeholder="结束日期"
 						@change="xAxisRangeChange"
 						:clearable="false"
-					></el-date-picker>
+					></el-date-picker> -->
 					<el-checkbox label="跨年" v-model="isSpanYear" :disabled="isSpanYearDisable"
 					style="margin-top: 12px;" @change="changeIsSpanYear"></el-checkbox>
 					<div class="legend-set-text" @click="openLegendEditDia">
@@ -690,7 +710,6 @@ export default {
         if(this.chartInfo.SeasonExtraConfig){
           this.SeasonExtraConfig = JSON.parse(this.chartInfo.SeasonExtraConfig)
 					// console.log(this.SeasonExtraConfig);
-					this.xAxisRange = [this.SeasonExtraConfig.XStartDate,this.SeasonExtraConfig.XEndDate]
 					this.isSpanYear=!!this.SeasonExtraConfig.JumpYear
 					this.isSpanYearDisable=
 					!!(new Date(`2023-${this.SeasonExtraConfig.XStartDate}`) > new Date(`2023-${this.SeasonExtraConfig.XEndDate}`) || 

+ 32 - 14
src/views/dataEntry_manage/mixins/addOreditMixin.js

@@ -60,7 +60,7 @@ export default {
 				JumpYear:0, //是否跨年
 			},
 			// 横坐标显示范围回显 - 季节性图
-			xAxisRange:["01-01","12-31"],
+			// xAxisRange:["01-01","12-31"],
 			// 是否跨过一年
 			isSpanYear:false,
 			isSpanYearDisable:false,
@@ -642,9 +642,9 @@ export default {
 				let latestYear = parseInt(this.latestDate.substring(0,4))
 
 				this.season_year=[`${latestYear-this.count_year+1}-01-01`,`${latestYear}-12-31`]
-				this.xAxisRange = ['01-01','12-31']
-				this.SeasonExtraConfig.XStartDate = this.xAxisRange[0]
-				this.SeasonExtraConfig.XEndDate = this.xAxisRange[1]
+				// this.xAxisRange = ['01-01','12-31']
+				this.SeasonExtraConfig.XStartDate = '01-01'
+				this.SeasonExtraConfig.XEndDate = '12-31'
 				this.isSpanYear=false
 				this.isSpanYearDisable=false
 				this.SeasonExtraConfig.ChartLegend=[]
@@ -658,22 +658,40 @@ export default {
 			}
 		},
 		// 横轴显示范围改变
-		xAxisRangeChange(date){
-			if(date && date.length>0){
-				// console.log(date[0],date[1]);
-				let xStartDate = date[0]
-				let xEndDate = date[1]
-				if(new Date(`2023-${xStartDate}`) > new Date(`2023-${xEndDate}`) || 
-				new Date(`2023-${xStartDate}`) == new Date(`2023-${xEndDate}`)){
+		// xAxisRangeChange(date){
+		// 	console.log(date);
+		// 	if(date && date.length>0){
+		// 		// console.log(date[0],date[1]);
+		// 		let xStartDate = date[0]
+		// 		let xEndDate = date[1]
+		// 		if(new Date(`2023-${xStartDate}`) > new Date(`2023-${xEndDate}`) || 
+		// 		new Date(`2023-${xStartDate}`) == new Date(`2023-${xEndDate}`)){
+		// 			// 开始日期 >= 结束日期 跨年
+		// 			this.isSpanYear=true
+		// 			this.isSpanYearDisable=true
+		// 		}else{
+		// 			this.isSpanYearDisable=false
+		// 		}
+		// 		// this.xAxisRange = [xStartDate,xEndDate]
+		// 		this.SeasonExtraConfig.XStartDate = xStartDate
+		// 		this.SeasonExtraConfig.XEndDate = xEndDate
+		// 		this.SeasonExtraConfig.JumpYear = this.isSpanYear?1:0
+		// 		this.getPreviewSplineInfo()
+		// 	}else{
+		// 		this.isSpanYearDisable=false
+		// 	}
+		// },
+		// 横轴显示范围改变
+		xAxisChange(date){
+			if(this.SeasonExtraConfig.XStartDate && this.SeasonExtraConfig.XEndDate){
+				if(new Date(`2023-${this.SeasonExtraConfig.XStartDate}`) > new Date(`2023-${this.SeasonExtraConfig.XEndDate}`) || 
+				new Date(`2023-${this.SeasonExtraConfig.XStartDate}`) == new Date(`2023-${this.SeasonExtraConfig.XEndDate}`)){
 					// 开始日期 >= 结束日期 跨年
 					this.isSpanYear=true
 					this.isSpanYearDisable=true
 				}else{
 					this.isSpanYearDisable=false
 				}
-				this.xAxisRange = [xStartDate,xEndDate]
-				this.SeasonExtraConfig.XStartDate = xStartDate
-				this.SeasonExtraConfig.XEndDate = xEndDate
 				this.SeasonExtraConfig.JumpYear = this.isSpanYear?1:0
 				this.getPreviewSplineInfo()
 			}else{

+ 9 - 7
src/views/dataEntry_manage/mixins/chartPublic.js

@@ -755,8 +755,15 @@ export const chartSetMixin = {
       this.rightIndex = -1;
       this.rightTwoIndex = -1;
       const chartData = newval[0];
-      // 农历数据需要去除第一项 在ETA1.0.5之后,除了这里 农历和公历处理逻辑一样
+      // 农历数据需要去除第一项  农历和公历处理逻辑一样
+      /**
+       * isPredictorChart - 预测指标的chartInfo.vue组件内定义的变量
+       * 后端为了去除与预测指标季节性图不必要的逻辑,预测指标返回的图例名称字段是Year而图库返回的是ChartLegend
+       * 农历返回的数据是和 指标库 那边的数据一样 数据在DataList里面又包了一层List,里面列表的字段还是Items
+       * 这边需要做个兼容
+      */
       const chartDataHandle=this.calendar_type === '农历'?
+                            this.isPredictorChart?chartData.DataList.List.filter((item, index) => index > 0):
                             chartData.DataList.filter((item, index) => index > 0):
                             chartData.DataList
 
@@ -768,11 +775,6 @@ export const chartSetMixin = {
           //预测指标配置
           let predict_params =  chartData.EdbInfoCategoryType === 1 ? this.getSeasonPredictParams(j.CuttingDataTimestamp) : {};
           
-          /**
-           * isPredictorChart - 预测指标的chartInfo.vue组件内定义的变量
-           * 后端为了去除与预测指标季节性图不必要的逻辑,预测指标返回的图例名称字段是Year而图库返回的是ChartLegend
-           * 这边需要做个兼容
-           */
           let serie_item = {
             data: [],
             type: chartData.ChartStyle,
@@ -780,7 +782,7 @@ export const chartSetMixin = {
             name: this.isPredictorChart?j.Year:j.ChartLegend,
             ...predict_params
           };
-          const data_array = _.cloneDeep(j.DataList);
+          const data_array = this.calendar_type === '农历' && this.isPredictorChart?_.cloneDeep(j.Items):_.cloneDeep(j.DataList);
           data_array &&
             data_array.forEach((item) => {
               serie_item.data.push([item.DataTimestamp, item.Value]);