From 80f028bcb9df8efbc5286d09c9f27d85db6cc088 Mon Sep 17 00:00:00 2001 From: dk <1260500659@qq.com> Date: Sat, 13 Jun 2026 13:06:39 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E5=B7=A5=E4=BD=9C=E6=8A=A5=E5=91=8A):=20?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=B7=A5=E4=BD=9C=E6=8A=A5=E5=91=8A=E5=AD=98?= =?UTF-8?q?=E5=9C=A8=E7=9A=84=E8=8B=A5=E5=B9=B2=E9=97=AE=E9=A2=98=E3=80=82?= =?UTF-8?q?=20feat(=E5=8A=A0=E7=8F=AD=E7=94=B3=E8=AF=B7):=20=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E6=89=B9=E9=87=8F=E5=AE=A1=E6=89=B9=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .trae/rules/vue-need.md | 2 + src/service/api/overtime-application.ts | 22 + src/typings/api/overtime-application.d.ts | 16 + ...ertime-application-batch-detail-dialog.vue | 239 +++++ .../overtime-application-operate-dialog.vue | 5 +- .../work-report/monthly/index.vue | 2 +- .../monthly/modules/approval-page.vue | 882 ++++++++++-------- .../work-report/monthly/modules/fill-page.vue | 405 ++++---- .../work-report/project/modules/fill-page.vue | 10 +- .../shared/components/action-dialog.vue | 78 +- .../shared/components/detail-dialog.vue | 16 +- .../shared/components/operate-dialog.vue | 2 +- .../shared/components/page-dialog.vue | 4 + .../components/prototype-page-dialog.vue | 25 +- .../work-report/shared/types.ts | 37 + .../work-report/shared/utils.ts | 12 +- .../work-report/weekly/index.vue | 11 +- .../work-report/weekly/modules/fill-page.vue | 632 ++++++++----- .../modules/workbench-todo-panel.vue | 235 ++++- 19 files changed, 1845 insertions(+), 790 deletions(-) create mode 100644 .trae/rules/vue-need.md create mode 100644 src/views/personal-center/overtime-application/modules/overtime-application-batch-detail-dialog.vue diff --git a/.trae/rules/vue-need.md b/.trae/rules/vue-need.md new file mode 100644 index 0000000..b2912ba --- /dev/null +++ b/.trae/rules/vue-need.md @@ -0,0 +1,2 @@ +1. 每次开发新功能、编写代码时都添加好相应的注释。 +2. 所有的vue文件编码必须是UTF-8的。 diff --git a/src/service/api/overtime-application.ts b/src/service/api/overtime-application.ts index da8de68..7cc8efe 100644 --- a/src/service/api/overtime-application.ts +++ b/src/service/api/overtime-application.ts @@ -232,6 +232,28 @@ export function fetchRejectOvertimeApplication(id: string, data: Api.OvertimeApp }); } +export function fetchBatchApproveOvertimeApplication( + data: Api.OvertimeApplication.OvertimeApplicationBatchActionParams +) { + return request({ + ...safeJsonRequestConfig, + url: `${OVERTIME_APPLICATION_PREFIX}/batch-approve`, + method: 'post', + data + }); +} + +export function fetchBatchRejectOvertimeApplication( + data: Api.OvertimeApplication.OvertimeApplicationBatchActionParams +) { + return request({ + ...safeJsonRequestConfig, + url: `${OVERTIME_APPLICATION_PREFIX}/batch-reject`, + method: 'post', + data + }); +} + export function fetchDeleteOvertimeApplication(id: string) { return request({ ...safeJsonRequestConfig, diff --git a/src/typings/api/overtime-application.d.ts b/src/typings/api/overtime-application.d.ts index a592bdd..0231680 100644 --- a/src/typings/api/overtime-application.d.ts +++ b/src/typings/api/overtime-application.d.ts @@ -59,6 +59,22 @@ declare namespace Api { reason?: string | null; } + interface OvertimeApplicationBatchActionParams { + ids: string[]; + reason?: string | null; + } + + interface OvertimeApplicationBatchFailItem { + id: string; + reason: string; + } + + interface OvertimeApplicationBatchActionResult { + successCount: number; + failCount: number; + failItems: OvertimeApplicationBatchFailItem[]; + } + interface OvertimeApplicationApprovalRecord { id: string; overtimeApplicationId: string; diff --git a/src/views/personal-center/overtime-application/modules/overtime-application-batch-detail-dialog.vue b/src/views/personal-center/overtime-application/modules/overtime-application-batch-detail-dialog.vue new file mode 100644 index 0000000..8cd7cac --- /dev/null +++ b/src/views/personal-center/overtime-application/modules/overtime-application-batch-detail-dialog.vue @@ -0,0 +1,239 @@ + + + + + diff --git a/src/views/personal-center/overtime-application/modules/overtime-application-operate-dialog.vue b/src/views/personal-center/overtime-application/modules/overtime-application-operate-dialog.vue index aae7d8e..dfe9995 100644 --- a/src/views/personal-center/overtime-application/modules/overtime-application-operate-dialog.vue +++ b/src/views/personal-center/overtime-application/modules/overtime-application-operate-dialog.vue @@ -1,5 +1,6 @@