From 4cc00f6f912b9bd07421b34dbefb737039946f9a Mon Sep 17 00:00:00 2001 From: buaixuexideshitongxue <2936013465@qq.com> Date: Tue, 14 Apr 2026 10:55:16 +0800 Subject: [PATCH] =?UTF-8?q?fix--=E4=B8=B4=E6=97=B6=E4=BF=9D=E5=AD=98?= =?UTF-8?q?=E5=88=87=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/sensitivePerception/modelClue.ts | 7 + .../sensitivePerception/ModelClueTotal.vue | 378 +++++++++++++----- 2 files changed, 275 insertions(+), 110 deletions(-) diff --git a/src/api/sensitivePerception/modelClue.ts b/src/api/sensitivePerception/modelClue.ts index 1026886..9a205d0 100644 --- a/src/api/sensitivePerception/modelClue.ts +++ b/src/api/sensitivePerception/modelClue.ts @@ -26,3 +26,10 @@ export function updateDepartModelClue(id, body) { body }); } + +export function checkUntrueModelClue(id, distributionState) { + return request.post({ + url: `/model/clues/checkUntrue`, + body: { id, distributionState } + }); +} diff --git a/src/views/sensitivePerception/ModelClueTotal.vue b/src/views/sensitivePerception/ModelClueTotal.vue index 3944b58..77c5883 100644 --- a/src/views/sensitivePerception/ModelClueTotal.vue +++ b/src/views/sensitivePerception/ModelClueTotal.vue @@ -312,23 +312,24 @@
- + +
@@ -337,144 +338,110 @@ +
-
+
- 批量加入 + 批量加入 分发列表 + >分发列表
+
- + - 查询 - 重置 + 查询 + 重置
+ + + + + + + + + +
- - - - - + + + + + + - + - - + + - +
- + :total="currentManualTotal" + />
@@ -1005,7 +972,7 @@ import { listModelClue } from "@/api/sensitivePerception/modelClue"; import { alarmDetails } from "@/api/work/alarm"; import { listModelClueTask, listModelClueByDepart, listModelClues } from "@/api/sensitivePerception/modelClueTask"; import { DistributionMethod } from "@/enums/dictEnums"; -import { manuelModelClueTask, updateDepartModelClue } from "@/api/sensitivePerception/modelClue"; +import { manuelModelClueTask, updateDepartModelClue, checkUntrueModelClue } from "@/api/sensitivePerception/modelClue"; import useCatchStore from "@/stores/modules/catch"; import { getDictLable } from "@/utils/util"; import feedback from "@/utils/feedback"; @@ -1041,9 +1008,105 @@ const modelClueManualQuery = ref({ distributionMethod: DistributionMethod.MANUALLY_DISTRIBUTE, distributionState: "0", }); + +// 人工核验 - 按分发状态分组查询参数 +const modelClueManualQueryUndistributed = ref({ + distributionMethod: DistributionMethod.MANUALLY_DISTRIBUTE, + distributionState: "0", + current: 1, + size: 10 +}); + +const modelClueManualQueryDistributed = ref({ + distributionMethod: DistributionMethod.MANUALLY_DISTRIBUTE, + distributionState: "1", + current: 1, + size: 10 +}); + +const modelClueManualQueryDisposed = ref({ + distributionMethod: DistributionMethod.MANUALLY_DISTRIBUTE, + distributionState: "2", + current: 1, + size: 10 +}); + +const modelClueManualQueryUntrue = ref({ + distributionMethod: DistributionMethod.MANUALLY_DISTRIBUTE, + distributionState: "3", + current: 1, + size: 10 +}); + +// 人工核验 - 按分发状态分组数据 +const modelClueManualListUndistributed = ref([]); +const modelClueManualTotalUndistributed = ref(0); +const modelClueManualListDistributed = ref([]); +const modelClueManualTotalDistributed = ref(0); +const modelClueManualListDisposed = ref([]); +const modelClueManualTotalDisposed = ref(0); +const modelClueManualListUntrue = ref([]); +const modelClueManualTotalUntrue = ref(0); + +// 人工核验 - 内部 tab 切换 +const modelClueManualInnerTab = ref('undistributed'); + +// 人工核验 - 当前激活tab的数据 +const currentManualTableData = computed(() => { + switch (modelClueManualInnerTab.value) { + case 'undistributed': return modelClueManualListUndistributed.value; + case 'distributed': return modelClueManualListDistributed.value; + case 'disposed': return modelClueManualListDisposed.value; + case 'untrue': return modelClueManualListUntrue.value; + default: return modelClueManualListUndistributed.value; + } +}); + +const currentManualQuery = computed(() => { + switch (modelClueManualInnerTab.value) { + case 'undistributed': return modelClueManualQueryUndistributed.value; + case 'distributed': return modelClueManualQueryDistributed.value; + case 'disposed': return modelClueManualQueryDisposed.value; + case 'untrue': return modelClueManualQueryUntrue.value; + default: return modelClueManualQueryUndistributed.value; + } +}); + +const currentManualTotal = computed(() => { + switch (modelClueManualInnerTab.value) { + case 'undistributed': return modelClueManualTotalUndistributed.value; + case 'distributed': return modelClueManualTotalDistributed.value; + case 'disposed': return modelClueManualTotalDisposed.value; + case 'untrue': return modelClueManualTotalUntrue.value; + default: return modelClueManualTotalUndistributed.value; + } +}); + +const currentGetListFunc = computed(() => { + switch (modelClueManualInnerTab.value) { + case 'undistributed': return getModelClueManualListUndistributed; + case 'distributed': return getModelClueManualListDistributed; + case 'disposed': return getModelClueManualListDisposed; + case 'untrue': return getModelClueManualListUntrue; + default: return getModelClueManualListUndistributed; + } +}); + +const currentResetFunc = computed(() => { + switch (modelClueManualInnerTab.value) { + case 'undistributed': return resetModelClueManualUndistributed; + case 'distributed': return resetModelClueManualDistributed; + case 'disposed': return resetModelClueManualDisposed; + case 'untrue': return resetModelClueManualUntrue; + default: return resetModelClueManualUndistributed; + } +}); + +// 人工核验 - 批量选择列表 const modelClueManualList = ref([]); const modelClueManualTotal = ref(0); const modelClueManualLoading = ref(false); +// 人工核验 - 批量选择列表 const manualList = ref([]); const manualShow = ref(false); const manualQuery = ref({}); @@ -1053,13 +1116,19 @@ const form = ref({ thingFiles: [], problems: [] }); +// 表格 refs 对象 +const tableRefs = ref({ + undistributed: null, + distributed: null, + disposed: null, + untrue: null +}); const formRef = ref(null); const submitLoading = ref(false); const editDepartShow = ref(false); const editDepartForm = ref({}); const editDepartFormRef = ref(); let activeModelClueId = 0; -const tableRef = ref(); // 路由和生命周期 const route = useRoute(); @@ -1067,11 +1136,17 @@ onMounted(() => { if (route.query.modelId) { modelClueQuery.value.modelIds = [route.query.modelId]; modelTaskQuery.value.modelIds = [route.query.modelId]; - modelClueManualQuery.value.modelIds = [route.query.modelId]; + modelClueManualQueryUndistributed.value.modelIds = [route.query.modelId]; + modelClueManualQueryDistributed.value.modelIds = [route.query.modelId]; + modelClueManualQueryDisposed.value.modelIds = [route.query.modelId]; + modelClueManualQueryUntrue.value.modelIds = [route.query.modelId]; } getModelClueList(); getModelTaskList(); - getModelClueManualList(); + getModelClueManualListUndistributed(); + getModelClueManualListDistributed(); + getModelClueManualListDisposed(); + getModelClueManualListUntrue(); }); // 模型预警问题相关方法 @@ -1136,22 +1211,100 @@ async function handleModelTaskStatisticsShow(id) { modelTaskStatisticsShow.value = true; } -// 人工核验相关方法 -function getModelClueManualList() { +// 人工核验相关方法 - 未分发 +function getModelClueManualListUndistributed() { modelClueManualLoading.value = true - listModelClue(modelClueManualQuery.value).then((data) => { - modelClueManualList.value = data.records; - modelClueManualTotal.value = data.total; + listModelClue(modelClueManualQueryUndistributed.value).then((data) => { + modelClueManualListUndistributed.value = data.records; + modelClueManualTotalUndistributed.value = data.total; modelClueManualLoading.value = false }); } -function resetModelClueManual() { - modelClueManualQuery.value = { +function resetModelClueManualUndistributed() { + modelClueManualQueryUndistributed.value = { distributionMethod: DistributionMethod.MANUALLY_DISTRIBUTE, distributionState: "0", + current: 1, + size: 10 }; - getModelClueManualList(); + getModelClueManualListUndistributed(); +} + +// 人工核验相关方法 - 已分发 +function getModelClueManualListDistributed() { + modelClueManualLoading.value = true + listModelClue(modelClueManualQueryDistributed.value).then((data) => { + modelClueManualListDistributed.value = data.records; + modelClueManualTotalDistributed.value = data.total; + modelClueManualLoading.value = false + }); +} + +function resetModelClueManualDistributed() { + modelClueManualQueryDistributed.value = { + distributionMethod: DistributionMethod.MANUALLY_DISTRIBUTE, + distributionState: "1", + current: 1, + size: 10 + }; + getModelClueManualListDistributed(); +} + +// 人工核验相关方法 - 已处置 +function getModelClueManualListDisposed() { + modelClueManualLoading.value = true + listModelClue(modelClueManualQueryDisposed.value).then((data) => { + modelClueManualListDisposed.value = data.records; + modelClueManualTotalDisposed.value = data.total; + modelClueManualLoading.value = false + }); +} + +function resetModelClueManualDisposed() { + modelClueManualQueryDisposed.value = { + distributionMethod: DistributionMethod.MANUALLY_DISTRIBUTE, + distributionState: "2", + current: 1, + size: 10 + }; + getModelClueManualListDisposed(); +} + +// 人工核验相关方法 - 查否 +function getModelClueManualListUntrue() { + modelClueManualLoading.value = true + listModelClue(modelClueManualQueryUntrue.value).then((data) => { + modelClueManualListUntrue.value = data.records; + modelClueManualTotalUntrue.value = data.total; + modelClueManualLoading.value = false + }); +} + +function resetModelClueManualUntrue() { + modelClueManualQueryUntrue.value = { + distributionMethod: DistributionMethod.MANUALLY_DISTRIBUTE, + distributionState: "3", + current: 1, + size: 10 + }; + getModelClueManualListUntrue(); +} + +// 查否处理 +async function handleCheckUntrue(row) { + await checkUntrueModelClue(row.id, "3"); + feedback.msgSuccess("查否成功"); + getModelClueManualListUndistributed(); + getModelClueManualListUntrue(); +} + +// 恢复处理 +async function handleRecover(row) { + await checkUntrueModelClue(row.id, "0"); + feedback.msgSuccess("恢复成功"); + getModelClueManualListUntrue(); + getModelClueManualListUndistributed(); } async function handleAddManuel(row) { @@ -1243,7 +1396,10 @@ async function handleSubmitManuelModelClueTask() { distributeShow.value = false; manualShow.value = false; manualList.value = []; - getModelClueManualList(); + getModelClueManualListUndistributed(); + getModelClueManualListDistributed(); + getModelClueManualListDisposed(); + getModelClueManualListUntrue(); } async function handleUpdatDepartModelClue() { @@ -1251,15 +1407,17 @@ async function handleUpdatDepartModelClue() { await updateDepartModelClue(activeModelClueId, editDepartForm.value); editDepartShow.value = false; editDepartForm.value = {}; - getModelClueManualList(); + getModelClueManualListUndistributed(); + getModelClueManualListDistributed(); + getModelClueManualListDisposed(); + getModelClueManualListUntrue(); } function handleBathJoin() { - const rows = tableRef.value.getSelectionRows(); + const tableRef = tableRefs.value[modelClueManualInnerTab.value]; + const rows = tableRef?.getSelectionRows() || []; rows.forEach((row) => { - if ( - manualList.value.filter((item) => item.id === row.id).length === 0 - ) { + if (manualList.value.filter((item) => item.id === row.id).length === 0) { manualList.value.push(row); } });