检测源删除
This commit is contained in:
@@ -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>
|
||||||
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user