From 3543bce0855613aa86bdaec84b348c275d34b92b Mon Sep 17 00:00:00 2001 From: zhuhui <1523826083@qq.com> Date: Fri, 12 Dec 2025 09:14:59 +0800 Subject: [PATCH] =?UTF-8?q?add=20=E9=A1=B9=E7=9B=AE=E8=AF=A6=E7=BB=86?= =?UTF-8?q?=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/router/modules/remaining.ts | 11 ++ .../project/detail/ProjectAttachmentInfo.vue | 47 +++++ .../project/detail/ProjectContractInfo.vue | 179 ++++++++++++++++++ src/views/crm/project/detail/index.vue | 65 +++++++ .../project/detail/projectDetailHeader.vue | 98 ++++++++++ src/views/crm/project/index.vue | 21 +- 6 files changed, 419 insertions(+), 2 deletions(-) create mode 100644 src/views/crm/project/detail/ProjectAttachmentInfo.vue create mode 100644 src/views/crm/project/detail/ProjectContractInfo.vue create mode 100644 src/views/crm/project/detail/index.vue create mode 100644 src/views/crm/project/detail/projectDetailHeader.vue diff --git a/src/router/modules/remaining.ts b/src/router/modules/remaining.ts index d55ca50cf..40cc6bc8f 100644 --- a/src/router/modules/remaining.ts +++ b/src/router/modules/remaining.ts @@ -600,6 +600,17 @@ const remainingRouter: AppRouteRecordRaw[] = [ }, component: () => import('@/views/crm/stationsite/detail/index.vue') }, + { + path: 'project/detail/:id', + name: 'CrmProjectDetail', + meta: { + title: '项目详情', + noCache: true, + hidden: true, + activeMenu: '/crm/project' + }, + component: () => import('@/views/crm/project/detail/index.vue') + }, { path: 'project/settlement/:id', name: 'CrmProjectSettlementDetail', diff --git a/src/views/crm/project/detail/ProjectAttachmentInfo.vue b/src/views/crm/project/detail/ProjectAttachmentInfo.vue new file mode 100644 index 000000000..a77a6aa8c --- /dev/null +++ b/src/views/crm/project/detail/ProjectAttachmentInfo.vue @@ -0,0 +1,47 @@ + + + + diff --git a/src/views/crm/project/detail/ProjectContractInfo.vue b/src/views/crm/project/detail/ProjectContractInfo.vue new file mode 100644 index 000000000..3b6ba93d2 --- /dev/null +++ b/src/views/crm/project/detail/ProjectContractInfo.vue @@ -0,0 +1,179 @@ + + + + diff --git a/src/views/crm/project/detail/index.vue b/src/views/crm/project/detail/index.vue new file mode 100644 index 000000000..9d6781a10 --- /dev/null +++ b/src/views/crm/project/detail/index.vue @@ -0,0 +1,65 @@ + + + diff --git a/src/views/crm/project/detail/projectDetailHeader.vue b/src/views/crm/project/detail/projectDetailHeader.vue new file mode 100644 index 000000000..ff2be0347 --- /dev/null +++ b/src/views/crm/project/detail/projectDetailHeader.vue @@ -0,0 +1,98 @@ + + + diff --git a/src/views/crm/project/index.vue b/src/views/crm/project/index.vue index b58ae297d..75e16675e 100644 --- a/src/views/crm/project/index.vue +++ b/src/views/crm/project/index.vue @@ -75,7 +75,19 @@ - + + + @@ -213,6 +225,11 @@ const { push } = useRouter() const openSiteDetail = (id: number) => { push({ name: 'CrmStationSiteDetail', params: { id } }) } + +/** 打开项目详情 */ +const openProjectDetail = (id: number) => { + push({ name: 'CrmProjectDetail', params: { id: String(id) } }) +} /** 搜索按钮操作 */ const handleQuery = () => { queryParams.pageNo = 1 @@ -337,4 +354,4 @@ onMounted(async () => { // 加载部门列表 deptList.value = await DeptApi.querySimpleDeptList(3) }) - \ No newline at end of file +