From 30e63e8eee5b9d0c68931346c51f42915c4ddedc Mon Sep 17 00:00:00 2001
From: wersd <1523826083@qq.com>
Date: Sat, 2 Aug 2025 15:34:00 +0800
Subject: [PATCH] =?UTF-8?q?add=20=E5=85=B6=E4=BB=96=E6=94=B6=E6=94=AF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/crm/project/index.ts | 135 ++++-----
src/views/crm/finance/writeoff/index.vue | 8 +-
src/views/crm/project/ProjectForm.vue | 2 -
src/views/crm/project/index.vue | 340 ++++++++++++++++-------
src/views/crm/receivable/index.vue | 5 -
5 files changed, 300 insertions(+), 190 deletions(-)
diff --git a/src/api/crm/project/index.ts b/src/api/crm/project/index.ts
index 44d3f30a3..8cd8190e6 100644
--- a/src/api/crm/project/index.ts
+++ b/src/api/crm/project/index.ts
@@ -1,76 +1,59 @@
-import request from '@/config/axios'
-
-// CRM 项目信息 VO
-export interface ProjectVO {
- id: number // 主键ID
- deptId: number // 部门ID
- name?: string
- siteId: number // 场地ID
- totalInvestment: number // 项目总投资额
- ownerUserId: string // 项目合伙人
- ratio: string // 比例
- investment: string // 投资额
- cooperationAgreement: number // 场地租赁合同
- purchaseContractId: number // 设备采购合同ID
- epcContractId: number // EPC施工合同ID
- cooperationAgreementName?: String // 场地租赁合同名称
- purchaseContractName?: String // 设备采购合同名称
- epcContractName?: String // EPC施工合同名称
- buildPermit: string // 同意建桩证明
- ownershipProof: string // 场地权属证明
- projectRecord: string // 项目备案
- powerSupplyReply: string // 供电答复单
- investmentAgreement: string // 合作投资协议
- investmentShareAgreement: string // 合作投资分成协议
- supplementaryMaterials: string // 其他补充材料文件路径
- cooperationAgreementConfig?: number // 场地租赁合同配置
- purchaseContractConfig?: number // 设备采购合同配置
- epcContractConfig?: number // EPC施工合同配置
- buildPermitConfig?: number // 同意建桩证明配置
- ownershipProofConfig?: number // 场地权属证明配置
- projectRecordConfig?: number // 项目备案配置
- powerSupplyReplyConfig?: number // 供电答复单配置
- investmentAgreementConfig?: number // 合作投资协议配置
- investmentShareAgreementConfig?: number // 合作投资分成协议配置
- supplementaryMaterialsConfig?: number // 其他补充材料配置
- type: number // 类型
- partners: []
- RevenueSharePartners: []
- projectStatus: number // 状态
- estimatedPiles: number //枪数
-}
-
-// 查询CRM 项目信息分页
-export const getProjectPage = async (params: any) => {
- return await request.get({ url: `/crm/project/page`, params })
-}
-
-// 查询CRM 项目信息详情
-export const getProject = async (id: number) => {
- return await request.get({ url: `/crm/project/get?id=` + id })
-}
-
-// 新增CRM 项目信息
-export const createProject = async (data: ProjectVO) => {
- return await request.post({ url: `/crm/project/create`, data })
-}
-
-// 修改CRM 项目信息
-export const updateProject = async (data: ProjectVO) => {
- return await request.put({ url: `/crm/project/update`, data })
-}
-
-// 删除CRM 项目信息
-export const deleteProject = async (id: number) => {
- return await request.delete({ url: `/crm/project/delete?id=` + id })
-}
-
-// 导出CRM 项目信息 Excel
-export const exportProject = async (params: any) => {
- return await request.download({ url: `/crm/project/export-excel`, params })
-}
-
-// 获取项目列表
-export const getProjectSimpleList = async () => {
- return await request.get({ url: `/crm/project/simple-list` })
-}
\ No newline at end of file
+import request from '@/config/axios'
+
+// 项目利润结算 VO
+export interface ProjectSettlementVO {
+ id: number // 结算记录ID
+ projectId: number // 关联项目ID
+ settlementPeriod: string // 结算周期(如:2023-Q1)
+ settlementDate: Date // 结算日期
+ actualRevenue: number // 实际营收
+ governmentSubsidy: number // 政府补贴收入
+ otherIncome: number // 其他项目收入
+ totalIncome: number // 总收入
+ incomeRemark: string // 收入备注
+ electricityCost: number // 电费成本
+ venueRent: number // 场地租金
+ venueDeposit: number // 项目押金
+ projectPromotion: number // 项目推介费
+ equipmentUpgrade: number // 设备更新购置费
+ managementCost: number // 管理费用
+ taxCost: number // 税收
+ netProfit: number // 净利润
+ expenseRemark: string // 支出备注
+ settlementStatus: number // 结算状态
+ proofAttachment: string // 结算凭证附件
+ remark: string // 结算备注
+}
+
+// 项目利润结算 API
+export const ProjectSettlementApi = {
+ // 查询项目利润结算分页
+ getProjectSettlementPage: async (params: any) => {
+ return await request.get({ url: `/crm/project-settlement/page`, params })
+ },
+
+ // 查询项目利润结算详情
+ getProjectSettlement: async (id: number) => {
+ return await request.get({ url: `/crm/project-settlement/get?id=` + id })
+ },
+
+ // 新增项目利润结算
+ createProjectSettlement: async (data: ProjectSettlementVO) => {
+ return await request.post({ url: `/crm/project-settlement/create`, data })
+ },
+
+ // 修改项目利润结算
+ updateProjectSettlement: async (data: ProjectSettlementVO) => {
+ return await request.put({ url: `/crm/project-settlement/update`, data })
+ },
+
+ // 删除项目利润结算
+ deleteProjectSettlement: async (id: number) => {
+ return await request.delete({ url: `/crm/project-settlement/delete?id=` + id })
+ },
+
+ // 导出项目利润结算 Excel
+ exportProjectSettlement: async (params) => {
+ return await request.download({ url: `/crm/project-settlement/export-excel`, params })
+ },
+}
\ No newline at end of file
diff --git a/src/views/crm/finance/writeoff/index.vue b/src/views/crm/finance/writeoff/index.vue
index 6a731aa16..a7fc2fe7c 100644
--- a/src/views/crm/finance/writeoff/index.vue
+++ b/src/views/crm/finance/writeoff/index.vue
@@ -44,8 +44,8 @@
-
-
+
+
应收额
@@ -54,8 +54,8 @@
{{ scope.row.unwrittenOffIncomeDiffAmount }}
-
-
+
+
应付额
diff --git a/src/views/crm/project/ProjectForm.vue b/src/views/crm/project/ProjectForm.vue
index 3f7911c51..697a53371 100644
--- a/src/views/crm/project/ProjectForm.vue
+++ b/src/views/crm/project/ProjectForm.vue
@@ -122,8 +122,6 @@
-
- {{ formData }}
diff --git a/src/views/crm/project/index.vue b/src/views/crm/project/index.vue
index 3d366925c..8d1413eae 100644
--- a/src/views/crm/project/index.vue
+++ b/src/views/crm/project/index.vue
@@ -8,46 +8,191 @@
:inline="true"
label-width="68px"
>
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
搜索
重置
@@ -55,7 +200,7 @@
type="primary"
plain
@click="openForm('create')"
- v-hasPermi="['crm:project:create']"
+ v-hasPermi="['crm:project-settlement:create']"
>
新增
@@ -64,7 +209,7 @@
plain
@click="handleExport"
:loading="exportLoading"
- v-hasPermi="['crm:project:export']"
+ v-hasPermi="['crm:project-settlement:export']"
>
导出
@@ -75,38 +220,40 @@
-
-
-
-
-
-
- {{ calculateCostPerPile(row) }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
编辑
@@ -114,7 +261,7 @@
link
type="danger"
@click="handleDelete(scope.row.id)"
- v-hasPermi="['crm:project:delete']"
+ v-hasPermi="['crm:project-settlement:delete']"
>
删除
@@ -131,46 +278,56 @@
-
+
\ No newline at end of file
diff --git a/src/views/crm/receivable/index.vue b/src/views/crm/receivable/index.vue
index 0b5f6ae73..85ac7be08 100644
--- a/src/views/crm/receivable/index.vue
+++ b/src/views/crm/receivable/index.vue
@@ -373,7 +373,6 @@ const queryParams = reactive({
receivableType: undefined,
priceMin: undefined, // 金额最小值
priceMax: undefined, // 金额最大值
- isDeposit: undefined, // 是否押金
transactionType: undefined, // 收支类型
})
@@ -384,10 +383,6 @@ const customerList = ref([]) // 客户列表
const deptList = ref([])
const projectList = ref([])
const showSummaryDialog = ref(false)
-const options = ref([
- { label: '是', value: 1 },
- { label: '否', value: 0 }
-])
/** 查询列表 */
const getList = async () => {