From f0b85ae2dc5898770a2a5320251253f69eeddf32 Mon Sep 17 00:00:00 2001 From: CJL6015 <1253368419@qq.com> Date: Sun, 30 Nov 2025 18:11:27 +0800 Subject: [PATCH] feat: refactor bottomModelApi to use function syntax and improve model value handling in train view --- src/api/alert/model/models.ts | 5 +++-- src/views/model/train/index.vue | 33 +++++++++++++++++++++++++-------- 2 files changed, 28 insertions(+), 10 deletions(-) diff --git a/src/api/alert/model/models.ts b/src/api/alert/model/models.ts index c384a3a..90d1b33 100644 --- a/src/api/alert/model/models.ts +++ b/src/api/alert/model/models.ts @@ -41,11 +41,12 @@ export const trainModelApi = (params: any) => defHttp.post({ url: Api.TRAIN export const testModelApi = (params: any) => defHttp.post({ url: Api.TEST_MODEL, data: params }) -export const bottomModelApi = (id: any, reportId?: number | string) => - defHttp.post({ +export function bottomModelApi(id: any, reportId?: number | string) { + return defHttp.post({ url: Api.BOTTOM_MODEL + id, data: reportId ? { reportId } : {}, }) +} export const versionListApi = (id: any) => defHttp.get({ url: Api.VERSION_LIST + id }) diff --git a/src/views/model/train/index.vue b/src/views/model/train/index.vue index 4f82067..52ee6fd 100644 --- a/src/views/model/train/index.vue +++ b/src/views/model/train/index.vue @@ -89,13 +89,34 @@ export default defineComponent({ const brushActivated = ref>(new Set()) const spinning = ref(false) let trainTimeCopy = '' + const applyModelValue = (payload: any) => { + if (!payload) + return + + const normalized = normalizeTrainTime(payload) + const previous = model.value || {} + const merged: any = { + ...previous, + ...normalized, + } + + if (!Array.isArray(normalized?.trainTime)) + merged.trainTime = previous?.trainTime ?? [] + if (!Array.isArray(normalized?.pointInfo)) + merged.pointInfo = previous?.pointInfo ?? [] + if (normalized?.para === undefined && previous?.para !== undefined) + merged.para = previous.para + + model.value = merged + trainTimeCopy = JSON.stringify(merged.trainTime || []) + } + const fetchModelInfo = async (version?: string) => { const path = version ? `${id}?version=${encodeURIComponent(version)}` : (routeVersion ? `${id}?version=${encodeURIComponent(routeVersion)}` : id) const modelInfo = await modelInfoApi(path) - model.value = normalizeTrainTime(modelInfo) + applyModelValue(modelInfo) selectedVersion.value = modelInfo?.version || modelInfo?.Cur_Version || '' await loadReportName(selectedVersion.value) - trainTimeCopy = JSON.stringify(model.value.trainTime) getHistory() } @@ -198,7 +219,7 @@ export default defineComponent({ return const params = { Model_id: id, - version: model.value?.Cur_Version ? model.value?.Cur_Version : 'v-test', + version: model.value?.version ? model.value?.version : 'v-test', Test_Data: { time: timeRange .map(t => dayjs(t).format('YYYY-MM-DD HH:mm:ss')) @@ -867,11 +888,7 @@ export default defineComponent({ spinning.value = true try { const response = await bottomModelApi(model.value.id, selectedReportId.value) - const newVersion = response?.version || model.value?.version - model.value.version = newVersion - model.value.Cur_Version = newVersion - model.value.btmState = response?.btmState || '已下装' - selectedVersion.value = newVersion + applyModelValue(response) createMessage.success('模型下装成功') reportModalVisible.value = false }