试验任务删除限制

This commit is contained in:
wangxk 2025-05-28 18:01:24 +08:00
parent bed568cd49
commit 9f31cd0e36
4 changed files with 85 additions and 42 deletions

View File

@ -229,4 +229,11 @@ export function selectTsNodesByTskeId(params:any){
params:params,
})
}
export function confirmDeleteNodes(params:any){
return request ({
url:'/experimentalData/ts-nodes/confirmDeleteNodes',
method:'post',
params:params,
})
}

View File

@ -39,4 +39,12 @@ export function deleteTsTaskByIds(queryParams: any) {
method: 'post',
params: queryParams
});
}
//查询是否可以删除
export function confirmDeleteTask(queryParams: any) {
return request({
url: '/experimentalData/tstask/confirmDeleteTask',
method: 'post',
params: queryParams
});
}

View File

@ -13,7 +13,7 @@ import { ElMessageBox, ElMessage, ElMain } from "element-plus";
import Page from '@/components/Pagination/page.vue';
import AudioPlayer from '@/components/file/preview/AudioPlayer.vue';
import { batchDeleteReq } from "@/api/file-operator";
import { tstaskList, obtaintestData, getTsNodesTree, addTsNodes, selectTsNodesByTskeId, updateTsNodes, deleteTsNodesById, tsFilesPage, addTsFiles, testDataScanById, updateTsFiles, deleteTsFilesById, listTsFiles, deleteTsFilesByIds, compress, Decompression, compare, downloadToLocal, uploadToBackup, addTsFile, list, moveFileFolder, copyFileFolder, startSimpleNavi, stopSimpleNavi } from "@/api/datamanagement";
import { tstaskList, obtaintestData, getTsNodesTree, confirmDeleteNodes,addTsNodes, selectTsNodesByTskeId, updateTsNodes, deleteTsNodesById, tsFilesPage, addTsFiles, testDataScanById, updateTsFiles, deleteTsFilesById, listTsFiles, deleteTsFilesByIds, compress, Decompression, compare, downloadToLocal, uploadToBackup, addTsFile, list, moveFileFolder, copyFileFolder, startSimpleNavi, stopSimpleNavi } from "@/api/datamanagement";
import ZUpload from '@/components/file/ZUpload.vue'
import useFileUpload from "@/components/file/file/useFileUpload";
import useHeaderStorageList from "@/components/header/useHeaderStorageList";
@ -286,18 +286,26 @@ function delSubItem(row: any) {
}
)
.then(() => {
loading.value = true
deleteTsNodesById({ id: row.nodeId, path: row.path }).then((res: any) => {
if (res.code == 0) {
gettreedata()
ElMessage({
type: 'success',
message: '删除成功',
})
}
confirmDeleteNodes({id:row.nodeId}).then((res: any) => {
if (res.data.data.status == 1) {
loading.value = true
deleteTsNodesById({ id: row.nodeId, path: row.path }).then((res: any) => {
if (res.code == 0) {
gettreedata()
ElMessage({
type: 'success',
message: '删除成功',
})
}
})
} else {
ElMessage.warning("该节点中含有已备份的文件,无法删除")
return
}
})
})
}
@ -1655,7 +1663,7 @@ function repstring(row: any) {
</template>
</el-tree>
<el-button type="primary" @click="scan()" style="width: 100%;" :loading="tonloading">{{ buttonmsg
}}</el-button>
}}</el-button>
</div>
<div class="moveBtn" v-move>
<div class="moveBtn-line"></div>

View File

@ -8,7 +8,7 @@ export default {
import { onMounted, ref } from "vue";
import { ElMessage, ElMessageBox } from 'element-plus'
import Page from '@/components/Pagination/page.vue'
import { tstaskPage, addtsTask, updatetsTask, deleteTsTaskById, deleteTsTaskByIds } from "@/api/testtask";
import { tstaskPage, addtsTask, updatetsTask, deleteTsTaskById, deleteTsTaskByIds,confirmDeleteTask } from "@/api/testtask";
import { getDict } from '@/api/dict'
//
const tableData: any = ref([]);
@ -104,14 +104,21 @@ function delproject(row: any) {
}
)
.then(() => {
loading.value = true
deleteTsTaskById({ id: row.id }).then((res: any) => {
if (res.code == 0) {
getdata()
ElMessage({
type: 'success',
message: '删除成功',
confirmDeleteTask({ ids: row.id }).then((res: any) => {
if (res.data.data.status == 1) {
loading.value = true
deleteTsTaskById({ id: row.id }).then((res: any) => {
if (res.code == 0) {
getdata()
ElMessage({
type: 'success',
message: '删除成功',
})
}
})
} else {
ElMessage.warning("试验任务中含有已备份的文件,无法删除")
return
}
})
})
@ -137,14 +144,21 @@ function delprojectArr() {
}
)
.then(() => {
loading.value = true
deleteTsTaskByIds({ ids: ids.join(',') }).then((res: any) => {
if (res.code == 0) {
ElMessage({
type: 'success',
message: '删除成功',
confirmDeleteTask({ ids: ids.join(',') }).then((res: any) => {
if (res.data.data.status == 1) {
loading.value = true
deleteTsTaskByIds({ ids: ids.join(',') }).then((res: any) => {
if (res.code == 0) {
ElMessage({
type: 'success',
message: '删除成功',
})
getdata()
}
})
getdata()
} else {
ElMessage.warning("试验任务中含有已备份的文件,无法删除")
return
}
})
@ -232,14 +246,14 @@ function typeName(arr: any, itemCode: any) {
});
return nameone
}
const logqing= ref(false)
const logqing = ref(false)
const logTxt = ref('')
function Loglist(row:any,title1:any){
function Loglist(row: any, title1: any) {
title.value = title1
logqing.value = true
logTxt.value = row
}
function handleClose1(){
function handleClose1() {
logqing.value = false
}
</script>
@ -308,8 +322,9 @@ function handleClose1(){
<!-- <span>{{ scope.row.testDescribe }}</span> -->
<div class="ellipsis">
<span class="single-line-ellipsis">{{ scope.row.testDescribe }}</span>
<img src="@/assets/MenuIcon/xqing.png" alt="" title="详情" @click="Loglist(scope.row.testDescribe,'试验描述详情')" style="cursor: pointer;" >
</div>
<img src="@/assets/MenuIcon/xqing.png" alt="" title="详情"
@click="Loglist(scope.row.testDescribe, '试验描述详情')" style="cursor: pointer;">
</div>
</template>
</el-table-column>
<el-table-column prop="sensorDescribe" label="传感器描述" width="320">
@ -317,8 +332,9 @@ function handleClose1(){
<!-- <span>{{ scope.row.testDescribe }}</span> -->
<div class="ellipsis">
<span class="single-line-ellipsis">{{ scope.row.sensorDescribe }}</span>
<img src="@/assets/MenuIcon/xqing.png" alt="" title="详情" @click="Loglist(scope.row.sensorDescribe,'传感器描述详情')" style="cursor: pointer;" >
</div>
<img src="@/assets/MenuIcon/xqing.png" alt="" title="详情"
@click="Loglist(scope.row.sensorDescribe, '传感器描述详情')" style="cursor: pointer;">
</div>
</template>
</el-table-column>
<el-table-column fixed="right" label="操作" width="80" align="center">
@ -342,8 +358,9 @@ function handleClose1(){
<el-form ref="ruleFormRef" style="max-width:100%" :model="projectForme" :rules="moderules"
label-width="auto" class="demo-ruleForm" status-icon>
<div style="width: 100%;display: flex;justify-content: space-between;align-items: center;">
<el-form-item label="任务编号" style="width: 50%;" >
<el-input v-model="projectForme.taskCode" maxlength="40" show-word-limit disabled style="width: 100%;" />
<el-form-item label="任务编号" style="width: 50%;">
<el-input v-model="projectForme.taskCode" maxlength="40" show-word-limit disabled
style="width: 100%;" />
</el-form-item>
<el-form-item label="任务名称" style="width: 50%;margin-left: 15px;">
<el-input v-model="projectForme.taskName" show-word-limit disabled />
@ -401,28 +418,30 @@ function handleClose1(){
</el-dialog>
<el-dialog :title="title" v-model="logqing" width="60%" :before-close="handleClose1" top="30px" draggable
:close-on-click-modal="false" destroy-on-close>
<div class="texlog">
<el-scrollbar height="80vh">
{{ logTxt }}
</el-scrollbar>
</div>
<div class="texlog">
<el-scrollbar height="80vh">
{{ logTxt }}
</el-scrollbar>
</div>
</el-dialog>
</div>
</template>
<style lang="scss" scoped>
.texlog{
.texlog {
width: 100%;
padding: 10px;
border: 1px solid #ccc;
border-radius: 5px;
}
.ellipsis{
.ellipsis {
display: flex;
width: 100%;
align-items: center;
justify-content: space-between;
}
.single-line-ellipsis {
width: 270px;
/* 限制容器宽度 */
@ -433,6 +452,7 @@ function handleClose1(){
text-overflow: ellipsis;
/* 使用省略号 */
}
.record-box {
padding: 20px;
width: 100%;