From 865ef2aebe5afc5bb3f2068eb6380be81c7cedc9 Mon Sep 17 00:00:00 2001 From: lzm <2316711944@qq.com> Date: Thu, 21 May 2026 10:40:37 +0800 Subject: [PATCH] =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E8=B0=83=E6=95=B4=E3=80=81?= =?UTF-8?q?=E5=91=98=E5=B7=A5=E8=A1=A8=E5=8E=BB=E9=99=A4=E5=A4=9A=E4=BD=99?= =?UTF-8?q?=E6=8C=89=E9=94=AE=E3=80=81=E6=B5=8B=E7=AE=97=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E7=BA=A2=E7=BB=BF=E5=AF=B9=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/tjt/profit/index.ts | 1 + src/views/tjt/employee/index.vue | 19 +- src/views/tjt/output-split/index.vue | 31 ++- src/views/tjt/output/PlanningOutputForm.vue | 5 +- src/views/tjt/profit/index.vue | 20 +- src/views/tjt/project/ProjectForm.vue | 58 ++--- .../tjt/report-project-quarter/index.vue | 31 ++- .../tjt/report-specialty-person/index.vue | 9 +- src/views/tjt/shared/planning.ts | 199 +++++++++++++----- src/views/tjt/staff-assignment/index.vue | 10 +- 10 files changed, 222 insertions(+), 161 deletions(-) diff --git a/src/api/tjt/profit/index.ts b/src/api/tjt/profit/index.ts index 92ecd93..4fe13aa 100644 --- a/src/api/tjt/profit/index.ts +++ b/src/api/tjt/profit/index.ts @@ -12,6 +12,7 @@ export interface ProjectProfitVO { subcontractPlanningAmount?: number specialSubcontractPlanningAmount?: number sourceCoopSubcontractPlanningAmount?: number + comprehensiveSubcontractPlanningAmount?: number majorOutputValue?: number majorExpectedPerformance?: number innovationOutputRate?: number diff --git a/src/views/tjt/employee/index.vue b/src/views/tjt/employee/index.vue index 62edd58..b1d7fab 100644 --- a/src/views/tjt/employee/index.vue +++ b/src/views/tjt/employee/index.vue @@ -142,7 +142,7 @@ width="180" :formatter="dateFormatter" /> - + @@ -495,15 +487,6 @@ const submitForm = async () => { } } -const handleDelete = async (id: number) => { - try { - await message.delConfirm() - await EmployeeApi.deleteEmployee(id) - message.success(t('common.delSuccess')) - await getList() - } catch {} -} - let activatedOnce = false onMounted(async () => { diff --git a/src/views/tjt/output-split/index.vue b/src/views/tjt/output-split/index.vue index 03cc43e..61898fe 100644 --- a/src/views/tjt/output-split/index.vue +++ b/src/views/tjt/output-split/index.vue @@ -292,6 +292,7 @@ import { formatAmountText, fromPercentValue, getOwnershipTypeLabel, + OUTPUT_SPLIT_SPECIALTY, OUTPUT_SPLIT_SPECIALTY_OPTIONS, QUARTER_OPTIONS, toPercentValue @@ -299,15 +300,7 @@ import { defineOptions({ name: 'TjtOutputSplit' }) -type AnnualCategoryKey = - | 'project_lead' - | 'arch' - | 'decor' - | 'struct' - | 'water' - | 'elec' - | 'hvac' - | 'digital' +type AnnualCategoryKey = (typeof OUTPUT_SPLIT_SPECIALTY)[keyof typeof OUTPUT_SPLIT_SPECIALTY] interface QuarterYearRow { distributionYear: number @@ -315,14 +308,14 @@ interface QuarterYearRow { } const annualCategoryOptions: { label: string; value: AnnualCategoryKey }[] = [ - { label: '项目经理/工程负责人', value: 'project_lead' }, - { label: '建筑专业', value: 'arch' }, - { label: '装修专业', value: 'decor' }, - { label: '结构专业', value: 'struct' }, - { label: '水专业', value: 'water' }, - { label: '电气专业', value: 'elec' }, - { label: '暖通专业', value: 'hvac' }, - { label: '数字化设计专业', value: 'digital' } + { label: '项目经理/工程负责人', value: OUTPUT_SPLIT_SPECIALTY.projectLead }, + { label: '建筑专业', value: OUTPUT_SPLIT_SPECIALTY.arch }, + { label: '装修专业', value: OUTPUT_SPLIT_SPECIALTY.decor }, + { label: '结构专业', value: OUTPUT_SPLIT_SPECIALTY.struct }, + { label: '水专业', value: OUTPUT_SPLIT_SPECIALTY.water }, + { label: '电气专业', value: OUTPUT_SPLIT_SPECIALTY.elec }, + { label: '暖通专业', value: OUTPUT_SPLIT_SPECIALTY.hvac }, + { label: '数字化设计专业', value: OUTPUT_SPLIT_SPECIALTY.digital } ] const message = useMessage() @@ -339,7 +332,7 @@ const currentPlanning = ref() const formData = ref() const editForm = ref() const quarterRows = ref([]) -const selectedAnnualCategory = ref('project_lead') +const selectedAnnualCategory = ref(OUTPUT_SPLIT_SPECIALTY.projectLead) const dialogVisible = ref(false) const queryFormRef = ref() const projectTableRef = ref() @@ -438,7 +431,7 @@ const annualCategoryMeta = computed(() => { if (!model || !option) { return { label: '-', ratio: 0, totalAmount: 0 } } - if (selectedAnnualCategory.value === 'project_lead') { + if (selectedAnnualCategory.value === OUTPUT_SPLIT_SPECIALTY.projectLead) { const ratio = Number(toNumeric(model.projectLeadRatio).toFixed(4)) return { label: option.label, diff --git a/src/views/tjt/output/PlanningOutputForm.vue b/src/views/tjt/output/PlanningOutputForm.vue index ac370d1..24b7f79 100644 --- a/src/views/tjt/output/PlanningOutputForm.vue +++ b/src/views/tjt/output/PlanningOutputForm.vue @@ -301,7 +301,7 @@ - + - + + + +