From 29882118c0a3a64d7cabe3b0b8413dd0dae59e3b Mon Sep 17 00:00:00 2001
From: wersd <1523826083@qq.com>
Date: Sat, 26 Jul 2025 21:58:27 +0800
Subject: [PATCH] =?UTF-8?q?add=20=E5=BA=94=E6=94=B6=E5=BA=94=E4=BB=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/crm/finance/index.ts | 47 ++
src/api/crm/finance/writeoff/index.ts | 22 +
src/utils/dict.ts | 3 +
src/views/crm/finance/FinanceInvoiceForm.vue | 196 ++++++++
src/views/crm/finance/index.vue | 298 +++++++++++
src/views/crm/finance/writeoff/index.vue | 134 +++++
.../project/document/ProjectDocumentForm.vue | 334 +++++++++++++
src/views/crm/project/document/index.vue | 462 ++++++++++++++++++
8 files changed, 1496 insertions(+)
create mode 100644 src/api/crm/finance/index.ts
create mode 100644 src/api/crm/finance/writeoff/index.ts
create mode 100644 src/views/crm/finance/FinanceInvoiceForm.vue
create mode 100644 src/views/crm/finance/index.vue
create mode 100644 src/views/crm/finance/writeoff/index.vue
create mode 100644 src/views/crm/project/document/ProjectDocumentForm.vue
create mode 100644 src/views/crm/project/document/index.vue
diff --git a/src/api/crm/finance/index.ts b/src/api/crm/finance/index.ts
new file mode 100644
index 000000000..39189f617
--- /dev/null
+++ b/src/api/crm/finance/index.ts
@@ -0,0 +1,47 @@
+import request from '@/config/axios'
+
+// CRM 财务票据 VO
+export interface FinanceInvoiceVO {
+ id: number // 主键
+ ticketNumber: string // 票据号
+ billDate: Date // 单据日期
+ invoiceType: number // 发票类型
+ auxiliaryType: number // 辅助类型
+ writeOffStatus: number // 核销状态
+ customerId: number // 往来单位
+ customerName?: string // 往来单位名称
+ amount: number // 金额
+}
+
+// CRM 财务票据 API
+export const FinanceInvoiceApi = {
+ // 查询CRM 财务票据分页
+ getFinanceInvoicePage: async (params: any) => {
+ return await request.get({ url: `/crm/finance/invoice/page`, params })
+ },
+
+ // 查询CRM 财务票据详情
+ getFinanceInvoice: async (id: number) => {
+ return await request.get({ url: `/crm/finance/invoice/get?id=` + id })
+ },
+
+ // 新增CRM 财务票据
+ createFinanceInvoice: async (data: FinanceInvoiceVO) => {
+ return await request.post({ url: `/crm/finance/invoice/create`, data })
+ },
+
+ // 修改CRM 财务票据
+ updateFinanceInvoice: async (data: FinanceInvoiceVO) => {
+ return await request.put({ url: `/crm/finance/invoice/update`, data })
+ },
+
+ // 删除CRM 财务票据
+ deleteFinanceInvoice: async (id: number) => {
+ return await request.delete({ url: `/crm/finance/invoice/delete?id=` + id })
+ },
+
+ // 导出CRM 财务票据 Excel
+ exportFinanceInvoice: async (params) => {
+ return await request.download({ url: `/crm/finance/invoice/export-excel`, params })
+ },
+}
diff --git a/src/api/crm/finance/writeoff/index.ts b/src/api/crm/finance/writeoff/index.ts
new file mode 100644
index 000000000..0a8ae28da
--- /dev/null
+++ b/src/api/crm/finance/writeoff/index.ts
@@ -0,0 +1,22 @@
+import request from '@/config/axios'
+
+// CRM 财务票据核销 VO
+export interface CrmFinanceWriteoffRespVO {
+ customerId: number; // 往来单位
+ customerName: string; // 往来单位名称
+ unwrittenOffIncomeInvoiceAmount: string; // 未核销收款票据金额
+ unwrittenOffIncomeAmount: string; // 未核销收款金额
+ unwrittenOffIncomeDiffAmount: string; // 未核销收款差额
+ unwrittenOffOutcomeInvoiceAmount: string; // 未核销付款票据金额
+ unwrittenOffOutcomeAmount: string; // 未核销付款金额
+ unwrittenOffOutcomeDiffAmount: string; // 未核销付款差额
+}
+
+
+// CRM 财务票据 API
+export const FinanceWriteoffApi = {
+ // 查询CRM 财务票据核销分页
+ getFinanceInvoicePage: async (params: any) => {
+ return await request.get({ url: `/crm/finance/writeoff/page`, params })
+ },
+}
diff --git a/src/utils/dict.ts b/src/utils/dict.ts
index 851d2282f..ec9831ca3 100644
--- a/src/utils/dict.ts
+++ b/src/utils/dict.ts
@@ -225,6 +225,9 @@ export enum DICT_TYPE {
CRM_PROJECT_TYPE = 'crm_project_type', // CRM 项目类型
CRM_PROJECT_POWER_SUPPLY_TYPE = 'crm_project_power_supply_type', // CRM 项目供电模式
CRM_PROJECT_DOCUMENT_CONFIG = 'crm_project_document_config', // CRM 项目文档配置
+ 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 票据核销状态
// ========== ERP - 企业资源计划模块 ==========
ERP_AUDIT_STATUS = 'erp_audit_status', // ERP 审批状态
diff --git a/src/views/crm/finance/FinanceInvoiceForm.vue b/src/views/crm/finance/FinanceInvoiceForm.vue
new file mode 100644
index 000000000..9e748e9fa
--- /dev/null
+++ b/src/views/crm/finance/FinanceInvoiceForm.vue
@@ -0,0 +1,196 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/views/crm/finance/index.vue b/src/views/crm/finance/index.vue
new file mode 100644
index 000000000..255addc16
--- /dev/null
+++ b/src/views/crm/finance/index.vue
@@ -0,0 +1,298 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+ 新增
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row.customerName }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/crm/finance/writeoff/index.vue b/src/views/crm/finance/writeoff/index.vue
new file mode 100644
index 000000000..ce56a7b51
--- /dev/null
+++ b/src/views/crm/finance/writeoff/index.vue
@@ -0,0 +1,134 @@
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+
+
+
+
+
+
+
+
+ {{ scope.row.customerName }}
+
+
+
+
+
+
+
+ 应收额
+
+
+ {{ scope.row.unwrittenOffIncomeDiffAmount }}
+
+
+
+
+
+
+ 应付额
+
+
+ {{ scope.row.unwrittenOffOutcomeDiffAmount }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/crm/project/document/ProjectDocumentForm.vue b/src/views/crm/project/document/ProjectDocumentForm.vue
new file mode 100644
index 000000000..400864226
--- /dev/null
+++ b/src/views/crm/project/document/ProjectDocumentForm.vue
@@ -0,0 +1,334 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/views/crm/project/document/index.vue b/src/views/crm/project/document/index.vue
new file mode 100644
index 000000000..5773aab2a
--- /dev/null
+++ b/src/views/crm/project/document/index.vue
@@ -0,0 +1,462 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row.cooperationAgreementName }}
+
+
+
+
+ 已核验
+
+
+
+ 无需
+
+
+ 缺项
+
+
+
+
+
+
+
+ {{ scope.row.purchaseContractName }}
+
+
+
+
+ 已核验
+
+
+
+ 无需
+
+
+ 缺项
+
+
+
+
+
+
+
+ {{ scope.row.epcContractName }}
+
+
+
+
+ 已核验
+
+
+
+ 无需
+
+
+ 缺项
+
+
+
+
+
+
+
+
+ {{ extractFileName(scope.row.buildPermit) }}
+
+
+
+
+ 已核验
+
+
+
+ 无需
+
+
+ 缺项
+
+
+
+
+
+
+
+
+ {{ extractFileName(scope.row.ownershipProof) }}
+
+
+
+
+ 已核验
+
+
+
+ 无需
+
+
+ 缺项
+
+
+
+
+
+
+
+ {{ extractFileName(scope.row.projectRecord) }}
+
+
+
+
+ 已核验
+
+
+
+ 无需
+
+
+ 缺项
+
+
+
+
+
+
+
+ {{ extractFileName(scope.row.investmentAgreement) }}
+
+
+
+
+ 已核验
+
+
+
+ 无需
+
+
+ 缺项
+
+
+
+
+
+
+
+ {{ extractFileName(scope.row.investmentShareAgreement) }}
+
+
+
+
+ 已核验
+
+
+
+ 无需
+
+
+ 缺项
+
+
+
+
+
+
+
+ {{ extractFileName(scope.row.powerSupplyReply) }}
+
+
+
+
+ 已核验
+
+
+
+ 无需
+
+
+ 缺项
+
+
+
+
+
+
+
+ 查看
+
+
+
+
+ 已核验
+
+
+
+ 无需
+
+
+ 缺项
+
+
+
+
+
+
+
+ 编辑
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file