From 54c97c9729b3199432c5d0a2c8305443df47c8b2 Mon Sep 17 00:00:00 2001 From: dk <1260500659@qq.com> Date: Tue, 14 Jul 2026 11:43:47 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E5=B7=A5=E4=BD=9C=E5=8F=B0-=E5=B7=A5?= =?UTF-8?q?=E6=97=B6=E3=80=81=E5=91=A8=E6=8A=A5=E3=80=81=E6=97=A5=E5=BF=97?= =?UTF-8?q?=E7=AE=A1=E7=90=86):=20=E8=AF=A6=E7=BB=86=E5=A6=82=E4=B8=8B?= =?UTF-8?q?=E3=80=82=20-=20=E7=A7=BB=E9=99=A4=E5=8E=86=E5=8F=B2=E5=B7=A5?= =?UTF-8?q?=E4=BD=9C=E6=97=A5=E5=88=86=E9=9A=94=E7=AC=A6=E5=85=BC=E5=AE=B9?= =?UTF-8?q?=E9=80=BB=E8=BE=91=EF=BC=8C=E4=BB=85=E4=BD=BF=E7=94=A8=E6=98=BE?= =?UTF-8?q?=E5=BC=8F=E5=88=86=E9=9A=94=E6=A0=87=E8=AE=B0=E5=88=87=E5=88=86?= =?UTF-8?q?=20-=20=E6=89=A9=E5=B1=95=E5=B7=A5=E6=97=B6=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E8=8C=83=E5=9B=B4=E4=BB=8E5=E4=B8=AA?= =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E6=97=A5=E5=88=B07=E5=A4=A9=E5=AE=8C?= =?UTF-8?q?=E6=95=B4=E5=91=A8=EF=BC=8C=E5=B9=B6=E6=B7=BB=E5=8A=A0=E5=91=A8?= =?UTF-8?q?=E6=9C=AB=E5=B1=95=E7=A4=BA=E6=8E=A7=E5=88=B6=20-=20=E5=9C=A8?= =?UTF-8?q?=E5=9B=A2=E9=98=9F=E5=B7=A5=E6=97=B6=E7=BB=9F=E8=AE=A1=E4=B8=AD?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=8A=A0=E7=8F=AD=E5=B7=A5=E6=97=B6=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=E5=B9=B6=E8=B0=83=E6=95=B4=E5=9B=BE=E8=A1=A8=E5=B1=95?= =?UTF-8?q?=E7=A4=BA=E6=96=B9=E5=BC=8F=20-=20=E7=A7=BB=E9=99=A4=E5=9B=A2?= =?UTF-8?q?=E9=98=9F=E5=B7=A5=E6=97=B6=E5=88=86=E5=B8=83=E4=B8=AD=E7=9A=84?= =?UTF-8?q?=E5=88=86=E7=B1=BB=E7=9F=A9=E9=98=B5=EF=BC=8C=E7=AE=80=E5=8C=96?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E7=BB=93=E6=9E=84=20-=20=E4=B8=BAAPI?= =?UTF-8?q?=E8=AE=BF=E9=97=AE=E6=97=A5=E5=BF=97=E5=92=8C=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E6=97=A5=E5=BF=97=E6=90=9C=E7=B4=A2=E7=BB=84=E4=BB=B6=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E7=94=A8=E6=88=B7=E9=80=89=E6=8B=A9=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=20-=20=E8=B0=83=E6=95=B4=E6=97=A5=E5=BF=97=E6=90=9C=E7=B4=A2?= =?UTF-8?q?=E7=95=8C=E9=9D=A2=E5=B8=83=E5=B1=80=EF=BC=8C=E5=B0=86=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E7=BC=96=E5=8F=B7=E8=BE=93=E5=85=A5=E6=94=B9=E4=B8=BA?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E9=80=89=E6=8B=A9=E4=B8=8B=E6=8B=89=E6=A1=86?= =?UTF-8?q?=20-=20=E7=A7=BB=E9=99=A4=E7=94=A8=E6=88=B7=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E7=AD=9B=E9=80=89=E6=9D=A1=E4=BB=B6=E4=BB=A5=E7=AE=80=E5=8C=96?= =?UTF-8?q?=E6=90=9C=E7=B4=A2=E7=95=8C=E9=9D=A2=20-=20=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E5=B7=A5=E6=97=B6=E5=9B=BE=E8=A1=A8=E9=85=8D=E7=BD=AE=E4=BB=A5?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E5=91=A8=E6=9C=AB=E6=95=B0=E6=8D=AE=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E5=92=8C=E6=96=B0=E7=9A=84=E6=95=B0=E6=8D=AE=E7=BB=93?= =?UTF-8?q?=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/service/api/project-shared.ts | 3 +- src/typings/api/project.d.ts | 3 +- .../log-management/api-access-log/index.vue | 31 +++++- .../api-access-log/modules/search.vue | 35 ++++--- .../log-management/api-error-log/index.vue | 31 +++++- .../api-error-log/modules/search.vue | 36 ++++--- .../work-report/weekly/modules/fill-page.vue | 6 +- src/views/workbench/homepage.ts | 98 ++++++++----------- .../modules/workbench-my-week-worklog.vue | 72 +++++++------- 9 files changed, 182 insertions(+), 133 deletions(-) diff --git a/src/service/api/project-shared.ts b/src/service/api/project-shared.ts index b36cc28..15b730c 100644 --- a/src/service/api/project-shared.ts +++ b/src/service/api/project-shared.ts @@ -499,7 +499,7 @@ export function normalizeTeamLoad(response: TeamLoadResponse): Api.Project.TeamL export function normalizeMyWorklogWeek(response: MyWorklogWeekResponse): Api.Project.MyWorklogWeekResult { return { weekStart: response.weekStart ?? '', - dailyHours: response.dailyHours ?? [0, 0, 0, 0, 0], + dailyHours: response.dailyHours ?? [0, 0, 0, 0, 0, 0, 0], distribution: (response.distribution ?? []).map(item => ({ ...normalizeWorklogDistributionItem(item), hours: typeof item.hours === 'number' ? item.hours : 0 @@ -513,6 +513,7 @@ export function normalizeTeamWorklogWeek(response: TeamWorklogWeekResponse): Api members: (response.members ?? []).map(member => ({ userId: normalizeStringId(member.userId), userNickname: member.userNickname ?? '', + overtimeHours: typeof member.overtimeHours === 'number' ? member.overtimeHours : 0, items: (member.items ?? []).map(item => ({ ...normalizeWorklogDistributionItem(item), hours: typeof item.hours === 'number' ? item.hours : 0 diff --git a/src/typings/api/project.d.ts b/src/typings/api/project.d.ts index 6e087a7..73a1626 100644 --- a/src/typings/api/project.d.ts +++ b/src/typings/api/project.d.ts @@ -491,7 +491,7 @@ declare namespace Api { interface MyWorklogWeekResult { /** 归一后的周一日期 YYYY-MM-DD */ weekStart: string; - /** 周一~周五逐日工时(固定 5 元素;均摊推算值,周末份额归周五) */ + /** 周一~周日逐日工时(固定 7 元素;按周填报时仅均摊到工作日,周末单天工时保留在周末当天) */ dailyHours: number[]; /** 本周工时按归属分布,hours 降序 */ distribution: WorklogDistributionItem[]; @@ -502,6 +502,7 @@ declare namespace Api { userId: string; userNickname: string; items: WorklogDistributionItem[]; + overtimeHours: number; } /** 工作台「团队工时周聚合」响应(GET /project/project/me/team-worklog-week;周标准工时后端不返回,前端落常量 35) */ diff --git a/src/views/infra/log-management/api-access-log/index.vue b/src/views/infra/log-management/api-access-log/index.vue index ef23cf9..be27873 100644 --- a/src/views/infra/log-management/api-access-log/index.vue +++ b/src/views/infra/log-management/api-access-log/index.vue @@ -1,7 +1,12 @@