异常任务的异常详情弹窗

This commit is contained in:
weibl
2026-03-04 14:31:03 +08:00
parent dbf87a3d36
commit 1c9e4a2d04
3 changed files with 100 additions and 1 deletions

View File

@@ -225,3 +225,8 @@ export const followProjectApi = (params: any) => {
export const unFollowProjectApi = (params: any) => {
return post(`${PREFIX}node/unFollowProject`, params);
};
// EP 定制接口 查看异常
export const queryEncExceptionByTaskIdApi = (params: any) => {
return get(`${PREFIX}node/queryEncExceptionByTaskId`, params);
};

View File

@@ -0,0 +1,78 @@
<template>
<Dialog
v-model="dialogVisible"
diaTitle="异常详情"
width="80%"
height="80%"
@close="closeFun"
show-footer
>
<BaseTable
ref="tableRef"
:api="queryEncExceptionByTaskIdApi"
:params="apiParams"
showIndex
tableName="WORKSPACE_EXP"
full-height
>
<!-- <template #workName="{ row }">
{{ row.workName ? row.workName : taskInfo.workName }}
</template>
<template #shouldProgress="{ row }">
{{ TASK_PROGRESS_STATUS.O[row.shouldProgress] }}
</template>
<template #actualProgress="{ row }">
{{ TASK_PROGRESS_STATUS.O[row.actualProgress] }}
</template>
<template #owner="{ row }">
{{ disposeMemberList(row, 'ownerValue') }}
</template> -->
</BaseTable>
<template #footer>
<div>
<el-button @click="closeFun">取消</el-button>
<el-button type="primary" @click="closeFun">确定</el-button>
</div>
</template>
</Dialog>
</template>
<script lang="ts" setup>
import Dialog from '@/components/common/dialog/index.vue';
import { computed, ref } from 'vue';
import BaseTable from '@/components/common/table/baseTable.vue';
// import { useDict } from '@/utils/useDict';
import { queryEncExceptionByTaskIdApi } from '@/api/project/node';
const props = defineProps<{
showDialog: boolean;
taskUid: string;
}>();
const dialogVisible = computed({
get() {
return props.showDialog;
},
set(val) {
emits('update:showDialog', val);
},
});
const apiParams = ref({
taskId: props.taskUid,
});
// const { TASK_PROGRESS_STATUS } = useDict('TASK_PROGRESS_STATUS');
const tableRef = ref();
const emits = defineEmits(['update:showDialog']);
const closeFun = () => {
emits('update:showDialog', false);
};
</script>
<style lang="scss" scoped>
.table-box {
height: 60vh;
}
</style>

View File

@@ -130,7 +130,10 @@
{{ disposeMemberList(row, 'eMemberList') }}
</template>
<template #expStatus="{ row }">
<span :class="row.expStatus === 1 ? 'abnormal' : ''">
<span
@click="seeExpDetail(row.uuid, row.expStatus === 1)"
:class="row.expStatus === 1 ? 'abnormal' : ''"
>
{{ TASK_ABNORMAL.O[row.expStatus] }}
</span>
</template>
@@ -141,6 +144,7 @@
v-model:showDialog="demandDetailDialogVisible"
:demandUid="demandInfo.uuid"
></DemandDetailDialog>
<ExpDialog v-model:showDialog="expDialogVisible" :taskUid="taskUid"></ExpDialog>
</template>
<script setup lang="ts">
@@ -176,6 +180,7 @@ import { useDict } from '@/utils/useDict';
import { ElMessage } from 'element-plus';
import emitter from '@/utils/eventBus';
import { getSeeDisciplines } from '@/tenants/lyric/views/task/lyricTask';
import ExpDialog from '@/tenants/lyric/views/task/components/expDialog.vue';
const props = defineProps({
params: {
@@ -494,6 +499,16 @@ const nameClickFun = (row: any) => {
emits('show', row);
};
const expDialogVisible = ref(false);
const taskUid = ref('');
const seeExpDetail = (uuid: string, show: boolean) => {
if (show) {
taskUid.value = uuid;
expDialogVisible.value = true;
}
};
defineExpose({
tableRef,
initTaskCount,
@@ -588,5 +603,6 @@ onMounted(() => {
}
.abnormal {
color: var(--el-color-danger);
cursor: pointer;
}
</style>