安环管理-环保管理-废气处理-加药记录-新增-删除选中行优化

安环管理-环保管理-废气处理-加药记录-新增-删除选中行优化
dev-scheduling
ysn 5 days ago
parent 4374d51e79
commit 0329d6a130
  1. 51
      src/views/safetyManagement/wasteGasSet/components/addEditDialogDosingRecord.vue
  2. 44
      src/views/safetyManagement/wastewater/components/addEditDialogDosingRecord.vue

@ -9,10 +9,17 @@
> >
<div style="margin-bottom: 12px" v-if="moldAddMore"> <div style="margin-bottom: 12px" v-if="moldAddMore">
<el-button type="primary" @click="addTable">插入一行</el-button> <el-button type="primary" @click="addTable">插入一行</el-button>
<el-button type="danger" @click="delTable">删除行</el-button> <el-button type="danger" @click="delTable">删除选中</el-button>
</div> </div>
<el-form ref="tableForm" :model="form" :rules="formRules" label-width="0px"> <el-form ref="tableForm" :model="form" :rules="formRules" label-width="0px">
<el-table :data="tableData" style="width: 100%" border :cell-style="{ padding: '5px' }"> <el-table
:data="tableData"
@select="selectChange"
style="width: 100%"
border
:cell-style="{ padding: '5px' }"
>
<el-table-column type="selection" width="55" />
<!-- 设施 --> <!-- 设施 -->
<el-table-column prop="device" label="设施" align="center" width="170"> <el-table-column prop="device" label="设施" align="center" width="170">
<template #header> <template #header>
@ -114,6 +121,7 @@ export default {
return { return {
openShow: false, openShow: false,
tableData: [], tableData: [],
formError: '', //
// //
formRules: { formRules: {
// //
@ -156,18 +164,36 @@ export default {
this.openShow = false; this.openShow = false;
this.$emit('closeDialog'); this.$emit('closeDialog');
// //
// this.form.tableData = []; this.tableData = [];
this.formError = ''; this.formError = '';
this.$refs.tableForm?.resetFields(); this.$refs.tableForm?.resetFields();
}, },
//
selectChange(list, row) {
//
const isSelected = list.some(item => item === row);
row._select = isSelected;
},
// //
addTable() { addTable() {
this.tableData.push({}); this.tableData.push({
_select: false,
device: '',
drug: '',
dose: null,
dosingTime: '',
dosingMan: '',
memo: '',
});
}, },
//
//
delTable() { 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() { submit() {
@ -187,10 +213,13 @@ export default {
return true; return true;
}); });
if (isValid) { if (isValid) {
const submitData = this.tableData.map(row => ({ const submitData = this.tableData.map(row => {
...row, const { _select, ...validData } = row;
dorType: 1, return {
})); ...validData,
dorType: 1,
};
});
// //
this.$emit('submitData', submitData); // this.$emit('submitData', submitData); //
this.closeDialog(); this.closeDialog();

@ -2,13 +2,14 @@
<el-dialog title="新增" append-to-body v-model="openShow" width="70%" @close="closeDialog" destroy-on-close> <el-dialog title="新增" append-to-body v-model="openShow" width="70%" @close="closeDialog" destroy-on-close>
<div style="margin-bottom: 12px" v-if="moldAddMore"> <div style="margin-bottom: 12px" v-if="moldAddMore">
<el-button type="primary" @click="addTable">插入一行</el-button> <el-button type="primary" @click="addTable">插入一行</el-button>
<el-button type="danger" @click="delTable">删除行</el-button> <el-button type="danger" @click="delTable">删除选中</el-button>
</div> </div>
<el-form ref="tableForm" :model="form" :rules="formRules" label-width="0px"> <el-form ref="tableForm" :model="form" :rules="formRules" label-width="0px">
<div v-if="formError" class="error-message" style="color: #f56c6c; margin-bottom: 10px;"> <div v-if="formError" class="error-message" style="color: #f56c6c; margin-bottom: 10px;">
{{ formError }} {{ formError }}
</div> </div>
<el-table :data="tableData" style="width: 100%" border :cell-style="{ padding: '5px' }"> <el-table :data="tableData" @select="selectChange" style="width: 100%" border :cell-style="{ padding: '5px' }">
<el-table-column type="selection" width="55" />
<!-- 设施 --> <!-- 设施 -->
<el-table-column prop="device" label="设施" align="center" width="170"> <el-table-column prop="device" label="设施" align="center" width="170">
<template #header> <template #header>
@ -104,6 +105,7 @@ export default {
return { return {
openShow: false, openShow: false,
tableData: [], tableData: [],
formError: '', //
// //
formRules: { formRules: {
// //
@ -157,18 +159,37 @@ export default {
this.openShow = false; this.openShow = false;
this.$emit('closeDialog'); this.$emit('closeDialog');
// //
// this.form.tableData = []; this.tableData = [];
this.formError = ''; this.formError = '';
this.$refs.tableForm?.resetFields(); this.$refs.tableForm?.resetFields();
}, },
//
selectChange(list, row) {
//
const isSelected = list.some(item => item === row);
row._select = isSelected;
},
// //
addTable() { addTable() {
this.tableData.push({}); this.tableData.push({
_select: false,
device: '',
drug: '',
dose: null,
dosingTime: '',
dosingMan: '',
memo: ''
});
}, },
// //
delTable() { 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() { submit() {
@ -188,10 +209,13 @@ export default {
return true; return true;
}); });
if (isValid) { if (isValid) {
const submitData = this.tableData.map(row => ({ const submitData = this.tableData.map(row => {
...row, const { _select, ...validData } = row;
dorType: 2 return {
})); ...validData,
dorType: 2
};
});
// //
this.$emit("submitData", submitData); // this.$emit("submitData", submitData); //
this.closeDialog() this.closeDialog()

Loading…
Cancel
Save