diff --git a/src/api/oa/erp/salesContractDashboard/index.ts b/src/api/oa/erp/salesContractDashboard/index.ts new file mode 100644 index 0000000..02efe7c --- /dev/null +++ b/src/api/oa/erp/salesContractDashboard/index.ts @@ -0,0 +1,11 @@ +import request from '@/utils/request'; +import type { SalesContractDashboardBo, SalesContractDashboardVo } from './types'; + +/** 查询销售合同仪表盘数据 */ +export function getSalesContractDashboard(query?: SalesContractDashboardBo) { + return request({ + url: '/oa/erp/salesContractDashboard/data', + method: 'get', + params: query + }); +} diff --git a/src/api/oa/erp/salesContractDashboard/types.ts b/src/api/oa/erp/salesContractDashboard/types.ts new file mode 100644 index 0000000..c5b7ab5 --- /dev/null +++ b/src/api/oa/erp/salesContractDashboard/types.ts @@ -0,0 +1,33 @@ +/** 销售合同仪表盘视图对象 */ +export interface SalesContractDashboardVo { + /** 成交总额 */ + totalTransactionAmount?: number; + /** 本周新签合同额 */ + weeklyNewContractAmount?: number; + /** 业务方向销售额占比 */ + businessDirectionRatios?: SalesContractDashboardVo[]; + /** 成交额客户分布 */ + customerTransactionDistribution?: SalesContractDashboardVo[]; + /** 销售合同额排行 */ + salesContractRanking?: SalesContractDashboardVo[]; + /** 业务方向名称 / 通用名称 */ + name?: string; + /** 业务方向金额 / 通用数值 */ + value?: number; + /** 客户名称 */ + customerName?: string; + /** 客户成交额 */ + amount?: number; + /** 销售人员名称 */ + salespersonName?: string; + /** 销售合同金额 */ + contractAmount?: number; +} + +/** 销售合同仪表盘业务对象(查询条件) */ +export interface SalesContractDashboardBo { + /** 合同签订开始日期 yyyy-MM-dd */ + beginDate?: string; + /** 合同签订结束日期 yyyy-MM-dd */ + endDate?: string; +} diff --git a/src/views/oa/erp/salesContractDashboard/index.vue b/src/views/oa/erp/salesContractDashboard/index.vue new file mode 100644 index 0000000..8a97ae2 --- /dev/null +++ b/src/views/oa/erp/salesContractDashboard/index.vue @@ -0,0 +1,653 @@ + + + + +