From 1ce403b359b31a7248f49eef5abac6435a5ff470 Mon Sep 17 00:00:00 2001 From: 曹睿 <360930172@qq.com> Date: 星期一, 30 六月 2025 15:36:56 +0800 Subject: [PATCH] feat: 【设备台账- 新增】添加自动计算 --- src/views/equipmentManagement/ledger/Form.vue | 46 +++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 43 insertions(+), 3 deletions(-) diff --git a/src/views/equipmentManagement/ledger/Form.vue b/src/views/equipmentManagement/ledger/Form.vue index f6cc2cb..4b5308b 100644 --- a/src/views/equipmentManagement/ledger/Form.vue +++ b/src/views/equipmentManagement/ledger/Form.vue @@ -27,6 +27,7 @@ v-model="form.number" placeholder="璇疯緭鍏ユ暟閲�" type="number" + @change="mathNum" /> </el-form-item> </el-col> @@ -36,6 +37,7 @@ v-model="form.taxIncludingPriceUnit" placeholder="璇疯緭鍏ュ惈绋庡崟浠�" type="number" + @change="mathNum" /> </el-form-item> </el-col> @@ -45,18 +47,29 @@ v-model="form.taxIncludingPriceTotal" placeholder="璇疯緭鍏ュ惈绋庢�讳环" type="number" + disabled /> </el-form-item> </el-col> <el-col :span="12"> - <el-form-item label="绋庣巼" prop="taxRate"> - <el-input + <el-form-item label="绋庣巼(%)" prop="taxRate"> + <!-- <el-input v-model="form.taxRate" placeholder="璇疯緭鍏ョ◣鐜�" type="number" > <template #append> % </template> - </el-input> + </el-input> --> + <el-select + v-model="form.taxRate" + placeholder="璇烽�夋嫨" + clearable + @change="mathNum" + > + <el-option label="1" :value="1" /> + <el-option label="6" :value="6" /> + <el-option label="13" :value="13" /> + </el-select> </el-form-item> </el-col> <el-col :span="12"> @@ -65,6 +78,7 @@ v-model="form.unTaxIncludingPriceTotal" placeholder="璇疯緭鍏ヤ笉鍚◣鎬讳环" type="number" + disabled /> </el-form-item> </el-col> @@ -95,6 +109,11 @@ // import useUserStore from "@/store/modules/user"; import { getLedgerById } from "@/api/equipmentManagement/ledger"; import dayjs from "dayjs"; +import { + calculateTaxIncludeTotalPrice, + calculateTaxExclusiveTotalPrice, +} from "@/utils/summarizeTable"; +import { ElMessage } from "element-plus"; defineOptions({ name: "璁惧鍙拌处琛ㄥ崟", @@ -130,6 +149,27 @@ } }; +const mathNum = () => { + if (!form.taxIncludingPriceUnit) { + ElMessage.error("璇疯緭鍏ュ崟浠�"); + return; + } + if (!form.number) { + ElMessage.error("璇疯緭鍏ユ暟閲�"); + return; + } + form.taxIncludingPriceTotal = calculateTaxIncludeTotalPrice( + form.taxIncludingPriceUnit, + form.number + ); + if (form.taxRate) { + form.unTaxIncludingPriceTotal = calculateTaxExclusiveTotalPrice( + form.taxIncludingPriceTotal, + form.taxRate + ); + } +}; + defineExpose({ form, loadForm, -- Gitblit v1.9.3