فهرست منبع

单井测量数据完善数据校验,完善功图诊断标准数据输入校验

chenwen 1 سال پیش
والد
کامیت
466d703dfe
3فایلهای تغییر یافته به همراه46 افزوده شده و 17 حذف شده
  1. 16 8
      src/api/produceAnalysis.js
  2. 8 4
      src/pages/analysis/DiagnoseStandardEdit.vue
  3. 22 5
      src/pages/single/WellProduceParam.vue

+ 16 - 8
src/api/produceAnalysis.js

@@ -39,28 +39,32 @@ api.getMeasureParams =() =>{
 		paramName:'混液密度',
 		paramCode:'mixLiquidDensity',
 		displayUnit:'kg/l',
-		val:null
+		val:null,
+		required:true
 		
 	},
 	{
 		paramName:'原油密度',
 		paramCode:'crudeOilDensity',
 		displayUnit:'kg/l',
-		val:null
+		val:null,
+		required:true
 		
 	},
 	{
 		paramName:'水密度',
 		paramCode:'waterDensity',
 		displayUnit:'kg/l',
-		val:null
+		val:null,
+		required:true
 		
 	},
 	{
 		paramName:'含水率',
 		paramCode:'waterRatio',
 		displayUnit:'%',
-		val:null
+		val:null,
+		required:true
 		
 	},
 	{
@@ -73,7 +77,8 @@ api.getMeasureParams =() =>{
 	{
 		paramName:'井下压缩系数',
 		paramCode:'wellBtmCompCoe',
-		val:null
+		val:null,
+		required:true
 	},
 	{
 		paramName:'地表压缩系数',
@@ -85,7 +90,8 @@ api.getMeasureParams =() =>{
 		paramName:'重力加速度',
 		paramCode:'gravity',
 		displayUnit:'m/s^2',
-		val:null
+		val:null,
+		required:true
 	},
 	{
 		paramName:'计量液量',
@@ -127,7 +133,8 @@ api.getPumpParams =() =>{
 	{
 		paramName:'基本直径',
 		paramCode:'basicDiam',
-		displayUnit:'mm'
+		displayUnit:'mm',
+		required:true
 	},
 	{
 		paramName:'泵筒长度',
@@ -167,7 +174,8 @@ api.getPumpParams =() =>{
 	
 	{
 		paramName:'PI',
-		paramCode:'pi'
+		paramCode:'pi',
+		required:true
 	},
 	
 	{

+ 8 - 4
src/pages/analysis/DiagnoseStandardEdit.vue

@@ -22,19 +22,19 @@
 				
 				
 				<el-col :sm="12" :md="8">
-					<el-form-item label="充满度(%)" >
+					<el-form-item label="充满度(%)" prop="fillCoe">
 					  <el-input-number v-model="formModel.fillCoe" autocomplete="off" placeholder="请输入充满系数" :precision="2" :controls="false" clearable style="width:100%"/>
 					</el-form-item>
 				</el-col>
 				
 				<el-col :sm="12" :md="8">
-					<el-form-item label="漏失系数">
+					<el-form-item label="漏失系数" prop="leakCoe">
 					  <el-input-number v-model="formModel.leakCoe" autocomplete="off" placeholder="请输入漏失系数" :precision="2" :controls="false" clearable style="width:100%"/>
 					</el-form-item>
 				</el-col>
 				
 				<el-col :sm="12" :md="8">
-					<el-form-item label="排出系数">
+					<el-form-item label="排出系数" prop="dischargeCoe">
 					  <el-input-number v-model="formModel.dischargeCoe" autocomplete="off" placeholder="请输入排出系数" :precision="2" :controls="false" clearable style="width:100%"/>
 					</el-form-item>
 				</el-col>
@@ -58,7 +58,7 @@
 				</el-col>
 				
 				<el-col :sm="12" :md="8">
-					<el-form-item label="弹性系数">
+					<el-form-item label="弹性系数" prop="elasticCoe">
 					  <el-input-number v-model="formModel.elasticCoe" autocomplete="off" placeholder="请输入弹性系数" :precision="2" :controls="false" clearable style="width:100%"/>
 					</el-form-item>
 				</el-col>
@@ -148,6 +148,10 @@
 	const formcomp = ref(null);
 	
 	const rules =reactive({
+		fillCoe:[{required:true,message:'充满度还未填写',trigger:'blur'}],
+		leakCoe:[{required:true,message:'漏失系数还未填写',trigger:'blur'}],
+		dischargeCoe:[{required:true,message:'排出系数还未填写',trigger:'blur'}],
+		elasticCoe:[{required:true,message:'弹性系数还未填写',trigger:'blur'}],
 		conclusion:[
 			{required:true,message:'诊断结论还未填写',trigger:'blur'},
 			{ min: 1, max: 50, message: '诊断结论长度应该为1-50', trigger: 'blur' }

+ 22 - 5
src/pages/single/WellProduceParam.vue

@@ -15,8 +15,10 @@
 		  </template>
 			<div class="card-body">
 				<div class="param-block" v-for="(param,index) in measureParams">
-				    <div class="param-tit">{{param.paramName}}</div>
-				    <el-select  v-if="param.opts" v-model="param.val">
+				    <div class="param-tit">
+						<label style="color:#ff0000;" v-if="param.required">*</label>{{param.paramName}}
+				    </div>
+					<el-select  v-if="param.opts" v-model="param.val">
 				      <el-option v-for="opt in param.opts" :label="opt.label" :value="opt.val"/>
 				    </el-select>
 				    <el-input-number v-model="param.val" :controls="false" :disabled="param.disabled"  v-else />
@@ -39,7 +41,7 @@
 		  </template>
 			<div class="card-body">
 				<div class="param-block" v-for="(param,index) in pumpParams">
-				    <div class="param-tit">{{param.paramName}}</div>
+				    <div class="param-tit"><label style="color:#ff0000;" v-if="param.required">*</label>{{param.paramName}}</div>
 				    <el-select  v-if="param.opts" v-model="param.val">
 				      <el-option v-for="opt in param.opts" :label="opt.label" :value="opt.val"/>
 				    </el-select>
@@ -215,9 +217,23 @@
 	
 	const save=(action,ds)=>{
 		let formData={}
-		ds.forEach(param=>{
-			formData[param.paramCode]=param.val
+		let validateRst=ds.every(param=>{
+			if(param.required && (param.val==null) ){
+				ElMessage.error(`${param.paramName}还未填写`)
+				return false
+			}
+			else{
+				formData[param.paramCode]=param.val
+				return true
+			}
 		})
+		
+		if(!validateRst){
+			return;
+		}
+		
+		
+		
 		formData['wellId']=crtWell.wellId
 		let saveapi=null
 		if(Object.hasOwn(formData,'pumpType')){
@@ -235,6 +251,7 @@
 			}
 			else{
 				ElMessage.success('操作成功')
+				load(crtWell.wellId)
 			}
 			
 		}).catch(err=>{