完成液面深度计算功能

This commit is contained in:
liaodeyun 2025-12-04 15:19:14 +08:00
parent 067d3cdc2e
commit 3a57b926fd
4 changed files with 288 additions and 252 deletions

View File

@ -3,7 +3,8 @@
<!-- <div>当前 dMeterType 的值: {{ dMeterType }}</div>
<div>NGResult 数据: {{ NGResult }}</div> -->
<h3 v-if="dMeterType === '4'">GB/T 17747</h3>
<el-form v-if="dMeterType === '4'" :model="NGResult" label-position="top" ref="queryRef" size="small" :inline="false" label-width="160px" class="flex-form">
<el-form v-if="dMeterType === '4'" :model="NGResult" label-position="top" ref="queryRef" size="small"
:inline="false" label-width="160px" class="flex-form">
<el-form-item :style="{ width: selectWidth + 'px' }" label="分子量" prop="dMrx">
<el-input readonly v-model="NGResult.dMrx" placeholder="请输入分子量" />
</el-form-item>
@ -37,7 +38,8 @@
</el-form>
<h3 v-if="dMeterType === '5'">AGA No10</h3>
<el-form v-if="dMeterType === '5'" :model="NGResult" label-position="top" ref="queryRef" size="small" :inline="false" label-width="160px" class="flex-form">
<el-form v-if="dMeterType === '5'" :model="NGResult" label-position="top" ref="queryRef" size="small"
:inline="false" label-width="160px" class="flex-form">
<el-form-item :style="{ width: selectWidth + 'px' }" label="理想气体的比焓" prop="dHo">
<el-input readonly v-model="NGResult.dHo" placeholder="请输入理想气体的比焓" />
</el-form-item>
@ -63,15 +65,8 @@
<el-input readonly v-model="NGResult.dKappa" placeholder="请输入等熵指数" />
</el-form-item>
<el-form-item :style="{ width: selectWidth + 'px' }" label="声速" prop="dSOS">
<unit-converter
v-model="NGResult.dSOS"
:unit-type="'speed'"
v-model:unit-order="NGResult.dSOSUnit"
:show-english-only="true"
:decimal-places="5"
:input-disable="true"
:width="selectWidth"
/>
<unit-converter v-model="NGResult.dSOS" :unit-type="'speed'" v-model:unit-order="NGResult.dSOSUnit"
:show-english-only="true" :decimal-places="5" :input-disable="true" :width="selectWidth" />
<!-- <el-input readonly v-model="NGResult.dSOS" placeholder="请输入声速" /> -->
</el-form-item>
<el-form-item :style="{ width: selectWidth + 'px' }" label="临界流函数" prop="dCstar">
@ -80,7 +75,8 @@
</el-form>
<h3 v-if="dMeterType === '6'">GB/T 11062</h3>
<el-form v-if="dMeterType === '6'" :model="NGResult" label-position="top" ref="queryRef" size="small" :inline="false" label-width="160px" class="flex-form">
<el-form v-if="dMeterType === '6'" :model="NGResult" label-position="top" ref="queryRef" size="small"
:inline="false" label-width="160px" class="flex-form">
<el-form-item :style="{ width: selectWidth + 'px' }" label="摩尔高位发热量" prop="dHhvMol">
<el-input readonly v-model="NGResult.dHhvMol" placeholder="请输入摩尔高位发热量" />
</el-form-item>
@ -120,7 +116,8 @@
</el-form>
<h3 v-if="dMeterType === '7'">其他</h3>
<el-form v-if="dMeterType === '7'" :model="NGResult" label-position="top" ref="queryRef" size="small" :inline="false" label-width="160px" class="flex-form">
<el-form v-if="dMeterType === '7'" :model="NGResult" label-position="top" ref="queryRef" size="small"
:inline="false" label-width="160px" class="flex-form">
<el-form-item :style="{ width: selectWidth + 'px' }" label="临界压力" prop="dPc">
<el-input readonly v-model="NGResult.dPc" placeholder="请输入临界压力" />
</el-form-item>
@ -158,22 +155,50 @@
<el-input readonly v-model="NGResult.dC3C4" placeholder="请输入C3C4组分含量(kg/m3)" />
</el-form-item>
</el-form>
<h3 v-if="dMeterType === '20'">井下液面深度</h3>
<el-form v-if="dMeterType === '20'" :model="NGResult" label-position="top" ref="queryRef" size="small"
:inline="false" label-width="160px" class="flex-form">
<el-form-item :style="{ width: selectWidth + 'px' }" label="井口声速(m/s)" prop="dPc">
<el-input readonly v-model="NGResult.initialSOS" placeholder="井口声速" />
</el-form-item>
<el-form-item :style="{ width: selectWidth + 'px' }" label="粗算深度(m)" prop="dPc">
<el-input readonly v-model="NGResult.initialEstimate" placeholder="粗算深度" />
</el-form-item>
<el-form-item :style="{ width: selectWidth + 'px' }" label="修正深度(m)" prop="dTC">
<el-input readonly v-model="NGResult.correctedDepth" placeholder="修正深度" />
</el-form-item>
<el-form-item :style="{ width: selectWidth + 'px' }" label="迭代次数" prop="dBzsx">
<el-input readonly v-model="NGResult.iterations" placeholder="迭代次数" />
</el-form-item>
</el-form>
<ul>
<view v-for="item,index in NGResult.dataSegment" style="width: 100%;">
<li>{{item}}</li>
</view>
</ul>
</div>
</template>
<script setup>
import { ref, watch, onMounted } from 'vue';
import unitConverter from '@/components/inputValueUnit/index';
import {
ref,
watch,
onMounted
} from 'vue';
import unitConverter from '@/components/inputValueUnit/index';
// props
const props = defineProps({
// props
const props = defineProps({
elFormWidth: {
type: Number,
default: 180
},
dMeterType: {
type: String,
default: 0
default: '0'
},
modelValue: {
type: Object,
@ -224,10 +249,10 @@ const props = defineProps({
dC3C4: 0
})
}
});
});
//
const NGResult = ref({
//
const NGResult = ref({
dMrx: 0,
dZb: 0,
dZf: 0,
@ -273,24 +298,27 @@ const NGResult = ref({
dC5j: 0,
dC6j: 0,
dC3C4: 0
});
const selectWidth = ref(180);
});
const selectWidth = ref(180);
// elFormWidth
watch(
// elFormWidth
watch(
() => props.elFormWidth,
(newVal) => {
selectWidth.value = newVal;
},
{ deep: true }
);
}, {
deep: true
}
);
// value
watch(
// value
watch(
() => props.modelValue,
(newVal) => {
console.log(newVal);
const processedValue = { ...newVal };
const processedValue = {
...newVal
};
for (const key in processedValue) {
if (processedValue.hasOwnProperty(key)) {
const value = processedValue[key];
@ -302,25 +330,27 @@ watch(
}
}
NGResult.value = JSON.parse(JSON.stringify(processedValue));
},
{ deep: true }
);
}, {
deep: true
}
);
// selectWidth
onMounted(() => {
// selectWidth
onMounted(() => {
selectWidth.value = props.elFormWidth;
});
});
</script>
<style scoped>
/* 可按需添加样式 */
.app-container {
/* 可按需添加样式 */
.app-container {
height: 100%;
}
.flex-form {
}
.flex-form {
display: grid;
/* 优化后的自适应规则 */
grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr));
gap: 5px;
}
}
</style>

View File

@ -186,9 +186,9 @@
<!-- 液面深度计算 -->
<el-form-item v-if="meterPar.dMeterType === '20'" :style="{ width: selectWidth + 'px' }" label="常温层深度"
prop="dVFlowMax">
<unit-converter v-model="meterPar.dVFlowMax" :unit-type="'length'"
v-model:unit-order="meterPar.dVFlowUnit" :show-english-only="false" :decimal-places="5"
:width="selectWidth" />
<unit-converter v-model="meterPar.dVFlowMax" :unit-type="'user'" v-model:unit-order="meterPar.dVGscUnit"
:show-english-only="false" :decimal-places="5" :user-defined="true" :user-definedunit-name="'米'"
:enable-convert="false" :width="selectWidth" />
</el-form-item>
<el-form-item v-if="meterPar.dMeterType === '20'" :style="{ width: selectWidth + 'px' }" label="测量时间"
prop="dVFlowMin">

View File

@ -94,9 +94,9 @@
dCdCalMethod: 0,
dMeterFactor: 2354,
dPulseNum: 12000,
dVFlowMax: 50,
dVFlowMin: 8,
dVFlowCon: 0.025,
dVFlowMax: 30,
dVFlowMin: 12,
dVFlowCon: 0.03,
dPfRangeMin: 0,
dPfRangeMax: 0,
dDpRangeMin: 0,
@ -233,8 +233,7 @@
calcBtnFlow();
} else if (['4', '5', '6', '7', ].includes(dMeterType.value)) {
calc();
}
else if ([ '20'].includes(dMeterType.value)) {
} else if (['20'].includes(dMeterType.value)) {
calcBtnWaterDeep();
}
};
@ -268,7 +267,7 @@
}
};
//
//
const calcBtnWaterDeep = async () => {
console.log(parentMeterPar.value);
if (parentMeterPar.value.dngComponents === '') {

View File

@ -1,10 +1,19 @@
import { defineConfig, loadEnv } from 'vite'
import {
defineConfig,
loadEnv
} from 'vite'
import path from 'path'
import createVitePlugins from './vite/plugins'
// https://vitejs.dev/config/
export default defineConfig(({ mode, command }) => {
export default defineConfig(({
mode,
command
}) => {
const env = loadEnv(mode, process.cwd())
const { VITE_APP_ENV, VITE_BASE_ROUTER } = env
const {
VITE_APP_ENV,
VITE_BASE_ROUTER
} = env
return {
// 部署生产环境和开发环境下的URL。
// 默认情况下vite 会假设你的应用是被部署在一个域名的根路径上
@ -32,7 +41,7 @@ export default defineConfig(({ mode, command }) => {
// https://cn.vitejs.dev/config/#server-proxy
'/dev-api': {
target: 'http://192.168.3.19:9999',
target: 'http://10.75.166.198:9999',
changeOrigin: true,
rewrite: (p) => p.replace(/^\/dev-api/, '')
},
@ -51,8 +60,7 @@ export default defineConfig(({ mode, command }) => {
}
},
postcss: {
plugins: [
{
plugins: [{
postcssPlugin: 'internal:charset-removal',
AtRule: {
charset: (atRule) => {
@ -61,8 +69,7 @@ export default defineConfig(({ mode, command }) => {
}
}
}
}
]
}]
}
},
optimizeDeps: {