From 4048454ff5204d28d5e725aaf09024dc04bb6f37 Mon Sep 17 00:00:00 2001 From: lzm <2316711944@qq.com> Date: Wed, 3 Jun 2026 14:42:03 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=90=88=E8=AE=A1=E3=80=81?= =?UTF-8?q?=E8=80=83=E6=A0=B8=E4=BA=A7=E5=80=BC=E9=A2=84=E7=AE=97=E8=A1=A8?= =?UTF-8?q?=E3=80=81=E4=B8=93=E4=B8=9A=E9=97=B4=E5=B9=B4=E5=BA=A6=E5=AD=A3?= =?UTF-8?q?=E5=BA=A6=E8=AE=B0=E5=8F=96=E8=A1=A8=E3=80=81=E5=B7=A5=E7=A8=8B?= =?UTF-8?q?=E8=B4=9F=E8=B4=A3=E4=BA=BA=E8=AE=B0=E5=8F=96=E8=A1=A8=E9=A2=84?= =?UTF-8?q?=E8=A7=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/tjt/report/index.ts | 97 ++- src/views/tjt/output-split/index.vue | 7 + src/views/tjt/output/index.vue | 7 + .../tjt/report-project-lead-quarter/index.vue | 495 ++++++++++++ .../tjt/report-project-quarter/index.vue | 749 ++++++------------ .../tjt/shared/PlanningOwnershipSummary.vue | 156 ++++ src/views/tjt/staff-assignment/index.vue | 7 + 7 files changed, 1021 insertions(+), 497 deletions(-) create mode 100644 src/views/tjt/report-project-lead-quarter/index.vue create mode 100644 src/views/tjt/shared/PlanningOwnershipSummary.vue diff --git a/src/api/tjt/report/index.ts b/src/api/tjt/report/index.ts index 548bd1c..6d31d12 100644 --- a/src/api/tjt/report/index.ts +++ b/src/api/tjt/report/index.ts @@ -133,13 +133,90 @@ export interface ProjectBudgetPreviewQuarterRow { } export interface ProjectQuarterOutputExportReqVO { - planningId: number + projectId: number year?: number } -export interface ProjectLeadQuarterOutputExportReqVO { - planningId: number +export interface ProjectQuarterOutputPreviewRespVO { + projectCode?: string + projectName?: string year?: number + rows?: ProjectQuarterOutputPreviewRow[] +} + +export interface ProjectQuarterOutputPreviewRow { + serialNo?: number + totalRow?: boolean + placeholderRow?: boolean + outputType?: string + designContent?: string + quarterOneAmountWan?: number + quarterTwoAmountWan?: number + quarterThreeAmountWan?: number + quarterFourAmountWan?: number + yearTotalAmountWan?: number + projectLeadRatio?: number + projectLeadAssessmentOutputWan?: number + projectLeadQuarterOneAmountWan?: number + projectLeadQuarterTwoAmountWan?: number + projectLeadQuarterThreeAmountWan?: number + projectLeadQuarterFourAmountWan?: number + projectLeadYearTotalAmountWan?: number + officeRatio?: number + officeAssessmentOutputWan?: number + officeQuarterOneAmountWan?: number + officeQuarterTwoAmountWan?: number + officeQuarterThreeAmountWan?: number + officeQuarterFourAmountWan?: number + officeYearTotalAmountWan?: number + archRatio?: number + decorRatio?: number + structRatio?: number + waterRatio?: number + hvacRatio?: number + elecRatio?: number + digitalRatio?: number + archAssessmentOutputWan?: number + decorAssessmentOutputWan?: number + structAssessmentOutputWan?: number + waterAssessmentOutputWan?: number + hvacAssessmentOutputWan?: number + elecAssessmentOutputWan?: number + digitalAssessmentOutputWan?: number +} + +export interface ProjectLeadQuarterOutputExportReqVO { + projectId: number + year?: number +} + +export interface ProjectLeadQuarterOutputPreviewRespVO { + projectName?: string + year?: number + projectManagerNames?: string + engineeringPrincipalNames?: string + rows?: ProjectLeadQuarterOutputPreviewRow[] +} + +export interface ProjectLeadQuarterOutputPreviewRow { + serialNo?: number + outputType?: string + designContent?: string + subtotalRow?: boolean + projectManagerNames?: string + projectManagerRatio?: number + engineeringPrincipalNames?: string + engineeringPrincipalRatio?: number + projectManagerQuarterOneAmountWan?: number + projectManagerQuarterTwoAmountWan?: number + projectManagerQuarterThreeAmountWan?: number + projectManagerQuarterFourAmountWan?: number + projectManagerYearTotalAmountWan?: number + engineeringPrincipalQuarterOneAmountWan?: number + engineeringPrincipalQuarterTwoAmountWan?: number + engineeringPrincipalQuarterThreeAmountWan?: number + engineeringPrincipalQuarterFourAmountWan?: number + engineeringPrincipalYearTotalAmountWan?: number } export interface SpecialtyPersonOutputExportReqVO { @@ -225,6 +302,13 @@ export const exportProjectQuarterOutput = (params: ProjectQuarterOutputExportReq }) } +export const getProjectQuarterOutputPreview = (params: ProjectQuarterOutputExportReqVO) => { + return request.get({ + url: '/tjt/report/project-quarter-output/preview', + params: { ...params, _t: Date.now() } + }) +} + export const exportProjectLeadQuarterOutput = (params: ProjectLeadQuarterOutputExportReqVO) => { return request.download({ url: '/tjt/report/project-lead-quarter-output/export-excel', @@ -232,6 +316,13 @@ export const exportProjectLeadQuarterOutput = (params: ProjectLeadQuarterOutputE }) } +export const getProjectLeadQuarterOutputPreview = (params: ProjectLeadQuarterOutputExportReqVO) => { + return request.get({ + url: '/tjt/report/project-lead-quarter-output/preview', + params: { ...params, _t: Date.now() } + }) +} + export const exportSpecialtyPersonOutput = (params: SpecialtyPersonOutputExportReqVO) => { return request.download({ url: '/tjt/report/specialty-person-output/export-excel', params }) } diff --git a/src/views/tjt/output-split/index.vue b/src/views/tjt/output-split/index.vue index 65236b2..010a7bd 100644 --- a/src/views/tjt/output-split/index.vue +++ b/src/views/tjt/output-split/index.vue @@ -98,6 +98,12 @@ + @@ -287,6 +293,7 @@ import * as ProjectApi from '@/api/tjt/project' import * as PlanningApi from '@/api/tjt/planning' import * as PlanningQuarterApi from '@/api/tjt/planningQuarter' import * as OutputSplitApi from '@/api/tjt/outputSplit' +import PlanningOwnershipSummary from '@/views/tjt/shared/PlanningOwnershipSummary.vue' import SplitPane from '@/views/tjt/shared/SplitPane.vue' import { formatAmountText, diff --git a/src/views/tjt/output/index.vue b/src/views/tjt/output/index.vue index 48c9454..9172e00 100644 --- a/src/views/tjt/output/index.vue +++ b/src/views/tjt/output/index.vue @@ -161,6 +161,12 @@ + @@ -464,6 +470,7 @@ import * as PlanningApi from '@/api/tjt/planning' import * as PlanningQuarterApi from '@/api/tjt/planningQuarter' import PlanningOutputForm from './PlanningOutputForm.vue' import QuarterDistributionForm from './QuarterDistributionForm.vue' +import PlanningOwnershipSummary from '@/views/tjt/shared/PlanningOwnershipSummary.vue' import SplitPane from '@/views/tjt/shared/SplitPane.vue' import { CONTRACT_SIGN_OPTIONS, diff --git a/src/views/tjt/report-project-lead-quarter/index.vue b/src/views/tjt/report-project-lead-quarter/index.vue new file mode 100644 index 0000000..631d0fb --- /dev/null +++ b/src/views/tjt/report-project-lead-quarter/index.vue @@ -0,0 +1,495 @@ + + + + + diff --git a/src/views/tjt/report-project-quarter/index.vue b/src/views/tjt/report-project-quarter/index.vue index bc713f2..f26b998 100644 --- a/src/views/tjt/report-project-quarter/index.vue +++ b/src/views/tjt/report-project-quarter/index.vue @@ -71,240 +71,201 @@ /> - - - - - - + + + + + diff --git a/src/views/tjt/shared/PlanningOwnershipSummary.vue b/src/views/tjt/shared/PlanningOwnershipSummary.vue new file mode 100644 index 0000000..a05b7f6 --- /dev/null +++ b/src/views/tjt/shared/PlanningOwnershipSummary.vue @@ -0,0 +1,156 @@ + + + + + diff --git a/src/views/tjt/staff-assignment/index.vue b/src/views/tjt/staff-assignment/index.vue index f16bb28..5d6f46b 100644 --- a/src/views/tjt/staff-assignment/index.vue +++ b/src/views/tjt/staff-assignment/index.vue @@ -100,6 +100,12 @@ + @@ -354,6 +360,7 @@ import * as EmployeeApi from '@/api/tjt/employee' import * as ProjectApi from '@/api/tjt/project' import * as PlanningApi from '@/api/tjt/planning' import * as SpecialtyRoleSplitApi from '@/api/tjt/specialtyRoleSplit' +import PlanningOwnershipSummary from '@/views/tjt/shared/PlanningOwnershipSummary.vue' import SplitPane from '@/views/tjt/shared/SplitPane.vue' import { formatAmountText,