From af58d770b6fbcb58638836ef00eed64f3dc7d380 Mon Sep 17 00:00:00 2001 From: dmy Date: Mon, 12 Jan 2026 19:50:51 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E6=8A=95=E6=A0=87?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E6=8C=89=E6=97=A5=E6=9C=9F=E8=8C=83=E5=9B=B4?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=8A=9F=E8=83=BD=E5=8F=8AAI=E6=8E=A8?= =?UTF-8?q?=E8=8D=90=E6=8C=81=E4=B9=85=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 添加按日期范围更新投标信息的功能,支持日期范围选择和数据更新 实现AI推荐结果的持久化存储和加载功能 优化日期范围选择器的本地存储功能 --- frontend/src/App.vue | 22 +++++++ frontend/src/components/Dashboard-AI.vue | 45 ++++++++++++-- frontend/src/components/Dashboard.vue | 62 +++++++++++++++++++- src/ai/ai.controller.ts | 19 +++++- src/ai/ai.module.ts | 8 ++- src/ai/ai.service.ts | 65 ++++++++++++++++++++- src/ai/entities/ai-recommendation.entity.ts | 16 +++++ src/database/database.module.ts | 3 +- 8 files changed, 227 insertions(+), 13 deletions(-) create mode 100644 src/ai/entities/ai-recommendation.entity.ts diff --git a/frontend/src/App.vue b/frontend/src/App.vue index 019aa92..a78715f 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -43,6 +43,7 @@ :loading="loading" :is-crawling="isCrawling" @refresh="fetchData" + @update-bids="updateBidsByDateRange" /> import { ref, onMounted } from 'vue' import axios from 'axios' +import { ElMessage } from 'element-plus' import { DataBoard, Document, Setting, MagicStick } from '@element-plus/icons-vue' import Dashboard from './components/Dashboard.vue' import DashboardAI from './components/Dashboard-AI.vue' @@ -142,6 +144,26 @@ const fetchData = async () => { } } +// 根据日期范围更新投标信息 +const updateBidsByDateRange = async (startDate: string, endDate?: string) => { + loading.value = true + try { + const params: any = { startDate } + if (endDate) { + params.endDate = endDate + } + + const response = await axios.get('/api/bids/by-date-range', { params }) + todayBids.value = response.data + ElMessage.success(`更新成功,共 ${response.data.length} 条数据`) + } catch (error) { + console.error('Failed to update bids by date range:', error) + ElMessage.error('更新失败') + } finally { + loading.value = false + } +} + onMounted(() => { fetchData() }) diff --git a/frontend/src/components/Dashboard-AI.vue b/frontend/src/components/Dashboard-AI.vue index a3fa65b..e3a2923 100644 --- a/frontend/src/components/Dashboard-AI.vue +++ b/frontend/src/components/Dashboard-AI.vue @@ -106,7 +106,7 @@