检测源删除

This commit is contained in:
sjl
2025-02-20 10:10:28 +08:00
parent 8caf856d2d
commit 0e183bb5c1

View File

@@ -8,6 +8,7 @@
:data="tableData"
:row-key="id"
:style="{ height: '250px',maxHeight: '400px',overflow:'hidden'}"
>
<!-- 表格 header 按钮 -->
<template #tableHeader='scope'>
@@ -40,10 +41,11 @@ import ParameterPopup from '@/views/machine/testSource/components/parameterPopup
import {reactive, ref, watch} from 'vue'
import {generateUUID} from "@/styles";
import {defineEmits} from "vue/dist/vue";
import { ElMessage } from 'element-plus'
import { ElMessage, ElMessageBox } from 'element-plus'
const parameterPopup = ref()
const dictStore = useDictStore()
const btnDelete = ref(false)
// ProTable 实例
const proTable = ref<ProTableInstance>()
const tableData = ref<any[]>([])
@@ -149,28 +151,49 @@ const openDialog = (titleType: string, row: Partial<TestSource.ParameterType> =
// 批量删除源参数
const batchDelete = async (ids: string[]) => {
let parentIds = originalParameterArr.map(item => item.pId)
ElMessageBox.confirm(`是否批量删除检测源?`, "温馨提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
draggable: true
}).then(async () => {
let parentIds = originalParameterArr.map(item => item.pId);
if (parentIds.some(item => ids.includes(item))) {
ElMessage.error('不能删除父节点');
return;
}
for (const id of ids) {
handleDelete(id)
}
proTable.value?.clearSelection()
// 直接过滤掉需要删除的项
originalParameterArr = originalParameterArr.filter(item => !ids.includes(item.id));
emit('change-parameter', originalParameterArr);
tableData.value = getTreeData(originalParameterArr);
ElMessage({
type: "success",
message: `批量删除检测源成功!`
});
});
}
// 删除源参数
const handleDelete = (id: string) => {
let parentIds = originalParameterArr.map(item => item.pId)
ElMessageBox.confirm(`是否删除检测源?`, "温馨提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
draggable: true
}).then(async () => {
let parentIds = originalParameterArr.map(item => item.pId);
if (parentIds.includes(id)) {
ElMessage.error('不能删除父节点');
return;
}
originalParameterArr = originalParameterArr.filter(item => item.id !== id);
emit('change-parameter', originalParameterArr)
tableData.value = getTreeData(originalParameterArr)
emit('change-parameter', originalParameterArr);
tableData.value = getTreeData(originalParameterArr);
ElMessage({
type: "success",
message: `删除检测源成功!`
});
});
}
// 复制源参数
const copyRow = (row) => {
delete row.children
@@ -225,3 +248,7 @@ defineExpose({
})
</script>
<style scoped>
</style>