From 93b79b3a68e19cc36a8feb3bfea4e08ae76ec233 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期二, 06 一月 2026 21:14:34 +0800
Subject: [PATCH] 代码调整9
---
src/views/equipmentManagement/ledger/Form.vue | 84 +++++++++++++++++++++++-------------------
1 files changed, 46 insertions(+), 38 deletions(-)
diff --git a/src/views/equipmentManagement/ledger/Form.vue b/src/views/equipmentManagement/ledger/Form.vue
index 68934ff..4ec7c1a 100644
--- a/src/views/equipmentManagement/ledger/Form.vue
+++ b/src/views/equipmentManagement/ledger/Form.vue
@@ -1,24 +1,24 @@
<template>
- <el-form :model="form" label-width="100px">
+ <el-form :model="form" label-width="120px" :rules="formRules" ref="formRef">
<el-row :gutter="20">
<el-col :span="12">
- <el-form-item label="璁惧鍚嶇О" prop="deviceName">
- <el-input v-model="form.deviceName" placeholder="璇疯緭鍏ヨ澶囧悕绉�" />
+ <el-form-item label="鐩戞帶璁惧鍚嶇О" prop="deviceName">
+ <el-input v-model="form.deviceName" placeholder="璇疯緭鍏ョ洃鎺ц澶囧悕绉�" />
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="瑙勬牸鍨嬪彿" prop="deviceModel">
- <el-input v-model="form.deviceModel" placeholder="璇疯緭鍏ヨ鏍煎瀷鍙�" />
+ <el-form-item label="娓╁害鐩戞祴鍙傛暟" prop="deviceModel">
+ <el-input v-model="form.deviceModel" :disabled="(form.deviceModel != null && operationType === 'edit')" placeholder="璇疯緭鍏ユ俯搴︾洃娴嬪弬鏁�" />
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="渚涘簲鍟�" prop="supplierName">
- <el-input v-model="form.supplierName" placeholder="璇疯緭鍏ヤ緵搴斿晢" />
+ <el-form-item label="鍘嬪姏鐩戞祴鍙傛暟" prop="supplierName">
+ <el-input v-model="form.supplierName" placeholder="璇疯緭鍏ュ帇鍔涚洃娴嬪弬鏁�" />
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="鍗曚綅" prop="unit">
- <el-input v-model="form.unit" placeholder="璇疯緭鍏ュ崟浣�" />
+ <el-form-item label="鑳借�楃洃娴嬪弬鏁�" prop="unit">
+ <el-input v-model="form.unit" placeholder="璇疯緭鍏ヨ兘鑰楃洃娴嬪弬鏁�" />
</el-form-item>
</el-col>
<el-col :span="12">
@@ -31,38 +31,30 @@
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="鍚◣鍗曚环" prop="taxIncludingPriceUnit">
+ <el-form-item label="鐩戞帶闃堝�间笂闄�" prop="taxIncludingPriceUnit">
<el-input-number :step="0.01" :min="0" style="width: 100%"
v-model="form.taxIncludingPriceUnit"
- placeholder="璇疯緭鍏ュ惈绋庡崟浠�"
+ placeholder="璇疯緭鍏ョ洃鎺ч槇鍊间笂闄�"
maxlength="10"
@change="mathNum"
- @input="handleNumberInput"
/>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="鍚◣鎬讳环" prop="taxIncludingPriceTotal">
+ <el-form-item label="鐩戞帶闃堝�间笅闄�" prop="taxIncludingPriceTotal">
<el-input
v-model="form.taxIncludingPriceTotal"
- placeholder="璇疯緭鍏ュ惈绋庢�讳环"
+ placeholder="鑷姩鐢熸垚"
type="number"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="绋庣巼(%)" prop="taxRate">
- <!-- <el-input
- v-model="form.taxRate"
- placeholder="璇疯緭鍏ョ◣鐜�"
- type="number"
- >
- <template #append> % </template>
- </el-input> -->
+ <el-form-item label="瀹炴椂鐩戞祴鍊�" prop="taxRate">
<el-select
v-model="form.taxRate"
- placeholder="璇烽�夋嫨"
+ placeholder="璇烽�夋嫨瀹炴椂鐩戞祴鍊�"
clearable
@change="mathNum"
>
@@ -73,10 +65,10 @@
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="涓嶅惈绋庢�讳环" prop="unTaxIncludingPriceTotal">
+ <el-form-item label="绱鑳借��" prop="unTaxIncludingPriceTotal">
<el-input
v-model="form.unTaxIncludingPriceTotal"
- placeholder="璇疯緭鍏ヤ笉鍚◣鎬讳环"
+ placeholder="鑷姩鐢熸垚"
type="number"
disabled
/>
@@ -88,14 +80,14 @@
</el-form-item>
</el-col> -->
<el-col :span="12">
- <el-form-item label="褰曞叆鏃ユ湡" prop="createTime">
+ <el-form-item label="鐩戞帶鏃ユ湡" prop="createTime">
<el-date-picker
style="width: 100%"
v-model="form.createTime"
format="YYYY-MM-DD"
value-format="YYYY-MM-DD HH:mm:ss"
type="date"
- placeholder="璇烽�夋嫨褰曞叆鏃ユ湡"
+ placeholder="璇烽�夋嫨鐩戞帶鏃ユ湡"
clearable
/>
</el-form-item>
@@ -114,10 +106,22 @@
calculateTaxExclusiveTotalPrice,
} from "@/utils/summarizeTable";
import { ElMessage } from "element-plus";
+import {ref} from "vue";
defineOptions({
name: "璁惧鍙拌处琛ㄥ崟",
});
+const formRef = ref(null);
+const operationType = ref('');
+const formRules = {
+ deviceName: [{ required: true, trigger: "blur", message: "璇疯緭鍏�" }],
+ deviceModel: [{ required: true, trigger: "blur", message: "璇疯緭鍏�" }],
+ supplierName: [{ required: true, trigger: "blur", message: "璇疯緭鍏�" }],
+ unit: [{ required: true, trigger: "blur", message: "璇疯緭鍏�" }],
+ number: [{ required: true, trigger: "blur", message: "璇疯緭鍏�" }],
+ taxIncludingPriceUnit: [{ required: true, trigger: "blur", message: "璇疯緭鍏�" }],
+ taxRate: [{ required: true, trigger: "change", message: "璇疯緭鍏�" }],
+}
const { form, resetForm } = useFormData({
deviceName: undefined, // 璁惧鍚嶇О
@@ -134,6 +138,9 @@
});
const loadForm = async (id) => {
+ if (id) {
+ operationType.value = 'edit'
+ }
const { code, data } = await getLedgerById(id);
if (code == 200) {
form.deviceName = data.deviceName;
@@ -151,7 +158,7 @@
const mathNum = () => {
if (!form.taxIncludingPriceUnit) {
- ElMessage.error("璇疯緭鍏ュ崟浠�");
+ ElMessage.error("璇疯緭鍏ョ洃鎺ч槇鍊间笂闄�");
return;
}
if (!form.number) {
@@ -170,22 +177,23 @@
}
};
-const handleNumberInput = (value) => {
- // 绉婚櫎鎵�鏈夐潪鏁板瓧瀛楃
- let num = value.replace(/[^\d.]/g, "");
+// 娓呴櫎琛ㄥ崟鏍¢獙鐘舵��
+const clearValidate = () => {
+ formRef.value?.clearValidate();
+};
- // 闄愬埗闀垮害涓�10
- if (num.length > 10) {
- num = num.slice(0, 10);
- }
-
- // 鏇存柊鍊�
- form.taxIncludingPriceUnit = num;
+// 閲嶇疆琛ㄥ崟鏁版嵁鍜屾牎楠岀姸鎬�
+const resetFormAndValidate = () => {
+ resetForm();
+ clearValidate();
};
defineExpose({
form,
loadForm,
resetForm,
+ clearValidate,
+ resetFormAndValidate,
+ formRef,
});
</script>
--
Gitblit v1.9.3