From 563db197b3b268b08e7c35c5d3d070f3c5601426 Mon Sep 17 00:00:00 2001 From: wersd <1523826083@qq.com> Date: Thu, 25 Sep 2025 22:21:13 +0800 Subject: [PATCH] =?UTF-8?q?add=20=E9=A1=B9=E7=9B=AE=E5=88=A9=E6=B6=A6?= =?UTF-8?q?=E7=BB=93=E7=AE=97=E6=96=87=E6=A1=A3=E7=94=9F=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/crm/project/settlement/index.ts | 10 ++ src/api/crm/project/transaction/index.ts | 1 + src/utils/dict.ts | 2 + src/views/crm/project/ProjectForm.vue | 20 ++++ .../project/component/ProjectCompareChart.vue | 2 +- .../project/component/ProjectMonthlyChart.vue | 4 +- src/views/crm/project/monthly/index.vue | 4 +- .../crm/project/settlement/detail/index.vue | 95 +++++++++++++++++-- src/views/crm/project/settlement/index.vue | 28 ++++++ .../ProjectTransactionDetailForm.vue | 35 +------ src/views/crm/project/transaction/index.vue | 9 +- 11 files changed, 162 insertions(+), 48 deletions(-) diff --git a/src/api/crm/project/settlement/index.ts b/src/api/crm/project/settlement/index.ts index 2c102fe9e..fbf7398dd 100644 --- a/src/api/crm/project/settlement/index.ts +++ b/src/api/crm/project/settlement/index.ts @@ -69,3 +69,13 @@ export const exportProjectSettlement = async (params: any) => { export const exportProjectSettlementDetail = async (params: any) => { return await request.download({ url: `/crm/receivable/export-settlement-excel`, params }) } + +// 导出项目利润结算明细 DOCX +export const exportProjectSettlementDetailDocx = async (params: any) => { + return await request.download({ url: `/crm/project/settlement/export-docx`, params }) +} + +// 项目利润结算 +export const settelmentProjectSettlementDetail = async (id: number) => { + return await request.post({ url: `/crm/project/settlement/generate?id=` + id }) +} diff --git a/src/api/crm/project/transaction/index.ts b/src/api/crm/project/transaction/index.ts index eded00f9c..0b694f8f6 100644 --- a/src/api/crm/project/transaction/index.ts +++ b/src/api/crm/project/transaction/index.ts @@ -10,6 +10,7 @@ export interface ProjectTransactionDetailVO { userName: string // 投资人名称 investmentAmount: number // 投资金额 saveAmount: number // 缴存金额 + remainAmount: number // 余额 } diff --git a/src/utils/dict.ts b/src/utils/dict.ts index ec9831ca3..37570fcf3 100644 --- a/src/utils/dict.ts +++ b/src/utils/dict.ts @@ -228,6 +228,8 @@ export enum DICT_TYPE { CRM_FINANCE_INVOICE_TYPE = 'crm_finance_invoice_type', // CRM 票据发票类型 CRM_FINANCE_INVOICE_AUXILIARY_TYPE = 'crm_finance_invoice_auxiliary_type', // CRM 票据辅助类型 CRM_FINANCE_INVOICE_WRITE_OFF_STATUS = 'crm_finance_invoice_write_off_status', // CRM 票据核销状态 + CRM_PROJECT_SETTLEMENT_STATUS = 'crm_project_settlement_status', // CRM 项目结算状态 + // ========== ERP - 企业资源计划模块 ========== ERP_AUDIT_STATUS = 'erp_audit_status', // ERP 审批状态 diff --git a/src/views/crm/project/ProjectForm.vue b/src/views/crm/project/ProjectForm.vue index ac1d6ab62..ac7b4c415 100644 --- a/src/views/crm/project/ProjectForm.vue +++ b/src/views/crm/project/ProjectForm.vue @@ -153,6 +153,23 @@ + + + + + + + @@ -302,6 +319,7 @@ const formData = ref({ projectRecord: undefined, powerSupplyReply: undefined, investmentAgreement: undefined, + investmentAgreementDate: undefined, investmentShareAgreement: undefined, supplementaryMaterials: [], partners:[], @@ -320,6 +338,7 @@ const formRules = computed(() => ({ cooperationAgreement: [{ required: true, message: '场地合同不能为空', trigger: 'blur' }], epcContractId: [{ required: true, message: 'EPC合同不能为空', trigger: 'blur' }], purchaseContractId: [{ required: true, message: '设备合同不能为空', trigger: 'blur' }], + investmentAgreementDate: [{ required: true, message: '合作投资协议日期不能为空', trigger: 'blur' }], })) const formRef = ref() // 表单 Ref const deptList = ref([]) @@ -420,6 +439,7 @@ const resetForm = () => { projectRecord: undefined, powerSupplyReply: undefined, investmentAgreement: undefined, + investmentAgreementDate: undefined, investmentShareAgreement: undefined, supplementaryMaterials: [], partners:[], diff --git a/src/views/crm/project/component/ProjectCompareChart.vue b/src/views/crm/project/component/ProjectCompareChart.vue index bd7aff443..d534e4af1 100644 --- a/src/views/crm/project/component/ProjectCompareChart.vue +++ b/src/views/crm/project/component/ProjectCompareChart.vue @@ -14,7 +14,7 @@ diff --git a/src/views/crm/project/component/ProjectMonthlyChart.vue b/src/views/crm/project/component/ProjectMonthlyChart.vue index 56c7a655b..a04f26e7b 100644 --- a/src/views/crm/project/component/ProjectMonthlyChart.vue +++ b/src/views/crm/project/component/ProjectMonthlyChart.vue @@ -11,7 +11,7 @@ @@ -149,7 +149,7 @@ function updateChartOption() { onMounted(async () => { // 获取项目列表 const list = await ProjectMonthlyStatApi.getProjectSimpleList() - projectList.value = [{ id: undefined, deptName: '全部' }, ...list] + projectList.value = [{ id: undefined, name: '全部' }, ...list] queryParams.projectIds = [] await getChartData() }) diff --git a/src/views/crm/project/monthly/index.vue b/src/views/crm/project/monthly/index.vue index 14a9b9b87..f5959928d 100644 --- a/src/views/crm/project/monthly/index.vue +++ b/src/views/crm/project/monthly/index.vue @@ -126,8 +126,8 @@ :show-overflow-tooltip="true" @sort-change="handleSortChange" > - {{ SCOPE.row }} - + + diff --git a/src/views/crm/project/settlement/detail/index.vue b/src/views/crm/project/settlement/detail/index.vue index 85e273010..b35304937 100644 --- a/src/views/crm/project/settlement/detail/index.vue +++ b/src/views/crm/project/settlement/detail/index.vue @@ -9,6 +9,14 @@ > 导出明细 + + 导出文档 + @@ -37,12 +45,45 @@ 备注:当期利润如有亏损则自动结转至下一季度支出项 + + 四、利润分配 + + + + + + + + 合计:100% + + 五、往来款平账利润分配 + + + + + + 备注:未平账期间,利润分配通过甲方法定代表人个人向乙方支付,平账后按发票结算方式执行。 +