diff --git a/web/src/views/pisadmin/dashboard/BuyerDashboard.vue b/web/src/views/pisadmin/dashboard/BuyerDashboard.vue index 2fa7889..1df8c25 100644 --- a/web/src/views/pisadmin/dashboard/BuyerDashboard.vue +++ b/web/src/views/pisadmin/dashboard/BuyerDashboard.vue @@ -185,10 +185,24 @@ function initChart() { let dataReceive: number[] = []; if (trend.value && trend.value.length > 0) { - labels = trend.value.map((d) => d.day); - dataPublish = trend.value.map((d) => d.count || 0); - // 议价完成数据暂无,填充0 - dataReceive = trend.value.map(() => 0); + // 生成当前月的所有日期,确保每天都能显示 + const now = new Date(); + const year = now.getFullYear(); + const month = now.getMonth(); + const daysInMonth = new Date(year, month + 1, 0).getDate(); + + // 创建数据映射 + const dataMap = new Map(trend.value.map((d) => [d.day, d.count || 0])); + + // 填充所有日期,缺失的填0 + labels = []; + dataPublish = []; + dataReceive = []; + for (let day = 1; day <= daysInMonth; day++) { + labels.push(`${month + 1}/${day}`); + dataPublish.push(dataMap.get(day) || 0); + dataReceive.push(0); // 议价完成数据暂无 + } } else { // 模拟数据 const today = new Date(); diff --git a/web/src/views/pisadmin/dashboard/SupplierDashboard.vue b/web/src/views/pisadmin/dashboard/SupplierDashboard.vue index 598c7df..6fc7a2d 100644 --- a/web/src/views/pisadmin/dashboard/SupplierDashboard.vue +++ b/web/src/views/pisadmin/dashboard/SupplierDashboard.vue @@ -216,9 +216,25 @@ function initChart() { let wonData: number[] = []; if (trend.value && trend.value.length > 0) { - labels = trend.value.map((d) => d.day); - quotesData = trend.value.map((d) => d.quotes || 0); - wonData = trend.value.map((d) => d.won || 0); + // 生成当前月的所有日期,确保每天都能显示 + const now = new Date(); + const year = now.getFullYear(); + const month = now.getMonth(); + const daysInMonth = new Date(year, month + 1, 0).getDate(); + + // 创建数据映射 + const quotesMap = new Map(trend.value.map((d) => [d.day, d.quotes || 0])); + const wonMap = new Map(trend.value.map((d) => [d.day, d.won || 0])); + + // 填充所有日期,缺失的填0 + labels = []; + quotesData = []; + wonData = []; + for (let day = 1; day <= daysInMonth; day++) { + labels.push(`${month + 1}/${day}`); + quotesData.push(quotesMap.get(day) || 0); + wonData.push(wonMap.get(day) || 0); + } } else { // 模拟数据 const today = new Date();