检测源删除

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