diff --git a/.env.local b/.env.local
index 005d2f0d..9027aee3 100644
--- a/.env.local
+++ b/.env.local
@@ -5,11 +5,13 @@ VITE_DEV=true
# 请求路径
VITE_BASE_URL='http://localhost:48080'
+#VITE_BASE_URL='http://16ba17bc.r2.cpolar.cn'
# 文件上传类型:server - 后端上传, client - 前端直连上传,仅支持 S3 服务
VITE_UPLOAD_TYPE=server
# 上传路径
VITE_UPLOAD_URL='http://localhost:48080/admin-api/infra/file/upload'
+# VITE_UPLOAD_URL='http://16ba17bc.r2.cpolar.cn/admin-api/infra/file/upload'
# 接口地址
VITE_API_URL=/admin-api
diff --git a/src/api/cms/customerCompany/index.ts b/src/api/cms/customerCompany/index.ts
index 5a38ca13..3d03d17f 100644
--- a/src/api/cms/customerCompany/index.ts
+++ b/src/api/cms/customerCompany/index.ts
@@ -1,43 +1,48 @@
-import request from '@/config/axios'
-
-// 客户公司 VO
-export interface CustomerCompanyVO {
- id: number // 主键
- contacts: string // 联系人
- name: string // 公司名称
- address: string // 地址
- phone: string // 电话
-}
-
-// 客户公司 API
-export const CustomerCompanyApi = {
- // 查询客户公司分页
- getCustomerCompanyPage: async (params: any) => {
- return await request.get({ url: `/cms/customer-company/page`, params })
- },
-
- // 查询客户公司详情
- getCustomerCompany: async (id: number) => {
- return await request.get({ url: `/cms/customer-company/get?id=` + id })
- },
-
- // 新增客户公司
- createCustomerCompany: async (data: CustomerCompanyVO) => {
- return await request.post({ url: `/cms/customer-company/create`, data })
- },
-
- // 修改客户公司
- updateCustomerCompany: async (data: CustomerCompanyVO) => {
- return await request.put({ url: `/cms/customer-company/update`, data })
- },
-
- // 删除客户公司
- deleteCustomerCompany: async (id: number) => {
- return await request.delete({ url: `/cms/customer-company/delete?id=` + id })
- },
-
- // 导出客户公司 Excel
- exportCustomerCompany: async (params) => {
- return await request.download({ url: `/cms/customer-company/export-excel`, params })
- },
-}
\ No newline at end of file
+import request from '@/config/axios'
+
+// 客户公司 VO
+export interface CustomerCompanyVO {
+ id: number // 主键
+ contacts: string // 联系人
+ name: string // 公司名称
+ address: string // 地址
+ phone: string // 电话
+}
+
+// 客户公司 API
+export const CustomerCompanyApi = {
+ // 查询客户公司分页
+ getCustomerCompanyPage: async (params: any) => {
+ return await request.get({ url: `/cms/customer-company/page`, params })
+ },
+
+ // 查询客户公司详情
+ getCustomerCompany: async (id: number) => {
+ return await request.get({ url: `/cms/customer-company/get?id=` + id })
+ },
+
+ // 新增客户公司
+ createCustomerCompany: async (data: CustomerCompanyVO) => {
+ return await request.post({ url: `/cms/customer-company/create`, data })
+ },
+
+ // 修改客户公司
+ updateCustomerCompany: async (data: CustomerCompanyVO) => {
+ return await request.put({ url: `/cms/customer-company/update`, data })
+ },
+
+ // 删除客户公司
+ deleteCustomerCompany: async (id: number) => {
+ return await request.delete({ url: `/cms/customer-company/delete?id=` + id })
+ },
+
+ // 导出客户公司 Excel
+ exportCustomerCompany: async (params) => {
+ return await request.download({ url: `/cms/customer-company/export-excel`, params })
+ },
+
+ // 获取客户公司列表
+ getCustomerCompanyList: async () => {
+ return await request.get({ url: `/cms/customer-company/list`})
+ },
+}
diff --git a/src/api/infra/file/index.ts b/src/api/infra/file/index.ts
index 0e1b2e7c..75bd6124 100644
--- a/src/api/infra/file/index.ts
+++ b/src/api/infra/file/index.ts
@@ -43,3 +43,8 @@ export const createFile = (data: any) => {
export const updateFile = (data: any) => {
return request.upload({ url: '/infra/file/upload', data })
}
+
+// 上传文件
+export const updateFileEx = (data: any) => {
+ return request.upload({ url: '/infra/file/uploadEx', data })
+}
diff --git a/src/api/pms/project/index.ts b/src/api/pms/project/index.ts
new file mode 100644
index 00000000..2fb7d4c4
--- /dev/null
+++ b/src/api/pms/project/index.ts
@@ -0,0 +1,66 @@
+import request from '@/config/axios'
+
+// 项目基本信息 VO
+export interface ProjectVO {
+ id: number // 主键
+ name: string // 名称
+ code: string // 项目编号
+ customerUser: string // 客户联系人
+ drawingCompany: string // 出图公司
+ trackingDepId: number // 跟踪部门id
+ endTime: Date // 落地时间
+ possibility: string // 落地可能性
+ funnelExpectation: string // 漏斗预期
+ entrustMethod: string // 委托方式
+ reason: string // 未落地原因
+ processStatus: string // 审批状态
+ trackingCode: string // 跟踪编号
+ type: string // 类型
+ customerCompanyId: number // 客户公司id
+ projectManagerId: number // 项目经理id
+ startTime: Date // 开始时间
+ situation: string // 跟踪情况
+ reviewFileUrl: string // 评审附件
+ confirmation: boolean // 是否落地
+ winFileUrl: string // 中标附件
+ contractAmount: string // 预计合同金额
+ customerPhone: string // 客户电话
+ provinceId: number // 省份id
+ cityId: number // 城市id
+ trackingDeptName: string // 跟踪部门名称
+ projectManagerName: string // 项目经理名称
+ customerCompanyName: string // 客户公司名称
+}
+
+// 项目基本信息 API
+export const ProjectApi = {
+ // 查询项目基本信息分页
+ getProjectPage: async (params: any) => {
+ return await request.get({ url: `/pms/project/page`, params })
+ },
+
+ // 查询项目基本信息详情
+ getProject: async (id: number) => {
+ return await request.get({ url: `/pms/project/get?id=` + id })
+ },
+
+ // 新增项目基本信息
+ createProject: async (data: ProjectVO) => {
+ return await request.post({ url: `/pms/project/create`, data })
+ },
+
+ // 修改项目基本信息
+ updateProject: async (data: ProjectVO) => {
+ return await request.put({ url: `/pms/project/update`, data })
+ },
+
+ // 删除项目基本信息
+ deleteProject: async (id: number) => {
+ return await request.delete({ url: `/pms/project/delete?id=` + id })
+ },
+
+ // 导出项目基本信息 Excel
+ exportProject: async (params) => {
+ return await request.download({ url: `/pms/project/export-excel`, params })
+ },
+}
diff --git a/src/layout/components/Footer/src/Footer.vue b/src/layout/components/Footer/src/Footer.vue
index 3eede386..55101592 100644
--- a/src/layout/components/Footer/src/Footer.vue
+++ b/src/layout/components/Footer/src/Footer.vue
@@ -19,6 +19,6 @@ const title = computed(() => appStore.getTitle)
:class="prefixCls"
class="h-[var(--app-footer-height)] bg-[var(--app-content-bg-color)] text-center leading-[var(--app-footer-height)] text-[var(--el-text-color-placeholder)] dark:bg-[var(--el-bg-color)]"
>
- Copyright ©2022-{{ title }}
+ Copyright ©2024-{{ title }}
diff --git a/src/utils/dict.ts b/src/utils/dict.ts
index 631a40b0..80043bf4 100644
--- a/src/utils/dict.ts
+++ b/src/utils/dict.ts
@@ -209,5 +209,11 @@ export enum DICT_TYPE {
// ========== ERP - 企业资源计划模块 ==========
ERP_AUDIT_STATUS = 'erp_audit_status', // ERP 审批状态
- ERP_STOCK_RECORD_BIZ_TYPE = 'erp_stock_record_biz_type' // 库存明细的业务类型
+ ERP_STOCK_RECORD_BIZ_TYPE = 'erp_stock_record_biz_type', // 库存明细的业务类型
+
+ // ============== PMS =================
+ PROJECT_TYPE = 'project_type', // 项目类型
+ ENTRUST_METHOD = 'entrust_method', // 委托方式
+ PROCESS_STATUS = "process_status", // 流程状态
+ POSSIBILITY_OF_LANDING = "possibility_of_landing" // 可能性
}
diff --git a/src/views/pms/project/ProjectForm.vue b/src/views/pms/project/ProjectForm.vue
new file mode 100644
index 00000000..ba6ed1ae
--- /dev/null
+++ b/src/views/pms/project/ProjectForm.vue
@@ -0,0 +1,403 @@
+
+
+
+
diff --git a/src/views/pms/project/index.vue b/src/views/pms/project/index.vue
new file mode 100644
index 00000000..a5841013
--- /dev/null
+++ b/src/views/pms/project/index.vue
@@ -0,0 +1,226 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+ 新增
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+