From 290e4021811ca1eb218c48fb722b7ab9c88b68a5 Mon Sep 17 00:00:00 2001 From: xz2000 Date: Fri, 25 Jul 2025 13:55:31 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=A2=84=E6=B5=8B=E7=95=8C?= =?UTF-8?q?=E9=9D=A2=E4=B8=8D=E6=98=BE=E7=A4=BAbest=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E5=92=8C=E4=B8=8D=E8=83=BD=E9=A2=84=E6=B5=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../views/prediction/GlobalPredictionView.vue | 2 +- .../prediction/ProductPredictionView.vue | 2 +- .../views/prediction/StorePredictionView.vue | 2 +- prediction_history.db | Bin 167936 -> 167936 bytes server/api.py | 28 ++++++++-- server/predictors/model_predictor.py | 5 ++ server/utils/database_utils.py | 48 +++++++++++++----- 7 files changed, 67 insertions(+), 20 deletions(-) diff --git a/UI/src/views/prediction/GlobalPredictionView.vue b/UI/src/views/prediction/GlobalPredictionView.vue index 93c05a4..5f69a79 100644 --- a/UI/src/views/prediction/GlobalPredictionView.vue +++ b/UI/src/views/prediction/GlobalPredictionView.vue @@ -116,7 +116,7 @@ const filters = reactive({ const pagination = reactive({ currentPage: 1, - pageSize: 8 + pageSize: 12 }) const filteredModelList = computed(() => { diff --git a/UI/src/views/prediction/ProductPredictionView.vue b/UI/src/views/prediction/ProductPredictionView.vue index 92b632d..0effe54 100644 --- a/UI/src/views/prediction/ProductPredictionView.vue +++ b/UI/src/views/prediction/ProductPredictionView.vue @@ -124,7 +124,7 @@ const filters = reactive({ const pagination = reactive({ currentPage: 1, - pageSize: 8 + pageSize: 12 }) const filteredModelList = computed(() => { diff --git a/UI/src/views/prediction/StorePredictionView.vue b/UI/src/views/prediction/StorePredictionView.vue index e17179c..1dedee1 100644 --- a/UI/src/views/prediction/StorePredictionView.vue +++ b/UI/src/views/prediction/StorePredictionView.vue @@ -126,7 +126,7 @@ const filters = reactive({ const pagination = reactive({ currentPage: 1, - pageSize: 8 + pageSize: 12 }) const filteredModelList = computed(() => { diff --git a/prediction_history.db b/prediction_history.db index ee8e5b01f0d658098f7a3cf4f6f1ccfafaf685ee..0f731fea210e658007544f29b1422bd99f350d34 100644 GIT binary patch literal 167936 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 0 else 0 } }