-
+
- 批量加入
+ 批量加入
分发列表
+ >分发列表
+
-
+
- 查询
- 重置
+ 查询
+ 重置
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
{{ row.involveParentDepartName }}
{{ row.involveDepartName }}
-
+
-
- {{ item }}
-
+
{{ item }}
略
-
-
+
+
- {{
- getDictLable(
- dict.distributionState,
- row.distributionState
- )
- }}
+ 未分发
+ 已分发({{ getDictLable(dict.processingStatus, row.processingStatus) }})
+ 已处置
+ 查否
-
+
- 加入分发列表
- 从分发列表移除
+
+ 加入分发列表
+ 从分发列表移除
+ 查否
+
+
+ 查看详情
+ 恢复
+
+
+ 查看详情
+ 处理详情
+ 查看提醒
+
-
+ :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);
}
});