|
@@ -0,0 +1,157 @@
|
|
|
|
+<template>
|
|
|
|
+ <div class="edit-page">
|
|
|
|
+ <el-form :model="formModel" ref="formcomp" label-position="right" label-width="auto" :inline="false" :rules="rules" :inline-message="true">
|
|
|
|
+
|
|
|
|
+ <el-form-item label="参数名" prop="paramName">
|
|
|
|
+ <el-input v-model="formModel.paramName" autocomplete="off" placeholder="请输入参数名" class="edit-form-item" clearable/>
|
|
|
|
+ </el-form-item>
|
|
|
|
+
|
|
|
|
+ <el-form-item label="参数编码" prop="paramCode">
|
|
|
|
+ <el-select v-model="formModel.paramCode" placeholder="选择参数编码" class="edit-form-item">
|
|
|
|
+ <el-option
|
|
|
|
+ v-for="item in paramCodeOpts"
|
|
|
|
+ :key="item.paramCode"
|
|
|
|
+ :label="item.paramCode+'【'+item.paramName+'】'"
|
|
|
|
+ :value="item.paramCode"
|
|
|
|
+ />
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+
|
|
|
|
+ <el-form-item label="计量单位" prop="paramUnit">
|
|
|
|
+ <el-input v-model="formModel.paramUnit" autocomplete="off" placeholder="请输入计量单位" class="edit-form-item" clearable/>
|
|
|
|
+ </el-form-item>
|
|
|
|
+
|
|
|
|
+ <el-form-item label="换算比例">
|
|
|
|
+ <el-input v-model="formModel.unitScale" autocomplete="off" placeholder="请输入换算比例" class="edit-form-item" clearable onkeyup="value=value.replace(/^\D*(\d*(?:\.\d{0,3})?).*$/g, '$1')"/>
|
|
|
|
+ </el-form-item>
|
|
|
|
+
|
|
|
|
+ <el-form-item label="格式化" prop="format">
|
|
|
|
+ <el-input v-model="formModel.format" autocomplete="off" placeholder="请输入格式化串" class="edit-form-item" clearable/>
|
|
|
|
+ </el-form-item>
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ </el-form>
|
|
|
|
+ </div>
|
|
|
|
+</template>
|
|
|
|
+
|
|
|
|
+<script setup>
|
|
|
|
+ import {reactive,ref,toRaw,onMounted} from 'vue'
|
|
|
|
+ import wellParamAPI from "../../api/wellParam.js"
|
|
|
|
+ import paramMgrAPI from "../../api/paramMgr.js"
|
|
|
|
+ import {ElMessageBox,ElMessage} from 'element-plus'
|
|
|
|
+
|
|
|
|
+ const formModel = reactive({
|
|
|
|
+ paramId:'',
|
|
|
|
+ wellId:'',
|
|
|
|
+ paramName: '',
|
|
|
|
+ paramCode:'',
|
|
|
|
+ paramUnit:'',
|
|
|
|
+ unitScale:null,
|
|
|
|
+ format:''
|
|
|
|
+ })
|
|
|
|
+
|
|
|
|
+ const props=defineProps({
|
|
|
|
+ record:Object
|
|
|
|
+ })
|
|
|
|
+
|
|
|
|
+ const formcomp = ref(null);
|
|
|
|
+
|
|
|
|
+ const rules =reactive({
|
|
|
|
+ paramName:[
|
|
|
|
+ {required:true,message:'参数名还未填写',trigger:'blur'},
|
|
|
|
+ { min: 1, max: 20, message: '参数名长度应该为1-20', trigger: 'blur' }
|
|
|
|
+ ],
|
|
|
|
+ paramCode:[
|
|
|
|
+ {required:true,message:'参数编码还未选择',trigger:'blur'},
|
|
|
|
+
|
|
|
|
+ ],
|
|
|
|
+ paramUnit:[
|
|
|
|
+ {required:true,message:'计量单位还未填写',trigger:'blur'},
|
|
|
|
+ { min: 1, max: 32, message: '计量单位长度应该为1-32', trigger: 'blur' }
|
|
|
|
+ ],
|
|
|
|
+ format:[
|
|
|
|
+ {pattern:/^#*0(\.[0#]+)?$/,message: '格式化串不符合规范如:#0.00', trigger: 'blur' }
|
|
|
|
+ ]
|
|
|
|
+ })
|
|
|
|
+
|
|
|
|
+ onMounted(async ()=>{
|
|
|
|
+ try{
|
|
|
|
+ await initForm()
|
|
|
|
+ if(props.record){
|
|
|
|
+ let {paramId,wellId,paramCode,paramName,paramUnit,unitScale,format}=props.record
|
|
|
|
+ Object.assign(formModel,{paramId,wellId,paramCode,paramName,paramUnit,unitScale,format})
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ catch(err){
|
|
|
|
+ console.log('init form error')
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ })
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ let initFormDone=false
|
|
|
|
+
|
|
|
|
+ const paramCodeOpts=ref([])
|
|
|
|
+
|
|
|
|
+ const initForm=async ()=>{
|
|
|
|
+ try{
|
|
|
|
+ let resp=await paramMgrAPI.loadAll()
|
|
|
|
+ if(resp.code!=0){
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ paramCodeOpts.value=resp.data
|
|
|
|
+ initFormDone=true
|
|
|
|
+
|
|
|
|
+ return Promise.resolve('ok')
|
|
|
|
+ }
|
|
|
|
+ catch(err){
|
|
|
|
+ return Promise.reject('err')
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ const submitForm=async ()=>{
|
|
|
|
+ let validateRst=false
|
|
|
|
+ try{
|
|
|
|
+ validateRst = await formcomp.value.validate()
|
|
|
|
+ }
|
|
|
|
+ catch(err){
|
|
|
|
+ ElMessage.error("请按要求填写数据");
|
|
|
|
+ console.log(err)
|
|
|
|
+ return Promise.reject('invalidate')
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if(validateRst){ //验证通过,准备提交数据
|
|
|
|
+ try{
|
|
|
|
+ let resp =await wellParamAPI.save(toRaw(formModel))
|
|
|
|
+ if(resp.code!=0){
|
|
|
|
+ ElMessage.error(resp.msg)
|
|
|
|
+ return Promise.reject(resp.msg)
|
|
|
|
+ }
|
|
|
|
+ ElMessage.success('操作成功')
|
|
|
|
+ return Promise.resolve('ok')
|
|
|
|
+ }
|
|
|
|
+ catch (e) {
|
|
|
|
+ ElMessage.error(e||'操作失败')
|
|
|
|
+ return Promise.reject('操作失败')
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ defineExpose({
|
|
|
|
+ submitForm
|
|
|
|
+ })
|
|
|
|
+</script>
|
|
|
|
+
|
|
|
|
+<style scoped>
|
|
|
|
+ /* .el-form--inline.el-form--label-top{
|
|
|
|
+ justify-content: space-between;
|
|
|
|
+ } */
|
|
|
|
+ .edit-form-item{
|
|
|
|
+ width:260px;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+</style>
|