Преглед на файлове

ipr产层分析,增加回归方程计算(一个用于展示,一个用于预测产量)

chenwen преди 1 година
родител
ревизия
d6a97f391f
променени са 3 файла, в които са добавени 23 реда и са изтрити 10 реда
  1. 11 0
      src/components/ipr/IPRCurve.vue
  2. 11 9
      src/pages/analysis/IPR.vue
  3. 1 1
      src/pages/single/LiquidSelect.vue

+ 11 - 0
src/components/ipr/IPRCurve.vue

@@ -155,14 +155,25 @@
 	    let chartSels=[]
 	    let order=config.order || 2
 		serials.forEach(serial=>{
+			//用于绘图的回归方程
 			serial['regression']=ecStat.regression('polynomial', serial.datas, order);
 			chartSels=chartSels.concat(buildChartSerials(serial))
+			
+			let reverDatas=serial.datas.map(itm=>{
+				let [x,y]=itm
+				return [y,x]
+			})
+			
+			//存于库中的预测回归方程
+			serial['predictRegression']=ecStat.regression('polynomial', reverDatas, order);
 		})
 		defOpts.yAxis.name=config.yUnit
 		defOpts.series=chartSels
 		chartInstance.setOption(defOpts);
 	}
 	
+	
+	
 	const buildChartSerials=(serial)=>{
 		let rtn=[]
 		rtn.push({

+ 11 - 9
src/pages/analysis/IPR.vue

@@ -15,9 +15,9 @@
 				/>
 			</el-form-item>
 			
-			<el-form-item label="记录序号">
-				<el-select v-model="queryForm.regressId"  placeholder="选择记录序号" @change="changeRegressHandler">
-					<el-option v-for="(regress,index) in regressRecords" :key="regress.regressId" :label="index+1" :value="regress.regressId"/>
+			<el-form-item label="记录">
+				<el-select v-model="queryForm.regressId"  placeholder="选择记录" @change="changeRegressHandler">
+					<el-option v-for="(regress,index) in regressRecords" :key="regress.regressId" :label="regress.createTime" :value="regress.regressId"/>
 				</el-select>
 			</el-form-item>
 			  
@@ -362,17 +362,19 @@
 	const saveRegressRst=()=>{
 		let saveData={regressId:queryForm.regressId,wellId:queryForm.wellId,pressSort:regressionConfig.ySort,orderNum:regressionConfig.order}
 		drawSerials.forEach(itm=>{
+			let expr=itm.predictRegression.expression
+			let params=itm.predictRegression.parameter
 			if(itm.name=='液量'){
-				saveData['liquidExpression']=itm.regression.expression
-				saveData['liquidRegressionParam']=JSON.stringify(itm.regression.parameter)
+				saveData['liquidExpression']=expr
+				saveData['liquidRegressionParam']=JSON.stringify(params)
 			}
 			else if(itm.name=='油量'){
-				saveData['oilExpression']=itm.regression.expression
-				saveData['oilRegressionParam']=JSON.stringify(itm.regression.parameter)
+				saveData['oilExpression']=expr
+				saveData['oilRegressionParam']=JSON.stringify(params)
 			}
 			else if(itm.name=='水量'){
-				saveData['waterExpression']=itm.regression.expression
-				saveData['waterRegressionParam']=JSON.stringify(itm.regression.parameter)
+				saveData['waterExpression']=expr
+				saveData['waterRegressionParam']=JSON.stringify(params)
 			}
 		})
 		//console.log(drawSerials[0].regression.parameter)

+ 1 - 1
src/pages/single/LiquidSelect.vue

@@ -6,7 +6,7 @@
 			page-info-opts="total, prev, pager, next,sizes"
 			url="/liquid/query"
 			:initWhere="{wellId:context.wellId}"
-			:pageSize="5"
+			:pageSize="50"
 			:row-key="row=>row.dataId"
 			
 			>