From 0329d6a130a7a3009fe4a3a6ace4405604f9f76f Mon Sep 17 00:00:00 2001
From: ysn <2126564605@qq.com>
Date: Fri, 17 Apr 2026 13:29:54 +0800
Subject: [PATCH] =?UTF-8?q?=E5=AE=89=E7=8E=AF=E7=AE=A1=E7=90=86-=E7=8E=AF?=
=?UTF-8?q?=E4=BF=9D=E7=AE=A1=E7=90=86-=E5=BA=9F=E6=B0=94=E5=A4=84?=
=?UTF-8?q?=E7=90=86-=E5=8A=A0=E8=8D=AF=E8=AE=B0=E5=BD=95-=E6=96=B0?=
=?UTF-8?q?=E5=A2=9E-=E5=88=A0=E9=99=A4=E9=80=89=E4=B8=AD=E8=A1=8C?=
=?UTF-8?q?=E4=BC=98=E5=8C=96=20=E5=AE=89=E7=8E=AF=E7=AE=A1=E7=90=86-?=
=?UTF-8?q?=E7=8E=AF=E4=BF=9D=E7=AE=A1=E7=90=86-=E5=BA=9F=E6=B0=94?=
=?UTF-8?q?=E5=A4=84=E7=90=86-=E5=8A=A0=E8=8D=AF=E8=AE=B0=E5=BD=95-?=
=?UTF-8?q?=E6=96=B0=E5=A2=9E-=E5=88=A0=E9=99=A4=E9=80=89=E4=B8=AD?=
=?UTF-8?q?=E8=A1=8C=E4=BC=98=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../components/addEditDialogDosingRecord.vue | 51 +++++++++++++++----
.../components/addEditDialogDosingRecord.vue | 44 ++++++++++++----
2 files changed, 74 insertions(+), 21 deletions(-)
diff --git a/src/views/safetyManagement/wasteGasSet/components/addEditDialogDosingRecord.vue b/src/views/safetyManagement/wasteGasSet/components/addEditDialogDosingRecord.vue
index 68c2297..d685b48 100644
--- a/src/views/safetyManagement/wasteGasSet/components/addEditDialogDosingRecord.vue
+++ b/src/views/safetyManagement/wasteGasSet/components/addEditDialogDosingRecord.vue
@@ -9,10 +9,17 @@
>
插入一行
- 删除行
+ 删除选中行
-
+
+
@@ -114,6 +121,7 @@ export default {
return {
openShow: false,
tableData: [],
+ formError: '', // 全局错误提示
// 统一校验规则:支持数组项校验
formRules: {
// 表格整体校验:至少一行数据
@@ -156,18 +164,36 @@ export default {
this.openShow = false;
this.$emit('closeDialog');
// 重置表单
- // this.form.tableData = [];
+ this.tableData = [];
this.formError = '';
this.$refs.tableForm?.resetFields();
},
+ // 选择事件处理
+ selectChange(list, row) {
+ // 根据选中的列表更新当前行的选中状态
+ const isSelected = list.some(item => item === row);
+ row._select = isSelected;
+ },
// 插入一行
addTable() {
- this.tableData.push({});
+ this.tableData.push({
+ _select: false,
+ device: '',
+ drug: '',
+ dose: null,
+ dosingTime: '',
+ dosingMan: '',
+ memo: '',
+ });
},
-
- // 删除行
+ // 删除选中行
delTable() {
- this.tableData.pop();
+ const selectedRows = this.tableData.filter(row => row._select);
+ if (selectedRows.length === 0) {
+ this.$message.error('请至少选择一条数据');
+ return;
+ }
+ this.tableData = this.tableData.filter(row => !row._select);
},
// 提交数据
submit() {
@@ -187,10 +213,13 @@ export default {
return true;
});
if (isValid) {
- const submitData = this.tableData.map(row => ({
- ...row,
- dorType: 1,
- }));
+ const submitData = this.tableData.map(row => {
+ const { _select, ...validData } = row;
+ return {
+ ...validData,
+ dorType: 1,
+ };
+ });
// 如果所有必填项都填写了,则进行提交操作
this.$emit('submitData', submitData); // 通知父组件刷新表格数据
this.closeDialog();
diff --git a/src/views/safetyManagement/wastewater/components/addEditDialogDosingRecord.vue b/src/views/safetyManagement/wastewater/components/addEditDialogDosingRecord.vue
index c024127..a6ab5d7 100644
--- a/src/views/safetyManagement/wastewater/components/addEditDialogDosingRecord.vue
+++ b/src/views/safetyManagement/wastewater/components/addEditDialogDosingRecord.vue
@@ -2,13 +2,14 @@
插入一行
- 删除行
+ 删除选中行
{{ formError }}
-
+
+
@@ -104,6 +105,7 @@ export default {
return {
openShow: false,
tableData: [],
+ formError: '', // 全局错误提示
// 统一校验规则:支持数组项校验
formRules: {
// 表格整体校验:至少一行数据
@@ -157,18 +159,37 @@ export default {
this.openShow = false;
this.$emit('closeDialog');
// 重置表单
- // this.form.tableData = [];
+ this.tableData = [];
this.formError = '';
this.$refs.tableForm?.resetFields();
},
+ // 选择事件处理
+ selectChange(list, row) {
+ // 根据选中的列表更新当前行的选中状态
+ const isSelected = list.some(item => item === row);
+ row._select = isSelected;
+ },
// 插入一行
addTable() {
- this.tableData.push({});
+ this.tableData.push({
+ _select: false,
+ device: '',
+ drug: '',
+ dose: null,
+ dosingTime: '',
+ dosingMan: '',
+ memo: ''
+ });
},
- // 删除行
+ // 删除选中行
delTable() {
- this.tableData.pop()
+ const selectedRows = this.tableData.filter(row => row._select);
+ if (selectedRows.length === 0) {
+ this.$message.error('请至少选择一条数据');
+ return;
+ }
+ this.tableData = this.tableData.filter(row => !row._select);
},
// 提交数据
submit() {
@@ -188,10 +209,13 @@ export default {
return true;
});
if (isValid) {
- const submitData = this.tableData.map(row => ({
- ...row,
- dorType: 2
- }));
+ const submitData = this.tableData.map(row => {
+ const { _select, ...validData } = row;
+ return {
+ ...validData,
+ dorType: 2
+ };
+ });
// 如果所有必填项都填写了,则进行提交操作
this.$emit("submitData", submitData); // 通知父组件刷新表格数据
this.closeDialog()