From f8cc4277fafd5b118e05b59c730ab03ca3370559 Mon Sep 17 00:00:00 2001 From: sladro Date: Tue, 16 Sep 2025 17:07:20 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AE=9E=E7=8E=B0=E5=A4=B4=E9=83=A8?= =?UTF-8?q?=E6=8C=89=E9=92=AE=E5=88=87=E6=8D=A2=E9=80=BB=E8=BE=91=E5=92=8C?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E5=B8=B8=E9=87=8F=E9=85=8D=E7=BD=AE=E7=B3=BB?= =?UTF-8?q?=E7=BB=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增页面常量配置系统(src/config/pages.js)统一管理页面标识符 - 实现AppHeader组件响应式按钮切换,支持CAD连接状态检查 - 创建Creo专属页面组件(模型分析、导出工具)和通用格式转换页面 - 修复编码规范违规,消除硬编码魔法值,实现统一配置管理 - 集成DashboardView页面切换逻辑,左侧打开模型自动跳转查看页面 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- src/components/layout/AppHeader.vue | 98 +++++++++++++++++---- src/components/pages/CreoExportTools.vue | 87 ++++++++++++++++++ src/components/pages/CreoModelAnalysis.vue | 87 ++++++++++++++++++ src/components/pages/UniversalConverter.vue | 87 ++++++++++++++++++ src/config/pages.js | 15 ++++ src/views/DashboardView.vue | 36 +++++++- 6 files changed, 389 insertions(+), 21 deletions(-) create mode 100644 src/components/pages/CreoExportTools.vue create mode 100644 src/components/pages/CreoModelAnalysis.vue create mode 100644 src/components/pages/UniversalConverter.vue create mode 100644 src/config/pages.js diff --git a/src/components/layout/AppHeader.vue b/src/components/layout/AppHeader.vue index ec8f11f..30ecebd 100644 --- a/src/components/layout/AppHeader.vue +++ b/src/components/layout/AppHeader.vue @@ -9,18 +9,46 @@ @@ -42,16 +70,38 @@ \ No newline at end of file diff --git a/src/components/pages/CreoModelAnalysis.vue b/src/components/pages/CreoModelAnalysis.vue new file mode 100644 index 0000000..48ba8c8 --- /dev/null +++ b/src/components/pages/CreoModelAnalysis.vue @@ -0,0 +1,87 @@ + + + + + \ No newline at end of file diff --git a/src/components/pages/UniversalConverter.vue b/src/components/pages/UniversalConverter.vue new file mode 100644 index 0000000..7616a6d --- /dev/null +++ b/src/components/pages/UniversalConverter.vue @@ -0,0 +1,87 @@ + + + + + \ No newline at end of file diff --git a/src/config/pages.js b/src/config/pages.js new file mode 100644 index 0000000..9d8b7f0 --- /dev/null +++ b/src/config/pages.js @@ -0,0 +1,15 @@ +// 页面常量配置 +export const PAGE_TYPES = { + HOME: 'home', + MODEL_VIEWER: 'model-viewer', + ANALYSIS_TOOLS: 'analysis-tools', + EXPORT_TOOLS: 'export-tools', + FORMAT_CONVERTER: 'format-converter' +} + +// 需要CAD连接的页面 +export const CAD_REQUIRED_PAGES = [ + PAGE_TYPES.MODEL_VIEWER, + PAGE_TYPES.ANALYSIS_TOOLS, + PAGE_TYPES.EXPORT_TOOLS +] \ No newline at end of file diff --git a/src/views/DashboardView.vue b/src/views/DashboardView.vue index 6a70136..c4ed119 100644 --- a/src/views/DashboardView.vue +++ b/src/views/DashboardView.vue @@ -2,7 +2,10 @@ @@ -82,11 +85,26 @@ - -
+ +
+ +
+ +
+ + +
+ +
+ + +
+ +
+
@@ -172,9 +190,13 @@ import AppHeader from '@/components/layout/AppHeader.vue' import CadSidebar from '@/components/layout/CadSidebar.vue' import BaseButton from '@/components/ui/BaseButton.vue' import CreoModelViewer from '@/components/model/CreoModelViewer.vue' +import CreoModelAnalysis from '@/components/pages/CreoModelAnalysis.vue' +import CreoExportTools from '@/components/pages/CreoExportTools.vue' +import UniversalConverter from '@/components/pages/UniversalConverter.vue' +import { PAGE_TYPES } from '@/config/pages' // 当前页面状态 -const currentPage = ref('home') +const currentPage = ref(PAGE_TYPES.HOME) // 模型查看器状态 const showModelViewer = ref(false) @@ -184,6 +206,12 @@ const currentModelData = ref(null) const handleShowModelViewer = (modelData) => { currentModelData.value = modelData showModelViewer.value = true + currentPage.value = PAGE_TYPES.MODEL_VIEWER // 跳转到模型查看页面 +} + +// 处理页面切换 +const handlePageChange = (page) => { + currentPage.value = page } // 按钮事件处理