让耗材价格支持小数四位

This commit is contained in:
gyq
2025-12-25 16:15:38 +08:00
parent 7527a55066
commit 469a5a99ca

View File

@@ -13,10 +13,10 @@
</el-form-item>
<el-form-item label="耗材价格" prop="price">
<div class="center">
<el-input-number v-model="form.price" placeholder="请输入"></el-input-number>
<el-input-number v-model="form.price" placeholder="请输入" @change="onPriceChange"></el-input-number>
<div class="ipt">
第二单位价格
<el-input-number v-model="twoPrice" placeholder="请输入"></el-input-number>
<el-input-number v-model="twoPrice" placeholder="请输入" @change="onTwoPriceChange"></el-input-number>
</div>
</div>
</el-form-item>
@@ -107,16 +107,29 @@ const twoPrice = computed({
get() {
const p = Number(form.price || 0);
const c = Number(form.conUnitTwoConvert || 0);
return c ? Number((p * c).toFixed(2)) : 0;
const val = c ? p * c : 0;
return parseFloat(val.toFixed(4));
},
set(val) {
const c = Number(form.conUnitTwoConvert || 0);
if (!c) return;
// 修改第二单位价格时,反算第一单位价格并保留位小数
form.price = Number((Number(val) / c).toFixed(2));
if (!c || !isFinite(Number(val))) return;
// 修改第二单位价格时,反算第一单位价格并保留位小数
form.price = parseFloat((Number(val) / c).toFixed(4));
},
});
function onPriceChange(val) {
if (!isFinite(Number(val))) return;
form.price = parseFloat(Number(val).toFixed(4));
}
function onTwoPriceChange(val) {
if (!isFinite(Number(val))) return;
const c = Number(form.conUnitTwoConvert || 0);
if (!c) return;
form.price = parseFloat((Number(val) / c).toFixed(4));
}
const show = ref(false);
let dialogtitle = ref("");
function open(item) {